MIMXRT1176_cm7.h 5.1 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396783977839878399784007840178402784037840478405784067840778408784097841078411784127841378414784157841678417784187841978420784217842278423784247842578426784277842878429784307843178432784337843478435784367843778438784397844078441784427844378444784457844678447784487844978450784517845278453784547845578456784577845878459784607846178462784637846478465784667846778468784697847078471784727847378474784757847678477784787847978480784817848278483784847848578486784877848878489784907849178492784937849478495784967849778498784997850078501785027850378504785057850678507785087850978510785117851278513785147851578516785177851878519785207852178522785237852478525785267852778528785297853078531785327853378534785357853678537785387853978540785417854278543785447854578546785477854878549785507855178552785537855478555785567855778558785597856078561785627856378564785657856678567785687856978570785717857278573785747857578576785777857878579785807858178582785837858478585785867858778588785897859078591785927859378594785957859678597785987859978600786017860278603786047860578606786077860878609786107861178612786137861478615786167861778618786197862078621786227862378624786257862678627786287862978630786317863278633786347863578636786377863878639786407864178642786437864478645786467864778648786497865078651786527865378654786557865678657786587865978660786617866278663786647866578666786677866878669786707867178672786737867478675786767867778678786797868078681786827868378684786857868678687786887868978690786917869278693786947869578696786977869878699787007870178702787037870478705787067870778708787097871078711787127871378714787157871678717787187871978720787217872278723787247872578726787277872878729787307873178732787337873478735787367873778738787397874078741787427874378744787457874678747787487874978750787517875278753787547875578756787577875878759787607876178762787637876478765787667876778768787697877078771787727877378774787757877678777787787877978780787817878278783787847878578786787877878878789787907879178792787937879478795787967879778798787997880078801788027880378804788057880678807788087880978810788117881278813788147881578816788177881878819788207882178822788237882478825788267882778828788297883078831788327883378834788357883678837788387883978840788417884278843788447884578846788477884878849788507885178852788537885478855788567885778858788597886078861788627886378864788657886678867788687886978870788717887278873788747887578876788777887878879788807888178882788837888478885788867888778888788897889078891788927889378894788957889678897788987889978900789017890278903789047890578906789077890878909789107891178912789137891478915789167891778918789197892078921789227892378924789257892678927789287892978930789317893278933789347893578936789377893878939789407894178942789437894478945789467894778948789497895078951789527895378954789557895678957789587895978960789617896278963789647896578966789677896878969789707897178972789737897478975789767897778978789797898078981789827898378984789857898678987789887898978990789917899278993789947899578996789977899878999790007900179002790037900479005790067900779008790097901079011790127901379014790157901679017790187901979020790217902279023790247902579026790277902879029790307903179032790337903479035790367903779038790397904079041790427904379044790457904679047790487904979050790517905279053790547905579056790577905879059790607906179062790637906479065790667906779068790697907079071790727907379074790757907679077790787907979080790817908279083790847908579086790877908879089790907909179092790937909479095790967909779098790997910079101791027910379104791057910679107791087910979110791117911279113791147911579116791177911879119791207912179122791237912479125791267912779128791297913079131791327913379134791357913679137791387913979140791417914279143791447914579146791477914879149791507915179152791537915479155791567915779158791597916079161791627916379164791657916679167791687916979170791717917279173791747917579176791777917879179791807918179182791837918479185791867918779188791897919079191791927919379194791957919679197791987919979200792017920279203792047920579206792077920879209792107921179212792137921479215792167921779218792197922079221792227922379224792257922679227792287922979230792317923279233792347923579236792377923879239792407924179242792437924479245792467924779248792497925079251792527925379254792557925679257792587925979260792617926279263792647926579266792677926879269792707927179272792737927479275792767927779278792797928079281792827928379284792857928679287792887928979290792917929279293792947929579296792977929879299793007930179302793037930479305793067930779308793097931079311793127931379314793157931679317793187931979320793217932279323793247932579326793277932879329793307933179332793337933479335793367933779338793397934079341793427934379344793457934679347793487934979350793517935279353793547935579356793577935879359793607936179362793637936479365793667936779368793697937079371793727937379374793757937679377793787937979380793817938279383793847938579386793877938879389793907939179392793937939479395793967939779398793997940079401794027940379404794057940679407794087940979410794117941279413794147941579416794177941879419794207942179422794237942479425794267942779428794297943079431794327943379434794357943679437794387943979440794417944279443794447944579446794477944879449794507945179452794537945479455794567945779458794597946079461794627946379464794657946679467794687946979470794717947279473794747947579476794777947879479794807948179482794837948479485794867948779488794897949079491794927949379494794957949679497794987949979500795017950279503795047950579506795077950879509795107951179512795137951479515795167951779518795197952079521795227952379524795257952679527795287952979530795317953279533795347953579536795377953879539795407954179542795437954479545795467954779548795497955079551795527955379554795557955679557795587955979560795617956279563795647956579566795677956879569795707957179572795737957479575795767957779578795797958079581795827958379584795857958679587795887958979590795917959279593795947959579596795977959879599796007960179602796037960479605796067960779608796097961079611796127961379614796157961679617796187961979620796217962279623796247962579626796277962879629796307963179632796337963479635796367963779638796397964079641796427964379644796457964679647796487964979650796517965279653796547965579656796577965879659796607966179662796637966479665796667966779668796697967079671796727967379674796757967679677796787967979680796817968279683796847968579686796877968879689796907969179692796937969479695796967969779698796997970079701797027970379704797057970679707797087970979710797117971279713797147971579716797177971879719797207972179722797237972479725797267972779728797297973079731797327973379734797357973679737797387973979740797417974279743797447974579746797477974879749797507975179752797537975479755797567975779758797597976079761797627976379764797657976679767797687976979770797717977279773797747977579776797777977879779797807978179782797837978479785797867978779788797897979079791797927979379794797957979679797797987979979800798017980279803798047980579806798077980879809798107981179812798137981479815798167981779818798197982079821798227982379824798257982679827798287982979830798317983279833798347983579836798377983879839798407984179842798437984479845798467984779848798497985079851798527985379854798557985679857798587985979860798617986279863798647986579866798677986879869798707987179872798737987479875798767987779878798797988079881798827988379884798857988679887798887988979890798917989279893798947989579896798977989879899799007990179902799037990479905799067990779908799097991079911799127991379914799157991679917799187991979920799217992279923799247992579926799277992879929799307993179932799337993479935799367993779938799397994079941799427994379944799457994679947799487994979950799517995279953799547995579956799577995879959799607996179962799637996479965799667996779968799697997079971799727997379974799757997679977799787997979980799817998279983799847998579986799877998879989799907999179992799937999479995799967999779998799998000080001800028000380004800058000680007800088000980010800118001280013800148001580016800178001880019800208002180022800238002480025800268002780028800298003080031800328003380034800358003680037800388003980040800418004280043800448004580046800478004880049800508005180052800538005480055800568005780058800598006080061800628006380064800658006680067800688006980070800718007280073800748007580076800778007880079800808008180082800838008480085800868008780088800898009080091800928009380094800958009680097800988009980100801018010280103801048010580106801078010880109801108011180112801138011480115801168011780118801198012080121801228012380124801258012680127801288012980130801318013280133801348013580136801378013880139801408014180142801438014480145801468014780148801498015080151801528015380154801558015680157801588015980160801618016280163801648016580166801678016880169801708017180172801738017480175801768017780178801798018080181801828018380184801858018680187801888018980190801918019280193801948019580196801978019880199802008020180202802038020480205802068020780208802098021080211802128021380214802158021680217802188021980220802218022280223802248022580226802278022880229802308023180232802338023480235802368023780238802398024080241802428024380244802458024680247802488024980250802518025280253802548025580256802578025880259802608026180262802638026480265802668026780268802698027080271802728027380274802758027680277802788027980280802818028280283802848028580286802878028880289802908029180292802938029480295802968029780298802998030080301803028030380304803058030680307803088030980310803118031280313803148031580316803178031880319803208032180322803238032480325803268032780328803298033080331803328033380334803358033680337803388033980340803418034280343803448034580346803478034880349803508035180352803538035480355803568035780358803598036080361803628036380364803658036680367803688036980370803718037280373803748037580376803778037880379803808038180382803838038480385803868038780388803898039080391803928039380394803958039680397803988039980400804018040280403804048040580406804078040880409804108041180412804138041480415804168041780418804198042080421804228042380424804258042680427804288042980430804318043280433804348043580436804378043880439804408044180442804438044480445804468044780448804498045080451804528045380454804558045680457804588045980460804618046280463804648046580466804678046880469804708047180472804738047480475804768047780478804798048080481804828048380484804858048680487804888048980490804918049280493804948049580496804978049880499805008050180502805038050480505805068050780508805098051080511805128051380514805158051680517805188051980520805218052280523805248052580526805278052880529805308053180532805338053480535805368053780538805398054080541805428054380544805458054680547805488054980550805518055280553805548055580556805578055880559805608056180562805638056480565805668056780568805698057080571805728057380574805758057680577805788057980580805818058280583805848058580586805878058880589805908059180592805938059480595805968059780598805998060080601806028060380604806058060680607806088060980610806118061280613806148061580616806178061880619806208062180622806238062480625806268062780628806298063080631806328063380634806358063680637806388063980640806418064280643806448064580646806478064880649806508065180652806538065480655806568065780658806598066080661806628066380664806658066680667806688066980670806718067280673806748067580676806778067880679806808068180682806838068480685806868068780688806898069080691806928069380694806958069680697806988069980700807018070280703807048070580706807078070880709807108071180712807138071480715807168071780718807198072080721807228072380724807258072680727807288072980730807318073280733807348073580736807378073880739807408074180742807438074480745807468074780748807498075080751807528075380754807558075680757807588075980760807618076280763807648076580766807678076880769807708077180772807738077480775807768077780778807798078080781807828078380784807858078680787807888078980790807918079280793807948079580796807978079880799808008080180802808038080480805808068080780808808098081080811808128081380814808158081680817808188081980820808218082280823808248082580826808278082880829808308083180832808338083480835808368083780838808398084080841808428084380844808458084680847808488084980850808518085280853808548085580856808578085880859808608086180862808638086480865808668086780868808698087080871808728087380874808758087680877808788087980880808818088280883808848088580886808878088880889808908089180892808938089480895808968089780898808998090080901809028090380904809058090680907809088090980910809118091280913809148091580916809178091880919809208092180922809238092480925809268092780928809298093080931809328093380934809358093680937809388093980940809418094280943809448094580946809478094880949809508095180952809538095480955809568095780958809598096080961809628096380964809658096680967809688096980970809718097280973809748097580976809778097880979809808098180982809838098480985809868098780988809898099080991809928099380994809958099680997809988099981000810018100281003810048100581006810078100881009810108101181012810138101481015810168101781018810198102081021810228102381024810258102681027810288102981030810318103281033810348103581036810378103881039810408104181042810438104481045810468104781048810498105081051810528105381054810558105681057810588105981060810618106281063810648106581066810678106881069810708107181072810738107481075810768107781078810798108081081810828108381084810858108681087810888108981090810918109281093810948109581096810978109881099811008110181102811038110481105811068110781108811098111081111811128111381114811158111681117811188111981120811218112281123811248112581126811278112881129811308113181132811338113481135811368113781138811398114081141811428114381144811458114681147811488114981150811518115281153811548115581156811578115881159811608116181162811638116481165811668116781168811698117081171811728117381174811758117681177811788117981180811818118281183811848118581186811878118881189811908119181192811938119481195811968119781198811998120081201812028120381204812058120681207812088120981210812118121281213812148121581216812178121881219812208122181222812238122481225812268122781228812298123081231812328123381234812358123681237812388123981240812418124281243812448124581246812478124881249812508125181252812538125481255812568125781258812598126081261812628126381264812658126681267812688126981270812718127281273812748127581276812778127881279812808128181282812838128481285812868128781288812898129081291812928129381294812958129681297812988129981300813018130281303813048130581306813078130881309813108131181312813138131481315813168131781318813198132081321813228132381324813258132681327813288132981330813318133281333813348133581336813378133881339813408134181342813438134481345813468134781348813498135081351813528135381354813558135681357813588135981360813618136281363813648136581366813678136881369813708137181372813738137481375813768137781378813798138081381813828138381384813858138681387813888138981390813918139281393813948139581396813978139881399814008140181402814038140481405814068140781408814098141081411814128141381414814158141681417814188141981420814218142281423814248142581426814278142881429814308143181432814338143481435814368143781438814398144081441814428144381444814458144681447814488144981450814518145281453814548145581456814578145881459814608146181462814638146481465814668146781468814698147081471814728147381474814758147681477814788147981480814818148281483814848148581486814878148881489814908149181492814938149481495814968149781498814998150081501815028150381504815058150681507815088150981510815118151281513815148151581516815178151881519815208152181522815238152481525815268152781528815298153081531815328153381534815358153681537815388153981540815418154281543815448154581546815478154881549815508155181552815538155481555815568155781558815598156081561815628156381564815658156681567815688156981570815718157281573815748157581576815778157881579815808158181582815838158481585815868158781588815898159081591815928159381594815958159681597815988159981600816018160281603816048160581606816078160881609816108161181612816138161481615816168161781618816198162081621816228162381624816258162681627816288162981630816318163281633816348163581636816378163881639816408164181642816438164481645816468164781648816498165081651816528165381654816558165681657816588165981660816618166281663816648166581666816678166881669816708167181672816738167481675816768167781678816798168081681816828168381684816858168681687816888168981690816918169281693816948169581696816978169881699817008170181702817038170481705817068170781708817098171081711817128171381714817158171681717817188171981720817218172281723817248172581726817278172881729817308173181732817338173481735817368173781738817398174081741817428174381744817458174681747817488174981750817518175281753817548175581756817578175881759817608176181762817638176481765817668176781768817698177081771817728177381774817758177681777817788177981780817818178281783817848178581786817878178881789817908179181792817938179481795817968179781798817998180081801818028180381804818058180681807818088180981810818118181281813818148181581816818178181881819818208182181822818238182481825818268182781828818298183081831818328183381834818358183681837818388183981840818418184281843818448184581846818478184881849818508185181852818538185481855818568185781858818598186081861818628186381864818658186681867818688186981870818718187281873818748187581876818778187881879818808188181882818838188481885818868188781888818898189081891818928189381894818958189681897818988189981900819018190281903819048190581906819078190881909819108191181912819138191481915819168191781918819198192081921819228192381924819258192681927819288192981930819318193281933819348193581936819378193881939819408194181942819438194481945819468194781948819498195081951819528195381954819558195681957819588195981960819618196281963819648196581966819678196881969819708197181972819738197481975819768197781978819798198081981819828198381984819858198681987819888198981990819918199281993819948199581996819978199881999820008200182002820038200482005820068200782008820098201082011820128201382014820158201682017820188201982020820218202282023820248202582026820278202882029820308203182032820338203482035820368203782038820398204082041820428204382044820458204682047820488204982050820518205282053820548205582056820578205882059820608206182062820638206482065820668206782068820698207082071820728207382074820758207682077820788207982080820818208282083820848208582086820878208882089820908209182092820938209482095820968209782098820998210082101821028210382104821058210682107821088210982110821118211282113821148211582116821178211882119821208212182122821238212482125821268212782128821298213082131821328213382134821358213682137821388213982140821418214282143821448214582146821478214882149821508215182152821538215482155821568215782158821598216082161821628216382164821658216682167821688216982170821718217282173821748217582176821778217882179821808218182182821838218482185821868218782188821898219082191821928219382194821958219682197821988219982200822018220282203822048220582206822078220882209822108221182212822138221482215822168221782218822198222082221822228222382224822258222682227822288222982230822318223282233822348223582236822378223882239822408224182242822438224482245822468224782248822498225082251822528225382254822558225682257822588225982260822618226282263822648226582266822678226882269822708227182272822738227482275822768227782278822798228082281822828228382284822858228682287822888228982290822918229282293822948229582296822978229882299823008230182302823038230482305823068230782308823098231082311823128231382314823158231682317823188231982320823218232282323823248232582326823278232882329823308233182332823338233482335823368233782338823398234082341823428234382344823458234682347823488234982350823518235282353823548235582356823578235882359823608236182362823638236482365823668236782368823698237082371823728237382374823758237682377823788237982380823818238282383823848238582386823878238882389823908239182392823938239482395823968239782398823998240082401824028240382404824058240682407824088240982410824118241282413824148241582416824178241882419824208242182422824238242482425824268242782428824298243082431824328243382434824358243682437824388243982440824418244282443824448244582446824478244882449824508245182452824538245482455824568245782458824598246082461824628246382464824658246682467824688246982470824718247282473824748247582476824778247882479824808248182482824838248482485824868248782488824898249082491824928249382494824958249682497824988249982500825018250282503825048250582506825078250882509825108251182512825138251482515825168251782518825198252082521825228252382524825258252682527825288252982530825318253282533825348253582536825378253882539825408254182542825438254482545825468254782548825498255082551825528255382554825558255682557825588255982560825618256282563825648256582566825678256882569825708257182572825738257482575825768257782578825798258082581825828258382584825858258682587825888258982590825918259282593825948259582596825978259882599826008260182602826038260482605826068260782608826098261082611826128261382614826158261682617826188261982620826218262282623826248262582626826278262882629826308263182632826338263482635826368263782638826398264082641826428264382644826458264682647826488264982650826518265282653826548265582656826578265882659826608266182662826638266482665826668266782668826698267082671826728267382674826758267682677826788267982680826818268282683826848268582686826878268882689826908269182692826938269482695826968269782698826998270082701827028270382704827058270682707827088270982710827118271282713827148271582716827178271882719827208272182722827238272482725827268272782728827298273082731827328273382734827358273682737827388273982740827418274282743827448274582746827478274882749827508275182752827538275482755827568275782758827598276082761827628276382764827658276682767827688276982770827718277282773827748277582776827778277882779827808278182782827838278482785827868278782788827898279082791827928279382794827958279682797827988279982800828018280282803828048280582806828078280882809828108281182812828138281482815828168281782818828198282082821828228282382824828258282682827828288282982830828318283282833828348283582836828378283882839828408284182842828438284482845828468284782848828498285082851828528285382854828558285682857828588285982860828618286282863828648286582866828678286882869828708287182872828738287482875828768287782878828798288082881828828288382884828858288682887828888288982890828918289282893828948289582896828978289882899829008290182902829038290482905829068290782908829098291082911829128291382914829158291682917829188291982920829218292282923829248292582926829278292882929829308293182932829338293482935829368293782938829398294082941829428294382944829458294682947829488294982950829518295282953829548295582956829578295882959829608296182962829638296482965829668296782968829698297082971829728297382974829758297682977829788297982980829818298282983829848298582986829878298882989829908299182992829938299482995829968299782998829998300083001830028300383004830058300683007830088300983010830118301283013830148301583016830178301883019830208302183022830238302483025830268302783028830298303083031830328303383034830358303683037830388303983040830418304283043830448304583046830478304883049830508305183052830538305483055830568305783058830598306083061830628306383064830658306683067830688306983070830718307283073830748307583076830778307883079830808308183082830838308483085830868308783088830898309083091830928309383094830958309683097830988309983100831018310283103831048310583106831078310883109831108311183112831138311483115831168311783118831198312083121831228312383124831258312683127831288312983130831318313283133831348313583136831378313883139831408314183142831438314483145831468314783148831498315083151831528315383154831558315683157831588315983160831618316283163831648316583166831678316883169831708317183172831738317483175831768317783178831798318083181831828318383184831858318683187831888318983190831918319283193831948319583196831978319883199832008320183202832038320483205832068320783208832098321083211832128321383214832158321683217832188321983220832218322283223832248322583226832278322883229832308323183232832338323483235832368323783238832398324083241832428324383244832458324683247832488324983250832518325283253832548325583256832578325883259832608326183262832638326483265832668326783268832698327083271832728327383274832758327683277832788327983280832818328283283832848328583286832878328883289832908329183292832938329483295832968329783298832998330083301833028330383304833058330683307833088330983310833118331283313833148331583316833178331883319833208332183322833238332483325833268332783328833298333083331833328333383334833358333683337833388333983340833418334283343833448334583346833478334883349833508335183352833538335483355833568335783358833598336083361833628336383364833658336683367833688336983370833718337283373833748337583376833778337883379833808338183382833838338483385833868338783388833898339083391833928339383394833958339683397833988339983400834018340283403834048340583406834078340883409834108341183412834138341483415834168341783418834198342083421834228342383424834258342683427834288342983430834318343283433834348343583436834378343883439834408344183442834438344483445834468344783448834498345083451834528345383454834558345683457834588345983460834618346283463834648346583466834678346883469834708347183472834738347483475834768347783478834798348083481834828348383484834858348683487834888348983490834918349283493834948349583496834978349883499835008350183502835038350483505835068350783508835098351083511835128351383514835158351683517835188351983520835218352283523835248352583526835278352883529835308353183532835338353483535835368353783538835398354083541835428354383544835458354683547835488354983550835518355283553835548355583556835578355883559835608356183562835638356483565835668356783568835698357083571835728357383574835758357683577835788357983580835818358283583835848358583586835878358883589835908359183592835938359483595835968359783598835998360083601836028360383604836058360683607836088360983610836118361283613836148361583616836178361883619836208362183622836238362483625836268362783628836298363083631836328363383634836358363683637836388363983640836418364283643836448364583646836478364883649836508365183652836538365483655836568365783658836598366083661836628366383664836658366683667836688366983670836718367283673836748367583676836778367883679836808368183682836838368483685836868368783688836898369083691836928369383694836958369683697836988369983700837018370283703837048370583706837078370883709837108371183712837138371483715837168371783718837198372083721837228372383724837258372683727837288372983730837318373283733837348373583736837378373883739837408374183742837438374483745837468374783748837498375083751837528375383754837558375683757837588375983760837618376283763837648376583766837678376883769837708377183772837738377483775837768377783778837798378083781837828378383784837858378683787837888378983790837918379283793837948379583796837978379883799838008380183802838038380483805838068380783808838098381083811838128381383814838158381683817838188381983820838218382283823838248382583826838278382883829838308383183832838338383483835838368383783838838398384083841838428384383844838458384683847838488384983850838518385283853838548385583856838578385883859838608386183862838638386483865838668386783868838698387083871838728387383874838758387683877838788387983880838818388283883838848388583886838878388883889838908389183892838938389483895838968389783898838998390083901839028390383904839058390683907839088390983910839118391283913839148391583916839178391883919839208392183922839238392483925839268392783928839298393083931839328393383934839358393683937839388393983940839418394283943839448394583946839478394883949839508395183952839538395483955839568395783958839598396083961839628396383964839658396683967839688396983970839718397283973839748397583976839778397883979839808398183982839838398483985839868398783988839898399083991839928399383994839958399683997839988399984000840018400284003840048400584006840078400884009840108401184012840138401484015840168401784018840198402084021840228402384024840258402684027840288402984030840318403284033840348403584036840378403884039840408404184042840438404484045840468404784048840498405084051840528405384054840558405684057840588405984060840618406284063840648406584066840678406884069840708407184072840738407484075840768407784078840798408084081840828408384084840858408684087840888408984090840918409284093840948409584096840978409884099841008410184102841038410484105841068410784108841098411084111841128411384114841158411684117841188411984120841218412284123841248412584126841278412884129841308413184132841338413484135841368413784138841398414084141841428414384144841458414684147841488414984150841518415284153841548415584156841578415884159841608416184162841638416484165841668416784168841698417084171841728417384174841758417684177841788417984180841818418284183841848418584186841878418884189841908419184192841938419484195841968419784198841998420084201842028420384204842058420684207842088420984210842118421284213842148421584216842178421884219842208422184222842238422484225842268422784228842298423084231842328423384234842358423684237842388423984240842418424284243842448424584246842478424884249842508425184252842538425484255842568425784258842598426084261842628426384264842658426684267842688426984270842718427284273842748427584276842778427884279842808428184282842838428484285842868428784288842898429084291842928429384294842958429684297842988429984300843018430284303843048430584306843078430884309843108431184312843138431484315843168431784318843198432084321843228432384324843258432684327843288432984330843318433284333843348433584336843378433884339843408434184342843438434484345843468434784348843498435084351843528435384354843558435684357843588435984360843618436284363843648436584366843678436884369843708437184372843738437484375843768437784378843798438084381843828438384384843858438684387843888438984390843918439284393843948439584396843978439884399844008440184402844038440484405844068440784408844098441084411844128441384414844158441684417844188441984420844218442284423844248442584426844278442884429844308443184432844338443484435844368443784438844398444084441844428444384444844458444684447844488444984450844518445284453844548445584456844578445884459844608446184462844638446484465844668446784468844698447084471844728447384474844758447684477844788447984480844818448284483844848448584486844878448884489844908449184492844938449484495844968449784498844998450084501845028450384504845058450684507845088450984510845118451284513845148451584516845178451884519845208452184522845238452484525845268452784528845298453084531845328453384534845358453684537845388453984540845418454284543845448454584546845478454884549845508455184552845538455484555845568455784558845598456084561845628456384564845658456684567845688456984570845718457284573845748457584576845778457884579845808458184582845838458484585845868458784588845898459084591845928459384594845958459684597845988459984600846018460284603846048460584606846078460884609846108461184612846138461484615846168461784618846198462084621846228462384624846258462684627846288462984630846318463284633846348463584636846378463884639846408464184642846438464484645846468464784648846498465084651846528465384654846558465684657846588465984660846618466284663846648466584666846678466884669846708467184672846738467484675846768467784678846798468084681846828468384684846858468684687846888468984690846918469284693846948469584696846978469884699847008470184702847038470484705847068470784708847098471084711847128471384714847158471684717847188471984720847218472284723847248472584726847278472884729847308473184732847338473484735847368473784738847398474084741847428474384744847458474684747847488474984750847518475284753847548475584756847578475884759847608476184762847638476484765847668476784768847698477084771847728477384774847758477684777847788477984780847818478284783847848478584786847878478884789847908479184792847938479484795847968479784798847998480084801848028480384804848058480684807848088480984810848118481284813848148481584816848178481884819848208482184822848238482484825848268482784828848298483084831848328483384834848358483684837848388483984840848418484284843848448484584846848478484884849848508485184852848538485484855848568485784858848598486084861848628486384864848658486684867848688486984870848718487284873848748487584876848778487884879848808488184882848838488484885848868488784888848898489084891848928489384894848958489684897848988489984900849018490284903849048490584906849078490884909849108491184912849138491484915849168491784918849198492084921849228492384924849258492684927849288492984930849318493284933849348493584936849378493884939849408494184942849438494484945849468494784948849498495084951849528495384954849558495684957849588495984960849618496284963849648496584966849678496884969849708497184972849738497484975849768497784978849798498084981849828498384984849858498684987849888498984990849918499284993849948499584996849978499884999850008500185002850038500485005850068500785008850098501085011850128501385014850158501685017850188501985020850218502285023850248502585026850278502885029850308503185032850338503485035850368503785038850398504085041850428504385044850458504685047850488504985050850518505285053850548505585056850578505885059850608506185062850638506485065850668506785068850698507085071850728507385074850758507685077850788507985080850818508285083850848508585086850878508885089850908509185092850938509485095850968509785098850998510085101851028510385104851058510685107851088510985110851118511285113851148511585116851178511885119851208512185122851238512485125851268512785128851298513085131851328513385134851358513685137851388513985140851418514285143851448514585146851478514885149851508515185152851538515485155851568515785158851598516085161851628516385164851658516685167851688516985170851718517285173851748517585176851778517885179851808518185182851838518485185851868518785188851898519085191851928519385194851958519685197851988519985200852018520285203852048520585206852078520885209852108521185212852138521485215852168521785218852198522085221852228522385224852258522685227852288522985230852318523285233852348523585236852378523885239852408524185242852438524485245852468524785248852498525085251852528525385254852558525685257852588525985260852618526285263852648526585266852678526885269852708527185272852738527485275852768527785278852798528085281852828528385284852858528685287852888528985290852918529285293852948529585296852978529885299853008530185302853038530485305853068530785308853098531085311853128531385314853158531685317853188531985320853218532285323853248532585326853278532885329853308533185332853338533485335853368533785338853398534085341853428534385344853458534685347853488534985350853518535285353853548535585356853578535885359853608536185362853638536485365853668536785368853698537085371853728537385374853758537685377853788537985380853818538285383853848538585386853878538885389853908539185392853938539485395853968539785398853998540085401854028540385404854058540685407854088540985410854118541285413854148541585416854178541885419854208542185422854238542485425854268542785428854298543085431854328543385434854358543685437854388543985440854418544285443854448544585446854478544885449854508545185452854538545485455854568545785458854598546085461854628546385464854658546685467854688546985470854718547285473854748547585476854778547885479854808548185482854838548485485854868548785488854898549085491854928549385494854958549685497854988549985500855018550285503855048550585506855078550885509855108551185512855138551485515855168551785518855198552085521855228552385524855258552685527855288552985530855318553285533855348553585536855378553885539855408554185542855438554485545855468554785548855498555085551855528555385554855558555685557855588555985560855618556285563855648556585566855678556885569855708557185572855738557485575855768557785578855798558085581855828558385584855858558685587855888558985590855918559285593855948559585596855978559885599856008560185602856038560485605856068560785608856098561085611856128561385614856158561685617856188561985620856218562285623856248562585626856278562885629856308563185632856338563485635856368563785638856398564085641856428564385644856458564685647856488564985650856518565285653856548565585656856578565885659856608566185662856638566485665856668566785668856698567085671856728567385674856758567685677856788567985680856818568285683856848568585686856878568885689856908569185692856938569485695856968569785698856998570085701857028570385704857058570685707857088570985710857118571285713857148571585716857178571885719857208572185722857238572485725857268572785728857298573085731857328573385734857358573685737857388573985740857418574285743857448574585746857478574885749857508575185752857538575485755857568575785758857598576085761857628576385764857658576685767857688576985770857718577285773857748577585776857778577885779857808578185782857838578485785857868578785788857898579085791857928579385794857958579685797857988579985800858018580285803858048580585806858078580885809858108581185812858138581485815858168581785818858198582085821858228582385824858258582685827858288582985830858318583285833858348583585836858378583885839858408584185842858438584485845858468584785848858498585085851858528585385854858558585685857858588585985860858618586285863858648586585866858678586885869858708587185872858738587485875858768587785878858798588085881858828588385884858858588685887858888588985890858918589285893858948589585896858978589885899859008590185902859038590485905859068590785908859098591085911859128591385914859158591685917859188591985920859218592285923859248592585926859278592885929859308593185932859338593485935859368593785938859398594085941859428594385944859458594685947859488594985950859518595285953859548595585956859578595885959859608596185962859638596485965859668596785968859698597085971859728597385974859758597685977859788597985980859818598285983859848598585986859878598885989859908599185992859938599485995859968599785998859998600086001860028600386004860058600686007860088600986010860118601286013860148601586016860178601886019860208602186022860238602486025860268602786028860298603086031860328603386034860358603686037860388603986040860418604286043860448604586046860478604886049860508605186052860538605486055860568605786058860598606086061860628606386064860658606686067860688606986070860718607286073860748607586076860778607886079860808608186082860838608486085860868608786088860898609086091860928609386094860958609686097860988609986100861018610286103861048610586106861078610886109861108611186112861138611486115861168611786118861198612086121861228612386124861258612686127861288612986130861318613286133861348613586136861378613886139861408614186142861438614486145861468614786148861498615086151861528615386154861558615686157861588615986160861618616286163861648616586166861678616886169861708617186172861738617486175861768617786178861798618086181861828618386184861858618686187861888618986190861918619286193861948619586196861978619886199862008620186202862038620486205862068620786208862098621086211862128621386214862158621686217862188621986220862218622286223862248622586226862278622886229862308623186232862338623486235862368623786238862398624086241862428624386244862458624686247862488624986250862518625286253862548625586256862578625886259862608626186262862638626486265862668626786268862698627086271862728627386274862758627686277862788627986280862818628286283862848628586286862878628886289862908629186292862938629486295862968629786298862998630086301863028630386304863058630686307863088630986310863118631286313863148631586316863178631886319863208632186322863238632486325863268632786328863298633086331863328633386334863358633686337863388633986340863418634286343863448634586346863478634886349863508635186352863538635486355863568635786358863598636086361863628636386364863658636686367863688636986370863718637286373863748637586376863778637886379863808638186382863838638486385863868638786388863898639086391863928639386394863958639686397863988639986400864018640286403864048640586406864078640886409864108641186412864138641486415864168641786418864198642086421864228642386424864258642686427864288642986430864318643286433864348643586436864378643886439864408644186442864438644486445864468644786448864498645086451864528645386454864558645686457864588645986460864618646286463864648646586466864678646886469864708647186472864738647486475864768647786478864798648086481864828648386484864858648686487864888648986490864918649286493864948649586496864978649886499865008650186502865038650486505865068650786508865098651086511865128651386514865158651686517865188651986520865218652286523865248652586526865278652886529865308653186532865338653486535865368653786538865398654086541865428654386544865458654686547865488654986550865518655286553865548655586556865578655886559865608656186562865638656486565865668656786568865698657086571865728657386574865758657686577865788657986580865818658286583865848658586586865878658886589865908659186592865938659486595865968659786598865998660086601866028660386604866058660686607866088660986610866118661286613866148661586616866178661886619866208662186622866238662486625866268662786628866298663086631866328663386634866358663686637866388663986640866418664286643866448664586646866478664886649866508665186652866538665486655866568665786658866598666086661866628666386664866658666686667866688666986670866718667286673866748667586676866778667886679866808668186682866838668486685866868668786688866898669086691866928669386694866958669686697866988669986700867018670286703867048670586706867078670886709867108671186712867138671486715867168671786718867198672086721867228672386724867258672686727867288672986730867318673286733867348673586736867378673886739867408674186742867438674486745867468674786748867498675086751867528675386754867558675686757867588675986760867618676286763867648676586766867678676886769867708677186772867738677486775867768677786778867798678086781867828678386784867858678686787867888678986790867918679286793867948679586796867978679886799868008680186802868038680486805868068680786808868098681086811868128681386814868158681686817868188681986820868218682286823868248682586826868278682886829868308683186832868338683486835868368683786838868398684086841868428684386844868458684686847868488684986850868518685286853868548685586856868578685886859868608686186862868638686486865868668686786868868698687086871868728687386874868758687686877868788687986880868818688286883868848688586886868878688886889868908689186892868938689486895868968689786898868998690086901869028690386904869058690686907869088690986910869118691286913869148691586916869178691886919869208692186922869238692486925869268692786928869298693086931869328693386934869358693686937869388693986940869418694286943869448694586946869478694886949869508695186952869538695486955869568695786958869598696086961869628696386964869658696686967869688696986970869718697286973869748697586976869778697886979869808698186982869838698486985869868698786988869898699086991869928699386994869958699686997869988699987000870018700287003870048700587006870078700887009870108701187012870138701487015870168701787018870198702087021870228702387024870258702687027870288702987030870318703287033870348703587036870378703887039870408704187042870438704487045870468704787048870498705087051870528705387054870558705687057870588705987060870618706287063870648706587066870678706887069870708707187072870738707487075870768707787078870798708087081870828708387084870858708687087870888708987090870918709287093870948709587096870978709887099871008710187102871038710487105871068710787108871098711087111871128711387114871158711687117871188711987120871218712287123871248712587126871278712887129871308713187132871338713487135871368713787138871398714087141871428714387144871458714687147871488714987150871518715287153871548715587156871578715887159871608716187162871638716487165871668716787168871698717087171871728717387174871758717687177871788717987180871818718287183871848718587186871878718887189871908719187192871938719487195871968719787198871998720087201872028720387204872058720687207872088720987210872118721287213872148721587216872178721887219872208722187222872238722487225872268722787228872298723087231872328723387234872358723687237872388723987240872418724287243872448724587246872478724887249872508725187252872538725487255872568725787258872598726087261872628726387264872658726687267872688726987270872718727287273872748727587276872778727887279872808728187282872838728487285872868728787288872898729087291872928729387294872958729687297872988729987300873018730287303873048730587306873078730887309873108731187312873138731487315873168731787318873198732087321873228732387324873258732687327873288732987330873318733287333873348733587336873378733887339873408734187342873438734487345873468734787348873498735087351873528735387354873558735687357873588735987360873618736287363873648736587366873678736887369873708737187372873738737487375873768737787378873798738087381873828738387384873858738687387873888738987390873918739287393873948739587396873978739887399874008740187402874038740487405874068740787408874098741087411874128741387414874158741687417874188741987420874218742287423874248742587426874278742887429874308743187432874338743487435874368743787438874398744087441874428744387444874458744687447874488744987450874518745287453874548745587456874578745887459874608746187462874638746487465874668746787468874698747087471874728747387474874758747687477874788747987480874818748287483874848748587486874878748887489874908749187492874938749487495874968749787498874998750087501875028750387504875058750687507875088750987510875118751287513875148751587516875178751887519875208752187522875238752487525875268752787528875298753087531875328753387534875358753687537875388753987540875418754287543875448754587546875478754887549875508755187552875538755487555875568755787558875598756087561875628756387564875658756687567875688756987570875718757287573875748757587576875778757887579875808758187582875838758487585875868758787588875898759087591875928759387594875958759687597875988759987600876018760287603876048760587606876078760887609876108761187612876138761487615876168761787618876198762087621876228762387624876258762687627876288762987630876318763287633876348763587636876378763887639876408764187642876438764487645876468764787648876498765087651876528765387654876558765687657876588765987660876618766287663876648766587666876678766887669876708767187672876738767487675876768767787678876798768087681876828768387684876858768687687876888768987690876918769287693876948769587696876978769887699877008770187702877038770487705877068770787708877098771087711877128771387714877158771687717877188771987720877218772287723877248772587726877278772887729877308773187732877338773487735877368773787738877398774087741877428774387744877458774687747877488774987750877518775287753877548775587756877578775887759877608776187762877638776487765877668776787768877698777087771877728777387774877758777687777877788777987780877818778287783877848778587786877878778887789877908779187792877938779487795877968779787798877998780087801878028780387804878058780687807878088780987810878118781287813878148781587816878178781887819878208782187822878238782487825878268782787828878298783087831878328783387834878358783687837878388783987840878418784287843878448784587846878478784887849878508785187852878538785487855878568785787858878598786087861878628786387864878658786687867878688786987870878718787287873878748787587876878778787887879878808788187882878838788487885878868788787888878898789087891878928789387894878958789687897878988789987900879018790287903879048790587906879078790887909879108791187912879138791487915879168791787918879198792087921879228792387924879258792687927879288792987930879318793287933879348793587936879378793887939879408794187942879438794487945879468794787948879498795087951879528795387954879558795687957879588795987960879618796287963879648796587966879678796887969879708797187972879738797487975879768797787978879798798087981879828798387984879858798687987879888798987990879918799287993879948799587996879978799887999880008800188002880038800488005880068800788008880098801088011880128801388014880158801688017880188801988020880218802288023880248802588026880278802888029880308803188032880338803488035880368803788038880398804088041880428804388044880458804688047880488804988050880518805288053880548805588056880578805888059880608806188062880638806488065880668806788068880698807088071880728807388074880758807688077880788807988080880818808288083880848808588086880878808888089880908809188092880938809488095880968809788098880998810088101881028810388104881058810688107881088810988110881118811288113881148811588116881178811888119881208812188122881238812488125881268812788128881298813088131881328813388134881358813688137881388813988140881418814288143881448814588146881478814888149881508815188152881538815488155881568815788158881598816088161881628816388164881658816688167881688816988170881718817288173881748817588176881778817888179881808818188182881838818488185881868818788188881898819088191881928819388194881958819688197881988819988200882018820288203882048820588206882078820888209882108821188212882138821488215882168821788218882198822088221882228822388224882258822688227882288822988230882318823288233882348823588236882378823888239882408824188242882438824488245882468824788248882498825088251882528825388254882558825688257882588825988260882618826288263882648826588266882678826888269882708827188272882738827488275882768827788278882798828088281882828828388284882858828688287882888828988290882918829288293882948829588296882978829888299883008830188302883038830488305883068830788308883098831088311883128831388314883158831688317883188831988320883218832288323883248832588326883278832888329883308833188332883338833488335883368833788338883398834088341883428834388344883458834688347883488834988350883518835288353883548835588356883578835888359883608836188362883638836488365883668836788368883698837088371883728837388374883758837688377883788837988380883818838288383883848838588386883878838888389883908839188392883938839488395883968839788398883998840088401884028840388404884058840688407884088840988410884118841288413884148841588416884178841888419884208842188422884238842488425884268842788428884298843088431884328843388434884358843688437884388843988440884418844288443884448844588446884478844888449884508845188452884538845488455884568845788458884598846088461884628846388464884658846688467884688846988470884718847288473884748847588476884778847888479884808848188482884838848488485884868848788488884898849088491884928849388494884958849688497884988849988500885018850288503885048850588506885078850888509885108851188512885138851488515885168851788518885198852088521885228852388524885258852688527885288852988530885318853288533885348853588536885378853888539885408854188542885438854488545885468854788548885498855088551885528855388554885558855688557885588855988560885618856288563885648856588566885678856888569885708857188572885738857488575885768857788578885798858088581885828858388584885858858688587885888858988590885918859288593885948859588596885978859888599886008860188602886038860488605886068860788608886098861088611886128861388614886158861688617886188861988620886218862288623886248862588626886278862888629886308863188632886338863488635886368863788638886398864088641886428864388644886458864688647886488864988650886518865288653886548865588656886578865888659886608866188662886638866488665886668866788668886698867088671886728867388674886758867688677886788867988680886818868288683886848868588686886878868888689886908869188692886938869488695886968869788698886998870088701887028870388704887058870688707887088870988710887118871288713887148871588716887178871888719887208872188722887238872488725887268872788728887298873088731887328873388734887358873688737887388873988740887418874288743887448874588746887478874888749887508875188752887538875488755887568875788758887598876088761887628876388764887658876688767887688876988770887718877288773887748877588776887778877888779887808878188782887838878488785887868878788788887898879088791887928879388794887958879688797887988879988800888018880288803888048880588806888078880888809888108881188812888138881488815888168881788818888198882088821888228882388824888258882688827888288882988830888318883288833888348883588836888378883888839888408884188842888438884488845888468884788848888498885088851888528885388854888558885688857888588885988860888618886288863888648886588866888678886888869888708887188872888738887488875888768887788878888798888088881888828888388884888858888688887888888888988890888918889288893888948889588896888978889888899889008890188902889038890488905889068890788908889098891088911889128891388914889158891688917889188891988920889218892288923889248892588926889278892888929889308893188932889338893488935889368893788938889398894088941889428894388944889458894688947889488894988950889518895288953889548895588956889578895888959889608896188962889638896488965889668896788968889698897088971889728897388974889758897688977889788897988980889818898288983889848898588986889878898888989889908899188992889938899488995889968899788998889998900089001890028900389004890058900689007890088900989010890118901289013890148901589016890178901889019890208902189022890238902489025890268902789028890298903089031890328903389034890358903689037890388903989040890418904289043890448904589046890478904889049890508905189052890538905489055890568905789058890598906089061890628906389064890658906689067890688906989070890718907289073890748907589076890778907889079890808908189082890838908489085890868908789088890898909089091890928909389094890958909689097890988909989100891018910289103891048910589106891078910889109891108911189112891138911489115891168911789118891198912089121891228912389124891258912689127891288912989130891318913289133891348913589136891378913889139891408914189142891438914489145891468914789148891498915089151891528915389154891558915689157891588915989160891618916289163891648916589166891678916889169891708917189172891738917489175891768917789178891798918089181891828918389184891858918689187891888918989190891918919289193891948919589196891978919889199892008920189202892038920489205892068920789208892098921089211892128921389214892158921689217892188921989220892218922289223892248922589226892278922889229892308923189232892338923489235892368923789238892398924089241892428924389244892458924689247892488924989250892518925289253892548925589256892578925889259892608926189262892638926489265892668926789268892698927089271892728927389274892758927689277892788927989280892818928289283892848928589286892878928889289892908929189292892938929489295892968929789298892998930089301893028930389304893058930689307893088930989310893118931289313893148931589316893178931889319893208932189322893238932489325893268932789328893298933089331893328933389334893358933689337893388933989340893418934289343893448934589346893478934889349893508935189352893538935489355893568935789358893598936089361893628936389364893658936689367893688936989370893718937289373893748937589376893778937889379893808938189382893838938489385893868938789388893898939089391893928939389394893958939689397893988939989400894018940289403894048940589406894078940889409894108941189412894138941489415894168941789418894198942089421894228942389424894258942689427894288942989430894318943289433894348943589436894378943889439894408944189442894438944489445894468944789448894498945089451894528945389454894558945689457894588945989460894618946289463894648946589466894678946889469894708947189472894738947489475894768947789478894798948089481894828948389484894858948689487894888948989490894918949289493894948949589496894978949889499895008950189502895038950489505895068950789508895098951089511895128951389514895158951689517895188951989520895218952289523895248952589526895278952889529895308953189532895338953489535895368953789538895398954089541895428954389544895458954689547895488954989550895518955289553895548955589556895578955889559895608956189562895638956489565895668956789568895698957089571895728957389574895758957689577895788957989580895818958289583895848958589586895878958889589895908959189592895938959489595895968959789598895998960089601896028960389604896058960689607896088960989610896118961289613896148961589616896178961889619896208962189622896238962489625896268962789628896298963089631896328963389634896358963689637896388963989640896418964289643896448964589646896478964889649896508965189652896538965489655896568965789658896598966089661896628966389664896658966689667896688966989670896718967289673896748967589676896778967889679896808968189682896838968489685896868968789688896898969089691896928969389694896958969689697896988969989700897018970289703897048970589706897078970889709897108971189712897138971489715897168971789718897198972089721897228972389724897258972689727897288972989730897318973289733897348973589736897378973889739897408974189742897438974489745897468974789748897498975089751897528975389754897558975689757897588975989760897618976289763897648976589766897678976889769897708977189772897738977489775897768977789778897798978089781897828978389784897858978689787897888978989790897918979289793897948979589796897978979889799898008980189802898038980489805898068980789808898098981089811898128981389814898158981689817898188981989820898218982289823898248982589826898278982889829898308983189832898338983489835898368983789838898398984089841898428984389844898458984689847898488984989850898518985289853898548985589856898578985889859898608986189862898638986489865898668986789868898698987089871898728987389874898758987689877898788987989880898818988289883898848988589886898878988889889898908989189892898938989489895898968989789898898998990089901899028990389904899058990689907899088990989910899118991289913899148991589916899178991889919899208992189922899238992489925899268992789928899298993089931899328993389934899358993689937899388993989940899418994289943899448994589946899478994889949899508995189952899538995489955899568995789958899598996089961899628996389964899658996689967899688996989970899718997289973899748997589976899778997889979899808998189982899838998489985899868998789988899898999089991899928999389994899958999689997899988999990000900019000290003900049000590006900079000890009900109001190012900139001490015900169001790018900199002090021900229002390024900259002690027900289002990030900319003290033900349003590036900379003890039900409004190042900439004490045900469004790048900499005090051900529005390054900559005690057900589005990060900619006290063900649006590066900679006890069900709007190072900739007490075900769007790078900799008090081900829008390084900859008690087900889008990090900919009290093900949009590096900979009890099901009010190102901039010490105901069010790108901099011090111901129011390114901159011690117901189011990120901219012290123901249012590126901279012890129901309013190132901339013490135901369013790138901399014090141901429014390144901459014690147901489014990150901519015290153901549015590156901579015890159901609016190162901639016490165901669016790168901699017090171901729017390174901759017690177901789017990180901819018290183901849018590186901879018890189901909019190192901939019490195901969019790198901999020090201902029020390204902059020690207902089020990210902119021290213902149021590216902179021890219902209022190222902239022490225902269022790228902299023090231902329023390234902359023690237902389023990240902419024290243902449024590246902479024890249902509025190252902539025490255902569025790258902599026090261902629026390264902659026690267902689026990270902719027290273902749027590276902779027890279902809028190282902839028490285902869028790288902899029090291902929029390294902959029690297902989029990300903019030290303903049030590306903079030890309903109031190312903139031490315903169031790318903199032090321903229032390324903259032690327903289032990330903319033290333903349033590336903379033890339903409034190342903439034490345903469034790348903499035090351903529035390354903559035690357903589035990360903619036290363903649036590366903679036890369903709037190372903739037490375903769037790378903799038090381903829038390384903859038690387903889038990390903919039290393903949039590396903979039890399904009040190402904039040490405904069040790408904099041090411904129041390414904159041690417904189041990420904219042290423904249042590426904279042890429904309043190432904339043490435904369043790438904399044090441904429044390444904459044690447904489044990450904519045290453904549045590456904579045890459904609046190462904639046490465904669046790468904699047090471904729047390474904759047690477904789047990480904819048290483904849048590486904879048890489904909049190492904939049490495904969049790498904999050090501905029050390504905059050690507905089050990510905119051290513905149051590516905179051890519905209052190522905239052490525905269052790528905299053090531905329053390534905359053690537905389053990540905419054290543905449054590546905479054890549905509055190552905539055490555905569055790558905599056090561905629056390564905659056690567905689056990570905719057290573905749057590576905779057890579905809058190582905839058490585905869058790588905899059090591905929059390594905959059690597905989059990600906019060290603906049060590606906079060890609906109061190612906139061490615906169061790618906199062090621906229062390624906259062690627906289062990630906319063290633906349063590636906379063890639906409064190642906439064490645906469064790648906499065090651906529065390654906559065690657906589065990660906619066290663906649066590666906679066890669906709067190672906739067490675906769067790678906799068090681906829068390684906859068690687906889068990690906919069290693906949069590696906979069890699907009070190702907039070490705907069070790708907099071090711907129071390714907159071690717907189071990720907219072290723907249072590726907279072890729907309073190732907339073490735907369073790738907399074090741907429074390744907459074690747907489074990750907519075290753907549075590756907579075890759907609076190762907639076490765907669076790768907699077090771907729077390774907759077690777907789077990780907819078290783907849078590786907879078890789907909079190792907939079490795907969079790798907999080090801908029080390804908059080690807908089080990810908119081290813908149081590816908179081890819908209082190822908239082490825908269082790828908299083090831908329083390834908359083690837908389083990840908419084290843908449084590846908479084890849908509085190852908539085490855908569085790858908599086090861908629086390864908659086690867908689086990870908719087290873908749087590876908779087890879908809088190882908839088490885908869088790888908899089090891908929089390894908959089690897908989089990900909019090290903909049090590906909079090890909909109091190912909139091490915909169091790918909199092090921909229092390924909259092690927909289092990930909319093290933909349093590936909379093890939909409094190942909439094490945909469094790948909499095090951909529095390954909559095690957909589095990960909619096290963909649096590966909679096890969909709097190972909739097490975909769097790978909799098090981909829098390984909859098690987909889098990990909919099290993909949099590996909979099890999910009100191002910039100491005910069100791008910099101091011910129101391014910159101691017910189101991020910219102291023910249102591026910279102891029910309103191032910339103491035910369103791038910399104091041910429104391044910459104691047910489104991050910519105291053910549105591056910579105891059910609106191062910639106491065910669106791068910699107091071910729107391074910759107691077910789107991080910819108291083910849108591086910879108891089910909109191092910939109491095910969109791098910999110091101911029110391104911059110691107911089110991110911119111291113911149111591116911179111891119911209112191122911239112491125911269112791128911299113091131911329113391134911359113691137911389113991140911419114291143911449114591146911479114891149911509115191152911539115491155911569115791158911599116091161911629116391164911659116691167911689116991170911719117291173911749117591176911779117891179911809118191182911839118491185911869118791188911899119091191911929119391194911959119691197911989119991200912019120291203912049120591206912079120891209912109121191212912139121491215912169121791218912199122091221912229122391224912259122691227912289122991230912319123291233912349123591236912379123891239912409124191242912439124491245912469124791248912499125091251912529125391254912559125691257912589125991260912619126291263912649126591266912679126891269912709127191272912739127491275912769127791278912799128091281912829128391284912859128691287912889128991290912919129291293912949129591296912979129891299913009130191302913039130491305913069130791308913099131091311913129131391314913159131691317913189131991320913219132291323913249132591326913279132891329913309133191332913339133491335913369133791338913399134091341913429134391344913459134691347913489134991350913519135291353913549135591356913579135891359913609136191362913639136491365913669136791368913699137091371913729137391374913759137691377913789137991380913819138291383913849138591386913879138891389913909139191392913939139491395913969139791398913999140091401914029140391404914059140691407914089140991410914119141291413914149141591416914179141891419914209142191422914239142491425914269142791428914299143091431914329143391434914359143691437914389143991440914419144291443914449144591446914479144891449914509145191452914539145491455914569145791458914599146091461914629146391464914659146691467914689146991470914719147291473914749147591476914779147891479914809148191482914839148491485914869148791488914899149091491914929149391494914959149691497914989149991500915019150291503915049150591506915079150891509915109151191512915139151491515915169151791518915199152091521915229152391524915259152691527915289152991530915319153291533915349153591536915379153891539915409154191542915439154491545915469154791548915499155091551915529155391554915559155691557915589155991560915619156291563915649156591566915679156891569915709157191572915739157491575915769157791578915799158091581915829158391584915859158691587915889158991590915919159291593915949159591596915979159891599916009160191602916039160491605916069160791608916099161091611916129161391614916159161691617916189161991620916219162291623916249162591626916279162891629916309163191632916339163491635916369163791638916399164091641916429164391644916459164691647916489164991650916519165291653916549165591656916579165891659916609166191662916639166491665916669166791668916699167091671916729167391674916759167691677916789167991680916819168291683916849168591686916879168891689916909169191692916939169491695916969169791698916999170091701917029170391704917059170691707917089170991710917119171291713917149171591716917179171891719917209172191722917239172491725917269172791728917299173091731917329173391734917359173691737917389173991740917419174291743917449174591746917479174891749917509175191752917539175491755917569175791758917599176091761917629176391764917659176691767917689176991770917719177291773917749177591776917779177891779917809178191782917839178491785917869178791788917899179091791917929179391794917959179691797917989179991800918019180291803918049180591806918079180891809918109181191812918139181491815918169181791818918199182091821918229182391824918259182691827918289182991830918319183291833918349183591836918379183891839918409184191842918439184491845918469184791848918499185091851918529185391854918559185691857918589185991860918619186291863918649186591866918679186891869918709187191872918739187491875918769187791878918799188091881918829188391884918859188691887918889188991890918919189291893918949189591896918979189891899919009190191902919039190491905919069190791908919099191091911919129191391914919159191691917919189191991920919219192291923919249192591926919279192891929919309193191932919339193491935919369193791938919399194091941919429194391944919459194691947919489194991950919519195291953919549195591956919579195891959919609196191962919639196491965919669196791968919699197091971919729197391974919759197691977919789197991980919819198291983919849198591986919879198891989919909199191992919939199491995919969199791998919999200092001920029200392004920059200692007920089200992010920119201292013920149201592016920179201892019920209202192022920239202492025920269202792028920299203092031920329203392034920359203692037920389203992040920419204292043920449204592046920479204892049920509205192052920539205492055920569205792058920599206092061920629206392064920659206692067920689206992070920719207292073920749207592076920779207892079920809208192082920839208492085920869208792088920899209092091920929209392094920959209692097920989209992100921019210292103921049210592106921079210892109921109211192112921139211492115921169211792118921199212092121921229212392124921259212692127921289212992130921319213292133921349213592136921379213892139921409214192142921439214492145921469214792148921499215092151921529215392154921559215692157921589215992160921619216292163921649216592166921679216892169921709217192172921739217492175921769217792178921799218092181921829218392184921859218692187921889218992190921919219292193921949219592196921979219892199922009220192202922039220492205922069220792208922099221092211922129221392214922159221692217922189221992220922219222292223922249222592226922279222892229922309223192232922339223492235922369223792238922399224092241922429224392244922459224692247922489224992250922519225292253922549225592256922579225892259922609226192262922639226492265922669226792268922699227092271922729227392274922759227692277922789227992280922819228292283922849228592286922879228892289922909229192292922939229492295922969229792298922999230092301923029230392304923059230692307923089230992310923119231292313923149231592316923179231892319923209232192322923239232492325923269232792328923299233092331923329233392334923359233692337923389233992340923419234292343923449234592346923479234892349923509235192352923539235492355923569235792358923599236092361923629236392364923659236692367923689236992370923719237292373923749237592376923779237892379923809238192382923839238492385923869238792388923899239092391923929239392394923959239692397923989239992400924019240292403924049240592406924079240892409924109241192412924139241492415924169241792418924199242092421924229242392424924259242692427924289242992430924319243292433924349243592436924379243892439924409244192442924439244492445924469244792448924499245092451924529245392454924559245692457924589245992460924619246292463924649246592466924679246892469924709247192472924739247492475924769247792478924799248092481924829248392484924859248692487924889248992490924919249292493924949249592496924979249892499925009250192502925039250492505925069250792508925099251092511925129251392514925159251692517925189251992520925219252292523925249252592526925279252892529925309253192532925339253492535925369253792538925399254092541925429254392544925459254692547925489254992550925519255292553925549255592556925579255892559925609256192562925639256492565925669256792568925699257092571925729257392574925759257692577925789257992580925819258292583925849258592586925879258892589925909259192592925939259492595925969259792598925999260092601926029260392604926059260692607926089260992610926119261292613926149261592616926179261892619926209262192622926239262492625926269262792628926299263092631926329263392634926359263692637926389263992640926419264292643926449264592646926479264892649926509265192652926539265492655926569265792658926599266092661926629266392664926659266692667926689266992670926719267292673926749267592676926779267892679926809268192682926839268492685926869268792688926899269092691926929269392694926959269692697926989269992700927019270292703927049270592706927079270892709927109271192712927139271492715927169271792718927199272092721927229272392724927259272692727927289272992730927319273292733927349273592736927379273892739927409274192742927439274492745927469274792748927499275092751927529275392754927559275692757927589275992760927619276292763927649276592766927679276892769927709277192772927739277492775927769277792778927799278092781927829278392784927859278692787927889278992790927919279292793927949279592796927979279892799928009280192802928039280492805928069280792808928099281092811928129281392814928159281692817928189281992820928219282292823928249282592826928279282892829928309283192832928339283492835928369283792838928399284092841928429284392844928459284692847928489284992850928519285292853928549285592856928579285892859928609286192862928639286492865928669286792868928699287092871928729287392874928759287692877928789287992880928819288292883928849288592886928879288892889928909289192892928939289492895928969289792898928999290092901929029290392904929059290692907929089290992910929119291292913929149291592916929179291892919929209292192922929239292492925929269292792928929299293092931929329293392934929359293692937929389293992940929419294292943929449294592946929479294892949929509295192952929539295492955929569295792958929599296092961929629296392964929659296692967929689296992970929719297292973929749297592976929779297892979929809298192982929839298492985929869298792988929899299092991929929299392994929959299692997929989299993000930019300293003930049300593006930079300893009930109301193012930139301493015930169301793018930199302093021930229302393024930259302693027930289302993030930319303293033930349303593036930379303893039930409304193042930439304493045930469304793048930499305093051930529305393054930559305693057930589305993060930619306293063930649306593066930679306893069930709307193072930739307493075930769307793078930799308093081930829308393084930859308693087930889308993090930919309293093930949309593096930979309893099931009310193102931039310493105931069310793108931099311093111931129311393114931159311693117931189311993120931219312293123931249312593126931279312893129931309313193132931339313493135931369313793138931399314093141931429314393144931459314693147931489314993150931519315293153931549315593156931579315893159931609316193162931639316493165931669316793168931699317093171931729317393174931759317693177931789317993180931819318293183931849318593186931879318893189931909319193192931939319493195931969319793198931999320093201932029320393204932059320693207932089320993210932119321293213932149321593216932179321893219932209322193222932239322493225932269322793228932299323093231932329323393234932359323693237932389323993240932419324293243932449324593246932479324893249932509325193252932539325493255932569325793258932599326093261932629326393264932659326693267932689326993270932719327293273932749327593276932779327893279932809328193282932839328493285932869328793288932899329093291932929329393294932959329693297932989329993300933019330293303933049330593306933079330893309933109331193312933139331493315933169331793318933199332093321933229332393324933259332693327933289332993330933319333293333933349333593336933379333893339933409334193342933439334493345933469334793348933499335093351933529335393354933559335693357933589335993360933619336293363933649336593366933679336893369933709337193372933739337493375933769337793378933799338093381933829338393384933859338693387933889338993390933919339293393933949339593396933979339893399934009340193402934039340493405934069340793408934099341093411934129341393414934159341693417934189341993420934219342293423934249342593426934279342893429934309343193432934339343493435934369343793438934399344093441934429344393444934459344693447934489344993450934519345293453934549345593456934579345893459934609346193462934639346493465934669346793468934699347093471934729347393474934759347693477934789347993480934819348293483934849348593486934879348893489934909349193492934939349493495934969349793498934999350093501935029350393504935059350693507935089350993510935119351293513935149351593516935179351893519935209352193522935239352493525935269352793528935299353093531935329353393534935359353693537935389353993540935419354293543935449354593546935479354893549935509355193552935539355493555935569355793558935599356093561935629356393564935659356693567935689356993570935719357293573935749357593576935779357893579935809358193582935839358493585935869358793588935899359093591935929359393594935959359693597935989359993600936019360293603936049360593606936079360893609936109361193612936139361493615936169361793618936199362093621936229362393624936259362693627936289362993630936319363293633936349363593636936379363893639936409364193642936439364493645936469364793648936499365093651936529365393654936559365693657936589365993660936619366293663936649366593666936679366893669936709367193672936739367493675936769367793678936799368093681936829368393684936859368693687936889368993690936919369293693936949369593696936979369893699937009370193702937039370493705937069370793708937099371093711937129371393714937159371693717937189371993720937219372293723937249372593726937279372893729937309373193732937339373493735937369373793738937399374093741937429374393744937459374693747937489374993750937519375293753937549375593756937579375893759937609376193762937639376493765937669376793768937699377093771937729377393774937759377693777937789377993780937819378293783937849378593786937879378893789937909379193792937939379493795937969379793798937999380093801938029380393804938059380693807938089380993810938119381293813938149381593816938179381893819938209382193822938239382493825938269382793828938299383093831938329383393834938359383693837938389383993840938419384293843938449384593846938479384893849938509385193852938539385493855938569385793858938599386093861938629386393864938659386693867938689386993870938719387293873938749387593876938779387893879938809388193882938839388493885938869388793888938899389093891938929389393894938959389693897938989389993900939019390293903939049390593906939079390893909939109391193912939139391493915939169391793918939199392093921939229392393924939259392693927939289392993930939319393293933939349393593936939379393893939939409394193942939439394493945939469394793948939499395093951939529395393954939559395693957939589395993960939619396293963939649396593966939679396893969939709397193972939739397493975939769397793978939799398093981939829398393984939859398693987939889398993990939919399293993939949399593996939979399893999940009400194002940039400494005940069400794008940099401094011940129401394014940159401694017940189401994020940219402294023940249402594026940279402894029940309403194032940339403494035940369403794038940399404094041940429404394044940459404694047940489404994050940519405294053940549405594056940579405894059940609406194062940639406494065940669406794068940699407094071940729407394074940759407694077940789407994080940819408294083940849408594086940879408894089940909409194092940939409494095940969409794098940999410094101941029410394104941059410694107941089410994110941119411294113941149411594116941179411894119941209412194122941239412494125941269412794128941299413094131941329413394134941359413694137941389413994140941419414294143941449414594146941479414894149941509415194152941539415494155941569415794158941599416094161941629416394164941659416694167941689416994170941719417294173941749417594176941779417894179941809418194182941839418494185941869418794188941899419094191941929419394194941959419694197941989419994200942019420294203942049420594206942079420894209942109421194212942139421494215942169421794218942199422094221942229422394224942259422694227942289422994230942319423294233942349423594236942379423894239942409424194242942439424494245942469424794248942499425094251942529425394254942559425694257942589425994260942619426294263942649426594266942679426894269942709427194272942739427494275942769427794278942799428094281942829428394284942859428694287942889428994290942919429294293942949429594296942979429894299943009430194302943039430494305943069430794308943099431094311943129431394314943159431694317943189431994320943219432294323943249432594326943279432894329943309433194332943339433494335943369433794338943399434094341943429434394344943459434694347943489434994350943519435294353943549435594356943579435894359943609436194362943639436494365943669436794368943699437094371943729437394374943759437694377943789437994380943819438294383943849438594386943879438894389943909439194392943939439494395943969439794398943999440094401944029440394404944059440694407944089440994410944119441294413944149441594416944179441894419944209442194422944239442494425944269442794428944299443094431944329443394434944359443694437944389443994440944419444294443944449444594446944479444894449944509445194452944539445494455944569445794458944599446094461944629446394464944659446694467944689446994470944719447294473944749447594476944779447894479944809448194482944839448494485944869448794488944899449094491944929449394494944959449694497944989449994500945019450294503945049450594506945079450894509945109451194512945139451494515945169451794518945199452094521945229452394524945259452694527945289452994530945319453294533945349453594536945379453894539945409454194542945439454494545945469454794548945499455094551945529455394554945559455694557945589455994560945619456294563945649456594566945679456894569945709457194572945739457494575945769457794578945799458094581945829458394584945859458694587945889458994590945919459294593945949459594596945979459894599946009460194602946039460494605946069460794608946099461094611946129461394614946159461694617946189461994620946219462294623946249462594626946279462894629946309463194632946339463494635946369463794638946399464094641946429464394644946459464694647946489464994650946519465294653946549465594656946579465894659946609466194662946639466494665946669466794668946699467094671946729467394674946759467694677946789467994680946819468294683946849468594686946879468894689946909469194692946939469494695946969469794698946999470094701947029470394704947059470694707947089470994710947119471294713947149471594716947179471894719947209472194722947239472494725947269472794728947299473094731947329473394734947359473694737947389473994740947419474294743947449474594746947479474894749947509475194752947539475494755947569475794758947599476094761947629476394764947659476694767947689476994770947719477294773947749477594776947779477894779947809478194782947839478494785947869478794788947899479094791947929479394794947959479694797947989479994800948019480294803948049480594806948079480894809948109481194812948139481494815948169481794818948199482094821948229482394824948259482694827948289482994830948319483294833948349483594836948379483894839948409484194842948439484494845948469484794848948499485094851948529485394854948559485694857948589485994860948619486294863948649486594866948679486894869948709487194872948739487494875948769487794878948799488094881948829488394884948859488694887948889488994890948919489294893948949489594896948979489894899949009490194902949039490494905949069490794908949099491094911949129491394914949159491694917949189491994920949219492294923949249492594926949279492894929949309493194932949339493494935949369493794938949399494094941949429494394944949459494694947949489494994950949519495294953949549495594956949579495894959949609496194962949639496494965949669496794968949699497094971949729497394974949759497694977949789497994980949819498294983949849498594986949879498894989949909499194992949939499494995949969499794998949999500095001950029500395004950059500695007950089500995010950119501295013950149501595016950179501895019950209502195022950239502495025950269502795028950299503095031950329503395034950359503695037950389503995040950419504295043950449504595046950479504895049950509505195052950539505495055950569505795058950599506095061950629506395064950659506695067950689506995070950719507295073950749507595076950779507895079950809508195082950839508495085950869508795088950899509095091950929509395094950959509695097950989509995100951019510295103951049510595106951079510895109951109511195112951139511495115951169511795118951199512095121951229512395124951259512695127951289512995130951319513295133951349513595136951379513895139951409514195142951439514495145951469514795148951499515095151951529515395154951559515695157951589515995160951619516295163951649516595166951679516895169951709517195172951739517495175951769517795178951799518095181951829518395184951859518695187951889518995190951919519295193951949519595196951979519895199952009520195202952039520495205952069520795208952099521095211952129521395214952159521695217952189521995220952219522295223952249522595226952279522895229952309523195232952339523495235952369523795238952399524095241952429524395244952459524695247952489524995250952519525295253952549525595256952579525895259952609526195262952639526495265952669526795268952699527095271952729527395274952759527695277952789527995280952819528295283952849528595286952879528895289952909529195292952939529495295952969529795298952999530095301953029530395304953059530695307953089530995310953119531295313953149531595316953179531895319953209532195322953239532495325953269532795328953299533095331953329533395334953359533695337953389533995340953419534295343953449534595346953479534895349953509535195352953539535495355953569535795358953599536095361953629536395364953659536695367953689536995370953719537295373953749537595376953779537895379953809538195382953839538495385953869538795388953899539095391953929539395394953959539695397953989539995400954019540295403954049540595406954079540895409954109541195412954139541495415954169541795418954199542095421954229542395424954259542695427954289542995430954319543295433954349543595436954379543895439954409544195442954439544495445954469544795448954499545095451954529545395454954559545695457954589545995460954619546295463954649546595466954679546895469954709547195472954739547495475954769547795478954799548095481954829548395484954859548695487954889548995490954919549295493954949549595496954979549895499955009550195502955039550495505955069550795508955099551095511955129551395514955159551695517955189551995520955219552295523955249552595526955279552895529955309553195532955339553495535955369553795538955399554095541955429554395544955459554695547955489554995550955519555295553955549555595556955579555895559955609556195562955639556495565955669556795568955699557095571955729557395574955759557695577955789557995580955819558295583955849558595586955879558895589955909559195592955939559495595955969559795598955999560095601956029560395604956059560695607956089560995610956119561295613956149561595616956179561895619956209562195622956239562495625956269562795628956299563095631956329563395634956359563695637956389563995640956419564295643956449564595646956479564895649956509565195652956539565495655956569565795658956599566095661956629566395664956659566695667956689566995670956719567295673956749567595676956779567895679956809568195682956839568495685956869568795688956899569095691956929569395694956959569695697956989569995700957019570295703957049570595706957079570895709957109571195712957139571495715957169571795718957199572095721957229572395724957259572695727957289572995730957319573295733957349573595736957379573895739957409574195742957439574495745957469574795748957499575095751957529575395754957559575695757957589575995760957619576295763957649576595766957679576895769957709577195772957739577495775957769577795778957799578095781957829578395784957859578695787957889578995790957919579295793957949579595796957979579895799958009580195802958039580495805958069580795808958099581095811958129581395814958159581695817958189581995820958219582295823958249582595826958279582895829958309583195832958339583495835958369583795838958399584095841958429584395844958459584695847958489584995850958519585295853958549585595856958579585895859958609586195862958639586495865958669586795868958699587095871958729587395874958759587695877958789587995880958819588295883958849588595886958879588895889958909589195892958939589495895958969589795898958999590095901959029590395904959059590695907959089590995910959119591295913959149591595916959179591895919959209592195922959239592495925959269592795928959299593095931959329593395934959359593695937959389593995940959419594295943959449594595946959479594895949959509595195952959539595495955959569595795958959599596095961959629596395964959659596695967959689596995970959719597295973959749597595976959779597895979959809598195982959839598495985959869598795988959899599095991959929599395994959959599695997959989599996000960019600296003960049600596006960079600896009960109601196012960139601496015960169601796018960199602096021960229602396024960259602696027960289602996030960319603296033960349603596036960379603896039960409604196042960439604496045960469604796048960499605096051960529605396054960559605696057960589605996060960619606296063960649606596066960679606896069960709607196072960739607496075960769607796078960799608096081960829608396084960859608696087960889608996090960919609296093960949609596096960979609896099961009610196102961039610496105961069610796108961099611096111961129611396114961159611696117961189611996120961219612296123961249612596126961279612896129961309613196132961339613496135961369613796138961399614096141961429614396144961459614696147961489614996150961519615296153961549615596156961579615896159961609616196162961639616496165961669616796168961699617096171961729617396174961759617696177961789617996180961819618296183961849618596186961879618896189961909619196192961939619496195961969619796198961999620096201962029620396204962059620696207962089620996210962119621296213962149621596216962179621896219962209622196222962239622496225962269622796228962299623096231962329623396234962359623696237962389623996240962419624296243962449624596246962479624896249962509625196252962539625496255962569625796258962599626096261962629626396264962659626696267962689626996270962719627296273962749627596276962779627896279962809628196282962839628496285962869628796288962899629096291962929629396294962959629696297962989629996300963019630296303963049630596306963079630896309963109631196312963139631496315963169631796318963199632096321963229632396324963259632696327963289632996330963319633296333963349633596336963379633896339963409634196342963439634496345963469634796348963499635096351963529635396354963559635696357963589635996360963619636296363963649636596366963679636896369963709637196372963739637496375963769637796378963799638096381963829638396384963859638696387963889638996390963919639296393963949639596396963979639896399964009640196402964039640496405964069640796408964099641096411964129641396414964159641696417964189641996420964219642296423964249642596426964279642896429964309643196432964339643496435964369643796438964399644096441964429644396444964459644696447964489644996450964519645296453964549645596456964579645896459964609646196462964639646496465964669646796468964699647096471964729647396474964759647696477964789647996480964819648296483964849648596486964879648896489964909649196492964939649496495964969649796498964999650096501965029650396504965059650696507965089650996510965119651296513965149651596516965179651896519965209652196522965239652496525965269652796528965299653096531965329653396534965359653696537965389653996540965419654296543965449654596546965479654896549965509655196552965539655496555965569655796558965599656096561965629656396564965659656696567965689656996570965719657296573965749657596576965779657896579965809658196582965839658496585965869658796588965899659096591965929659396594965959659696597965989659996600966019660296603966049660596606966079660896609966109661196612966139661496615966169661796618966199662096621966229662396624966259662696627966289662996630966319663296633966349663596636966379663896639966409664196642966439664496645966469664796648966499665096651966529665396654966559665696657966589665996660966619666296663966649666596666966679666896669966709667196672966739667496675966769667796678966799668096681966829668396684966859668696687966889668996690966919669296693966949669596696966979669896699967009670196702967039670496705967069670796708967099671096711967129671396714967159671696717967189671996720967219672296723967249672596726967279672896729967309673196732967339673496735967369673796738967399674096741967429674396744967459674696747967489674996750967519675296753967549675596756967579675896759967609676196762967639676496765967669676796768967699677096771967729677396774967759677696777967789677996780967819678296783967849678596786967879678896789967909679196792967939679496795967969679796798967999680096801968029680396804968059680696807968089680996810968119681296813968149681596816968179681896819968209682196822968239682496825968269682796828968299683096831968329683396834968359683696837968389683996840968419684296843968449684596846968479684896849968509685196852968539685496855968569685796858968599686096861968629686396864968659686696867968689686996870968719687296873968749687596876968779687896879968809688196882968839688496885968869688796888968899689096891968929689396894968959689696897968989689996900969019690296903969049690596906969079690896909969109691196912969139691496915969169691796918969199692096921969229692396924969259692696927969289692996930969319693296933969349693596936969379693896939969409694196942969439694496945969469694796948969499695096951969529695396954969559695696957969589695996960969619696296963969649696596966969679696896969969709697196972969739697496975969769697796978969799698096981969829698396984969859698696987969889698996990969919699296993969949699596996969979699896999970009700197002970039700497005970069700797008970099701097011970129701397014970159701697017970189701997020970219702297023970249702597026970279702897029970309703197032970339703497035970369703797038970399704097041970429704397044970459704697047970489704997050970519705297053970549705597056970579705897059970609706197062970639706497065970669706797068970699707097071970729707397074970759707697077970789707997080970819708297083970849708597086970879708897089970909709197092970939709497095970969709797098970999710097101971029710397104971059710697107971089710997110971119711297113971149711597116971179711897119971209712197122971239712497125971269712797128971299713097131971329713397134971359713697137971389713997140971419714297143971449714597146971479714897149971509715197152971539715497155971569715797158971599716097161971629716397164971659716697167971689716997170971719717297173971749717597176971779717897179971809718197182971839718497185971869718797188971899719097191971929719397194971959719697197971989719997200972019720297203972049720597206972079720897209972109721197212972139721497215972169721797218972199722097221972229722397224972259722697227972289722997230972319723297233972349723597236972379723897239972409724197242972439724497245972469724797248972499725097251972529725397254972559725697257972589725997260972619726297263972649726597266972679726897269972709727197272972739727497275972769727797278972799728097281972829728397284972859728697287972889728997290972919729297293972949729597296972979729897299973009730197302973039730497305973069730797308973099731097311973129731397314973159731697317973189731997320973219732297323973249732597326973279732897329973309733197332973339733497335973369733797338973399734097341973429734397344973459734697347973489734997350973519735297353973549735597356973579735897359973609736197362973639736497365973669736797368973699737097371973729737397374973759737697377973789737997380973819738297383973849738597386973879738897389973909739197392973939739497395973969739797398973999740097401974029740397404974059740697407974089740997410974119741297413974149741597416974179741897419974209742197422974239742497425974269742797428974299743097431974329743397434974359743697437974389743997440974419744297443974449744597446974479744897449974509745197452974539745497455974569745797458974599746097461974629746397464974659746697467974689746997470974719747297473974749747597476974779747897479974809748197482974839748497485974869748797488974899749097491974929749397494974959749697497974989749997500975019750297503975049750597506975079750897509975109751197512975139751497515975169751797518975199752097521975229752397524975259752697527975289752997530975319753297533975349753597536975379753897539975409754197542975439754497545975469754797548975499755097551975529755397554975559755697557975589755997560975619756297563975649756597566975679756897569975709757197572975739757497575975769757797578975799758097581975829758397584975859758697587975889758997590975919759297593975949759597596975979759897599976009760197602976039760497605976069760797608976099761097611976129761397614976159761697617976189761997620976219762297623976249762597626976279762897629976309763197632976339763497635976369763797638976399764097641976429764397644976459764697647976489764997650976519765297653976549765597656976579765897659976609766197662976639766497665976669766797668976699767097671976729767397674976759767697677976789767997680976819768297683976849768597686976879768897689976909769197692976939769497695976969769797698976999770097701977029770397704977059770697707977089770997710977119771297713977149771597716977179771897719977209772197722977239772497725977269772797728977299773097731977329773397734977359773697737977389773997740977419774297743977449774597746977479774897749977509775197752977539775497755977569775797758977599776097761977629776397764977659776697767977689776997770977719777297773977749777597776977779777897779977809778197782977839778497785977869778797788977899779097791977929779397794977959779697797977989779997800978019780297803978049780597806978079780897809978109781197812978139781497815978169781797818978199782097821978229782397824978259782697827978289782997830978319783297833978349783597836978379783897839978409784197842978439784497845978469784797848978499785097851978529785397854978559785697857978589785997860978619786297863978649786597866978679786897869978709787197872978739787497875978769787797878978799788097881978829788397884978859788697887978889788997890978919789297893978949789597896978979789897899979009790197902979039790497905979069790797908979099791097911979129791397914979159791697917979189791997920979219792297923979249792597926979279792897929979309793197932979339793497935979369793797938979399794097941979429794397944979459794697947979489794997950979519795297953979549795597956979579795897959979609796197962979639796497965979669796797968979699797097971979729797397974979759797697977979789797997980979819798297983979849798597986979879798897989979909799197992979939799497995979969799797998979999800098001980029800398004980059800698007980089800998010980119801298013980149801598016980179801898019980209802198022980239802498025980269802798028980299803098031980329803398034980359803698037980389803998040980419804298043980449804598046980479804898049980509805198052980539805498055980569805798058980599806098061980629806398064980659806698067980689806998070980719807298073980749807598076980779807898079980809808198082980839808498085980869808798088980899809098091980929809398094980959809698097980989809998100981019810298103981049810598106981079810898109981109811198112981139811498115981169811798118981199812098121981229812398124981259812698127981289812998130981319813298133981349813598136981379813898139981409814198142981439814498145981469814798148981499815098151981529815398154981559815698157981589815998160981619816298163981649816598166981679816898169981709817198172981739817498175981769817798178981799818098181981829818398184981859818698187981889818998190981919819298193981949819598196981979819898199982009820198202982039820498205982069820798208982099821098211982129821398214982159821698217982189821998220982219822298223982249822598226982279822898229982309823198232982339823498235982369823798238982399824098241982429824398244982459824698247982489824998250982519825298253982549825598256982579825898259982609826198262982639826498265982669826798268982699827098271982729827398274982759827698277982789827998280982819828298283982849828598286982879828898289982909829198292982939829498295982969829798298982999830098301983029830398304983059830698307983089830998310983119831298313983149831598316983179831898319983209832198322983239832498325983269832798328983299833098331983329833398334983359833698337983389833998340983419834298343983449834598346983479834898349983509835198352983539835498355983569835798358983599836098361983629836398364983659836698367983689836998370983719837298373983749837598376983779837898379983809838198382983839838498385983869838798388983899839098391983929839398394983959839698397983989839998400984019840298403984049840598406984079840898409984109841198412984139841498415984169841798418984199842098421984229842398424984259842698427984289842998430984319843298433984349843598436984379843898439984409844198442984439844498445984469844798448984499845098451984529845398454984559845698457984589845998460984619846298463984649846598466984679846898469984709847198472984739847498475984769847798478984799848098481984829848398484984859848698487984889848998490984919849298493984949849598496984979849898499985009850198502985039850498505985069850798508985099851098511985129851398514985159851698517985189851998520985219852298523985249852598526985279852898529985309853198532985339853498535985369853798538985399854098541985429854398544985459854698547985489854998550985519855298553985549855598556985579855898559985609856198562985639856498565985669856798568985699857098571985729857398574985759857698577985789857998580985819858298583985849858598586985879858898589985909859198592985939859498595985969859798598985999860098601986029860398604986059860698607986089860998610986119861298613986149861598616986179861898619986209862198622986239862498625986269862798628986299863098631986329863398634986359863698637986389863998640986419864298643986449864598646986479864898649986509865198652986539865498655986569865798658986599866098661986629866398664986659866698667986689866998670986719867298673986749867598676986779867898679986809868198682986839868498685986869868798688986899869098691986929869398694986959869698697986989869998700987019870298703987049870598706987079870898709987109871198712987139871498715987169871798718987199872098721987229872398724987259872698727987289872998730987319873298733987349873598736987379873898739987409874198742987439874498745987469874798748987499875098751987529875398754987559875698757987589875998760987619876298763987649876598766987679876898769987709877198772987739877498775987769877798778987799878098781987829878398784987859878698787987889878998790987919879298793987949879598796987979879898799988009880198802988039880498805988069880798808988099881098811988129881398814988159881698817988189881998820988219882298823988249882598826988279882898829988309883198832988339883498835988369883798838988399884098841988429884398844988459884698847988489884998850988519885298853988549885598856988579885898859988609886198862988639886498865988669886798868988699887098871988729887398874988759887698877988789887998880988819888298883988849888598886988879888898889988909889198892988939889498895988969889798898988999890098901989029890398904989059890698907989089890998910989119891298913989149891598916989179891898919989209892198922989239892498925989269892798928989299893098931989329893398934989359893698937989389893998940989419894298943989449894598946989479894898949989509895198952989539895498955989569895798958989599896098961989629896398964989659896698967989689896998970989719897298973989749897598976989779897898979989809898198982989839898498985989869898798988989899899098991989929899398994989959899698997989989899999000990019900299003990049900599006990079900899009990109901199012990139901499015990169901799018990199902099021990229902399024990259902699027990289902999030990319903299033990349903599036990379903899039990409904199042990439904499045990469904799048990499905099051990529905399054990559905699057990589905999060990619906299063990649906599066990679906899069990709907199072990739907499075990769907799078990799908099081990829908399084990859908699087990889908999090990919909299093990949909599096990979909899099991009910199102991039910499105991069910799108991099911099111991129911399114991159911699117991189911999120991219912299123991249912599126991279912899129991309913199132991339913499135991369913799138991399914099141991429914399144991459914699147991489914999150991519915299153991549915599156991579915899159991609916199162991639916499165991669916799168991699917099171991729917399174991759917699177991789917999180991819918299183991849918599186991879918899189991909919199192991939919499195991969919799198991999920099201992029920399204992059920699207992089920999210992119921299213992149921599216992179921899219992209922199222992239922499225992269922799228992299923099231992329923399234992359923699237992389923999240992419924299243992449924599246992479924899249992509925199252992539925499255992569925799258992599926099261992629926399264992659926699267992689926999270992719927299273992749927599276992779927899279992809928199282992839928499285992869928799288992899929099291992929929399294992959929699297992989929999300993019930299303993049930599306993079930899309993109931199312993139931499315993169931799318993199932099321993229932399324993259932699327993289932999330993319933299333993349933599336993379933899339993409934199342993439934499345993469934799348993499935099351993529935399354993559935699357993589935999360993619936299363993649936599366993679936899369993709937199372993739937499375993769937799378993799938099381993829938399384993859938699387993889938999390993919939299393993949939599396993979939899399994009940199402994039940499405994069940799408994099941099411994129941399414994159941699417994189941999420994219942299423994249942599426994279942899429994309943199432994339943499435994369943799438994399944099441994429944399444994459944699447994489944999450994519945299453994549945599456994579945899459994609946199462994639946499465994669946799468994699947099471994729947399474994759947699477994789947999480994819948299483994849948599486994879948899489994909949199492994939949499495994969949799498994999950099501995029950399504995059950699507995089950999510995119951299513995149951599516995179951899519995209952199522995239952499525995269952799528995299953099531995329953399534995359953699537995389953999540995419954299543995449954599546995479954899549995509955199552995539955499555995569955799558995599956099561995629956399564995659956699567995689956999570995719957299573995749957599576995779957899579995809958199582995839958499585995869958799588995899959099591995929959399594995959959699597995989959999600996019960299603996049960599606996079960899609996109961199612996139961499615996169961799618996199962099621996229962399624996259962699627996289962999630996319963299633996349963599636996379963899639996409964199642996439964499645996469964799648996499965099651996529965399654996559965699657996589965999660996619966299663996649966599666996679966899669996709967199672996739967499675996769967799678996799968099681996829968399684996859968699687996889968999690996919969299693996949969599696996979969899699997009970199702997039970499705997069970799708997099971099711997129971399714997159971699717997189971999720997219972299723997249972599726997279972899729997309973199732997339973499735997369973799738997399974099741997429974399744997459974699747997489974999750997519975299753997549975599756997579975899759997609976199762997639976499765997669976799768997699977099771997729977399774997759977699777997789977999780997819978299783997849978599786997879978899789997909979199792997939979499795997969979799798997999980099801998029980399804998059980699807998089980999810998119981299813998149981599816998179981899819998209982199822998239982499825998269982799828998299983099831998329983399834998359983699837998389983999840998419984299843998449984599846998479984899849998509985199852998539985499855998569985799858998599986099861998629986399864998659986699867998689986999870998719987299873998749987599876998779987899879998809988199882998839988499885998869988799888998899989099891998929989399894998959989699897998989989999900999019990299903999049990599906999079990899909999109991199912999139991499915999169991799918999199992099921999229992399924999259992699927999289992999930999319993299933999349993599936999379993899939999409994199942999439994499945999469994799948999499995099951999529995399954999559995699957999589995999960999619996299963999649996599966999679996899969999709997199972999739997499975999769997799978999799998099981999829998399984999859998699987999889998999990999919999299993999949999599996999979999899999100000100001100002100003100004100005100006100007100008100009100010100011100012100013100014100015100016100017100018100019100020100021100022100023100024100025100026100027100028100029100030100031100032100033100034100035100036100037100038100039100040100041100042100043100044100045100046100047100048100049100050100051100052100053100054100055100056100057100058100059100060100061100062100063100064100065100066100067100068100069100070100071100072100073100074100075100076100077100078100079100080100081100082100083100084100085100086100087100088100089100090100091100092100093100094100095100096100097100098100099100100100101100102100103100104100105100106100107100108100109100110100111100112100113100114100115100116100117100118100119100120100121100122100123100124100125100126100127100128100129100130100131100132100133100134100135100136100137100138100139100140100141100142100143100144100145100146100147100148100149100150100151100152100153100154100155100156100157100158100159100160100161100162100163100164100165100166100167100168100169100170100171100172100173100174100175100176100177100178100179100180100181100182100183100184100185100186100187100188100189100190100191100192100193100194100195100196100197100198100199100200100201100202100203100204100205100206100207100208100209100210100211100212100213100214100215100216100217100218100219100220100221100222100223100224100225100226100227100228100229100230100231100232100233100234100235100236100237100238100239100240100241100242100243100244100245100246100247100248100249100250100251100252100253100254100255100256100257100258100259100260100261100262100263100264100265100266100267100268100269100270100271100272100273100274100275100276100277100278100279100280100281100282100283100284100285100286100287100288100289100290100291100292100293100294100295100296100297100298100299100300100301100302100303100304100305100306100307100308100309100310100311100312100313100314100315100316100317100318100319100320100321100322100323100324100325100326100327100328100329100330100331100332100333100334100335100336100337100338100339100340100341100342100343100344100345100346100347100348100349100350100351100352100353100354100355100356100357100358100359100360100361100362100363100364100365100366100367100368100369100370100371100372100373100374100375100376100377100378100379100380100381100382100383100384100385100386100387100388100389100390100391100392100393100394100395100396100397100398100399100400100401100402100403100404100405100406100407100408100409100410100411100412100413100414100415100416100417100418100419100420100421100422100423100424100425100426100427100428100429100430100431100432100433100434100435100436100437100438100439100440100441100442100443100444100445100446100447100448100449100450100451100452100453100454100455100456100457100458100459100460100461100462100463100464100465100466100467100468100469100470100471100472100473100474100475100476100477100478100479100480100481100482100483100484100485100486100487100488100489100490100491100492100493100494100495100496100497100498100499100500100501100502100503100504100505100506100507100508100509100510100511100512100513100514100515100516100517100518100519100520100521100522100523100524100525100526100527100528100529100530100531100532100533100534100535100536100537100538100539100540100541100542100543100544100545100546100547100548100549100550100551100552100553100554100555100556100557100558100559100560100561100562100563100564100565100566100567100568100569100570100571100572100573100574100575100576100577100578100579100580100581100582100583100584100585100586100587100588100589100590100591100592100593100594100595100596100597100598100599100600100601100602100603100604100605100606100607100608100609100610100611100612100613100614100615100616100617100618100619100620100621100622100623100624100625100626100627100628100629100630100631100632100633100634100635100636100637100638100639100640100641100642100643100644100645100646100647100648100649100650100651100652100653100654100655100656100657100658100659100660100661100662100663100664100665100666100667100668100669100670100671100672100673100674100675100676100677100678100679100680100681100682100683100684100685100686100687100688100689100690100691100692100693100694100695100696100697100698100699100700100701100702100703100704100705100706100707100708100709100710100711100712100713100714100715100716100717100718100719100720100721100722100723100724100725100726100727100728100729100730100731100732100733100734100735100736100737100738100739100740100741100742100743100744100745100746100747100748100749100750100751100752100753100754100755100756100757100758100759100760100761100762100763100764100765100766100767100768100769100770100771100772100773100774100775100776100777100778100779100780100781100782100783100784100785100786100787100788100789100790100791100792100793100794100795100796100797100798100799100800100801100802100803100804100805100806100807100808100809100810100811100812100813100814100815100816100817100818100819100820100821100822100823100824100825100826100827100828100829100830100831100832100833100834100835100836100837100838100839100840100841100842100843100844100845100846100847100848100849100850100851100852100853100854100855100856100857100858100859100860100861100862100863100864100865100866100867100868100869100870100871100872100873100874100875100876100877100878100879100880100881100882100883100884100885100886100887100888100889100890100891100892100893100894100895100896100897100898100899100900100901100902100903100904100905100906100907100908100909100910100911100912100913100914100915100916100917100918100919100920100921100922100923100924100925100926100927100928100929100930100931100932100933100934100935100936100937100938100939100940100941100942100943100944100945100946100947100948100949100950100951100952100953100954100955100956100957100958100959100960100961100962100963100964100965100966100967100968100969100970100971100972100973100974100975100976100977100978100979100980100981100982100983100984100985100986100987100988100989100990100991100992100993100994100995100996100997100998100999101000101001101002101003101004101005101006101007101008101009101010101011101012101013101014101015101016101017101018101019101020101021101022101023101024101025101026101027101028101029101030101031101032101033101034101035101036101037101038101039101040101041101042101043101044101045101046101047101048101049101050101051101052101053101054101055101056101057101058101059101060101061101062101063101064101065101066101067101068101069101070101071101072101073101074101075101076101077101078101079101080101081101082101083101084101085101086101087101088101089101090101091101092101093101094101095101096101097101098101099101100101101101102101103101104101105101106101107101108101109101110101111101112101113101114101115101116101117101118101119101120101121101122101123101124101125101126101127101128101129101130101131101132101133101134101135101136101137101138101139101140101141101142101143101144101145101146101147101148101149101150101151101152101153101154101155101156101157101158101159101160101161101162101163101164101165101166101167101168101169101170101171101172101173101174101175101176101177101178101179101180101181101182101183101184101185101186101187101188101189101190101191101192101193101194101195101196101197101198101199101200101201101202101203101204101205101206101207101208101209101210101211101212101213101214101215101216101217101218101219101220101221101222101223101224101225101226101227101228101229101230101231101232101233101234101235101236101237101238101239101240101241101242101243101244101245101246101247101248101249101250101251101252101253101254101255101256101257101258101259101260101261101262101263101264101265101266101267101268101269101270101271101272101273101274101275101276101277101278101279101280101281101282101283101284101285101286101287101288101289101290101291101292101293101294101295101296101297101298101299101300101301101302101303101304101305101306101307101308101309101310101311101312101313101314101315101316101317101318101319101320101321101322101323101324101325101326101327101328101329101330101331101332101333101334101335101336101337101338101339101340101341101342101343101344101345101346101347101348101349101350101351101352101353101354101355101356101357101358101359101360101361101362101363101364101365101366101367101368101369101370101371101372101373101374101375101376101377101378101379101380101381101382101383101384101385101386101387101388101389101390101391101392101393101394101395101396101397101398101399101400101401101402101403101404101405101406101407101408101409101410101411101412101413101414101415101416101417101418101419101420101421101422101423101424101425101426101427101428101429101430101431101432101433101434101435101436101437101438101439101440101441101442101443101444101445101446101447101448101449101450101451101452101453101454101455101456101457101458101459101460101461101462101463101464101465101466101467101468101469101470101471101472101473101474101475101476101477101478101479101480101481101482101483101484101485101486101487101488101489101490101491101492101493101494101495101496101497101498101499101500101501101502101503101504101505101506101507101508101509101510101511101512101513101514101515101516101517101518101519101520101521101522101523101524101525101526101527101528101529101530101531101532101533101534101535101536101537101538101539101540101541101542101543101544101545101546101547101548101549101550101551101552101553101554101555101556101557101558101559101560101561101562101563101564101565101566101567101568101569101570101571101572101573101574101575101576101577101578101579101580101581101582101583101584101585101586101587101588101589101590101591101592101593101594101595101596101597101598101599101600101601101602101603101604101605101606101607101608101609101610101611101612101613101614101615101616101617101618101619101620101621101622101623101624101625101626101627101628101629101630101631101632101633101634101635101636101637101638101639101640101641101642101643101644101645101646101647101648101649101650101651101652101653101654101655101656101657101658101659101660101661101662101663101664101665101666101667101668101669101670101671101672101673101674101675101676101677101678101679101680101681101682101683101684101685101686101687101688101689101690101691101692101693101694101695101696101697101698101699101700101701101702101703101704101705101706101707101708101709101710101711101712101713101714101715101716101717101718101719101720101721101722101723101724101725101726101727101728101729101730101731101732101733101734101735101736101737101738101739101740101741101742101743101744101745101746101747101748101749101750101751101752101753101754101755101756101757101758101759101760101761101762101763101764101765101766101767101768101769101770101771101772101773101774101775101776101777101778101779101780101781101782101783101784101785101786101787101788101789101790101791101792101793101794101795101796101797101798101799101800101801101802101803101804101805101806101807101808101809101810101811101812101813101814101815101816101817101818101819101820101821101822101823101824101825101826101827101828101829101830101831101832101833101834101835101836101837101838101839101840101841101842101843101844101845101846101847101848101849101850101851101852101853101854101855101856101857101858101859101860101861101862101863101864101865101866101867101868101869101870101871101872101873101874101875101876101877101878101879101880101881101882101883101884101885101886101887101888101889101890101891101892101893101894101895101896101897101898101899101900101901101902101903101904101905101906101907101908101909101910101911101912101913101914101915101916101917101918101919101920101921101922101923101924101925101926101927101928101929101930101931101932101933101934101935101936101937101938101939101940101941101942101943101944101945101946101947101948101949101950101951101952101953101954101955101956101957101958101959101960101961101962101963101964101965101966101967101968101969101970101971101972101973101974101975101976101977101978101979101980101981101982101983101984101985101986101987101988101989101990101991101992101993101994101995101996101997101998101999102000102001102002102003102004102005102006102007102008102009102010102011102012102013102014102015102016102017102018102019102020102021102022102023102024102025102026102027102028102029102030102031102032102033102034102035102036102037102038102039102040102041102042102043102044102045102046102047102048102049102050102051102052102053102054102055102056102057102058102059102060102061102062102063102064102065102066102067102068102069102070102071102072102073102074102075102076102077102078102079102080102081102082102083102084102085102086102087102088102089102090102091102092102093102094102095102096102097102098102099102100102101102102102103102104102105102106102107102108102109102110102111102112102113102114102115102116102117102118102119102120102121102122102123102124102125102126102127102128102129102130102131102132102133102134102135102136102137102138102139102140102141102142102143102144102145102146102147102148102149102150102151102152102153102154102155102156102157102158102159102160102161102162102163102164102165102166102167102168102169102170102171102172102173102174102175102176102177102178102179102180102181102182102183102184102185102186102187102188102189102190102191102192102193102194102195102196102197102198102199102200102201102202102203102204102205102206102207102208102209102210102211102212102213102214102215102216102217102218102219102220102221102222102223102224102225102226102227102228102229102230102231102232102233102234102235102236102237102238102239102240102241102242102243102244102245102246102247102248102249102250102251102252102253102254102255102256102257102258102259102260102261102262102263102264102265102266102267102268102269102270102271102272102273102274102275102276102277102278102279102280102281102282102283102284102285102286102287102288102289102290102291102292102293102294102295102296102297102298102299102300102301102302102303102304102305102306102307102308102309102310102311102312102313102314102315102316102317102318102319102320102321102322102323102324102325102326102327102328102329102330102331102332102333102334102335102336102337102338102339102340102341102342102343102344102345102346102347102348102349102350102351102352102353102354102355102356102357102358102359102360102361102362102363102364102365102366102367102368102369102370102371102372102373102374102375102376102377102378102379102380102381102382102383102384102385102386102387102388102389102390102391102392102393102394102395102396102397102398102399102400102401102402102403102404102405102406102407102408102409102410102411102412102413102414102415102416102417102418102419102420102421102422102423102424102425102426102427102428102429102430102431102432102433102434102435102436102437102438102439102440102441102442102443102444102445102446102447102448102449102450102451102452102453102454102455102456102457102458102459102460102461102462102463102464102465102466102467102468102469102470102471102472102473102474102475102476102477102478102479102480102481102482102483102484102485102486102487102488102489102490102491102492102493102494102495102496102497102498102499102500102501102502102503102504102505102506102507102508102509102510102511102512102513102514102515102516102517102518102519102520102521102522102523102524102525102526102527102528102529102530102531102532102533102534102535102536102537102538102539102540102541102542102543102544102545102546102547102548102549102550102551102552102553102554102555102556102557102558102559102560102561102562102563102564102565102566102567102568102569102570102571102572102573102574102575102576102577102578102579102580102581102582102583102584102585102586102587102588102589102590102591102592102593102594102595102596102597102598102599102600102601102602102603102604102605102606102607102608102609102610102611102612102613102614102615102616102617102618102619102620102621102622102623102624102625102626102627102628102629102630102631102632102633102634102635102636102637102638102639102640102641102642102643102644102645102646102647102648102649102650102651102652102653102654102655102656102657102658102659102660102661102662102663102664102665102666102667102668102669102670102671102672102673102674102675102676102677102678102679102680102681102682102683102684102685102686102687102688102689102690102691102692102693102694102695102696102697102698102699102700102701102702102703102704102705102706102707102708102709102710102711102712102713102714102715102716102717102718102719102720102721102722102723102724102725102726102727102728102729102730102731102732102733102734102735102736102737102738102739102740102741102742102743102744102745102746102747102748102749102750102751102752102753102754102755102756102757102758102759102760102761102762102763102764102765102766102767102768102769102770102771102772102773102774102775102776102777102778102779102780102781102782102783102784102785102786102787102788102789102790102791102792102793102794102795102796102797102798102799102800102801102802102803102804102805102806102807102808102809102810102811102812102813102814102815102816102817102818102819102820102821102822102823102824102825102826102827102828102829102830102831102832102833102834102835102836102837102838102839102840102841102842102843102844102845102846102847102848102849102850102851102852102853102854102855102856102857102858102859102860102861102862102863102864102865102866102867102868102869102870102871102872102873102874102875102876102877102878102879102880102881102882102883102884102885102886102887102888102889102890102891102892102893102894102895102896102897102898102899102900102901102902102903102904102905102906102907102908102909102910102911102912102913102914102915102916102917102918102919102920102921102922102923102924102925102926102927102928102929102930102931102932102933102934102935102936102937102938102939102940102941102942102943102944102945102946102947102948102949102950102951102952102953102954102955102956102957102958102959102960102961102962102963102964102965102966102967102968102969102970102971102972102973102974102975102976102977102978102979102980102981102982102983102984102985102986102987102988102989102990102991102992102993102994102995102996102997102998102999103000103001103002103003103004103005103006103007103008103009103010103011103012103013103014103015103016103017103018103019103020103021103022103023103024103025103026103027103028103029103030103031103032103033103034103035103036103037103038103039103040103041103042103043103044103045103046103047103048103049103050103051103052103053103054103055103056103057103058103059103060103061103062103063103064103065103066103067103068103069103070103071103072103073103074103075103076103077103078103079103080103081103082103083103084103085103086103087103088103089103090103091103092103093103094103095103096103097103098103099103100103101103102103103103104103105103106103107103108103109103110103111103112103113103114103115103116103117103118103119103120103121103122103123103124103125103126103127103128103129103130103131103132103133103134103135103136103137103138103139103140103141103142103143103144103145103146103147103148103149103150103151103152103153103154103155103156103157103158103159103160103161103162103163103164103165103166103167103168103169103170103171103172103173103174103175103176103177103178103179103180103181103182103183103184103185103186103187103188103189103190103191103192103193103194103195103196103197103198103199103200103201103202103203103204103205103206103207103208103209103210103211103212103213103214103215103216103217103218103219103220103221103222103223103224103225103226103227103228103229103230103231103232103233103234103235103236103237103238103239103240103241103242103243103244103245103246103247103248103249103250103251103252103253103254103255103256103257103258103259103260103261103262103263103264103265103266103267103268103269103270103271103272103273103274103275103276103277103278103279103280103281103282103283103284103285103286103287103288103289103290103291103292103293103294103295103296103297103298103299103300103301103302103303103304103305103306103307103308103309103310103311103312103313103314103315103316103317103318103319103320103321103322103323103324103325103326103327103328103329103330103331103332103333103334103335103336103337103338103339103340103341103342103343103344103345103346103347103348103349103350103351103352103353103354103355103356103357103358103359103360103361103362103363103364103365103366103367103368103369103370103371103372103373103374103375103376103377103378103379103380103381103382103383103384103385103386103387103388103389103390103391103392103393103394103395103396103397103398103399103400103401103402103403103404103405103406103407103408103409103410103411103412103413103414103415103416103417103418103419103420103421103422103423103424103425103426103427103428103429103430103431103432103433103434103435103436103437103438103439103440103441103442103443103444103445103446103447103448103449103450103451103452103453103454103455103456103457103458103459103460103461103462103463103464103465103466103467103468103469103470103471103472103473103474103475103476103477103478103479103480103481103482103483103484103485103486103487103488103489103490103491103492103493103494103495103496103497103498103499103500103501103502103503103504103505103506103507103508103509103510103511103512103513103514103515103516103517103518103519103520103521103522103523103524103525103526103527103528103529103530103531103532103533103534103535103536103537103538103539103540103541103542103543103544103545103546103547103548103549103550103551103552103553103554103555103556103557103558103559103560103561103562103563103564103565103566103567103568103569103570103571103572103573103574103575103576103577103578103579103580103581103582103583103584103585103586103587103588103589103590103591103592103593103594103595103596103597103598103599103600103601103602103603103604103605103606103607103608103609103610103611103612103613103614103615103616103617103618103619103620103621103622103623103624103625103626103627103628103629103630103631103632103633103634103635103636103637103638103639103640103641103642103643103644103645103646103647103648103649103650103651103652103653103654103655103656103657103658103659
  1. /*
  2. ** ###################################################################
  3. ** Processors: MIMXRT1176AVM8A_cm7
  4. ** MIMXRT1176CVM8A_cm7
  5. ** MIMXRT1176DVMAA_cm7
  6. **
  7. ** Compilers: Freescale C/C++ for Embedded ARM
  8. ** GNU C Compiler
  9. ** IAR ANSI C/C++ Compiler for ARM
  10. ** Keil ARM C/C++ Compiler
  11. ** MCUXpresso Compiler
  12. **
  13. ** Reference manual: IMXRT1170RM, Rev 1, 02/2021
  14. ** Version: rev. 1.0, 2020-12-29
  15. ** Build: b211122
  16. **
  17. ** Abstract:
  18. ** CMSIS Peripheral Access Layer for MIMXRT1176_cm7
  19. **
  20. ** Copyright 1997-2016 Freescale Semiconductor, Inc.
  21. ** Copyright 2016-2021 NXP
  22. ** All rights reserved.
  23. **
  24. ** SPDX-License-Identifier: BSD-3-Clause
  25. **
  26. ** http: www.nxp.com
  27. ** mail: support@nxp.com
  28. **
  29. ** Revisions:
  30. ** - rev. 0.1 (2018-03-05)
  31. ** Initial version.
  32. ** - rev. 1.0 (2020-12-29)
  33. ** Update header files to align with IMXRT1170RM Rev.0.
  34. **
  35. ** ###################################################################
  36. */
  37. /*!
  38. * @file MIMXRT1176_cm7.h
  39. * @version 1.0
  40. * @date 2020-12-29
  41. * @brief CMSIS Peripheral Access Layer for MIMXRT1176_cm7
  42. *
  43. * CMSIS Peripheral Access Layer for MIMXRT1176_cm7
  44. */
  45. #ifndef _MIMXRT1176_CM7_H_
  46. #define _MIMXRT1176_CM7_H_ /**< Symbol preventing repeated inclusion */
  47. /** Memory map major version (memory maps with equal major version number are
  48. * compatible) */
  49. #define MCU_MEM_MAP_VERSION 0x0100U
  50. /** Memory map minor version */
  51. #define MCU_MEM_MAP_VERSION_MINOR 0x0000U
  52. /* ----------------------------------------------------------------------------
  53. --
  54. ---------------------------------------------------------------------------- */
  55. /* Extra XRDC2 definition */
  56. #define XRDC2_MAKE_MEM(mrc, mrgd) (((mrc) << 5U) | (mrgd))
  57. #define XRDC2_GET_MRC(mem) ((mem) >> 5U)
  58. #define XRDC2_GET_MRGD(mem) ((mem) & 31U)
  59. #define XRDC2_MAKE_PERIPH(pac, pdac) (((pac) << 8U) | (pdac))
  60. #define XRDC2_GET_PAC(periph) ((periph) >> 8U)
  61. #define XRDC2_GET_PDAC(periph) ((periph) & 255U)
  62. /* ----------------------------------------------------------------------------
  63. -- Interrupt vector numbers
  64. ---------------------------------------------------------------------------- */
  65. /*!
  66. * @addtogroup Interrupt_vector_numbers Interrupt vector numbers
  67. * @{
  68. */
  69. /** Interrupt Number Definitions */
  70. #define NUMBER_OF_INT_VECTORS 234 /**< Number of interrupts in the Vector table */
  71. typedef enum IRQn {
  72. /* Auxiliary constants */
  73. NotAvail_IRQn = -128, /**< Not available device specific interrupt */
  74. /* Core interrupts */
  75. NonMaskableInt_IRQn = -14, /**< Non Maskable Interrupt */
  76. HardFault_IRQn = -13, /**< Cortex-M7 SV Hard Fault Interrupt */
  77. MemoryManagement_IRQn = -12, /**< Cortex-M7 Memory Management Interrupt */
  78. BusFault_IRQn = -11, /**< Cortex-M7 Bus Fault Interrupt */
  79. UsageFault_IRQn = -10, /**< Cortex-M7 Usage Fault Interrupt */
  80. SVCall_IRQn = -5, /**< Cortex-M7 SV Call Interrupt */
  81. DebugMonitor_IRQn = -4, /**< Cortex-M7 Debug Monitor Interrupt */
  82. PendSV_IRQn = -2, /**< Cortex-M7 Pend SV Interrupt */
  83. SysTick_IRQn = -1, /**< Cortex-M7 System Tick Interrupt */
  84. /* Device specific interrupts */
  85. DMA0_DMA16_IRQn = 0, /**< DMA channel 0/16 transfer complete */
  86. DMA1_DMA17_IRQn = 1, /**< DMA channel 1/17 transfer complete */
  87. DMA2_DMA18_IRQn = 2, /**< DMA channel 2/18 transfer complete */
  88. DMA3_DMA19_IRQn = 3, /**< DMA channel 3/19 transfer complete */
  89. DMA4_DMA20_IRQn = 4, /**< DMA channel 4/20 transfer complete */
  90. DMA5_DMA21_IRQn = 5, /**< DMA channel 5/21 transfer complete */
  91. DMA6_DMA22_IRQn = 6, /**< DMA channel 6/22 transfer complete */
  92. DMA7_DMA23_IRQn = 7, /**< DMA channel 7/23 transfer complete */
  93. DMA8_DMA24_IRQn = 8, /**< DMA channel 8/24 transfer complete */
  94. DMA9_DMA25_IRQn = 9, /**< DMA channel 9/25 transfer complete */
  95. DMA10_DMA26_IRQn = 10, /**< DMA channel 10/26 transfer complete */
  96. DMA11_DMA27_IRQn = 11, /**< DMA channel 11/27 transfer complete */
  97. DMA12_DMA28_IRQn = 12, /**< DMA channel 12/28 transfer complete */
  98. DMA13_DMA29_IRQn = 13, /**< DMA channel 13/29 transfer complete */
  99. DMA14_DMA30_IRQn = 14, /**< DMA channel 14/30 transfer complete */
  100. DMA15_DMA31_IRQn = 15, /**< DMA channel 15/31 transfer complete */
  101. DMA_ERROR_IRQn = 16, /**< DMA error interrupt channels 0-15 / 16-31 */
  102. CTI_TRIGGER_OUT0_IRQn = 17, /**< CTI_TRIGGER_OUT0 */
  103. CTI_TRIGGER_OUT1_IRQn = 18, /**< CTI_TRIGGER_OUT1 */
  104. CORE_IRQn = 19, /**< CorePlatform exception IRQ */
  105. LPUART1_IRQn = 20, /**< LPUART1 TX interrupt and RX interrupt */
  106. LPUART2_IRQn = 21, /**< LPUART2 TX interrupt and RX interrupt */
  107. LPUART3_IRQn = 22, /**< LPUART3 TX interrupt and RX interrupt */
  108. LPUART4_IRQn = 23, /**< LPUART4 TX interrupt and RX interrupt */
  109. LPUART5_IRQn = 24, /**< LPUART5 TX interrupt and RX interrupt */
  110. LPUART6_IRQn = 25, /**< LPUART6 TX interrupt and RX interrupt */
  111. LPUART7_IRQn = 26, /**< LPUART7 TX interrupt and RX interrupt */
  112. LPUART8_IRQn = 27, /**< LPUART8 TX interrupt and RX interrupt */
  113. LPUART9_IRQn = 28, /**< LPUART9 TX interrupt and RX interrupt */
  114. LPUART10_IRQn = 29, /**< LPUART10 TX interrupt and RX interrupt */
  115. LPUART11_IRQn = 30, /**< LPUART11 TX interrupt and RX interrupt */
  116. LPUART12_IRQn = 31, /**< LPUART12 TX interrupt and RX interrupt */
  117. LPI2C1_IRQn = 32, /**< LPI2C1 interrupt */
  118. LPI2C2_IRQn = 33, /**< LPI2C2 interrupt */
  119. LPI2C3_IRQn = 34, /**< LPI2C3 interrupt */
  120. LPI2C4_IRQn = 35, /**< LPI2C4 interrupt */
  121. LPI2C5_IRQn = 36, /**< LPI2C5 interrupt */
  122. LPI2C6_IRQn = 37, /**< LPI2C6 interrupt */
  123. LPSPI1_IRQn = 38, /**< LPSPI1 interrupt request line to the core */
  124. LPSPI2_IRQn = 39, /**< LPSPI2 interrupt request line to the core */
  125. LPSPI3_IRQn = 40, /**< LPSPI3 interrupt request line to the core */
  126. LPSPI4_IRQn = 41, /**< LPSPI4 interrupt request line to the core */
  127. LPSPI5_IRQn = 42, /**< LPSPI5 interrupt request line to the core */
  128. LPSPI6_IRQn = 43, /**< LPSPI6 interrupt request line to the core */
  129. CAN1_IRQn = 44, /**< CAN1 interrupt */
  130. CAN1_ERROR_IRQn = 45, /**< CAN1 error interrupt */
  131. CAN2_IRQn = 46, /**< CAN2 interrupt */
  132. CAN2_ERROR_IRQn = 47, /**< CAN2 error interrupt */
  133. CAN3_IRQn = 48, /**< CAN3 interrupt */
  134. CAN3_ERROR_IRQn = 49, /**< CAN3 erro interrupt */
  135. FLEXRAM_IRQn = 50, /**< FlexRAM address out of range Or access hit IRQ */
  136. KPP_IRQn = 51, /**< Keypad nterrupt */
  137. Reserved68_IRQn = 52, /**< Reserved interrupt */
  138. GPR_IRQ_IRQn = 53, /**< GPR interrupt */
  139. eLCDIF_IRQn = 54, /**< eLCDIF interrupt */
  140. LCDIFv2_IRQn = 55, /**< LCDIFv2 interrupt */
  141. CSI_IRQn = 56, /**< CSI interrupt */
  142. PXP_IRQn = 57, /**< PXP interrupt */
  143. MIPI_CSI_IRQn = 58, /**< MIPI_CSI interrupt */
  144. MIPI_DSI_IRQn = 59, /**< MIPI_DSI interrupt */
  145. GPU2D_IRQn = 60, /**< GPU2D interrupt */
  146. GPIO6_Combined_0_15_IRQn = 61, /**< Combined interrupt indication for GPIO6 signal 0 throughout 15 */
  147. GPIO6_Combined_16_31_IRQn = 62, /**< Combined interrupt indication for GPIO6 signal 16 throughout 31 */
  148. DAC_IRQn = 63, /**< DAC interrupt */
  149. KEY_MANAGER_IRQn = 64, /**< PUF interrupt */
  150. WDOG2_IRQn = 65, /**< WDOG2 interrupt */
  151. SNVS_HP_NON_TZ_IRQn = 66, /**< SRTC Consolidated Interrupt. Non TZ */
  152. SNVS_HP_TZ_IRQn = 67, /**< SRTC Security Interrupt. TZ */
  153. SNVS_PULSE_EVENT_IRQn = 68, /**< ON-OFF button press shorter than 5 secs (pulse event) */
  154. CAAM_IRQ0_IRQn = 69, /**< CAAM interrupt queue for JQ0 */
  155. CAAM_IRQ1_IRQn = 70, /**< CAAM interrupt queue for JQ1 */
  156. CAAM_IRQ2_IRQn = 71, /**< CAAM interrupt queue for JQ2 */
  157. CAAM_IRQ3_IRQn = 72, /**< CAAM interrupt queue for JQ3 */
  158. CAAM_RECORVE_ERRPR_IRQn = 73, /**< CAAM interrupt for recoverable error */
  159. CAAM_RTIC_IRQn = 74, /**< CAAM interrupt for RTIC */
  160. CDOG_IRQn = 75, /**< CDOG interrupt */
  161. SAI1_IRQn = 76, /**< SAI1 interrupt */
  162. SAI2_IRQn = 77, /**< SAI1 interrupt */
  163. SAI3_RX_IRQn = 78, /**< SAI3 interrupt */
  164. SAI3_TX_IRQn = 79, /**< SAI3 interrupt */
  165. SAI4_RX_IRQn = 80, /**< SAI4 interrupt */
  166. SAI4_TX_IRQn = 81, /**< SAI4 interrupt */
  167. SPDIF_IRQn = 82, /**< SPDIF interrupt */
  168. TMPSNS_INT_IRQn = 83, /**< TMPSNS interrupt */
  169. TMPSNS_LOW_HIGH_IRQn = 84, /**< TMPSNS low high interrupt */
  170. TMPSNS_PANIC_IRQn = 85, /**< TMPSNS panic interrupt */
  171. LPSR_LP8_BROWNOUT_IRQn = 86, /**< LPSR 1p8 brownout interrupt */
  172. LPSR_LP0_BROWNOUT_IRQn = 87, /**< LPSR 1p0 brownout interrupt */
  173. ADC1_IRQn = 88, /**< ADC1 interrupt */
  174. ADC2_IRQn = 89, /**< ADC2 interrupt */
  175. USBPHY1_IRQn = 90, /**< USBPHY1 interrupt */
  176. USBPHY2_IRQn = 91, /**< USBPHY2 interrupt */
  177. RDC_IRQn = 92, /**< RDC interrupt */
  178. GPIO13_Combined_0_31_IRQn = 93, /**< Combined interrupt indication for GPIO13 signal 0 throughout 31 */
  179. Reserved110_IRQn = 94, /**< Reserved interrupt */
  180. DCIC1_IRQn = 95, /**< DCIC1 interrupt */
  181. DCIC2_IRQn = 96, /**< DCIC2 interrupt */
  182. ASRC_IRQn = 97, /**< ASRC interrupt */
  183. FLEXRAM_ECC_IRQn = 98, /**< FlexRAM ECC fatal interrupt */
  184. CM7_GPIO2_3_IRQn = 99, /**< CM7_GPIO2,CM7_GPIO3 interrupt */
  185. GPIO1_Combined_0_15_IRQn = 100, /**< Combined interrupt indication for GPIO1 signal 0 throughout 15 */
  186. GPIO1_Combined_16_31_IRQn = 101, /**< Combined interrupt indication for GPIO1 signal 16 throughout 31 */
  187. GPIO2_Combined_0_15_IRQn = 102, /**< Combined interrupt indication for GPIO2 signal 0 throughout 15 */
  188. GPIO2_Combined_16_31_IRQn = 103, /**< Combined interrupt indication for GPIO2 signal 16 throughout 31 */
  189. GPIO3_Combined_0_15_IRQn = 104, /**< Combined interrupt indication for GPIO3 signal 0 throughout 15 */
  190. GPIO3_Combined_16_31_IRQn = 105, /**< Combined interrupt indication for GPIO3 signal 16 throughout 31 */
  191. GPIO4_Combined_0_15_IRQn = 106, /**< Combined interrupt indication for GPIO4 signal 0 throughout 15 */
  192. GPIO4_Combined_16_31_IRQn = 107, /**< Combined interrupt indication for GPIO4 signal 16 throughout 31 */
  193. GPIO5_Combined_0_15_IRQn = 108, /**< Combined interrupt indication for GPIO5 signal 0 throughout 15 */
  194. GPIO5_Combined_16_31_IRQn = 109, /**< Combined interrupt indication for GPIO5 signal 16 throughout 31 */
  195. FLEXIO1_IRQn = 110, /**< FLEXIO1 interrupt */
  196. FLEXIO2_IRQn = 111, /**< FLEXIO2 interrupt */
  197. WDOG1_IRQn = 112, /**< WDOG1 interrupt */
  198. RTWDOG3_IRQn = 113, /**< RTWDOG3 interrupt */
  199. EWM_IRQn = 114, /**< EWM interrupt */
  200. OCOTP_READ_FUSE_ERROR_IRQn = 115, /**< OCOTP read fuse error interrupt */
  201. OCOTP_READ_DONE_ERROR_IRQn = 116, /**< OCOTP read fuse done interrupt */
  202. GPC_IRQn = 117, /**< GPC interrupt */
  203. MUA_IRQn = 118, /**< MUA interrupt */
  204. GPT1_IRQn = 119, /**< GPT1 interrupt */
  205. GPT2_IRQn = 120, /**< GPT2 interrupt */
  206. GPT3_IRQn = 121, /**< GPT3 interrupt */
  207. GPT4_IRQn = 122, /**< GPT4 interrupt */
  208. GPT5_IRQn = 123, /**< GPT5 interrupt */
  209. GPT6_IRQn = 124, /**< GPT6 interrupt */
  210. PWM1_0_IRQn = 125, /**< PWM1 capture 0, compare 0, or reload 0 interrupt */
  211. PWM1_1_IRQn = 126, /**< PWM1 capture 1, compare 1, or reload 0 interrupt */
  212. PWM1_2_IRQn = 127, /**< PWM1 capture 2, compare 2, or reload 0 interrupt */
  213. PWM1_3_IRQn = 128, /**< PWM1 capture 3, compare 3, or reload 0 interrupt */
  214. PWM1_FAULT_IRQn = 129, /**< PWM1 fault or reload error interrupt */
  215. FLEXSPI1_IRQn = 130, /**< FlexSPI1 interrupt */
  216. FLEXSPI2_IRQn = 131, /**< FlexSPI2 interrupt */
  217. SEMC_IRQn = 132, /**< SEMC interrupt */
  218. USDHC1_IRQn = 133, /**< USDHC1 interrupt */
  219. USDHC2_IRQn = 134, /**< USDHC2 interrupt */
  220. USB_OTG2_IRQn = 135, /**< USBO2 USB OTG2 */
  221. USB_OTG1_IRQn = 136, /**< USBO2 USB OTG1 */
  222. ENET_IRQn = 137, /**< ENET interrupt */
  223. ENET_1588_Timer_IRQn = 138, /**< ENET_1588_Timer interrupt */
  224. ENET_1G_MAC0_Tx_Rx_1_IRQn = 139, /**< ENET 1G MAC0 transmit/receive 1 */
  225. ENET_1G_MAC0_Tx_Rx_2_IRQn = 140, /**< ENET 1G MAC0 transmit/receive 2 */
  226. ENET_1G_IRQn = 141, /**< ENET 1G interrupt */
  227. ENET_1G_1588_Timer_IRQn = 142, /**< ENET_1G_1588_Timer interrupt */
  228. XBAR1_IRQ_0_1_IRQn = 143, /**< XBAR1 interrupt */
  229. XBAR1_IRQ_2_3_IRQn = 144, /**< XBAR1 interrupt */
  230. ADC_ETC_IRQ0_IRQn = 145, /**< ADCETC IRQ0 interrupt */
  231. ADC_ETC_IRQ1_IRQn = 146, /**< ADCETC IRQ1 interrupt */
  232. ADC_ETC_IRQ2_IRQn = 147, /**< ADCETC IRQ2 interrupt */
  233. ADC_ETC_IRQ3_IRQn = 148, /**< ADCETC IRQ3 interrupt */
  234. ADC_ETC_ERROR_IRQ_IRQn = 149, /**< ADCETC Error IRQ interrupt */
  235. Reserved166_IRQn = 150, /**< Reserved interrupt */
  236. Reserved167_IRQn = 151, /**< Reserved interrupt */
  237. Reserved168_IRQn = 152, /**< Reserved interrupt */
  238. Reserved169_IRQn = 153, /**< Reserved interrupt */
  239. Reserved170_IRQn = 154, /**< Reserved interrupt */
  240. PIT1_IRQn = 155, /**< PIT1 interrupt */
  241. PIT2_IRQn = 156, /**< PIT2 interrupt */
  242. ACMP1_IRQn = 157, /**< ACMP interrupt */
  243. ACMP2_IRQn = 158, /**< ACMP interrupt */
  244. ACMP3_IRQn = 159, /**< ACMP interrupt */
  245. ACMP4_IRQn = 160, /**< ACMP interrupt */
  246. Reserved177_IRQn = 161, /**< Reserved interrupt */
  247. Reserved178_IRQn = 162, /**< Reserved interrupt */
  248. Reserved179_IRQn = 163, /**< Reserved interrupt */
  249. Reserved180_IRQn = 164, /**< Reserved interrupt */
  250. ENC1_IRQn = 165, /**< ENC1 interrupt */
  251. ENC2_IRQn = 166, /**< ENC2 interrupt */
  252. ENC3_IRQn = 167, /**< ENC3 interrupt */
  253. ENC4_IRQn = 168, /**< ENC4 interrupt */
  254. Reserved185_IRQn = 169, /**< Reserved interrupt */
  255. Reserved186_IRQn = 170, /**< Reserved interrupt */
  256. TMR1_IRQn = 171, /**< TMR1 interrupt */
  257. TMR2_IRQn = 172, /**< TMR2 interrupt */
  258. TMR3_IRQn = 173, /**< TMR3 interrupt */
  259. TMR4_IRQn = 174, /**< TMR4 interrupt */
  260. SEMA4_CP0_IRQn = 175, /**< SEMA4 CP0 interrupt */
  261. SEMA4_CP1_IRQn = 176, /**< SEMA4 CP1 interrupt */
  262. PWM2_0_IRQn = 177, /**< PWM2 capture 0, compare 0, or reload 0 interrupt */
  263. PWM2_1_IRQn = 178, /**< PWM2 capture 1, compare 1, or reload 0 interrupt */
  264. PWM2_2_IRQn = 179, /**< PWM2 capture 2, compare 2, or reload 0 interrupt */
  265. PWM2_3_IRQn = 180, /**< PWM2 capture 3, compare 3, or reload 0 interrupt */
  266. PWM2_FAULT_IRQn = 181, /**< PWM2 fault or reload error interrupt */
  267. PWM3_0_IRQn = 182, /**< PWM3 capture 0, compare 0, or reload 0 interrupt */
  268. PWM3_1_IRQn = 183, /**< PWM3 capture 1, compare 1, or reload 0 interrupt */
  269. PWM3_2_IRQn = 184, /**< PWM3 capture 2, compare 2, or reload 0 interrupt */
  270. PWM3_3_IRQn = 185, /**< PWM3 capture 3, compare 3, or reload 0 interrupt */
  271. PWM3_FAULT_IRQn = 186, /**< PWM3 fault or reload error interrupt */
  272. PWM4_0_IRQn = 187, /**< PWM4 capture 0, compare 0, or reload 0 interrupt */
  273. PWM4_1_IRQn = 188, /**< PWM4 capture 1, compare 1, or reload 0 interrupt */
  274. PWM4_2_IRQn = 189, /**< PWM4 capture 2, compare 2, or reload 0 interrupt */
  275. PWM4_3_IRQn = 190, /**< PWM4 capture 3, compare 3, or reload 0 interrupt */
  276. PWM4_FAULT_IRQn = 191, /**< PWM4 fault or reload error interrupt */
  277. Reserved208_IRQn = 192, /**< Reserved interrupt */
  278. Reserved209_IRQn = 193, /**< Reserved interrupt */
  279. Reserved210_IRQn = 194, /**< Reserved interrupt */
  280. Reserved211_IRQn = 195, /**< Reserved interrupt */
  281. Reserved212_IRQn = 196, /**< Reserved interrupt */
  282. Reserved213_IRQn = 197, /**< Reserved interrupt */
  283. Reserved214_IRQn = 198, /**< Reserved interrupt */
  284. Reserved215_IRQn = 199, /**< Reserved interrupt */
  285. PDM_HWVAD_EVENT_IRQn = 200, /**< HWVAD event interrupt */
  286. PDM_HWVAD_ERROR_IRQn = 201, /**< HWVAD error interrupt */
  287. PDM_EVENT_IRQn = 202, /**< PDM event interrupt */
  288. PDM_ERROR_IRQn = 203, /**< PDM error interrupt */
  289. EMVSIM1_IRQn = 204, /**< EMVSIM1 interrupt */
  290. EMVSIM2_IRQn = 205, /**< EMVSIM2 interrupt */
  291. MECC1_INT_IRQn = 206, /**< MECC1 int */
  292. MECC1_FATAL_INT_IRQn = 207, /**< MECC1 fatal int */
  293. MECC2_INT_IRQn = 208, /**< MECC2 int */
  294. MECC2_FATAL_INT_IRQn = 209, /**< MECC2 fatal int */
  295. XECC_FLEXSPI1_INT_IRQn = 210, /**< XECC int */
  296. XECC_FLEXSPI1_FATAL_INT_IRQn = 211, /**< XECC fatal int */
  297. XECC_FLEXSPI2_INT_IRQn = 212, /**< XECC int */
  298. XECC_FLEXSPI2_FATAL_INT_IRQn = 213, /**< XECC fatal int */
  299. XECC_SEMC_INT_IRQn = 214, /**< XECC int */
  300. XECC_SEMC_FATAL_INT_IRQn = 215, /**< XECC fatal int */
  301. ENET_QOS_IRQn = 216, /**< ENET_QOS interrupt */
  302. ENET_QOS_PMT_IRQn = 217 /**< ENET_QOS_PMT interrupt */
  303. } IRQn_Type;
  304. /*!
  305. * @}
  306. */ /* end of group Interrupt_vector_numbers */
  307. /* ----------------------------------------------------------------------------
  308. -- Cortex M7 Core Configuration
  309. ---------------------------------------------------------------------------- */
  310. /*!
  311. * @addtogroup Cortex_Core_Configuration Cortex M7 Core Configuration
  312. * @{
  313. */
  314. #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */
  315. #define __ICACHE_PRESENT 1 /**< Defines if an ICACHE is present or not */
  316. #define __DCACHE_PRESENT 1 /**< Defines if an DCACHE is present or not */
  317. #define __DTCM_PRESENT 1 /**< Defines if an DTCM is present or not */
  318. #define __NVIC_PRIO_BITS 4 /**< Number of priority bits implemented in the NVIC */
  319. #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */
  320. #define __FPU_PRESENT 1 /**< Defines if an FPU is present or not */
  321. #include "core_cm7.h" /* Core Peripheral Access Layer */
  322. #include "system_MIMXRT1176_cm7.h" /* Device specific configuration file */
  323. /*!
  324. * @}
  325. */ /* end of group Cortex_Core_Configuration */
  326. /* ----------------------------------------------------------------------------
  327. -- Mapping Information
  328. ---------------------------------------------------------------------------- */
  329. /*!
  330. * @addtogroup Mapping_Information Mapping Information
  331. * @{
  332. */
  333. /** Mapping Information */
  334. /*!
  335. * @addtogroup rdc_mapping
  336. * @{
  337. */
  338. /*******************************************************************************
  339. * Definitions
  340. ******************************************************************************/
  341. /*!
  342. * @brief Structure for the RDC mapping
  343. *
  344. * Defines the structure for the RDC resource collections.
  345. */
  346. /*
  347. * Domain of these masters are not assigned by RDC
  348. * CM7, CM7_DMA: Always use domain ID 0.
  349. * CM4, CM4_DMA: Use domain ID 0 in single core case, 1 in dual core case.
  350. * CAAM: Defined in CAAM mst_a[x]icid[10]
  351. * LCDIFv2: Defined in LCDIF2 user bit[0]
  352. * SSARC: Defined in SSARC user bit[0]
  353. */
  354. typedef enum _rdc_master
  355. {
  356. kRDC_Master_ENET_1G_TX = 1U, /**< ENET_1G_TX */
  357. kRDC_Master_ENET_1G_RX = 2U, /**< ENET_1G_RX */
  358. kRDC_Master_ENET = 3U, /**< ENET */
  359. kRDC_Master_ENET_QOS = 4U, /**< ENET_QOS */
  360. kRDC_Master_USDHC1 = 5U, /**< USDHC1 */
  361. kRDC_Master_USDHC2 = 6U, /**< USDHC2 */
  362. kRDC_Master_USB = 7U, /**< USB */
  363. kRDC_Master_GPU = 8U, /**< GPU */
  364. kRDC_Master_PXP = 9U, /**< PXP */
  365. kRDC_Master_LCDIF = 10U, /**< LCDIF */
  366. kRDC_Master_CSI = 11U, /**< CSI */
  367. } rdc_master_t;
  368. typedef enum _rdc_mem
  369. {
  370. kRDC_Mem_MRC0_0 = 0U,
  371. kRDC_Mem_MRC0_1 = 1U,
  372. kRDC_Mem_MRC0_2 = 2U,
  373. kRDC_Mem_MRC0_3 = 3U,
  374. kRDC_Mem_MRC0_4 = 4U,
  375. kRDC_Mem_MRC0_5 = 5U,
  376. kRDC_Mem_MRC0_6 = 6U,
  377. kRDC_Mem_MRC0_7 = 7U,
  378. kRDC_Mem_MRC1_0 = 8U,
  379. kRDC_Mem_MRC1_1 = 9U,
  380. kRDC_Mem_MRC1_2 = 10U,
  381. kRDC_Mem_MRC1_3 = 11U,
  382. kRDC_Mem_MRC1_4 = 12U,
  383. kRDC_Mem_MRC1_5 = 13U,
  384. kRDC_Mem_MRC1_6 = 14U,
  385. kRDC_Mem_MRC1_7 = 15U,
  386. kRDC_Mem_MRC2_0 = 16U,
  387. kRDC_Mem_MRC2_1 = 17U,
  388. kRDC_Mem_MRC2_2 = 18U,
  389. kRDC_Mem_MRC2_3 = 19U,
  390. kRDC_Mem_MRC2_4 = 20U,
  391. kRDC_Mem_MRC2_5 = 21U,
  392. kRDC_Mem_MRC2_6 = 22U,
  393. kRDC_Mem_MRC2_7 = 23U,
  394. kRDC_Mem_MRC3_0 = 24U,
  395. kRDC_Mem_MRC3_1 = 25U,
  396. kRDC_Mem_MRC3_2 = 26U,
  397. kRDC_Mem_MRC3_3 = 27U,
  398. kRDC_Mem_MRC3_4 = 28U,
  399. kRDC_Mem_MRC3_5 = 29U,
  400. kRDC_Mem_MRC3_6 = 30U,
  401. kRDC_Mem_MRC3_7 = 31U,
  402. kRDC_Mem_MRC4_0 = 32U,
  403. kRDC_Mem_MRC4_1 = 33U,
  404. kRDC_Mem_MRC4_2 = 34U,
  405. kRDC_Mem_MRC4_3 = 35U,
  406. kRDC_Mem_MRC4_4 = 36U,
  407. kRDC_Mem_MRC4_5 = 37U,
  408. kRDC_Mem_MRC4_6 = 38U,
  409. kRDC_Mem_MRC4_7 = 39U,
  410. kRDC_Mem_MRC5_0 = 40U,
  411. kRDC_Mem_MRC5_1 = 41U,
  412. kRDC_Mem_MRC5_2 = 42U,
  413. kRDC_Mem_MRC5_3 = 43U,
  414. kRDC_Mem_MRC6_0 = 44U,
  415. kRDC_Mem_MRC6_1 = 45U,
  416. kRDC_Mem_MRC6_2 = 46U,
  417. kRDC_Mem_MRC6_3 = 47U,
  418. kRDC_Mem_MRC7_0 = 48U,
  419. kRDC_Mem_MRC7_1 = 49U,
  420. kRDC_Mem_MRC7_2 = 50U,
  421. kRDC_Mem_MRC7_3 = 51U,
  422. kRDC_Mem_MRC7_4 = 52U,
  423. kRDC_Mem_MRC7_5 = 53U,
  424. kRDC_Mem_MRC7_6 = 54U,
  425. kRDC_Mem_MRC7_7 = 55U,
  426. kRDC_Mem_MRC8_0 = 56U,
  427. kRDC_Mem_MRC8_1 = 57U,
  428. kRDC_Mem_MRC8_2 = 58U,
  429. } rdc_mem_t;
  430. typedef enum _rdc_periph
  431. {
  432. kRDC_Periph_MTR = 0U, /**< MTR */
  433. kRDC_Periph_MECC1 = 1U, /**< MECC1 */
  434. kRDC_Periph_MECC2 = 2U, /**< MECC2 */
  435. kRDC_Periph_FLEXSPI1 = 3U, /**< FlexSPI1 */
  436. kRDC_Periph_FLEXSPI2 = 4U, /**< FlexSPI2 */
  437. kRDC_Periph_SEMC = 5U, /**< SEMC */
  438. kRDC_Periph_CM7_IMXRT = 6U, /**< CM7_IMXRT */
  439. kRDC_Periph_EWM = 7U, /**< EWM */
  440. kRDC_Periph_WDOG1 = 8U, /**< WDOG1 */
  441. kRDC_Periph_WDOG2 = 9U, /**< WDOG2 */
  442. kRDC_Periph_WDOG3 = 10U, /**< WDOG3 */
  443. kRDC_Periph_AOI_XBAR = 11U, /**< AOI_XBAR */
  444. kRDC_Periph_ADC_ETC = 12U, /**< ADC_ETC */
  445. kRDC_Periph_CAAM_1 = 13U, /**< CAAM_1 */
  446. kRDC_Periph_ADC1 = 14U, /**< ADC1 */
  447. kRDC_Periph_ADC2 = 15U, /**< ADC2 */
  448. kRDC_Periph_TSC_DIG = 16U, /**< TSC_DIG */
  449. kRDC_Periph_DAC = 17U, /**< DAC */
  450. kRDC_Periph_IEE = 18U, /**< IEE */
  451. kRDC_Periph_DMAMUX = 19U, /**< DMAMUX */
  452. kRDC_Periph_EDMA = 19U, /**< EDMA */
  453. kRDC_Periph_LPUART1 = 20U, /**< LPUART1 */
  454. kRDC_Periph_LPUART2 = 21U, /**< LPUART2 */
  455. kRDC_Periph_LPUART3 = 22U, /**< LPUART3 */
  456. kRDC_Periph_LPUART4 = 23U, /**< LPUART4 */
  457. kRDC_Periph_LPUART5 = 24U, /**< LPUART5 */
  458. kRDC_Periph_LPUART6 = 25U, /**< LPUART6 */
  459. kRDC_Periph_LPUART7 = 26U, /**< LPUART7 */
  460. kRDC_Periph_LPUART8 = 27U, /**< LPUART8 */
  461. kRDC_Periph_LPUART9 = 28U, /**< LPUART9 */
  462. kRDC_Periph_LPUART10 = 29U, /**< LPUART10 */
  463. kRDC_Periph_FLEXIO1 = 30U, /**< FlexIO1 */
  464. kRDC_Periph_FLEXIO2 = 31U, /**< FlexIO2 */
  465. kRDC_Periph_CAN1 = 32U, /**< CAN1 */
  466. kRDC_Periph_CAN2 = 33U, /**< CAN2 */
  467. kRDC_Periph_PIT1 = 34U, /**< PIT1 */
  468. kRDC_Periph_KPP = 35U, /**< KPP */
  469. kRDC_Periph_IOMUXC_GPR = 36U, /**< IOMUXC_GPR */
  470. kRDC_Periph_IOMUXC = 37U, /**< IOMUXC */
  471. kRDC_Periph_GPT1 = 38U, /**< GPT1 */
  472. kRDC_Periph_GPT2 = 39U, /**< GPT2 */
  473. kRDC_Periph_GPT3 = 40U, /**< GPT3 */
  474. kRDC_Periph_GPT4 = 41U, /**< GPT4 */
  475. kRDC_Periph_GPT5 = 42U, /**< GPT5 */
  476. kRDC_Periph_GPT6 = 43U, /**< GPT6 */
  477. kRDC_Periph_LPI2C1 = 44U, /**< LPI2C1 */
  478. kRDC_Periph_LPI2C2 = 45U, /**< LPI2C2 */
  479. kRDC_Periph_LPI2C3 = 46U, /**< LPI2C3 */
  480. kRDC_Periph_LPI2C4 = 47U, /**< LPI2C4 */
  481. kRDC_Periph_LPSPI1 = 48U, /**< LPSPI1 */
  482. kRDC_Periph_LPSPI2 = 49U, /**< LPSPI2 */
  483. kRDC_Periph_LPSPI3 = 50U, /**< LPSPI3 */
  484. kRDC_Periph_LPSPI4 = 51U, /**< LPSPI4 */
  485. kRDC_Periph_GPIO_1_6 = 52U, /**< GPIO_1_6 */
  486. kRDC_Periph_CCM_OBS = 53U, /**< CCM_OBS */
  487. kRDC_Periph_SIM1 = 54U, /**< SIM1 */
  488. kRDC_Periph_SIM2 = 55U, /**< SIM2 */
  489. kRDC_Periph_QTIMER1 = 56U, /**< QTimer1 */
  490. kRDC_Periph_QTIMER2 = 57U, /**< QTimer2 */
  491. kRDC_Periph_QTIMER3 = 58U, /**< QTimer3 */
  492. kRDC_Periph_QTIMER4 = 59U, /**< QTimer4 */
  493. kRDC_Periph_ENC1 = 60U, /**< ENC1 */
  494. kRDC_Periph_ENC2 = 61U, /**< ENC2 */
  495. kRDC_Periph_ENC3 = 62U, /**< ENC3 */
  496. kRDC_Periph_ENC4 = 63U, /**< ENC4 */
  497. kRDC_Periph_FLEXPWM1 = 64U, /**< FLEXPWM1 */
  498. kRDC_Periph_FLEXPWM2 = 65U, /**< FLEXPWM2 */
  499. kRDC_Periph_FLEXPWM3 = 66U, /**< FLEXPWM3 */
  500. kRDC_Periph_FLEXPWM4 = 67U, /**< FLEXPWM4 */
  501. kRDC_Periph_CAAM_2 = 68U, /**< CAAM_2 */
  502. kRDC_Periph_CAAM_3 = 69U, /**< CAAM_3 */
  503. kRDC_Periph_ACMP1 = 70U, /**< ACMP1 */
  504. kRDC_Periph_ACMP2 = 71U, /**< ACMP2 */
  505. kRDC_Periph_ACMP3 = 72U, /**< ACMP3 */
  506. kRDC_Periph_ACMP4 = 73U, /**< ACMP4 */
  507. kRDC_Periph_CAAM = 74U, /**< CAAM */
  508. kRDC_Periph_SPDIF = 75U, /**< SPDIF */
  509. kRDC_Periph_SAI1 = 76U, /**< SAI1 */
  510. kRDC_Periph_SAI2 = 77U, /**< SAI2 */
  511. kRDC_Periph_SAI3 = 78U, /**< SAI3 */
  512. kRDC_Periph_ASRC = 79U, /**< ASRC */
  513. kRDC_Periph_USDHC1 = 80U, /**< USDHC1 */
  514. kRDC_Periph_USDHC2 = 81U, /**< USDHC2 */
  515. kRDC_Periph_ENET_1G = 82U, /**< ENET_1G */
  516. kRDC_Periph_ENET = 83U, /**< ENET */
  517. kRDC_Periph_USB_PL301 = 84U, /**< USB_PL301 */
  518. kRDC_Periph_USBPHY2 = 85U, /**< USBPHY2 */
  519. kRDC_Periph_USB_OTG2 = 85U, /**< USB_OTG2 */
  520. kRDC_Periph_USBPHY1 = 86U, /**< USBPHY1 */
  521. kRDC_Periph_USB_OTG1 = 86U, /**< USB_OTG1 */
  522. kRDC_Periph_ENET_QOS = 87U, /**< ENET_QOS */
  523. kRDC_Periph_CAAM_5 = 88U, /**< CAAM_5 */
  524. kRDC_Periph_CSI = 89U, /**< CSI */
  525. kRDC_Periph_LCDIF1 = 90U, /**< LCDIF1 */
  526. kRDC_Periph_LCDIF2 = 91U, /**< LCDIF2 */
  527. kRDC_Periph_MIPI_DSI = 92U, /**< MIPI_DSI */
  528. kRDC_Periph_MIPI_CSI = 93U, /**< MIPI_CSI */
  529. kRDC_Periph_PXP = 94U, /**< PXP */
  530. kRDC_Periph_VIDEO_MUX = 95U, /**< VIDEO_MUX */
  531. kRDC_Periph_PGMC_SRC_GPC = 96U, /**< PGMC_SRC_GPC */
  532. kRDC_Periph_IOMUXC_LPSR = 97U, /**< IOMUXC_LPSR */
  533. kRDC_Periph_IOMUXC_LPSR_GPR = 98U, /**< IOMUXC_LPSR_GPR */
  534. kRDC_Periph_WDOG4 = 99U, /**< WDOG4 */
  535. kRDC_Periph_DMAMUX_LPSR = 100U, /**< DMAMUX_LPSR */
  536. kRDC_Periph_EDMA_LPSR = 100U, /**< EDMA_LPSR */
  537. kRDC_Periph_Reserved = 101U, /**< Reserved */
  538. kRDC_Periph_MIC = 102U, /**< MIC */
  539. kRDC_Periph_LPUART11 = 103U, /**< LPUART11 */
  540. kRDC_Periph_LPUART12 = 104U, /**< LPUART12 */
  541. kRDC_Periph_LPSPI5 = 105U, /**< LPSPI5 */
  542. kRDC_Periph_LPSPI6 = 106U, /**< LPSPI6 */
  543. kRDC_Periph_LPI2C5 = 107U, /**< LPI2C5 */
  544. kRDC_Periph_LPI2C6 = 108U, /**< LPI2C6 */
  545. kRDC_Periph_CAN3 = 109U, /**< CAN3 */
  546. kRDC_Periph_SAI4 = 110U, /**< SAI4 */
  547. kRDC_Periph_SEMA1 = 111U, /**< SEMA1 */
  548. kRDC_Periph_GPIO_7_12 = 112U, /**< GPIO_7_12 */
  549. kRDC_Periph_KEY_MANAGER = 113U, /**< KEY_MANAGER */
  550. kRDC_Periph_ANATOP = 114U, /**< ANATOP */
  551. kRDC_Periph_SNVS_HP_WRAPPER = 115U, /**< SNVS_HP_WRAPPER */
  552. kRDC_Periph_IOMUXC_SNVS = 116U, /**< IOMUXC_SNVS */
  553. kRDC_Periph_IOMUXC_SNVS_GPR = 117U, /**< IOMUXC_SNVS_GPR */
  554. kRDC_Periph_SNVS_SRAM = 118U, /**< SNVS_SRAM */
  555. kRDC_Periph_GPIO13 = 119U, /**< GPIO13 */
  556. kRDC_Periph_ROMCP = 120U, /**< ROMCP */
  557. kRDC_Periph_DCDC = 121U, /**< DCDC */
  558. kRDC_Periph_OCOTP_CTRL_WRAPPER = 122U, /**< OCOTP_CTRL_WRAPPER */
  559. kRDC_Periph_PIT2 = 123U, /**< PIT2 */
  560. kRDC_Periph_SSARC = 124U, /**< SSARC */
  561. kRDC_Periph_CCM = 125U, /**< CCM */
  562. kRDC_Periph_CAAM_6 = 126U, /**< CAAM_6 */
  563. kRDC_Periph_CAAM_7 = 127U, /**< CAAM_7 */
  564. } rdc_periph_t;
  565. /* @} */
  566. typedef enum _xbar_input_signal
  567. {
  568. kXBARA1_InputLogicLow = 0|0x100U, /**< LOGIC_LOW output assigned to XBARA1_IN0 input. */
  569. kXBARA1_InputLogicHigh = 1|0x100U, /**< LOGIC_HIGH output assigned to XBARA1_IN1 input. */
  570. kXBARA1_InputRESERVED2 = 2|0x100U, /**< XBARA1_IN2 input is reserved. */
  571. kXBARA1_InputRESERVED3 = 3|0x100U, /**< XBARA1_IN3 input is reserved. */
  572. kXBARA1_InputIomuxXbarInout04 = 4|0x100U, /**< IOMUX_XBAR_INOUT04 output assigned to XBARA1_IN4 input. */
  573. kXBARA1_InputIomuxXbarInout05 = 5|0x100U, /**< IOMUX_XBAR_INOUT05 output assigned to XBARA1_IN5 input. */
  574. kXBARA1_InputIomuxXbarInout06 = 6|0x100U, /**< IOMUX_XBAR_INOUT06 output assigned to XBARA1_IN6 input. */
  575. kXBARA1_InputIomuxXbarInout07 = 7|0x100U, /**< IOMUX_XBAR_INOUT07 output assigned to XBARA1_IN7 input. */
  576. kXBARA1_InputIomuxXbarInout08 = 8|0x100U, /**< IOMUX_XBAR_INOUT08 output assigned to XBARA1_IN8 input. */
  577. kXBARA1_InputIomuxXbarInout09 = 9|0x100U, /**< IOMUX_XBAR_INOUT09 output assigned to XBARA1_IN9 input. */
  578. kXBARA1_InputIomuxXbarInout10 = 10|0x100U, /**< IOMUX_XBAR_INOUT10 output assigned to XBARA1_IN10 input. */
  579. kXBARA1_InputIomuxXbarInout11 = 11|0x100U, /**< IOMUX_XBAR_INOUT11 output assigned to XBARA1_IN11 input. */
  580. kXBARA1_InputIomuxXbarInout12 = 12|0x100U, /**< IOMUX_XBAR_INOUT12 output assigned to XBARA1_IN12 input. */
  581. kXBARA1_InputIomuxXbarInout13 = 13|0x100U, /**< IOMUX_XBAR_INOUT13 output assigned to XBARA1_IN13 input. */
  582. kXBARA1_InputIomuxXbarInout14 = 14|0x100U, /**< IOMUX_XBAR_INOUT14 output assigned to XBARA1_IN14 input. */
  583. kXBARA1_InputIomuxXbarInout15 = 15|0x100U, /**< IOMUX_XBAR_INOUT15 output assigned to XBARA1_IN15 input. */
  584. kXBARA1_InputIomuxXbarInout16 = 16|0x100U, /**< IOMUX_XBAR_INOUT16 output assigned to XBARA1_IN16 input. */
  585. kXBARA1_InputIomuxXbarInout17 = 17|0x100U, /**< IOMUX_XBAR_INOUT17 output assigned to XBARA1_IN17 input. */
  586. kXBARA1_InputIomuxXbarInout18 = 18|0x100U, /**< IOMUX_XBAR_INOUT18 output assigned to XBARA1_IN18 input. */
  587. kXBARA1_InputIomuxXbarInout19 = 19|0x100U, /**< IOMUX_XBAR_INOUT19 output assigned to XBARA1_IN19 input. */
  588. kXBARA1_InputIomuxXbarInout20 = 20|0x100U, /**< IOMUX_XBAR_INOUT20 output assigned to XBARA1_IN20 input. */
  589. kXBARA1_InputIomuxXbarInout21 = 21|0x100U, /**< IOMUX_XBAR_INOUT21 output assigned to XBARA1_IN21 input. */
  590. kXBARA1_InputIomuxXbarInout22 = 22|0x100U, /**< IOMUX_XBAR_INOUT22 output assigned to XBARA1_IN22 input. */
  591. kXBARA1_InputIomuxXbarInout23 = 23|0x100U, /**< IOMUX_XBAR_INOUT23 output assigned to XBARA1_IN23 input. */
  592. kXBARA1_InputIomuxXbarInout24 = 24|0x100U, /**< IOMUX_XBAR_INOUT24 output assigned to XBARA1_IN24 input. */
  593. kXBARA1_InputIomuxXbarInout25 = 25|0x100U, /**< IOMUX_XBAR_INOUT25 output assigned to XBARA1_IN25 input. */
  594. kXBARA1_InputIomuxXbarInout26 = 26|0x100U, /**< IOMUX_XBAR_INOUT26 output assigned to XBARA1_IN26 input. */
  595. kXBARA1_InputIomuxXbarInout27 = 27|0x100U, /**< IOMUX_XBAR_INOUT27 output assigned to XBARA1_IN27 input. */
  596. kXBARA1_InputIomuxXbarInout28 = 28|0x100U, /**< IOMUX_XBAR_INOUT28 output assigned to XBARA1_IN28 input. */
  597. kXBARA1_InputIomuxXbarInout29 = 29|0x100U, /**< IOMUX_XBAR_INOUT29 output assigned to XBARA1_IN29 input. */
  598. kXBARA1_InputIomuxXbarInout30 = 30|0x100U, /**< IOMUX_XBAR_INOUT30 output assigned to XBARA1_IN30 input. */
  599. kXBARA1_InputIomuxXbarInout31 = 31|0x100U, /**< IOMUX_XBAR_INOUT31 output assigned to XBARA1_IN31 input. */
  600. kXBARA1_InputIomuxXbarInout32 = 32|0x100U, /**< IOMUX_XBAR_INOUT32 output assigned to XBARA1_IN32 input. */
  601. kXBARA1_InputIomuxXbarInout33 = 33|0x100U, /**< IOMUX_XBAR_INOUT33 output assigned to XBARA1_IN33 input. */
  602. kXBARA1_InputIomuxXbarInout34 = 34|0x100U, /**< IOMUX_XBAR_INOUT34 output assigned to XBARA1_IN34 input. */
  603. kXBARA1_InputIomuxXbarInout35 = 35|0x100U, /**< IOMUX_XBAR_INOUT35 output assigned to XBARA1_IN35 input. */
  604. kXBARA1_InputIomuxXbarInout36 = 36|0x100U, /**< IOMUX_XBAR_INOUT36 output assigned to XBARA1_IN36 input. */
  605. kXBARA1_InputIomuxXbarInout37 = 37|0x100U, /**< IOMUX_XBAR_INOUT37 output assigned to XBARA1_IN37 input. */
  606. kXBARA1_InputIomuxXbarInout38 = 38|0x100U, /**< IOMUX_XBAR_INOUT38 output assigned to XBARA1_IN38 input. */
  607. kXBARA1_InputIomuxXbarInout39 = 39|0x100U, /**< IOMUX_XBAR_INOUT39 output assigned to XBARA1_IN39 input. */
  608. kXBARA1_InputIomuxXbarInout40 = 40|0x100U, /**< IOMUX_XBAR_INOUT40 output assigned to XBARA1_IN40 input. */
  609. kXBARA1_InputRESERVED41 = 41|0x100U, /**< XBARA1_IN41 input is reserved. */
  610. kXBARA1_InputAcmp1Out = 42|0x100U, /**< ACMP1_OUT output assigned to XBARA1_IN42 input. */
  611. kXBARA1_InputAcmp2Out = 43|0x100U, /**< ACMP2_OUT output assigned to XBARA1_IN43 input. */
  612. kXBARA1_InputAcmp3Out = 44|0x100U, /**< ACMP3_OUT output assigned to XBARA1_IN44 input. */
  613. kXBARA1_InputAcmp4Out = 45|0x100U, /**< ACMP4_OUT output assigned to XBARA1_IN45 input. */
  614. kXBARA1_InputRESERVED46 = 46|0x100U, /**< XBARA1_IN46 input is reserved. */
  615. kXBARA1_InputRESERVED47 = 47|0x100U, /**< XBARA1_IN47 input is reserved. */
  616. kXBARA1_InputRESERVED48 = 48|0x100U, /**< XBARA1_IN48 input is reserved. */
  617. kXBARA1_InputRESERVED49 = 49|0x100U, /**< XBARA1_IN49 input is reserved. */
  618. kXBARA1_InputQtimer1Timer0 = 50|0x100U, /**< QTIMER1_TIMER0 output assigned to XBARA1_IN50 input. */
  619. kXBARA1_InputQtimer1Timer1 = 51|0x100U, /**< QTIMER1_TIMER1 output assigned to XBARA1_IN51 input. */
  620. kXBARA1_InputQtimer1Timer2 = 52|0x100U, /**< QTIMER1_TIMER2 output assigned to XBARA1_IN52 input. */
  621. kXBARA1_InputQtimer1Timer3 = 53|0x100U, /**< QTIMER1_TIMER3 output assigned to XBARA1_IN53 input. */
  622. kXBARA1_InputQtimer2Timer0 = 54|0x100U, /**< QTIMER2_TIMER0 output assigned to XBARA1_IN54 input. */
  623. kXBARA1_InputQtimer2Timer1 = 55|0x100U, /**< QTIMER2_TIMER1 output assigned to XBARA1_IN55 input. */
  624. kXBARA1_InputQtimer2Timer2 = 56|0x100U, /**< QTIMER2_TIMER2 output assigned to XBARA1_IN56 input. */
  625. kXBARA1_InputQtimer2Timer3 = 57|0x100U, /**< QTIMER2_TIMER3 output assigned to XBARA1_IN57 input. */
  626. kXBARA1_InputQtimer3Timer0 = 58|0x100U, /**< QTIMER3_TIMER0 output assigned to XBARA1_IN58 input. */
  627. kXBARA1_InputQtimer3Timer1 = 59|0x100U, /**< QTIMER3_TIMER1 output assigned to XBARA1_IN59 input. */
  628. kXBARA1_InputQtimer3Timer2 = 60|0x100U, /**< QTIMER3_TIMER2 output assigned to XBARA1_IN60 input. */
  629. kXBARA1_InputQtimer3Timer3 = 61|0x100U, /**< QTIMER3_TIMER3 output assigned to XBARA1_IN61 input. */
  630. kXBARA1_InputQtimer4Timer0 = 62|0x100U, /**< QTIMER4_TIMER0 output assigned to XBARA1_IN62 input. */
  631. kXBARA1_InputQtimer4Timer1 = 63|0x100U, /**< QTIMER4_TIMER1 output assigned to XBARA1_IN63 input. */
  632. kXBARA1_InputQtimer4Timer2 = 64|0x100U, /**< QTIMER4_TIMER2 output assigned to XBARA1_IN64 input. */
  633. kXBARA1_InputQtimer4Timer3 = 65|0x100U, /**< QTIMER4_TIMER3 output assigned to XBARA1_IN65 input. */
  634. kXBARA1_InputRESERVED66 = 66|0x100U, /**< XBARA1_IN66 input is reserved. */
  635. kXBARA1_InputRESERVED67 = 67|0x100U, /**< XBARA1_IN67 input is reserved. */
  636. kXBARA1_InputRESERVED68 = 68|0x100U, /**< XBARA1_IN68 input is reserved. */
  637. kXBARA1_InputRESERVED69 = 69|0x100U, /**< XBARA1_IN69 input is reserved. */
  638. kXBARA1_InputRESERVED70 = 70|0x100U, /**< XBARA1_IN70 input is reserved. */
  639. kXBARA1_InputRESERVED71 = 71|0x100U, /**< XBARA1_IN71 input is reserved. */
  640. kXBARA1_InputRESERVED72 = 72|0x100U, /**< XBARA1_IN72 input is reserved. */
  641. kXBARA1_InputRESERVED73 = 73|0x100U, /**< XBARA1_IN73 input is reserved. */
  642. kXBARA1_InputFlexpwm1Pwm0OutTrig0 = 74|0x100U, /**< FLEXPWM1_PWM0_OUT_TRIG0 output assigned to XBARA1_IN74 input. */
  643. kXBARA1_InputFlexpwm1Pwm0OutTrig1 = 75|0x100U, /**< FLEXPWM1_PWM0_OUT_TRIG1 output assigned to XBARA1_IN75 input. */
  644. kXBARA1_InputFlexpwm1Pwm1OutTrig0 = 76|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG0 output assigned to XBARA1_IN76 input. */
  645. kXBARA1_InputFlexpwm1Pwm1OutTrig1 = 77|0x100U, /**< FLEXPWM1_PWM1_OUT_TRIG1 output assigned to XBARA1_IN77 input. */
  646. kXBARA1_InputFlexpwm1Pwm2OutTrig0 = 78|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG0 output assigned to XBARA1_IN78 input. */
  647. kXBARA1_InputFlexpwm1Pwm2OutTrig1 = 79|0x100U, /**< FLEXPWM1_PWM2_OUT_TRIG1 output assigned to XBARA1_IN79 input. */
  648. kXBARA1_InputFlexpwm1Pwm3OutTrig0 = 80|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG0 output assigned to XBARA1_IN80 input. */
  649. kXBARA1_InputFlexpwm1Pwm3OutTrig1 = 81|0x100U, /**< FLEXPWM1_PWM3_OUT_TRIG1 output assigned to XBARA1_IN81 input. */
  650. kXBARA1_InputFlexpwm2Pwm0OutTrig01 = 82|0x100U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN82 input. */
  651. kXBARA1_InputFlexpwm2Pwm1OutTrig01 = 83|0x100U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN83 input. */
  652. kXBARA1_InputFlexpwm2Pwm2OutTrig01 = 84|0x100U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN84 input. */
  653. kXBARA1_InputFlexpwm2Pwm3OutTrig01 = 85|0x100U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN85 input. */
  654. kXBARA1_InputFlexpwm3Pwm0OutTrig01 = 86|0x100U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN86 input. */
  655. kXBARA1_InputFlexpwm3Pwm1OutTrig01 = 87|0x100U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN87 input. */
  656. kXBARA1_InputFlexpwm3Pwm2OutTrig01 = 88|0x100U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN88 input. */
  657. kXBARA1_InputFlexpwm3Pwm3OutTrig01 = 89|0x100U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN89 input. */
  658. kXBARA1_InputFlexpwm4Pwm0OutTrig01 = 90|0x100U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARA1_IN90 input. */
  659. kXBARA1_InputFlexpwm4Pwm1OutTrig01 = 91|0x100U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARA1_IN91 input. */
  660. kXBARA1_InputFlexpwm4Pwm2OutTrig01 = 92|0x100U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARA1_IN92 input. */
  661. kXBARA1_InputFlexpwm4Pwm3OutTrig01 = 93|0x100U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARA1_IN93 input. */
  662. kXBARA1_InputRESERVED94 = 94|0x100U, /**< XBARA1_IN94 input is reserved. */
  663. kXBARA1_InputRESERVED95 = 95|0x100U, /**< XBARA1_IN95 input is reserved. */
  664. kXBARA1_InputRESERVED96 = 96|0x100U, /**< XBARA1_IN96 input is reserved. */
  665. kXBARA1_InputRESERVED97 = 97|0x100U, /**< XBARA1_IN97 input is reserved. */
  666. kXBARA1_InputRESERVED98 = 98|0x100U, /**< XBARA1_IN98 input is reserved. */
  667. kXBARA1_InputRESERVED99 = 99|0x100U, /**< XBARA1_IN99 input is reserved. */
  668. kXBARA1_InputRESERVED100 = 100|0x100U, /**< XBARA1_IN100 input is reserved. */
  669. kXBARA1_InputRESERVED101 = 101|0x100U, /**< XBARA1_IN101 input is reserved. */
  670. kXBARA1_InputPit1Trigger0 = 102|0x100U, /**< PIT1_TRIGGER0 output assigned to XBARA1_IN102 input. */
  671. kXBARA1_InputPit1Trigger1 = 103|0x100U, /**< PIT1_TRIGGER1 output assigned to XBARA1_IN103 input. */
  672. kXBARA1_InputPit1Trigger2 = 104|0x100U, /**< PIT1_TRIGGER2 output assigned to XBARA1_IN104 input. */
  673. kXBARA1_InputPit1Trigger3 = 105|0x100U, /**< PIT1_TRIGGER3 output assigned to XBARA1_IN105 input. */
  674. kXBARA1_InputDec1PosMatch = 106|0x100U, /**< DEC1_POS_MATCH output assigned to XBARA1_IN106 input. */
  675. kXBARA1_InputDec2PosMatch = 107|0x100U, /**< DEC2_POS_MATCH output assigned to XBARA1_IN107 input. */
  676. kXBARA1_InputDec3PosMatch = 108|0x100U, /**< DEC3_POS_MATCH output assigned to XBARA1_IN108 input. */
  677. kXBARA1_InputDec4PosMatch = 109|0x100U, /**< DEC4_POS_MATCH output assigned to XBARA1_IN109 input. */
  678. kXBARA1_InputRESERVED110 = 110|0x100U, /**< XBARA1_IN110 input is reserved. */
  679. kXBARA1_InputRESERVED111 = 111|0x100U, /**< XBARA1_IN111 input is reserved. */
  680. kXBARA1_InputDmaDone0 = 112|0x100U, /**< DMA_DONE0 output assigned to XBARA1_IN112 input. */
  681. kXBARA1_InputDmaDone1 = 113|0x100U, /**< DMA_DONE1 output assigned to XBARA1_IN113 input. */
  682. kXBARA1_InputDmaDone2 = 114|0x100U, /**< DMA_DONE2 output assigned to XBARA1_IN114 input. */
  683. kXBARA1_InputDmaDone3 = 115|0x100U, /**< DMA_DONE3 output assigned to XBARA1_IN115 input. */
  684. kXBARA1_InputDmaDone4 = 116|0x100U, /**< DMA_DONE4 output assigned to XBARA1_IN116 input. */
  685. kXBARA1_InputDmaDone5 = 117|0x100U, /**< DMA_DONE5 output assigned to XBARA1_IN117 input. */
  686. kXBARA1_InputDmaDone6 = 118|0x100U, /**< DMA_DONE6 output assigned to XBARA1_IN118 input. */
  687. kXBARA1_InputDmaDone7 = 119|0x100U, /**< DMA_DONE7 output assigned to XBARA1_IN119 input. */
  688. kXBARA1_InputDmaLpsrDone0 = 120|0x100U, /**< DMA_LPSR_DONE0 output assigned to XBARA1_IN120 input. */
  689. kXBARA1_InputDmaLpsrDone1 = 121|0x100U, /**< DMA_LPSR_DONE1 output assigned to XBARA1_IN121 input. */
  690. kXBARA1_InputDmaLpsrDone2 = 122|0x100U, /**< DMA_LPSR_DONE2 output assigned to XBARA1_IN122 input. */
  691. kXBARA1_InputDmaLpsrDone3 = 123|0x100U, /**< DMA_LPSR_DONE3 output assigned to XBARA1_IN123 input. */
  692. kXBARA1_InputDmaLpsrDone4 = 124|0x100U, /**< DMA_LPSR_DONE4 output assigned to XBARA1_IN124 input. */
  693. kXBARA1_InputDmaLpsrDone5 = 125|0x100U, /**< DMA_LPSR_DONE5 output assigned to XBARA1_IN125 input. */
  694. kXBARA1_InputDmaLpsrDone6 = 126|0x100U, /**< DMA_LPSR_DONE6 output assigned to XBARA1_IN126 input. */
  695. kXBARA1_InputDmaLpsrDone7 = 127|0x100U, /**< DMA_LPSR_DONE7 output assigned to XBARA1_IN127 input. */
  696. kXBARA1_InputAoi1Out0 = 128|0x100U, /**< AOI1_OUT0 output assigned to XBARA1_IN128 input. */
  697. kXBARA1_InputAoi1Out1 = 129|0x100U, /**< AOI1_OUT1 output assigned to XBARA1_IN129 input. */
  698. kXBARA1_InputAoi1Out2 = 130|0x100U, /**< AOI1_OUT2 output assigned to XBARA1_IN130 input. */
  699. kXBARA1_InputAoi1Out3 = 131|0x100U, /**< AOI1_OUT3 output assigned to XBARA1_IN131 input. */
  700. kXBARA1_InputAoi2Out0 = 132|0x100U, /**< AOI2_OUT0 output assigned to XBARA1_IN132 input. */
  701. kXBARA1_InputAoi2Out1 = 133|0x100U, /**< AOI2_OUT1 output assigned to XBARA1_IN133 input. */
  702. kXBARA1_InputAoi2Out2 = 134|0x100U, /**< AOI2_OUT2 output assigned to XBARA1_IN134 input. */
  703. kXBARA1_InputAoi2Out3 = 135|0x100U, /**< AOI2_OUT3 output assigned to XBARA1_IN135 input. */
  704. kXBARA1_InputAdcEtc0Coco0 = 136|0x100U, /**< ADC_ETC0_COCO0 output assigned to XBARA1_IN136 input. */
  705. kXBARA1_InputAdcEtc0Coco1 = 137|0x100U, /**< ADC_ETC0_COCO1 output assigned to XBARA1_IN137 input. */
  706. kXBARA1_InputAdcEtc0Coco2 = 138|0x100U, /**< ADC_ETC0_COCO2 output assigned to XBARA1_IN138 input. */
  707. kXBARA1_InputAdcEtc0Coco3 = 139|0x100U, /**< ADC_ETC0_COCO3 output assigned to XBARA1_IN139 input. */
  708. kXBARA1_InputAdcEtc1Coco0 = 140|0x100U, /**< ADC_ETC1_COCO0 output assigned to XBARA1_IN140 input. */
  709. kXBARA1_InputAdcEtc1Coco1 = 141|0x100U, /**< ADC_ETC1_COCO1 output assigned to XBARA1_IN141 input. */
  710. kXBARA1_InputAdcEtc1Coco2 = 142|0x100U, /**< ADC_ETC1_COCO2 output assigned to XBARA1_IN142 input. */
  711. kXBARA1_InputAdcEtc1Coco3 = 143|0x100U, /**< ADC_ETC1_COCO3 output assigned to XBARA1_IN143 input. */
  712. kXBARB2_InputLogicLow = 0|0x200U, /**< LOGIC_LOW output assigned to XBARB2_IN0 input. */
  713. kXBARB2_InputLogicHigh = 1|0x200U, /**< LOGIC_HIGH output assigned to XBARB2_IN1 input. */
  714. kXBARB2_InputAcmp1Out = 2|0x200U, /**< ACMP1_OUT output assigned to XBARB2_IN2 input. */
  715. kXBARB2_InputAcmp2Out = 3|0x200U, /**< ACMP2_OUT output assigned to XBARB2_IN3 input. */
  716. kXBARB2_InputAcmp3Out = 4|0x200U, /**< ACMP3_OUT output assigned to XBARB2_IN4 input. */
  717. kXBARB2_InputAcmp4Out = 5|0x200U, /**< ACMP4_OUT output assigned to XBARB2_IN5 input. */
  718. kXBARB2_InputRESERVED6 = 6|0x200U, /**< XBARB2_IN6 input is reserved. */
  719. kXBARB2_InputRESERVED7 = 7|0x200U, /**< XBARB2_IN7 input is reserved. */
  720. kXBARB2_InputRESERVED8 = 8|0x200U, /**< XBARB2_IN8 input is reserved. */
  721. kXBARB2_InputRESERVED9 = 9|0x200U, /**< XBARB2_IN9 input is reserved. */
  722. kXBARB2_InputQtimer1Timer0 = 10|0x200U, /**< QTIMER1_TIMER0 output assigned to XBARB2_IN10 input. */
  723. kXBARB2_InputQtimer1Timer1 = 11|0x200U, /**< QTIMER1_TIMER1 output assigned to XBARB2_IN11 input. */
  724. kXBARB2_InputQtimer1Timer2 = 12|0x200U, /**< QTIMER1_TIMER2 output assigned to XBARB2_IN12 input. */
  725. kXBARB2_InputQtimer1Timer3 = 13|0x200U, /**< QTIMER1_TIMER3 output assigned to XBARB2_IN13 input. */
  726. kXBARB2_InputQtimer2Timer0 = 14|0x200U, /**< QTIMER2_TIMER0 output assigned to XBARB2_IN14 input. */
  727. kXBARB2_InputQtimer2Timer1 = 15|0x200U, /**< QTIMER2_TIMER1 output assigned to XBARB2_IN15 input. */
  728. kXBARB2_InputQtimer2Timer2 = 16|0x200U, /**< QTIMER2_TIMER2 output assigned to XBARB2_IN16 input. */
  729. kXBARB2_InputQtimer2Timer3 = 17|0x200U, /**< QTIMER2_TIMER3 output assigned to XBARB2_IN17 input. */
  730. kXBARB2_InputQtimer3Timer0 = 18|0x200U, /**< QTIMER3_TIMER0 output assigned to XBARB2_IN18 input. */
  731. kXBARB2_InputQtimer3Timer1 = 19|0x200U, /**< QTIMER3_TIMER1 output assigned to XBARB2_IN19 input. */
  732. kXBARB2_InputQtimer3Timer2 = 20|0x200U, /**< QTIMER3_TIMER2 output assigned to XBARB2_IN20 input. */
  733. kXBARB2_InputQtimer3Timer3 = 21|0x200U, /**< QTIMER3_TIMER3 output assigned to XBARB2_IN21 input. */
  734. kXBARB2_InputQtimer4Timer0 = 22|0x200U, /**< QTIMER4_TIMER0 output assigned to XBARB2_IN22 input. */
  735. kXBARB2_InputQtimer4Timer1 = 23|0x200U, /**< QTIMER4_TIMER1 output assigned to XBARB2_IN23 input. */
  736. kXBARB2_InputQtimer4Timer2 = 24|0x200U, /**< QTIMER4_TIMER2 output assigned to XBARB2_IN24 input. */
  737. kXBARB2_InputQtimer4Timer3 = 25|0x200U, /**< QTIMER4_TIMER3 output assigned to XBARB2_IN25 input. */
  738. kXBARB2_InputRESERVED26 = 26|0x200U, /**< XBARB2_IN26 input is reserved. */
  739. kXBARB2_InputRESERVED27 = 27|0x200U, /**< XBARB2_IN27 input is reserved. */
  740. kXBARB2_InputRESERVED28 = 28|0x200U, /**< XBARB2_IN28 input is reserved. */
  741. kXBARB2_InputRESERVED29 = 29|0x200U, /**< XBARB2_IN29 input is reserved. */
  742. kXBARB2_InputRESERVED30 = 30|0x200U, /**< XBARB2_IN30 input is reserved. */
  743. kXBARB2_InputRESERVED31 = 31|0x200U, /**< XBARB2_IN31 input is reserved. */
  744. kXBARB2_InputRESERVED32 = 32|0x200U, /**< XBARB2_IN32 input is reserved. */
  745. kXBARB2_InputRESERVED33 = 33|0x200U, /**< XBARB2_IN33 input is reserved. */
  746. kXBARB2_InputFlexpwm1Pwm0OutTrig01 = 34|0x200U, /**< FLEXPWM1_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN34 input. */
  747. kXBARB2_InputFlexpwm1Pwm1OutTrig01 = 35|0x200U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN35 input. */
  748. kXBARB2_InputFlexpwm1Pwm2OutTrig01 = 36|0x200U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN36 input. */
  749. kXBARB2_InputFlexpwm1Pwm3OutTrig01 = 37|0x200U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN37 input. */
  750. kXBARB2_InputFlexpwm2Pwm0OutTrig01 = 38|0x200U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN38 input. */
  751. kXBARB2_InputFlexpwm2Pwm1OutTrig01 = 39|0x200U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN39 input. */
  752. kXBARB2_InputFlexpwm2Pwm2OutTrig01 = 40|0x200U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN40 input. */
  753. kXBARB2_InputFlexpwm2Pwm3OutTrig01 = 41|0x200U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN41 input. */
  754. kXBARB2_InputFlexpwm3Pwm0OutTrig01 = 42|0x200U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN42 input. */
  755. kXBARB2_InputFlexpwm3Pwm1OutTrig01 = 43|0x200U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN43 input. */
  756. kXBARB2_InputFlexpwm3Pwm2OutTrig01 = 44|0x200U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN44 input. */
  757. kXBARB2_InputFlexpwm3Pwm3OutTrig01 = 45|0x200U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN45 input. */
  758. kXBARB2_InputFlexpwm4Pwm0OutTrig01 = 46|0x200U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARB2_IN46 input. */
  759. kXBARB2_InputFlexpwm4Pwm1OutTrig01 = 47|0x200U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB2_IN47 input. */
  760. kXBARB2_InputFlexpwm4Pwm2OutTrig01 = 48|0x200U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB2_IN48 input. */
  761. kXBARB2_InputFlexpwm4Pwm3OutTrig01 = 49|0x200U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB2_IN49 input. */
  762. kXBARB2_InputRESERVED50 = 50|0x200U, /**< XBARB2_IN50 input is reserved. */
  763. kXBARB2_InputRESERVED51 = 51|0x200U, /**< XBARB2_IN51 input is reserved. */
  764. kXBARB2_InputRESERVED52 = 52|0x200U, /**< XBARB2_IN52 input is reserved. */
  765. kXBARB2_InputRESERVED53 = 53|0x200U, /**< XBARB2_IN53 input is reserved. */
  766. kXBARB2_InputRESERVED54 = 54|0x200U, /**< XBARB2_IN54 input is reserved. */
  767. kXBARB2_InputRESERVED55 = 55|0x200U, /**< XBARB2_IN55 input is reserved. */
  768. kXBARB2_InputRESERVED56 = 56|0x200U, /**< XBARB2_IN56 input is reserved. */
  769. kXBARB2_InputRESERVED57 = 57|0x200U, /**< XBARB2_IN57 input is reserved. */
  770. kXBARB2_InputPit1Trigger0 = 58|0x200U, /**< PIT1_TRIGGER0 output assigned to XBARB2_IN58 input. */
  771. kXBARB2_InputPit1Trigger1 = 59|0x200U, /**< PIT1_TRIGGER1 output assigned to XBARB2_IN59 input. */
  772. kXBARB2_InputAdcEtc0Coco0 = 60|0x200U, /**< ADC_ETC0_COCO0 output assigned to XBARB2_IN60 input. */
  773. kXBARB2_InputAdcEtc0Coco1 = 61|0x200U, /**< ADC_ETC0_COCO1 output assigned to XBARB2_IN61 input. */
  774. kXBARB2_InputAdcEtc0Coco2 = 62|0x200U, /**< ADC_ETC0_COCO2 output assigned to XBARB2_IN62 input. */
  775. kXBARB2_InputAdcEtc0Coco3 = 63|0x200U, /**< ADC_ETC0_COCO3 output assigned to XBARB2_IN63 input. */
  776. kXBARB2_InputAdcEtc1Coco0 = 64|0x200U, /**< ADC_ETC1_COCO0 output assigned to XBARB2_IN64 input. */
  777. kXBARB2_InputAdcEtc1Coco1 = 65|0x200U, /**< ADC_ETC1_COCO1 output assigned to XBARB2_IN65 input. */
  778. kXBARB2_InputAdcEtc1Coco2 = 66|0x200U, /**< ADC_ETC1_COCO2 output assigned to XBARB2_IN66 input. */
  779. kXBARB2_InputAdcEtc1Coco3 = 67|0x200U, /**< ADC_ETC1_COCO3 output assigned to XBARB2_IN67 input. */
  780. kXBARB2_InputRESERVED68 = 68|0x200U, /**< XBARB2_IN68 input is reserved. */
  781. kXBARB2_InputRESERVED69 = 69|0x200U, /**< XBARB2_IN69 input is reserved. */
  782. kXBARB2_InputRESERVED70 = 70|0x200U, /**< XBARB2_IN70 input is reserved. */
  783. kXBARB2_InputRESERVED71 = 71|0x200U, /**< XBARB2_IN71 input is reserved. */
  784. kXBARB2_InputRESERVED72 = 72|0x200U, /**< XBARB2_IN72 input is reserved. */
  785. kXBARB2_InputRESERVED73 = 73|0x200U, /**< XBARB2_IN73 input is reserved. */
  786. kXBARB2_InputRESERVED74 = 74|0x200U, /**< XBARB2_IN74 input is reserved. */
  787. kXBARB2_InputRESERVED75 = 75|0x200U, /**< XBARB2_IN75 input is reserved. */
  788. kXBARB2_InputDec1PosMatch = 76|0x200U, /**< DEC1_POS_MATCH output assigned to XBARB2_IN76 input. */
  789. kXBARB2_InputDec2PosMatch = 77|0x200U, /**< DEC2_POS_MATCH output assigned to XBARB2_IN77 input. */
  790. kXBARB2_InputDec3PosMatch = 78|0x200U, /**< DEC3_POS_MATCH output assigned to XBARB2_IN78 input. */
  791. kXBARB2_InputDec4PosMatch = 79|0x200U, /**< DEC4_POS_MATCH output assigned to XBARB2_IN79 input. */
  792. kXBARB2_InputRESERVED80 = 80|0x200U, /**< XBARB2_IN80 input is reserved. */
  793. kXBARB2_InputRESERVED81 = 81|0x200U, /**< XBARB2_IN81 input is reserved. */
  794. kXBARB2_InputDmaDone0 = 82|0x200U, /**< DMA_DONE0 output assigned to XBARB2_IN82 input. */
  795. kXBARB2_InputDmaDone1 = 83|0x200U, /**< DMA_DONE1 output assigned to XBARB2_IN83 input. */
  796. kXBARB2_InputDmaDone2 = 84|0x200U, /**< DMA_DONE2 output assigned to XBARB2_IN84 input. */
  797. kXBARB2_InputDmaDone3 = 85|0x200U, /**< DMA_DONE3 output assigned to XBARB2_IN85 input. */
  798. kXBARB2_InputDmaDone4 = 86|0x200U, /**< DMA_DONE4 output assigned to XBARB2_IN86 input. */
  799. kXBARB2_InputDmaDone5 = 87|0x200U, /**< DMA_DONE5 output assigned to XBARB2_IN87 input. */
  800. kXBARB2_InputDmaDone6 = 88|0x200U, /**< DMA_DONE6 output assigned to XBARB2_IN88 input. */
  801. kXBARB2_InputDmaDone7 = 89|0x200U, /**< DMA_DONE7 output assigned to XBARB2_IN89 input. */
  802. kXBARB2_InputDmaLpsrDone0 = 90|0x200U, /**< DMA_LPSR_DONE0 output assigned to XBARB2_IN90 input. */
  803. kXBARB2_InputDmaLpsrDone1 = 91|0x200U, /**< DMA_LPSR_DONE1 output assigned to XBARB2_IN91 input. */
  804. kXBARB2_InputDmaLpsrDone2 = 92|0x200U, /**< DMA_LPSR_DONE2 output assigned to XBARB2_IN92 input. */
  805. kXBARB2_InputDmaLpsrDone3 = 93|0x200U, /**< DMA_LPSR_DONE3 output assigned to XBARB2_IN93 input. */
  806. kXBARB2_InputDmaLpsrDone4 = 94|0x200U, /**< DMA_LPSR_DONE4 output assigned to XBARB2_IN94 input. */
  807. kXBARB2_InputDmaLpsrDone5 = 95|0x200U, /**< DMA_LPSR_DONE5 output assigned to XBARB2_IN95 input. */
  808. kXBARB2_InputDmaLpsrDone6 = 96|0x200U, /**< DMA_LPSR_DONE6 output assigned to XBARB2_IN96 input. */
  809. kXBARB2_InputDmaLpsrDone7 = 97|0x200U, /**< DMA_LPSR_DONE7 output assigned to XBARB2_IN97 input. */
  810. kXBARB3_InputLogicLow = 0|0x300U, /**< LOGIC_LOW output assigned to XBARB3_IN0 input. */
  811. kXBARB3_InputLogicHigh = 1|0x300U, /**< LOGIC_HIGH output assigned to XBARB3_IN1 input. */
  812. kXBARB3_InputAcmp1Out = 2|0x300U, /**< ACMP1_OUT output assigned to XBARB3_IN2 input. */
  813. kXBARB3_InputAcmp2Out = 3|0x300U, /**< ACMP2_OUT output assigned to XBARB3_IN3 input. */
  814. kXBARB3_InputAcmp3Out = 4|0x300U, /**< ACMP3_OUT output assigned to XBARB3_IN4 input. */
  815. kXBARB3_InputAcmp4Out = 5|0x300U, /**< ACMP4_OUT output assigned to XBARB3_IN5 input. */
  816. kXBARB3_InputRESERVED6 = 6|0x300U, /**< XBARB3_IN6 input is reserved. */
  817. kXBARB3_InputRESERVED7 = 7|0x300U, /**< XBARB3_IN7 input is reserved. */
  818. kXBARB3_InputRESERVED8 = 8|0x300U, /**< XBARB3_IN8 input is reserved. */
  819. kXBARB3_InputRESERVED9 = 9|0x300U, /**< XBARB3_IN9 input is reserved. */
  820. kXBARB3_InputQtimer1Timer0 = 10|0x300U, /**< QTIMER1_TIMER0 output assigned to XBARB3_IN10 input. */
  821. kXBARB3_InputQtimer1Timer1 = 11|0x300U, /**< QTIMER1_TIMER1 output assigned to XBARB3_IN11 input. */
  822. kXBARB3_InputQtimer1Timer2 = 12|0x300U, /**< QTIMER1_TIMER2 output assigned to XBARB3_IN12 input. */
  823. kXBARB3_InputQtimer1Timer3 = 13|0x300U, /**< QTIMER1_TIMER3 output assigned to XBARB3_IN13 input. */
  824. kXBARB3_InputQtimer2Timer0 = 14|0x300U, /**< QTIMER2_TIMER0 output assigned to XBARB3_IN14 input. */
  825. kXBARB3_InputQtimer2Timer1 = 15|0x300U, /**< QTIMER2_TIMER1 output assigned to XBARB3_IN15 input. */
  826. kXBARB3_InputQtimer2Timer2 = 16|0x300U, /**< QTIMER2_TIMER2 output assigned to XBARB3_IN16 input. */
  827. kXBARB3_InputQtimer2Timer3 = 17|0x300U, /**< QTIMER2_TIMER3 output assigned to XBARB3_IN17 input. */
  828. kXBARB3_InputQtimer3Timer0 = 18|0x300U, /**< QTIMER3_TIMER0 output assigned to XBARB3_IN18 input. */
  829. kXBARB3_InputQtimer3Timer1 = 19|0x300U, /**< QTIMER3_TIMER1 output assigned to XBARB3_IN19 input. */
  830. kXBARB3_InputQtimer3Timer2 = 20|0x300U, /**< QTIMER3_TIMER2 output assigned to XBARB3_IN20 input. */
  831. kXBARB3_InputQtimer3Timer3 = 21|0x300U, /**< QTIMER3_TIMER3 output assigned to XBARB3_IN21 input. */
  832. kXBARB3_InputQtimer4Timer0 = 22|0x300U, /**< QTIMER4_TIMER0 output assigned to XBARB3_IN22 input. */
  833. kXBARB3_InputQtimer4Timer1 = 23|0x300U, /**< QTIMER4_TIMER1 output assigned to XBARB3_IN23 input. */
  834. kXBARB3_InputQtimer4Timer2 = 24|0x300U, /**< QTIMER4_TIMER2 output assigned to XBARB3_IN24 input. */
  835. kXBARB3_InputQtimer4Timer3 = 25|0x300U, /**< QTIMER4_TIMER3 output assigned to XBARB3_IN25 input. */
  836. kXBARB3_InputRESERVED26 = 26|0x300U, /**< XBARB3_IN26 input is reserved. */
  837. kXBARB3_InputRESERVED27 = 27|0x300U, /**< XBARB3_IN27 input is reserved. */
  838. kXBARB3_InputRESERVED28 = 28|0x300U, /**< XBARB3_IN28 input is reserved. */
  839. kXBARB3_InputRESERVED29 = 29|0x300U, /**< XBARB3_IN29 input is reserved. */
  840. kXBARB3_InputRESERVED30 = 30|0x300U, /**< XBARB3_IN30 input is reserved. */
  841. kXBARB3_InputRESERVED31 = 31|0x300U, /**< XBARB3_IN31 input is reserved. */
  842. kXBARB3_InputRESERVED32 = 32|0x300U, /**< XBARB3_IN32 input is reserved. */
  843. kXBARB3_InputRESERVED33 = 33|0x300U, /**< XBARB3_IN33 input is reserved. */
  844. kXBARB3_InputFlexpwm1Pwm0OutTrig01 = 34|0x300U, /**< FLEXPWM1_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN34 input. */
  845. kXBARB3_InputFlexpwm1Pwm1OutTrig01 = 35|0x300U, /**< FLEXPWM1_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN35 input. */
  846. kXBARB3_InputFlexpwm1Pwm2OutTrig01 = 36|0x300U, /**< FLEXPWM1_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN36 input. */
  847. kXBARB3_InputFlexpwm1Pwm3OutTrig01 = 37|0x300U, /**< FLEXPWM1_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN37 input. */
  848. kXBARB3_InputFlexpwm2Pwm0OutTrig01 = 38|0x300U, /**< FLEXPWM2_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN38 input. */
  849. kXBARB3_InputFlexpwm2Pwm1OutTrig01 = 39|0x300U, /**< FLEXPWM2_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN39 input. */
  850. kXBARB3_InputFlexpwm2Pwm2OutTrig01 = 40|0x300U, /**< FLEXPWM2_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN40 input. */
  851. kXBARB3_InputFlexpwm2Pwm3OutTrig01 = 41|0x300U, /**< FLEXPWM2_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN41 input. */
  852. kXBARB3_InputFlexpwm3Pwm0OutTrig01 = 42|0x300U, /**< FLEXPWM3_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN42 input. */
  853. kXBARB3_InputFlexpwm3Pwm1OutTrig01 = 43|0x300U, /**< FLEXPWM3_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN43 input. */
  854. kXBARB3_InputFlexpwm3Pwm2OutTrig01 = 44|0x300U, /**< FLEXPWM3_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN44 input. */
  855. kXBARB3_InputFlexpwm3Pwm3OutTrig01 = 45|0x300U, /**< FLEXPWM3_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN45 input. */
  856. kXBARB3_InputFlexpwm4Pwm0OutTrig01 = 46|0x300U, /**< FLEXPWM4_PWM0_OUT_TRIG0_1 output assigned to XBARB3_IN46 input. */
  857. kXBARB3_InputFlexpwm4Pwm1OutTrig01 = 47|0x300U, /**< FLEXPWM4_PWM1_OUT_TRIG0_1 output assigned to XBARB3_IN47 input. */
  858. kXBARB3_InputFlexpwm4Pwm2OutTrig01 = 48|0x300U, /**< FLEXPWM4_PWM2_OUT_TRIG0_1 output assigned to XBARB3_IN48 input. */
  859. kXBARB3_InputFlexpwm4Pwm3OutTrig01 = 49|0x300U, /**< FLEXPWM4_PWM3_OUT_TRIG0_1 output assigned to XBARB3_IN49 input. */
  860. kXBARB3_InputRESERVED50 = 50|0x300U, /**< XBARB3_IN50 input is reserved. */
  861. kXBARB3_InputRESERVED51 = 51|0x300U, /**< XBARB3_IN51 input is reserved. */
  862. kXBARB3_InputRESERVED52 = 52|0x300U, /**< XBARB3_IN52 input is reserved. */
  863. kXBARB3_InputRESERVED53 = 53|0x300U, /**< XBARB3_IN53 input is reserved. */
  864. kXBARB3_InputRESERVED54 = 54|0x300U, /**< XBARB3_IN54 input is reserved. */
  865. kXBARB3_InputRESERVED55 = 55|0x300U, /**< XBARB3_IN55 input is reserved. */
  866. kXBARB3_InputRESERVED56 = 56|0x300U, /**< XBARB3_IN56 input is reserved. */
  867. kXBARB3_InputRESERVED57 = 57|0x300U, /**< XBARB3_IN57 input is reserved. */
  868. kXBARB3_InputPit1Trigger0 = 58|0x300U, /**< PIT1_TRIGGER0 output assigned to XBARB3_IN58 input. */
  869. kXBARB3_InputPit1Trigger1 = 59|0x300U, /**< PIT1_TRIGGER1 output assigned to XBARB3_IN59 input. */
  870. kXBARB3_InputAdcEtc0Coco0 = 60|0x300U, /**< ADC_ETC0_COCO0 output assigned to XBARB3_IN60 input. */
  871. kXBARB3_InputAdcEtc0Coco1 = 61|0x300U, /**< ADC_ETC0_COCO1 output assigned to XBARB3_IN61 input. */
  872. kXBARB3_InputAdcEtc0Coco2 = 62|0x300U, /**< ADC_ETC0_COCO2 output assigned to XBARB3_IN62 input. */
  873. kXBARB3_InputAdcEtc0Coco3 = 63|0x300U, /**< ADC_ETC0_COCO3 output assigned to XBARB3_IN63 input. */
  874. kXBARB3_InputAdcEtc1Coco0 = 64|0x300U, /**< ADC_ETC1_COCO0 output assigned to XBARB3_IN64 input. */
  875. kXBARB3_InputAdcEtc1Coco1 = 65|0x300U, /**< ADC_ETC1_COCO1 output assigned to XBARB3_IN65 input. */
  876. kXBARB3_InputAdcEtc1Coco2 = 66|0x300U, /**< ADC_ETC1_COCO2 output assigned to XBARB3_IN66 input. */
  877. kXBARB3_InputAdcEtc1Coco3 = 67|0x300U, /**< ADC_ETC1_COCO3 output assigned to XBARB3_IN67 input. */
  878. kXBARB3_InputRESERVED68 = 68|0x300U, /**< XBARB3_IN68 input is reserved. */
  879. kXBARB3_InputRESERVED69 = 69|0x300U, /**< XBARB3_IN69 input is reserved. */
  880. kXBARB3_InputRESERVED70 = 70|0x300U, /**< XBARB3_IN70 input is reserved. */
  881. kXBARB3_InputRESERVED71 = 71|0x300U, /**< XBARB3_IN71 input is reserved. */
  882. kXBARB3_InputRESERVED72 = 72|0x300U, /**< XBARB3_IN72 input is reserved. */
  883. kXBARB3_InputRESERVED73 = 73|0x300U, /**< XBARB3_IN73 input is reserved. */
  884. kXBARB3_InputRESERVED74 = 74|0x300U, /**< XBARB3_IN74 input is reserved. */
  885. kXBARB3_InputRESERVED75 = 75|0x300U, /**< XBARB3_IN75 input is reserved. */
  886. kXBARB3_InputDec1PosMatch = 76|0x300U, /**< DEC1_POS_MATCH output assigned to XBARB3_IN76 input. */
  887. kXBARB3_InputDec2PosMatch = 77|0x300U, /**< DEC2_POS_MATCH output assigned to XBARB3_IN77 input. */
  888. kXBARB3_InputDec3PosMatch = 78|0x300U, /**< DEC3_POS_MATCH output assigned to XBARB3_IN78 input. */
  889. kXBARB3_InputDec4PosMatch = 79|0x300U, /**< DEC4_POS_MATCH output assigned to XBARB3_IN79 input. */
  890. kXBARB3_InputRESERVED80 = 80|0x300U, /**< XBARB3_IN80 input is reserved. */
  891. kXBARB3_InputRESERVED81 = 81|0x300U, /**< XBARB3_IN81 input is reserved. */
  892. kXBARB3_InputDmaDone0 = 82|0x300U, /**< DMA_DONE0 output assigned to XBARB3_IN82 input. */
  893. kXBARB3_InputDmaDone1 = 83|0x300U, /**< DMA_DONE1 output assigned to XBARB3_IN83 input. */
  894. kXBARB3_InputDmaDone2 = 84|0x300U, /**< DMA_DONE2 output assigned to XBARB3_IN84 input. */
  895. kXBARB3_InputDmaDone3 = 85|0x300U, /**< DMA_DONE3 output assigned to XBARB3_IN85 input. */
  896. kXBARB3_InputDmaDone4 = 86|0x300U, /**< DMA_DONE4 output assigned to XBARB3_IN86 input. */
  897. kXBARB3_InputDmaDone5 = 87|0x300U, /**< DMA_DONE5 output assigned to XBARB3_IN87 input. */
  898. kXBARB3_InputDmaDone6 = 88|0x300U, /**< DMA_DONE6 output assigned to XBARB3_IN88 input. */
  899. kXBARB3_InputDmaDone7 = 89|0x300U, /**< DMA_DONE7 output assigned to XBARB3_IN89 input. */
  900. kXBARB3_InputDmaLpsrDone0 = 90|0x300U, /**< DMA_LPSR_DONE0 output assigned to XBARB3_IN90 input. */
  901. kXBARB3_InputDmaLpsrDone1 = 91|0x300U, /**< DMA_LPSR_DONE1 output assigned to XBARB3_IN91 input. */
  902. kXBARB3_InputDmaLpsrDone2 = 92|0x300U, /**< DMA_LPSR_DONE2 output assigned to XBARB3_IN92 input. */
  903. kXBARB3_InputDmaLpsrDone3 = 93|0x300U, /**< DMA_LPSR_DONE3 output assigned to XBARB3_IN93 input. */
  904. kXBARB3_InputDmaLpsrDone4 = 94|0x300U, /**< DMA_LPSR_DONE4 output assigned to XBARB3_IN94 input. */
  905. kXBARB3_InputDmaLpsrDone5 = 95|0x300U, /**< DMA_LPSR_DONE5 output assigned to XBARB3_IN95 input. */
  906. kXBARB3_InputDmaLpsrDone6 = 96|0x300U, /**< DMA_LPSR_DONE6 output assigned to XBARB3_IN96 input. */
  907. kXBARB3_InputDmaLpsrDone7 = 97|0x300U, /**< DMA_LPSR_DONE7 output assigned to XBARB3_IN97 input. */
  908. } xbar_input_signal_t;
  909. typedef enum _xbar_output_signal
  910. {
  911. kXBARA1_OutputDmaChMuxReq81 = 0|0x100U, /**< XBARA1_OUT0 output assigned to DMA_CH_MUX_REQ81 */
  912. kXBARA1_OutputDmaChMuxReq82 = 1|0x100U, /**< XBARA1_OUT1 output assigned to DMA_CH_MUX_REQ82 */
  913. kXBARA1_OutputDmaChMuxReq83 = 2|0x100U, /**< XBARA1_OUT2 output assigned to DMA_CH_MUX_REQ83 */
  914. kXBARA1_OutputDmaChMuxReq84 = 3|0x100U, /**< XBARA1_OUT3 output assigned to DMA_CH_MUX_REQ84 */
  915. kXBARA1_OutputIomuxXbarInout04 = 4|0x100U, /**< XBARA1_OUT4 output assigned to IOMUX_XBAR_INOUT04 */
  916. kXBARA1_OutputIomuxXbarInout05 = 5|0x100U, /**< XBARA1_OUT5 output assigned to IOMUX_XBAR_INOUT05 */
  917. kXBARA1_OutputIomuxXbarInout06 = 6|0x100U, /**< XBARA1_OUT6 output assigned to IOMUX_XBAR_INOUT06 */
  918. kXBARA1_OutputIomuxXbarInout07 = 7|0x100U, /**< XBARA1_OUT7 output assigned to IOMUX_XBAR_INOUT07 */
  919. kXBARA1_OutputIomuxXbarInout08 = 8|0x100U, /**< XBARA1_OUT8 output assigned to IOMUX_XBAR_INOUT08 */
  920. kXBARA1_OutputIomuxXbarInout09 = 9|0x100U, /**< XBARA1_OUT9 output assigned to IOMUX_XBAR_INOUT09 */
  921. kXBARA1_OutputIomuxXbarInout10 = 10|0x100U, /**< XBARA1_OUT10 output assigned to IOMUX_XBAR_INOUT10 */
  922. kXBARA1_OutputIomuxXbarInout11 = 11|0x100U, /**< XBARA1_OUT11 output assigned to IOMUX_XBAR_INOUT11 */
  923. kXBARA1_OutputIomuxXbarInout12 = 12|0x100U, /**< XBARA1_OUT12 output assigned to IOMUX_XBAR_INOUT12 */
  924. kXBARA1_OutputIomuxXbarInout13 = 13|0x100U, /**< XBARA1_OUT13 output assigned to IOMUX_XBAR_INOUT13 */
  925. kXBARA1_OutputIomuxXbarInout14 = 14|0x100U, /**< XBARA1_OUT14 output assigned to IOMUX_XBAR_INOUT14 */
  926. kXBARA1_OutputIomuxXbarInout15 = 15|0x100U, /**< XBARA1_OUT15 output assigned to IOMUX_XBAR_INOUT15 */
  927. kXBARA1_OutputIomuxXbarInout16 = 16|0x100U, /**< XBARA1_OUT16 output assigned to IOMUX_XBAR_INOUT16 */
  928. kXBARA1_OutputIomuxXbarInout17 = 17|0x100U, /**< XBARA1_OUT17 output assigned to IOMUX_XBAR_INOUT17 */
  929. kXBARA1_OutputIomuxXbarInout18 = 18|0x100U, /**< XBARA1_OUT18 output assigned to IOMUX_XBAR_INOUT18 */
  930. kXBARA1_OutputIomuxXbarInout19 = 19|0x100U, /**< XBARA1_OUT19 output assigned to IOMUX_XBAR_INOUT19 */
  931. kXBARA1_OutputIomuxXbarInout20 = 20|0x100U, /**< XBARA1_OUT20 output assigned to IOMUX_XBAR_INOUT20 */
  932. kXBARA1_OutputIomuxXbarInout21 = 21|0x100U, /**< XBARA1_OUT21 output assigned to IOMUX_XBAR_INOUT21 */
  933. kXBARA1_OutputIomuxXbarInout22 = 22|0x100U, /**< XBARA1_OUT22 output assigned to IOMUX_XBAR_INOUT22 */
  934. kXBARA1_OutputIomuxXbarInout23 = 23|0x100U, /**< XBARA1_OUT23 output assigned to IOMUX_XBAR_INOUT23 */
  935. kXBARA1_OutputIomuxXbarInout24 = 24|0x100U, /**< XBARA1_OUT24 output assigned to IOMUX_XBAR_INOUT24 */
  936. kXBARA1_OutputIomuxXbarInout25 = 25|0x100U, /**< XBARA1_OUT25 output assigned to IOMUX_XBAR_INOUT25 */
  937. kXBARA1_OutputIomuxXbarInout26 = 26|0x100U, /**< XBARA1_OUT26 output assigned to IOMUX_XBAR_INOUT26 */
  938. kXBARA1_OutputIomuxXbarInout27 = 27|0x100U, /**< XBARA1_OUT27 output assigned to IOMUX_XBAR_INOUT27 */
  939. kXBARA1_OutputIomuxXbarInout28 = 28|0x100U, /**< XBARA1_OUT28 output assigned to IOMUX_XBAR_INOUT28 */
  940. kXBARA1_OutputIomuxXbarInout29 = 29|0x100U, /**< XBARA1_OUT29 output assigned to IOMUX_XBAR_INOUT29 */
  941. kXBARA1_OutputIomuxXbarInout30 = 30|0x100U, /**< XBARA1_OUT30 output assigned to IOMUX_XBAR_INOUT30 */
  942. kXBARA1_OutputIomuxXbarInout31 = 31|0x100U, /**< XBARA1_OUT31 output assigned to IOMUX_XBAR_INOUT31 */
  943. kXBARA1_OutputIomuxXbarInout32 = 32|0x100U, /**< XBARA1_OUT32 output assigned to IOMUX_XBAR_INOUT32 */
  944. kXBARA1_OutputIomuxXbarInout33 = 33|0x100U, /**< XBARA1_OUT33 output assigned to IOMUX_XBAR_INOUT33 */
  945. kXBARA1_OutputIomuxXbarInout34 = 34|0x100U, /**< XBARA1_OUT34 output assigned to IOMUX_XBAR_INOUT34 */
  946. kXBARA1_OutputIomuxXbarInout35 = 35|0x100U, /**< XBARA1_OUT35 output assigned to IOMUX_XBAR_INOUT35 */
  947. kXBARA1_OutputIomuxXbarInout36 = 36|0x100U, /**< XBARA1_OUT36 output assigned to IOMUX_XBAR_INOUT36 */
  948. kXBARA1_OutputIomuxXbarInout37 = 37|0x100U, /**< XBARA1_OUT37 output assigned to IOMUX_XBAR_INOUT37 */
  949. kXBARA1_OutputIomuxXbarInout38 = 38|0x100U, /**< XBARA1_OUT38 output assigned to IOMUX_XBAR_INOUT38 */
  950. kXBARA1_OutputIomuxXbarInout39 = 39|0x100U, /**< XBARA1_OUT39 output assigned to IOMUX_XBAR_INOUT39 */
  951. kXBARA1_OutputIomuxXbarInout40 = 40|0x100U, /**< XBARA1_OUT40 output assigned to IOMUX_XBAR_INOUT40 */
  952. kXBARA1_OutputAcmp1Sample = 41|0x100U, /**< XBARA1_OUT41 output assigned to ACMP1_SAMPLE */
  953. kXBARA1_OutputAcmp2Sample = 42|0x100U, /**< XBARA1_OUT42 output assigned to ACMP2_SAMPLE */
  954. kXBARA1_OutputAcmp3Sample = 43|0x100U, /**< XBARA1_OUT43 output assigned to ACMP3_SAMPLE */
  955. kXBARA1_OutputAcmp4Sample = 44|0x100U, /**< XBARA1_OUT44 output assigned to ACMP4_SAMPLE */
  956. kXBARA1_OutputRESERVED45 = 45|0x100U, /**< XBARA1_OUT45 output is reserved. */
  957. kXBARA1_OutputRESERVED46 = 46|0x100U, /**< XBARA1_OUT46 output is reserved. */
  958. kXBARA1_OutputRESERVED47 = 47|0x100U, /**< XBARA1_OUT47 output is reserved. */
  959. kXBARA1_OutputRESERVED48 = 48|0x100U, /**< XBARA1_OUT48 output is reserved. */
  960. kXBARA1_OutputFlexpwm1Pwm0Exta = 49|0x100U, /**< XBARA1_OUT49 output assigned to FLEXPWM1_PWM0_EXTA */
  961. kXBARA1_OutputFlexpwm1Pwm1Exta = 50|0x100U, /**< XBARA1_OUT50 output assigned to FLEXPWM1_PWM1_EXTA */
  962. kXBARA1_OutputFlexpwm1Pwm2Exta = 51|0x100U, /**< XBARA1_OUT51 output assigned to FLEXPWM1_PWM2_EXTA */
  963. kXBARA1_OutputFlexpwm1Pwm3Exta = 52|0x100U, /**< XBARA1_OUT52 output assigned to FLEXPWM1_PWM3_EXTA */
  964. kXBARA1_OutputFlexpwm1Pwm0ExtSync = 53|0x100U, /**< XBARA1_OUT53 output assigned to FLEXPWM1_PWM0_EXT_SYNC */
  965. kXBARA1_OutputFlexpwm1Pwm1ExtSync = 54|0x100U, /**< XBARA1_OUT54 output assigned to FLEXPWM1_PWM1_EXT_SYNC */
  966. kXBARA1_OutputFlexpwm1Pwm2ExtSync = 55|0x100U, /**< XBARA1_OUT55 output assigned to FLEXPWM1_PWM2_EXT_SYNC */
  967. kXBARA1_OutputFlexpwm1Pwm3ExtSync = 56|0x100U, /**< XBARA1_OUT56 output assigned to FLEXPWM1_PWM3_EXT_SYNC */
  968. kXBARA1_OutputFlexpwm1ExtClk = 57|0x100U, /**< XBARA1_OUT57 output assigned to FLEXPWM1_EXT_CLK */
  969. kXBARA1_OutputFlexpwm1Fault0 = 58|0x100U, /**< XBARA1_OUT58 output assigned to FLEXPWM1_FAULT0 */
  970. kXBARA1_OutputFlexpwm1Fault1 = 59|0x100U, /**< XBARA1_OUT59 output assigned to FLEXPWM1_FAULT1 */
  971. kXBARA1_OutputFlexpwm1234Fault2 = 60|0x100U, /**< XBARA1_OUT60 output assigned to FLEXPWM1_2_3_4_FAULT2 */
  972. kXBARA1_OutputFlexpwm1234Fault3 = 61|0x100U, /**< XBARA1_OUT61 output assigned to FLEXPWM1_2_3_4_FAULT3 */
  973. kXBARA1_OutputFlexpwm1ExtForce = 62|0x100U, /**< XBARA1_OUT62 output assigned to FLEXPWM1_EXT_FORCE */
  974. kXBARA1_OutputFlexpwm2Pwm0Exta = 63|0x100U, /**< XBARA1_OUT63 output assigned to FLEXPWM2_PWM0_EXTA */
  975. kXBARA1_OutputFlexpwm2Pwm1Exta = 64|0x100U, /**< XBARA1_OUT64 output assigned to FLEXPWM2_PWM1_EXTA */
  976. kXBARA1_OutputFlexpwm2Pwm2Exta = 65|0x100U, /**< XBARA1_OUT65 output assigned to FLEXPWM2_PWM2_EXTA */
  977. kXBARA1_OutputFlexpwm2Pwm3Exta = 66|0x100U, /**< XBARA1_OUT66 output assigned to FLEXPWM2_PWM3_EXTA */
  978. kXBARA1_OutputFlexpwm2Pwm0ExtSync = 67|0x100U, /**< XBARA1_OUT67 output assigned to FLEXPWM2_PWM0_EXT_SYNC */
  979. kXBARA1_OutputFlexpwm2Pwm1ExtSync = 68|0x100U, /**< XBARA1_OUT68 output assigned to FLEXPWM2_PWM1_EXT_SYNC */
  980. kXBARA1_OutputFlexpwm2Pwm2ExtSync = 69|0x100U, /**< XBARA1_OUT69 output assigned to FLEXPWM2_PWM2_EXT_SYNC */
  981. kXBARA1_OutputFlexpwm2Pwm3ExtSync = 70|0x100U, /**< XBARA1_OUT70 output assigned to FLEXPWM2_PWM3_EXT_SYNC */
  982. kXBARA1_OutputFlexpwm2ExtClk = 71|0x100U, /**< XBARA1_OUT71 output assigned to FLEXPWM2_EXT_CLK */
  983. kXBARA1_OutputFlexpwm2Fault0 = 72|0x100U, /**< XBARA1_OUT72 output assigned to FLEXPWM2_FAULT0 */
  984. kXBARA1_OutputFlexpwm2Fault1 = 73|0x100U, /**< XBARA1_OUT73 output assigned to FLEXPWM2_FAULT1 */
  985. kXBARA1_OutputFlexpwm2ExtForce = 74|0x100U, /**< XBARA1_OUT74 output assigned to FLEXPWM2_EXT_FORCE */
  986. kXBARA1_OutputFlexpwm34Pwm0Exta = 75|0x100U, /**< XBARA1_OUT75 output assigned to FLEXPWM3_4_PWM0_EXTA */
  987. kXBARA1_OutputFlexpwm34Pwm1Exta = 76|0x100U, /**< XBARA1_OUT76 output assigned to FLEXPWM3_4_PWM1_EXTA */
  988. kXBARA1_OutputFlexpwm34Pwm2Exta = 77|0x100U, /**< XBARA1_OUT77 output assigned to FLEXPWM3_4_PWM2_EXTA */
  989. kXBARA1_OutputFlexpwm34Pwm3Exta = 78|0x100U, /**< XBARA1_OUT78 output assigned to FLEXPWM3_4_PWM3_EXTA */
  990. kXBARA1_OutputFlexpwm34ExtClk = 79|0x100U, /**< XBARA1_OUT79 output assigned to FLEXPWM3_4_EXT_CLK */
  991. kXBARA1_OutputFlexpwm3Pwm0ExtSync = 80|0x100U, /**< XBARA1_OUT80 output assigned to FLEXPWM3_PWM0_EXT_SYNC */
  992. kXBARA1_OutputFlexpwm3Pwm1ExtSync = 81|0x100U, /**< XBARA1_OUT81 output assigned to FLEXPWM3_PWM1_EXT_SYNC */
  993. kXBARA1_OutputFlexpwm3Pwm2ExtSync = 82|0x100U, /**< XBARA1_OUT82 output assigned to FLEXPWM3_PWM2_EXT_SYNC */
  994. kXBARA1_OutputFlexpwm3Pwm3ExtSync = 83|0x100U, /**< XBARA1_OUT83 output assigned to FLEXPWM3_PWM3_EXT_SYNC */
  995. kXBARA1_OutputFlexpwm3Fault0 = 84|0x100U, /**< XBARA1_OUT84 output assigned to FLEXPWM3_FAULT0 */
  996. kXBARA1_OutputFlexpwm3Fault1 = 85|0x100U, /**< XBARA1_OUT85 output assigned to FLEXPWM3_FAULT1 */
  997. kXBARA1_OutputFlexpwm3ExtForce = 86|0x100U, /**< XBARA1_OUT86 output assigned to FLEXPWM3_EXT_FORCE */
  998. kXBARA1_OutputFlexpwm4Pwm0ExtSync = 87|0x100U, /**< XBARA1_OUT87 output assigned to FLEXPWM4_PWM0_EXT_SYNC */
  999. kXBARA1_OutputFlexpwm4Pwm1ExtSync = 88|0x100U, /**< XBARA1_OUT88 output assigned to FLEXPWM4_PWM1_EXT_SYNC */
  1000. kXBARA1_OutputFlexpwm4Pwm2ExtSync = 89|0x100U, /**< XBARA1_OUT89 output assigned to FLEXPWM4_PWM2_EXT_SYNC */
  1001. kXBARA1_OutputFlexpwm4Pwm3ExtSync = 90|0x100U, /**< XBARA1_OUT90 output assigned to FLEXPWM4_PWM3_EXT_SYNC */
  1002. kXBARA1_OutputFlexpwm4Fault0 = 91|0x100U, /**< XBARA1_OUT91 output assigned to FLEXPWM4_FAULT0 */
  1003. kXBARA1_OutputFlexpwm4Fault1 = 92|0x100U, /**< XBARA1_OUT92 output assigned to FLEXPWM4_FAULT1 */
  1004. kXBARA1_OutputFlexpwm4ExtForce = 93|0x100U, /**< XBARA1_OUT93 output assigned to FLEXPWM4_EXT_FORCE */
  1005. kXBARA1_OutputRESERVED94 = 94|0x100U, /**< XBARA1_OUT94 output is reserved. */
  1006. kXBARA1_OutputRESERVED95 = 95|0x100U, /**< XBARA1_OUT95 output is reserved. */
  1007. kXBARA1_OutputRESERVED96 = 96|0x100U, /**< XBARA1_OUT96 output is reserved. */
  1008. kXBARA1_OutputRESERVED97 = 97|0x100U, /**< XBARA1_OUT97 output is reserved. */
  1009. kXBARA1_OutputRESERVED98 = 98|0x100U, /**< XBARA1_OUT98 output is reserved. */
  1010. kXBARA1_OutputRESERVED99 = 99|0x100U, /**< XBARA1_OUT99 output is reserved. */
  1011. kXBARA1_OutputRESERVED100 = 100|0x100U, /**< XBARA1_OUT100 output is reserved. */
  1012. kXBARA1_OutputRESERVED101 = 101|0x100U, /**< XBARA1_OUT101 output is reserved. */
  1013. kXBARA1_OutputRESERVED102 = 102|0x100U, /**< XBARA1_OUT102 output is reserved. */
  1014. kXBARA1_OutputRESERVED103 = 103|0x100U, /**< XBARA1_OUT103 output is reserved. */
  1015. kXBARA1_OutputRESERVED104 = 104|0x100U, /**< XBARA1_OUT104 output is reserved. */
  1016. kXBARA1_OutputRESERVED105 = 105|0x100U, /**< XBARA1_OUT105 output is reserved. */
  1017. kXBARA1_OutputRESERVED106 = 106|0x100U, /**< XBARA1_OUT106 output is reserved. */
  1018. kXBARA1_OutputRESERVED107 = 107|0x100U, /**< XBARA1_OUT107 output is reserved. */
  1019. kXBARA1_OutputDec1Phasea = 108|0x100U, /**< XBARA1_OUT108 output assigned to DEC1_PHASEA */
  1020. kXBARA1_OutputDec1Phaseb = 109|0x100U, /**< XBARA1_OUT109 output assigned to DEC1_PHASEB */
  1021. kXBARA1_OutputDec1Index = 110|0x100U, /**< XBARA1_OUT110 output assigned to DEC1_INDEX */
  1022. kXBARA1_OutputDec1Home = 111|0x100U, /**< XBARA1_OUT111 output assigned to DEC1_HOME */
  1023. kXBARA1_OutputDec1Trigger = 112|0x100U, /**< XBARA1_OUT112 output assigned to DEC1_TRIGGER */
  1024. kXBARA1_OutputDec2Phasea = 113|0x100U, /**< XBARA1_OUT113 output assigned to DEC2_PHASEA */
  1025. kXBARA1_OutputDec2Phaseb = 114|0x100U, /**< XBARA1_OUT114 output assigned to DEC2_PHASEB */
  1026. kXBARA1_OutputDec2Index = 115|0x100U, /**< XBARA1_OUT115 output assigned to DEC2_INDEX */
  1027. kXBARA1_OutputDec2Home = 116|0x100U, /**< XBARA1_OUT116 output assigned to DEC2_HOME */
  1028. kXBARA1_OutputDec2Trigger = 117|0x100U, /**< XBARA1_OUT117 output assigned to DEC2_TRIGGER */
  1029. kXBARA1_OutputDec3Phasea = 118|0x100U, /**< XBARA1_OUT118 output assigned to DEC3_PHASEA */
  1030. kXBARA1_OutputDec3Phaseb = 119|0x100U, /**< XBARA1_OUT119 output assigned to DEC3_PHASEB */
  1031. kXBARA1_OutputDec3Index = 120|0x100U, /**< XBARA1_OUT120 output assigned to DEC3_INDEX */
  1032. kXBARA1_OutputDec3Home = 121|0x100U, /**< XBARA1_OUT121 output assigned to DEC3_HOME */
  1033. kXBARA1_OutputDec3Trigger = 122|0x100U, /**< XBARA1_OUT122 output assigned to DEC3_TRIGGER */
  1034. kXBARA1_OutputDec4Phasea = 123|0x100U, /**< XBARA1_OUT123 output assigned to DEC4_PHASEA */
  1035. kXBARA1_OutputDec4Phaseb = 124|0x100U, /**< XBARA1_OUT124 output assigned to DEC4_PHASEB */
  1036. kXBARA1_OutputDec4Index = 125|0x100U, /**< XBARA1_OUT125 output assigned to DEC4_INDEX */
  1037. kXBARA1_OutputDec4Home = 126|0x100U, /**< XBARA1_OUT126 output assigned to DEC4_HOME */
  1038. kXBARA1_OutputDec4Trigger = 127|0x100U, /**< XBARA1_OUT127 output assigned to DEC4_TRIGGER */
  1039. kXBARA1_OutputRESERVED128 = 128|0x100U, /**< XBARA1_OUT128 output is reserved. */
  1040. kXBARA1_OutputRESERVED129 = 129|0x100U, /**< XBARA1_OUT129 output is reserved. */
  1041. kXBARA1_OutputRESERVED130 = 130|0x100U, /**< XBARA1_OUT130 output is reserved. */
  1042. kXBARA1_OutputRESERVED131 = 131|0x100U, /**< XBARA1_OUT131 output is reserved. */
  1043. kXBARA1_OutputCan1 = 132|0x100U, /**< XBARA1_OUT132 output assigned to CAN1 */
  1044. kXBARA1_OutputCan2 = 133|0x100U, /**< XBARA1_OUT133 output assigned to CAN2 */
  1045. kXBARA1_OutputRESERVED134 = 134|0x100U, /**< XBARA1_OUT134 output is reserved. */
  1046. kXBARA1_OutputRESERVED135 = 135|0x100U, /**< XBARA1_OUT135 output is reserved. */
  1047. kXBARA1_OutputRESERVED136 = 136|0x100U, /**< XBARA1_OUT136 output is reserved. */
  1048. kXBARA1_OutputRESERVED137 = 137|0x100U, /**< XBARA1_OUT137 output is reserved. */
  1049. kXBARA1_OutputQtimer1Timer0 = 138|0x100U, /**< XBARA1_OUT138 output assigned to QTIMER1_TIMER0 */
  1050. kXBARA1_OutputQtimer1Timer1 = 139|0x100U, /**< XBARA1_OUT139 output assigned to QTIMER1_TIMER1 */
  1051. kXBARA1_OutputQtimer1Timer2 = 140|0x100U, /**< XBARA1_OUT140 output assigned to QTIMER1_TIMER2 */
  1052. kXBARA1_OutputQtimer1Timer3 = 141|0x100U, /**< XBARA1_OUT141 output assigned to QTIMER1_TIMER3 */
  1053. kXBARA1_OutputQtimer2Timer0 = 142|0x100U, /**< XBARA1_OUT142 output assigned to QTIMER2_TIMER0 */
  1054. kXBARA1_OutputQtimer2Timer1 = 143|0x100U, /**< XBARA1_OUT143 output assigned to QTIMER2_TIMER1 */
  1055. kXBARA1_OutputQtimer2Timer2 = 144|0x100U, /**< XBARA1_OUT144 output assigned to QTIMER2_TIMER2 */
  1056. kXBARA1_OutputQtimer2Timer3 = 145|0x100U, /**< XBARA1_OUT145 output assigned to QTIMER2_TIMER3 */
  1057. kXBARA1_OutputQtimer3Timer0 = 146|0x100U, /**< XBARA1_OUT146 output assigned to QTIMER3_TIMER0 */
  1058. kXBARA1_OutputQtimer3Timer1 = 147|0x100U, /**< XBARA1_OUT147 output assigned to QTIMER3_TIMER1 */
  1059. kXBARA1_OutputQtimer3Timer2 = 148|0x100U, /**< XBARA1_OUT148 output assigned to QTIMER3_TIMER2 */
  1060. kXBARA1_OutputQtimer3Timer3 = 149|0x100U, /**< XBARA1_OUT149 output assigned to QTIMER3_TIMER3 */
  1061. kXBARA1_OutputQtimer4Timer0 = 150|0x100U, /**< XBARA1_OUT150 output assigned to QTIMER4_TIMER0 */
  1062. kXBARA1_OutputQtimer4Timer1 = 151|0x100U, /**< XBARA1_OUT151 output assigned to QTIMER4_TIMER1 */
  1063. kXBARA1_OutputQtimer4Timer2 = 152|0x100U, /**< XBARA1_OUT152 output assigned to QTIMER4_TIMER2 */
  1064. kXBARA1_OutputQtimer4Timer3 = 153|0x100U, /**< XBARA1_OUT153 output assigned to QTIMER4_TIMER3 */
  1065. kXBARA1_OutputEwmEwmIn = 154|0x100U, /**< XBARA1_OUT154 output assigned to EWM_EWM_IN */
  1066. kXBARA1_OutputAdcEtc0Coco0 = 155|0x100U, /**< XBARA1_OUT155 output assigned to ADC_ETC0_COCO0 */
  1067. kXBARA1_OutputAdcEtc0Coco1 = 156|0x100U, /**< XBARA1_OUT156 output assigned to ADC_ETC0_COCO1 */
  1068. kXBARA1_OutputAdcEtc0Coco2 = 157|0x100U, /**< XBARA1_OUT157 output assigned to ADC_ETC0_COCO2 */
  1069. kXBARA1_OutputAdcEtc0Coco3 = 158|0x100U, /**< XBARA1_OUT158 output assigned to ADC_ETC0_COCO3 */
  1070. kXBARA1_OutputAdcEtc1Coco0 = 159|0x100U, /**< XBARA1_OUT159 output assigned to ADC_ETC1_COCO0 */
  1071. kXBARA1_OutputAdcEtc1Coco1 = 160|0x100U, /**< XBARA1_OUT160 output assigned to ADC_ETC1_COCO1 */
  1072. kXBARA1_OutputAdcEtc1Coco2 = 161|0x100U, /**< XBARA1_OUT161 output assigned to ADC_ETC1_COCO2 */
  1073. kXBARA1_OutputAdcEtc1Coco3 = 162|0x100U, /**< XBARA1_OUT162 output assigned to ADC_ETC1_COCO3 */
  1074. kXBARA1_OutputRESERVED163 = 163|0x100U, /**< XBARA1_OUT163 output is reserved. */
  1075. kXBARA1_OutputRESERVED164 = 164|0x100U, /**< XBARA1_OUT164 output is reserved. */
  1076. kXBARA1_OutputRESERVED165 = 165|0x100U, /**< XBARA1_OUT165 output is reserved. */
  1077. kXBARA1_OutputRESERVED166 = 166|0x100U, /**< XBARA1_OUT166 output is reserved. */
  1078. kXBARA1_OutputRESERVED167 = 167|0x100U, /**< XBARA1_OUT167 output is reserved. */
  1079. kXBARA1_OutputRESERVED168 = 168|0x100U, /**< XBARA1_OUT168 output is reserved. */
  1080. kXBARA1_OutputRESERVED169 = 169|0x100U, /**< XBARA1_OUT169 output is reserved. */
  1081. kXBARA1_OutputRESERVED170 = 170|0x100U, /**< XBARA1_OUT170 output is reserved. */
  1082. kXBARA1_OutputFlexio1TrigIn0 = 171|0x100U, /**< XBARA1_OUT171 output assigned to FLEXIO1_TRIG_IN0 */
  1083. kXBARA1_OutputFlexio1TrigIn1 = 172|0x100U, /**< XBARA1_OUT172 output assigned to FLEXIO1_TRIG_IN1 */
  1084. kXBARA1_OutputFlexio2TrigIn0 = 173|0x100U, /**< XBARA1_OUT173 output assigned to FLEXIO2_TRIG_IN0 */
  1085. kXBARA1_OutputFlexio2TrigIn1 = 174|0x100U, /**< XBARA1_OUT174 output assigned to FLEXIO2_TRIG_IN1 */
  1086. kXBARB2_OutputAoi1In00 = 0|0x200U, /**< XBARB2_OUT0 output assigned to AOI1_IN00 */
  1087. kXBARB2_OutputAoi1In01 = 1|0x200U, /**< XBARB2_OUT1 output assigned to AOI1_IN01 */
  1088. kXBARB2_OutputAoi1In02 = 2|0x200U, /**< XBARB2_OUT2 output assigned to AOI1_IN02 */
  1089. kXBARB2_OutputAoi1In03 = 3|0x200U, /**< XBARB2_OUT3 output assigned to AOI1_IN03 */
  1090. kXBARB2_OutputAoi1In04 = 4|0x200U, /**< XBARB2_OUT4 output assigned to AOI1_IN04 */
  1091. kXBARB2_OutputAoi1In05 = 5|0x200U, /**< XBARB2_OUT5 output assigned to AOI1_IN05 */
  1092. kXBARB2_OutputAoi1In06 = 6|0x200U, /**< XBARB2_OUT6 output assigned to AOI1_IN06 */
  1093. kXBARB2_OutputAoi1In07 = 7|0x200U, /**< XBARB2_OUT7 output assigned to AOI1_IN07 */
  1094. kXBARB2_OutputAoi1In08 = 8|0x200U, /**< XBARB2_OUT8 output assigned to AOI1_IN08 */
  1095. kXBARB2_OutputAoi1In09 = 9|0x200U, /**< XBARB2_OUT9 output assigned to AOI1_IN09 */
  1096. kXBARB2_OutputAoi1In10 = 10|0x200U, /**< XBARB2_OUT10 output assigned to AOI1_IN10 */
  1097. kXBARB2_OutputAoi1In11 = 11|0x200U, /**< XBARB2_OUT11 output assigned to AOI1_IN11 */
  1098. kXBARB2_OutputAoi1In12 = 12|0x200U, /**< XBARB2_OUT12 output assigned to AOI1_IN12 */
  1099. kXBARB2_OutputAoi1In13 = 13|0x200U, /**< XBARB2_OUT13 output assigned to AOI1_IN13 */
  1100. kXBARB2_OutputAoi1In14 = 14|0x200U, /**< XBARB2_OUT14 output assigned to AOI1_IN14 */
  1101. kXBARB2_OutputAoi1In15 = 15|0x200U, /**< XBARB2_OUT15 output assigned to AOI1_IN15 */
  1102. kXBARB3_OutputAoi2In00 = 0|0x300U, /**< XBARB3_OUT0 output assigned to AOI2_IN00 */
  1103. kXBARB3_OutputAoi2In01 = 1|0x300U, /**< XBARB3_OUT1 output assigned to AOI2_IN01 */
  1104. kXBARB3_OutputAoi2In02 = 2|0x300U, /**< XBARB3_OUT2 output assigned to AOI2_IN02 */
  1105. kXBARB3_OutputAoi2In03 = 3|0x300U, /**< XBARB3_OUT3 output assigned to AOI2_IN03 */
  1106. kXBARB3_OutputAoi2In04 = 4|0x300U, /**< XBARB3_OUT4 output assigned to AOI2_IN04 */
  1107. kXBARB3_OutputAoi2In05 = 5|0x300U, /**< XBARB3_OUT5 output assigned to AOI2_IN05 */
  1108. kXBARB3_OutputAoi2In06 = 6|0x300U, /**< XBARB3_OUT6 output assigned to AOI2_IN06 */
  1109. kXBARB3_OutputAoi2In07 = 7|0x300U, /**< XBARB3_OUT7 output assigned to AOI2_IN07 */
  1110. kXBARB3_OutputAoi2In08 = 8|0x300U, /**< XBARB3_OUT8 output assigned to AOI2_IN08 */
  1111. kXBARB3_OutputAoi2In09 = 9|0x300U, /**< XBARB3_OUT9 output assigned to AOI2_IN09 */
  1112. kXBARB3_OutputAoi2In10 = 10|0x300U, /**< XBARB3_OUT10 output assigned to AOI2_IN10 */
  1113. kXBARB3_OutputAoi2In11 = 11|0x300U, /**< XBARB3_OUT11 output assigned to AOI2_IN11 */
  1114. kXBARB3_OutputAoi2In12 = 12|0x300U, /**< XBARB3_OUT12 output assigned to AOI2_IN12 */
  1115. kXBARB3_OutputAoi2In13 = 13|0x300U, /**< XBARB3_OUT13 output assigned to AOI2_IN13 */
  1116. kXBARB3_OutputAoi2In14 = 14|0x300U, /**< XBARB3_OUT14 output assigned to AOI2_IN14 */
  1117. kXBARB3_OutputAoi2In15 = 15|0x300U, /**< XBARB3_OUT15 output assigned to AOI2_IN15 */
  1118. } xbar_output_signal_t;
  1119. /*!
  1120. * @addtogroup iomuxc_lpsr_pads
  1121. * @{ */
  1122. /*******************************************************************************
  1123. * Definitions
  1124. *******************************************************************************/
  1125. /*!
  1126. * @brief Enumeration for the IOMUXC_LPSR SW_MUX_CTL_PAD
  1127. *
  1128. * Defines the enumeration for the IOMUXC_LPSR SW_MUX_CTL_PAD collections.
  1129. */
  1130. typedef enum _iomuxc_lpsr_sw_mux_ctl_pad
  1131. {
  1132. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1133. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1134. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1135. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1136. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1137. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1138. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1139. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1140. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1141. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1142. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1143. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1144. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1145. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1146. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1147. kIOMUXC_LPSR_SW_MUX_CTL_PAD_GPIO_LPSR_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1148. } iomuxc_lpsr_sw_mux_ctl_pad_t;
  1149. /* @} */
  1150. /*!
  1151. * @addtogroup iomuxc_lpsr_pads
  1152. * @{ */
  1153. /*******************************************************************************
  1154. * Definitions
  1155. *******************************************************************************/
  1156. /*!
  1157. * @brief Enumeration for the IOMUXC_LPSR SW_PAD_CTL_PAD
  1158. *
  1159. * Defines the enumeration for the IOMUXC_LPSR SW_PAD_CTL_PAD collections.
  1160. */
  1161. typedef enum _iomuxc_lpsr_sw_pad_ctl_pad
  1162. {
  1163. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1164. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1165. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1166. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1167. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1168. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1169. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1170. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1171. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1172. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1173. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1174. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1175. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1176. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1177. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1178. kIOMUXC_LPSR_SW_PAD_CTL_PAD_GPIO_LPSR_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1179. } iomuxc_lpsr_sw_pad_ctl_pad_t;
  1180. /* @} */
  1181. /*!
  1182. * @brief Enumeration for the IOMUXC_LPSR select input
  1183. *
  1184. * Defines the enumeration for the IOMUXC_LPSR select input collections.
  1185. */
  1186. typedef enum _iomuxc_lpsr_select_input
  1187. {
  1188. kIOMUXC_LPSR_CAN3_IPP_IND_CANRX_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  1189. kIOMUXC_LPSR_LPI2C5_IPP_IND_LPI2C_SCL_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  1190. kIOMUXC_LPSR_LPI2C5_IPP_IND_LPI2C_SDA_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  1191. kIOMUXC_LPSR_LPI2C6_IPP_IND_LPI2C_SCL_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  1192. kIOMUXC_LPSR_LPI2C6_IPP_IND_LPI2C_SDA_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  1193. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_PCS_SELECT_INPUT_0 = 5U, /**< IOMUXC select input index */
  1194. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SCK_SELECT_INPUT = 6U, /**< IOMUXC select input index */
  1195. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SDI_SELECT_INPUT = 7U, /**< IOMUXC select input index */
  1196. kIOMUXC_LPSR_LPSPI5_IPP_IND_LPSPI_SDO_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  1197. kIOMUXC_LPSR_LPUART11_IPP_IND_LPUART_RXD_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  1198. kIOMUXC_LPSR_LPUART11_IPP_IND_LPUART_TXD_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  1199. kIOMUXC_LPSR_LPUART12_IPP_IND_LPUART_RXD_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  1200. kIOMUXC_LPSR_LPUART12_IPP_IND_LPUART_TXD_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  1201. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_0 = 13U, /**< IOMUXC select input index */
  1202. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_1 = 14U, /**< IOMUXC select input index */
  1203. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_2 = 15U, /**< IOMUXC select input index */
  1204. kIOMUXC_LPSR_MIC_IPP_IND_MIC_PDM_BITSTREAM_SELECT_INPUT_3 = 16U, /**< IOMUXC select input index */
  1205. kIOMUXC_LPSR_NMI_GLUE_IPP_IND_NMI_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  1206. kIOMUXC_LPSR_SAI4_IPG_CLK_SAI_MCLK_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  1207. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXBCLK_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  1208. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXDATA_SELECT_INPUT_0 = 20U, /**< IOMUXC select input index */
  1209. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_RXSYNC_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  1210. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_TXBCLK_SELECT_INPUT = 22U, /**< IOMUXC select input index */
  1211. kIOMUXC_LPSR_SAI4_IPP_IND_SAI_TXSYNC_SELECT_INPUT = 23U, /**< IOMUXC select input index */
  1212. } iomuxc_lpsr_select_input_t;
  1213. /*!
  1214. * @addtogroup ssarc_mapping
  1215. * @{
  1216. */
  1217. /*******************************************************************************
  1218. * Definitions
  1219. ******************************************************************************/
  1220. /*!
  1221. * @brief Structure for the SSARC mapping
  1222. *
  1223. * The name of power domain.
  1224. */
  1225. typedef enum _ssarc_power_domain_name
  1226. {
  1227. kSSARC_MEGAMIXPowerDomain = 0U, /**< MEGAMIX Power Domain, request from BPC0. */
  1228. kSSARC_DISPLAYMIXPowerDomain = 1U, /**< DISPLAYMIX Power Domain, request from BPC1. */
  1229. kSSARC_WAKEUPMIXPowerDomain = 2U, /**< WAKEUPMIX Power Domain, request from BPC2. */
  1230. kSSARC_LPSRMIXPowerDomain = 3U, /**< LPSRMIX Power Domain, request from BPC3. */
  1231. kSSARC_PowerDomain4 = 4U, /**< MIPI PHY Power Domain, request from BPC4. */
  1232. kSSARC_PowerDomain5 = 5U, /**< Virtual power domain, request from BPC5. */
  1233. kSSARC_PowerDomain6 = 6U, /**< Virtual power domain, request from BPC6. */
  1234. kSSARC_PowerDomain7 = 7U, /**< Virtual power domain, request from BPC7. */
  1235. } ssarc_power_domain_name_t;
  1236. /*
  1237. * @brief The name of cpu domain.
  1238. */
  1239. typedef enum _ssarc_cpu_domain_name
  1240. {
  1241. kSSARC_CM7Core = 0U, /**< CM7 Core domain. */
  1242. kSSARC_CM4Core = 1U, /**< CM4 Core domain. */
  1243. } ssarc_cpu_domain_name_t;
  1244. /* @} */
  1245. /*!
  1246. * @addtogroup xrdc2_mapping
  1247. * @{
  1248. */
  1249. /*******************************************************************************
  1250. * Definitions
  1251. ******************************************************************************/
  1252. /*!
  1253. * @brief Structure for the XRDC2 mapping
  1254. *
  1255. * Defines the structure for the XRDC2 resource collections.
  1256. */
  1257. typedef enum _xrdc2_master
  1258. {
  1259. kXRDC2_Master_M7_AHB = 0U, /**< M7 AHB */
  1260. kXRDC2_Master_M4_AHBC = 0U, /**< M4 AHBC */
  1261. kXRDC2_Master_M7_AXI = 1U, /**< M7 AXI */
  1262. kXRDC2_Master_M4_AHBS = 1U, /**< M4 AHBS */
  1263. kXRDC2_Master_CAAM = 2U, /**< CAAM */
  1264. kXRDC2_Master_CSI = 3U, /**< CSI */
  1265. kXRDC2_Master_M7_EDMA = 4U, /**< M7 EDMA */
  1266. kXRDC2_Master_M4_EDMA = 4U, /**< M4 EDMA */
  1267. kXRDC2_Master_ENET = 5U, /**< ENET */
  1268. kXRDC2_Master_ENET_1G_RX = 6U, /**< ENET_1G_RX */
  1269. kXRDC2_Master_ENET_1G_TX = 7U, /**< ENET_1G_TX */
  1270. kXRDC2_Master_ENET_QOS = 8U, /**< ENET_QOS */
  1271. kXRDC2_Master_GPU = 9U, /**< GPU */
  1272. kXRDC2_Master_LCDIF = 10U, /**< LCDIF */
  1273. kXRDC2_Master_LCDIFV2 = 11U, /**< LCDIFV2 */
  1274. kXRDC2_Master_PXP = 12U, /**< PXP */
  1275. kXRDC2_Master_SSARC = 14U, /**< SSARC */
  1276. kXRDC2_Master_USB = 15U, /**< USB */
  1277. kXRDC2_Master_USDHC1 = 16U, /**< USDHC1 */
  1278. kXRDC2_Master_USDHC2 = 17U, /**< USDHC2 */
  1279. } xrdc2_master_t;
  1280. typedef enum _xrdc2_mem
  1281. {
  1282. kXRDC2_Mem_CAAM_Region0 = XRDC2_MAKE_MEM(0, 0), /**< MRC0 Memory 0 */
  1283. kXRDC2_Mem_CAAM_Region1 = XRDC2_MAKE_MEM(0, 1), /**< MRC0 Memory 1 */
  1284. kXRDC2_Mem_CAAM_Region2 = XRDC2_MAKE_MEM(0, 2), /**< MRC0 Memory 2 */
  1285. kXRDC2_Mem_CAAM_Region3 = XRDC2_MAKE_MEM(0, 3), /**< MRC0 Memory 3 */
  1286. kXRDC2_Mem_CAAM_Region4 = XRDC2_MAKE_MEM(0, 4), /**< MRC0 Memory 4 */
  1287. kXRDC2_Mem_CAAM_Region5 = XRDC2_MAKE_MEM(0, 5), /**< MRC0 Memory 5 */
  1288. kXRDC2_Mem_CAAM_Region6 = XRDC2_MAKE_MEM(0, 6), /**< MRC0 Memory 6 */
  1289. kXRDC2_Mem_CAAM_Region7 = XRDC2_MAKE_MEM(0, 7), /**< MRC0 Memory 7 */
  1290. kXRDC2_Mem_CAAM_Region8 = XRDC2_MAKE_MEM(0, 8), /**< MRC0 Memory 8 */
  1291. kXRDC2_Mem_CAAM_Region9 = XRDC2_MAKE_MEM(0, 9), /**< MRC0 Memory 9 */
  1292. kXRDC2_Mem_CAAM_Region10 = XRDC2_MAKE_MEM(0, 10), /**< MRC0 Memory 10 */
  1293. kXRDC2_Mem_CAAM_Region11 = XRDC2_MAKE_MEM(0, 11), /**< MRC0 Memory 11 */
  1294. kXRDC2_Mem_CAAM_Region12 = XRDC2_MAKE_MEM(0, 12), /**< MRC0 Memory 12 */
  1295. kXRDC2_Mem_CAAM_Region13 = XRDC2_MAKE_MEM(0, 13), /**< MRC0 Memory 13 */
  1296. kXRDC2_Mem_CAAM_Region14 = XRDC2_MAKE_MEM(0, 14), /**< MRC0 Memory 14 */
  1297. kXRDC2_Mem_CAAM_Region15 = XRDC2_MAKE_MEM(0, 15), /**< MRC0 Memory 15 */
  1298. kXRDC2_Mem_FLEXSPI1_Region0 = XRDC2_MAKE_MEM(1, 0), /**< MRC1 Memory 0 */
  1299. kXRDC2_Mem_FLEXSPI1_Region1 = XRDC2_MAKE_MEM(1, 1), /**< MRC1 Memory 1 */
  1300. kXRDC2_Mem_FLEXSPI1_Region2 = XRDC2_MAKE_MEM(1, 2), /**< MRC1 Memory 2 */
  1301. kXRDC2_Mem_FLEXSPI1_Region3 = XRDC2_MAKE_MEM(1, 3), /**< MRC1 Memory 3 */
  1302. kXRDC2_Mem_FLEXSPI1_Region4 = XRDC2_MAKE_MEM(1, 4), /**< MRC1 Memory 4 */
  1303. kXRDC2_Mem_FLEXSPI1_Region5 = XRDC2_MAKE_MEM(1, 5), /**< MRC1 Memory 5 */
  1304. kXRDC2_Mem_FLEXSPI1_Region6 = XRDC2_MAKE_MEM(1, 6), /**< MRC1 Memory 6 */
  1305. kXRDC2_Mem_FLEXSPI1_Region7 = XRDC2_MAKE_MEM(1, 7), /**< MRC1 Memory 7 */
  1306. kXRDC2_Mem_FLEXSPI1_Region8 = XRDC2_MAKE_MEM(1, 8), /**< MRC1 Memory 8 */
  1307. kXRDC2_Mem_FLEXSPI1_Region9 = XRDC2_MAKE_MEM(1, 9), /**< MRC1 Memory 9 */
  1308. kXRDC2_Mem_FLEXSPI1_Region10 = XRDC2_MAKE_MEM(1, 10), /**< MRC1 Memory 10 */
  1309. kXRDC2_Mem_FLEXSPI1_Region11 = XRDC2_MAKE_MEM(1, 11), /**< MRC1 Memory 11 */
  1310. kXRDC2_Mem_FLEXSPI1_Region12 = XRDC2_MAKE_MEM(1, 12), /**< MRC1 Memory 12 */
  1311. kXRDC2_Mem_FLEXSPI1_Region13 = XRDC2_MAKE_MEM(1, 13), /**< MRC1 Memory 13 */
  1312. kXRDC2_Mem_FLEXSPI1_Region14 = XRDC2_MAKE_MEM(1, 14), /**< MRC1 Memory 14 */
  1313. kXRDC2_Mem_FLEXSPI1_Region15 = XRDC2_MAKE_MEM(1, 15), /**< MRC1 Memory 15 */
  1314. kXRDC2_Mem_FLEXSPI2_Region0 = XRDC2_MAKE_MEM(2, 0), /**< MRC2 Memory 0 */
  1315. kXRDC2_Mem_FLEXSPI2_Region1 = XRDC2_MAKE_MEM(2, 1), /**< MRC2 Memory 1 */
  1316. kXRDC2_Mem_FLEXSPI2_Region2 = XRDC2_MAKE_MEM(2, 2), /**< MRC2 Memory 2 */
  1317. kXRDC2_Mem_FLEXSPI2_Region3 = XRDC2_MAKE_MEM(2, 3), /**< MRC2 Memory 3 */
  1318. kXRDC2_Mem_FLEXSPI2_Region4 = XRDC2_MAKE_MEM(2, 4), /**< MRC2 Memory 4 */
  1319. kXRDC2_Mem_FLEXSPI2_Region5 = XRDC2_MAKE_MEM(2, 5), /**< MRC2 Memory 5 */
  1320. kXRDC2_Mem_FLEXSPI2_Region6 = XRDC2_MAKE_MEM(2, 6), /**< MRC2 Memory 6 */
  1321. kXRDC2_Mem_FLEXSPI2_Region7 = XRDC2_MAKE_MEM(2, 7), /**< MRC2 Memory 7 */
  1322. kXRDC2_Mem_FLEXSPI2_Region8 = XRDC2_MAKE_MEM(2, 8), /**< MRC2 Memory 8 */
  1323. kXRDC2_Mem_FLEXSPI2_Region9 = XRDC2_MAKE_MEM(2, 9), /**< MRC2 Memory 9 */
  1324. kXRDC2_Mem_FLEXSPI2_Region10 = XRDC2_MAKE_MEM(2, 10), /**< MRC2 Memory 10 */
  1325. kXRDC2_Mem_FLEXSPI2_Region11 = XRDC2_MAKE_MEM(2, 11), /**< MRC2 Memory 11 */
  1326. kXRDC2_Mem_FLEXSPI2_Region12 = XRDC2_MAKE_MEM(2, 12), /**< MRC2 Memory 12 */
  1327. kXRDC2_Mem_FLEXSPI2_Region13 = XRDC2_MAKE_MEM(2, 13), /**< MRC2 Memory 13 */
  1328. kXRDC2_Mem_FLEXSPI2_Region14 = XRDC2_MAKE_MEM(2, 14), /**< MRC2 Memory 14 */
  1329. kXRDC2_Mem_FLEXSPI2_Region15 = XRDC2_MAKE_MEM(2, 15), /**< MRC2 Memory 15 */
  1330. kXRDC2_Mem_M4LMEM_Region0 = XRDC2_MAKE_MEM(3, 0), /**< MRC3 Memory 0 */
  1331. kXRDC2_Mem_M4LMEM_Region1 = XRDC2_MAKE_MEM(3, 1), /**< MRC3 Memory 1 */
  1332. kXRDC2_Mem_M4LMEM_Region2 = XRDC2_MAKE_MEM(3, 2), /**< MRC3 Memory 2 */
  1333. kXRDC2_Mem_M4LMEM_Region3 = XRDC2_MAKE_MEM(3, 3), /**< MRC3 Memory 3 */
  1334. kXRDC2_Mem_M4LMEM_Region4 = XRDC2_MAKE_MEM(3, 4), /**< MRC3 Memory 4 */
  1335. kXRDC2_Mem_M4LMEM_Region5 = XRDC2_MAKE_MEM(3, 5), /**< MRC3 Memory 5 */
  1336. kXRDC2_Mem_M4LMEM_Region6 = XRDC2_MAKE_MEM(3, 6), /**< MRC3 Memory 6 */
  1337. kXRDC2_Mem_M4LMEM_Region7 = XRDC2_MAKE_MEM(3, 7), /**< MRC3 Memory 7 */
  1338. kXRDC2_Mem_M4LMEM_Region8 = XRDC2_MAKE_MEM(3, 8), /**< MRC3 Memory 8 */
  1339. kXRDC2_Mem_M4LMEM_Region9 = XRDC2_MAKE_MEM(3, 9), /**< MRC3 Memory 9 */
  1340. kXRDC2_Mem_M4LMEM_Region10 = XRDC2_MAKE_MEM(3, 10), /**< MRC3 Memory 10 */
  1341. kXRDC2_Mem_M4LMEM_Region11 = XRDC2_MAKE_MEM(3, 11), /**< MRC3 Memory 11 */
  1342. kXRDC2_Mem_M4LMEM_Region12 = XRDC2_MAKE_MEM(3, 12), /**< MRC3 Memory 12 */
  1343. kXRDC2_Mem_M4LMEM_Region13 = XRDC2_MAKE_MEM(3, 13), /**< MRC3 Memory 13 */
  1344. kXRDC2_Mem_M4LMEM_Region14 = XRDC2_MAKE_MEM(3, 14), /**< MRC3 Memory 14 */
  1345. kXRDC2_Mem_M4LMEM_Region15 = XRDC2_MAKE_MEM(3, 15), /**< MRC3 Memory 15 */
  1346. kXRDC2_Mem_M7OC_Region0 = XRDC2_MAKE_MEM(4, 0), /**< MRC4 Memory 0 */
  1347. kXRDC2_Mem_M7OC_Region1 = XRDC2_MAKE_MEM(4, 1), /**< MRC4 Memory 1 */
  1348. kXRDC2_Mem_M7OC_Region2 = XRDC2_MAKE_MEM(4, 2), /**< MRC4 Memory 2 */
  1349. kXRDC2_Mem_M7OC_Region3 = XRDC2_MAKE_MEM(4, 3), /**< MRC4 Memory 3 */
  1350. kXRDC2_Mem_M7OC_Region4 = XRDC2_MAKE_MEM(4, 4), /**< MRC4 Memory 4 */
  1351. kXRDC2_Mem_M7OC_Region5 = XRDC2_MAKE_MEM(4, 5), /**< MRC4 Memory 5 */
  1352. kXRDC2_Mem_M7OC_Region6 = XRDC2_MAKE_MEM(4, 6), /**< MRC4 Memory 6 */
  1353. kXRDC2_Mem_M7OC_Region7 = XRDC2_MAKE_MEM(4, 7), /**< MRC4 Memory 7 */
  1354. kXRDC2_Mem_M7OC_Region8 = XRDC2_MAKE_MEM(4, 8), /**< MRC4 Memory 8 */
  1355. kXRDC2_Mem_M7OC_Region9 = XRDC2_MAKE_MEM(4, 9), /**< MRC4 Memory 9 */
  1356. kXRDC2_Mem_M7OC_Region10 = XRDC2_MAKE_MEM(4, 10), /**< MRC4 Memory 10 */
  1357. kXRDC2_Mem_M7OC_Region11 = XRDC2_MAKE_MEM(4, 11), /**< MRC4 Memory 11 */
  1358. kXRDC2_Mem_M7OC_Region12 = XRDC2_MAKE_MEM(4, 12), /**< MRC4 Memory 12 */
  1359. kXRDC2_Mem_M7OC_Region13 = XRDC2_MAKE_MEM(4, 13), /**< MRC4 Memory 13 */
  1360. kXRDC2_Mem_M7OC_Region14 = XRDC2_MAKE_MEM(4, 14), /**< MRC4 Memory 14 */
  1361. kXRDC2_Mem_M7OC_Region15 = XRDC2_MAKE_MEM(4, 15), /**< MRC4 Memory 15 */
  1362. kXRDC2_Mem_MECC1_Region0 = XRDC2_MAKE_MEM(5, 0), /**< MRC5 Memory 0 */
  1363. kXRDC2_Mem_MECC1_Region1 = XRDC2_MAKE_MEM(5, 1), /**< MRC5 Memory 1 */
  1364. kXRDC2_Mem_MECC1_Region2 = XRDC2_MAKE_MEM(5, 2), /**< MRC5 Memory 2 */
  1365. kXRDC2_Mem_MECC1_Region3 = XRDC2_MAKE_MEM(5, 3), /**< MRC5 Memory 3 */
  1366. kXRDC2_Mem_MECC1_Region4 = XRDC2_MAKE_MEM(5, 4), /**< MRC5 Memory 4 */
  1367. kXRDC2_Mem_MECC1_Region5 = XRDC2_MAKE_MEM(5, 5), /**< MRC5 Memory 5 */
  1368. kXRDC2_Mem_MECC1_Region6 = XRDC2_MAKE_MEM(5, 6), /**< MRC5 Memory 6 */
  1369. kXRDC2_Mem_MECC1_Region7 = XRDC2_MAKE_MEM(5, 7), /**< MRC5 Memory 7 */
  1370. kXRDC2_Mem_MECC1_Region8 = XRDC2_MAKE_MEM(5, 8), /**< MRC5 Memory 8 */
  1371. kXRDC2_Mem_MECC1_Region9 = XRDC2_MAKE_MEM(5, 9), /**< MRC5 Memory 9 */
  1372. kXRDC2_Mem_MECC1_Region10 = XRDC2_MAKE_MEM(5, 10), /**< MRC5 Memory 10 */
  1373. kXRDC2_Mem_MECC1_Region11 = XRDC2_MAKE_MEM(5, 11), /**< MRC5 Memory 11 */
  1374. kXRDC2_Mem_MECC1_Region12 = XRDC2_MAKE_MEM(5, 12), /**< MRC5 Memory 12 */
  1375. kXRDC2_Mem_MECC1_Region13 = XRDC2_MAKE_MEM(5, 13), /**< MRC5 Memory 13 */
  1376. kXRDC2_Mem_MECC1_Region14 = XRDC2_MAKE_MEM(5, 14), /**< MRC5 Memory 14 */
  1377. kXRDC2_Mem_MECC1_Region15 = XRDC2_MAKE_MEM(5, 15), /**< MRC5 Memory 15 */
  1378. kXRDC2_Mem_MECC2_Region0 = XRDC2_MAKE_MEM(6, 0), /**< MRC6 Memory 0 */
  1379. kXRDC2_Mem_MECC2_Region1 = XRDC2_MAKE_MEM(6, 1), /**< MRC6 Memory 1 */
  1380. kXRDC2_Mem_MECC2_Region2 = XRDC2_MAKE_MEM(6, 2), /**< MRC6 Memory 2 */
  1381. kXRDC2_Mem_MECC2_Region3 = XRDC2_MAKE_MEM(6, 3), /**< MRC6 Memory 3 */
  1382. kXRDC2_Mem_MECC2_Region4 = XRDC2_MAKE_MEM(6, 4), /**< MRC6 Memory 4 */
  1383. kXRDC2_Mem_MECC2_Region5 = XRDC2_MAKE_MEM(6, 5), /**< MRC6 Memory 5 */
  1384. kXRDC2_Mem_MECC2_Region6 = XRDC2_MAKE_MEM(6, 6), /**< MRC6 Memory 6 */
  1385. kXRDC2_Mem_MECC2_Region7 = XRDC2_MAKE_MEM(6, 7), /**< MRC6 Memory 7 */
  1386. kXRDC2_Mem_MECC2_Region8 = XRDC2_MAKE_MEM(6, 8), /**< MRC6 Memory 8 */
  1387. kXRDC2_Mem_MECC2_Region9 = XRDC2_MAKE_MEM(6, 9), /**< MRC6 Memory 9 */
  1388. kXRDC2_Mem_MECC2_Region10 = XRDC2_MAKE_MEM(6, 10), /**< MRC6 Memory 10 */
  1389. kXRDC2_Mem_MECC2_Region11 = XRDC2_MAKE_MEM(6, 11), /**< MRC6 Memory 11 */
  1390. kXRDC2_Mem_MECC2_Region12 = XRDC2_MAKE_MEM(6, 12), /**< MRC6 Memory 12 */
  1391. kXRDC2_Mem_MECC2_Region13 = XRDC2_MAKE_MEM(6, 13), /**< MRC6 Memory 13 */
  1392. kXRDC2_Mem_MECC2_Region14 = XRDC2_MAKE_MEM(6, 14), /**< MRC6 Memory 14 */
  1393. kXRDC2_Mem_MECC2_Region15 = XRDC2_MAKE_MEM(6, 15), /**< MRC6 Memory 15 */
  1394. kXRDC2_Mem_SEMC_Region0 = XRDC2_MAKE_MEM(7, 0), /**< MRC7 Memory 0 */
  1395. kXRDC2_Mem_SEMC_Region1 = XRDC2_MAKE_MEM(7, 1), /**< MRC7 Memory 1 */
  1396. kXRDC2_Mem_SEMC_Region2 = XRDC2_MAKE_MEM(7, 2), /**< MRC7 Memory 2 */
  1397. kXRDC2_Mem_SEMC_Region3 = XRDC2_MAKE_MEM(7, 3), /**< MRC7 Memory 3 */
  1398. kXRDC2_Mem_SEMC_Region4 = XRDC2_MAKE_MEM(7, 4), /**< MRC7 Memory 4 */
  1399. kXRDC2_Mem_SEMC_Region5 = XRDC2_MAKE_MEM(7, 5), /**< MRC7 Memory 5 */
  1400. kXRDC2_Mem_SEMC_Region6 = XRDC2_MAKE_MEM(7, 6), /**< MRC7 Memory 6 */
  1401. kXRDC2_Mem_SEMC_Region7 = XRDC2_MAKE_MEM(7, 7), /**< MRC7 Memory 7 */
  1402. kXRDC2_Mem_SEMC_Region8 = XRDC2_MAKE_MEM(7, 8), /**< MRC7 Memory 8 */
  1403. kXRDC2_Mem_SEMC_Region9 = XRDC2_MAKE_MEM(7, 9), /**< MRC7 Memory 9 */
  1404. kXRDC2_Mem_SEMC_Region10 = XRDC2_MAKE_MEM(7, 10), /**< MRC7 Memory 10 */
  1405. kXRDC2_Mem_SEMC_Region11 = XRDC2_MAKE_MEM(7, 11), /**< MRC7 Memory 11 */
  1406. kXRDC2_Mem_SEMC_Region12 = XRDC2_MAKE_MEM(7, 12), /**< MRC7 Memory 12 */
  1407. kXRDC2_Mem_SEMC_Region13 = XRDC2_MAKE_MEM(7, 13), /**< MRC7 Memory 13 */
  1408. kXRDC2_Mem_SEMC_Region14 = XRDC2_MAKE_MEM(7, 14), /**< MRC7 Memory 14 */
  1409. kXRDC2_Mem_SEMC_Region15 = XRDC2_MAKE_MEM(7, 15), /**< MRC7 Memory 15 */
  1410. } xrdc2_mem_t;
  1411. typedef enum _xrdc2_mem_slot
  1412. {
  1413. kXRDC2_MemSlot_GPV0 = 0U, /**< GPV0 */
  1414. kXRDC2_MemSlot_GPV1 = 1U, /**< GPV1 */
  1415. kXRDC2_MemSlot_GPV2 = 2U, /**< GPV2 */
  1416. kXRDC2_MemSlot_ROMCP = 3U, /**< ROMCP */
  1417. } xrdc2_mem_slot_t;
  1418. typedef enum _xrdc2_periph
  1419. {
  1420. kXRDC2_Periph_ACMP4 = XRDC2_MAKE_PERIPH(0, 108), /**< ACMP4 */
  1421. kXRDC2_Periph_ACMP3 = XRDC2_MAKE_PERIPH(0, 107), /**< ACMP3 */
  1422. kXRDC2_Periph_ACMP2 = XRDC2_MAKE_PERIPH(0, 106), /**< ACMP2 */
  1423. kXRDC2_Periph_ACMP1 = XRDC2_MAKE_PERIPH(0, 105), /**< ACMP1 */
  1424. kXRDC2_Periph_FLEXPWM4 = XRDC2_MAKE_PERIPH(0, 102), /**< FLEXPWM4 */
  1425. kXRDC2_Periph_FLEXPWM3 = XRDC2_MAKE_PERIPH(0, 101), /**< FLEXPWM3 */
  1426. kXRDC2_Periph_FLEXPWM2 = XRDC2_MAKE_PERIPH(0, 100), /**< FLEXPWM2 */
  1427. kXRDC2_Periph_FLEXPWM1 = XRDC2_MAKE_PERIPH(0, 99 ), /**< FLEXPWM1 */
  1428. kXRDC2_Periph_ENC4 = XRDC2_MAKE_PERIPH(0, 96 ), /**< ENC4 */
  1429. kXRDC2_Periph_ENC3 = XRDC2_MAKE_PERIPH(0, 95 ), /**< ENC3 */
  1430. kXRDC2_Periph_ENC2 = XRDC2_MAKE_PERIPH(0, 94 ), /**< ENC2 */
  1431. kXRDC2_Periph_ENC1 = XRDC2_MAKE_PERIPH(0, 93 ), /**< ENC1 */
  1432. kXRDC2_Periph_QTIMER4 = XRDC2_MAKE_PERIPH(0, 90 ), /**< QTIMER4 */
  1433. kXRDC2_Periph_QTIMER3 = XRDC2_MAKE_PERIPH(0, 89 ), /**< QTIMER3 */
  1434. kXRDC2_Periph_QTIMER2 = XRDC2_MAKE_PERIPH(0, 88 ), /**< QTIMER2 */
  1435. kXRDC2_Periph_QTIMER1 = XRDC2_MAKE_PERIPH(0, 87 ), /**< QTIMER1 */
  1436. kXRDC2_Periph_SIM2 = XRDC2_MAKE_PERIPH(0, 86 ), /**< SIM2 */
  1437. kXRDC2_Periph_SIM1 = XRDC2_MAKE_PERIPH(0, 85 ), /**< SIM1 */
  1438. kXRDC2_Periph_CCM_OBS = XRDC2_MAKE_PERIPH(0, 84 ), /**< CCM_OBS */
  1439. kXRDC2_Periph_GPIO6 = XRDC2_MAKE_PERIPH(0, 80 ), /**< GPIO6 */
  1440. kXRDC2_Periph_GPIO5 = XRDC2_MAKE_PERIPH(0, 79 ), /**< GPIO5 */
  1441. kXRDC2_Periph_GPIO4 = XRDC2_MAKE_PERIPH(0, 78 ), /**< GPIO4 */
  1442. kXRDC2_Periph_GPIO3 = XRDC2_MAKE_PERIPH(0, 77 ), /**< GPIO3 */
  1443. kXRDC2_Periph_GPIO2 = XRDC2_MAKE_PERIPH(0, 76 ), /**< GPIO2 */
  1444. kXRDC2_Periph_GPIO1 = XRDC2_MAKE_PERIPH(0, 75 ), /**< GPIO1 */
  1445. kXRDC2_Periph_LPSPI4 = XRDC2_MAKE_PERIPH(0, 72 ), /**< LPSPI4 */
  1446. kXRDC2_Periph_LPSPI3 = XRDC2_MAKE_PERIPH(0, 71 ), /**< LPSPI3 */
  1447. kXRDC2_Periph_LPSPI2 = XRDC2_MAKE_PERIPH(0, 70 ), /**< LPSPI2 */
  1448. kXRDC2_Periph_LPSPI1 = XRDC2_MAKE_PERIPH(0, 69 ), /**< LPSPI1 */
  1449. kXRDC2_Periph_LPI2C4 = XRDC2_MAKE_PERIPH(0, 68 ), /**< LPI2C4 */
  1450. kXRDC2_Periph_LPI2C3 = XRDC2_MAKE_PERIPH(0, 67 ), /**< LPI2C3 */
  1451. kXRDC2_Periph_LPI2C2 = XRDC2_MAKE_PERIPH(0, 66 ), /**< LPI2C2 */
  1452. kXRDC2_Periph_LPI2C1 = XRDC2_MAKE_PERIPH(0, 65 ), /**< LPI2C1 */
  1453. kXRDC2_Periph_GPT6 = XRDC2_MAKE_PERIPH(0, 64 ), /**< GPT6 */
  1454. kXRDC2_Periph_GPT5 = XRDC2_MAKE_PERIPH(0, 63 ), /**< GPT5 */
  1455. kXRDC2_Periph_GPT4 = XRDC2_MAKE_PERIPH(0, 62 ), /**< GPT4 */
  1456. kXRDC2_Periph_GPT3 = XRDC2_MAKE_PERIPH(0, 61 ), /**< GPT3 */
  1457. kXRDC2_Periph_GPT2 = XRDC2_MAKE_PERIPH(0, 60 ), /**< GPT2 */
  1458. kXRDC2_Periph_GPT1 = XRDC2_MAKE_PERIPH(0, 59 ), /**< GPT1 */
  1459. kXRDC2_Periph_IOMUXC = XRDC2_MAKE_PERIPH(0, 58 ), /**< IOMUXC */
  1460. kXRDC2_Periph_IOMUXC_GPR = XRDC2_MAKE_PERIPH(0, 57 ), /**< IOMUXC_GPR */
  1461. kXRDC2_Periph_KPP = XRDC2_MAKE_PERIPH(0, 56 ), /**< KPP */
  1462. kXRDC2_Periph_PIT1 = XRDC2_MAKE_PERIPH(0, 54 ), /**< PIT1 */
  1463. kXRDC2_Periph_SEMC = XRDC2_MAKE_PERIPH(0, 53 ), /**< SEMC */
  1464. kXRDC2_Periph_FLEXSPI2 = XRDC2_MAKE_PERIPH(0, 52 ), /**< FLEXSPI2 */
  1465. kXRDC2_Periph_FLEXSPI1 = XRDC2_MAKE_PERIPH(0, 51 ), /**< FLEXSPI1 */
  1466. kXRDC2_Periph_CAN2 = XRDC2_MAKE_PERIPH(0, 50 ), /**< CAN2 */
  1467. kXRDC2_Periph_CAN1 = XRDC2_MAKE_PERIPH(0, 49 ), /**< CAN1 */
  1468. kXRDC2_Periph_AOI2 = XRDC2_MAKE_PERIPH(0, 47 ), /**< AOI2 */
  1469. kXRDC2_Periph_AOI1 = XRDC2_MAKE_PERIPH(0, 46 ), /**< AOI1 */
  1470. kXRDC2_Periph_FLEXIO2 = XRDC2_MAKE_PERIPH(0, 44 ), /**< FLEXIO2 */
  1471. kXRDC2_Periph_FLEXIO1 = XRDC2_MAKE_PERIPH(0, 43 ), /**< FLEXIO1 */
  1472. kXRDC2_Periph_LPUART10 = XRDC2_MAKE_PERIPH(0, 40 ), /**< LPUART10 */
  1473. kXRDC2_Periph_LPUART9 = XRDC2_MAKE_PERIPH(0, 39 ), /**< LPUART9 */
  1474. kXRDC2_Periph_LPUART8 = XRDC2_MAKE_PERIPH(0, 38 ), /**< LPUART8 */
  1475. kXRDC2_Periph_LPUART7 = XRDC2_MAKE_PERIPH(0, 37 ), /**< LPUART7 */
  1476. kXRDC2_Periph_LPUART6 = XRDC2_MAKE_PERIPH(0, 36 ), /**< LPUART6 */
  1477. kXRDC2_Periph_LPUART5 = XRDC2_MAKE_PERIPH(0, 35 ), /**< LPUART5 */
  1478. kXRDC2_Periph_LPUART4 = XRDC2_MAKE_PERIPH(0, 34 ), /**< LPUART4 */
  1479. kXRDC2_Periph_LPUART3 = XRDC2_MAKE_PERIPH(0, 33 ), /**< LPUART3 */
  1480. kXRDC2_Periph_LPUART2 = XRDC2_MAKE_PERIPH(0, 32 ), /**< LPUART2 */
  1481. kXRDC2_Periph_LPUART1 = XRDC2_MAKE_PERIPH(0, 31 ), /**< LPUART1 */
  1482. kXRDC2_Periph_DMA_CH_MUX = XRDC2_MAKE_PERIPH(0, 29 ), /**< DMA_CH_MUX */
  1483. kXRDC2_Periph_EDMA = XRDC2_MAKE_PERIPH(0, 28 ), /**< EDMA */
  1484. kXRDC2_Periph_IEE = XRDC2_MAKE_PERIPH(0, 27 ), /**< IEE */
  1485. kXRDC2_Periph_DAC = XRDC2_MAKE_PERIPH(0, 25 ), /**< DAC */
  1486. kXRDC2_Periph_TSC_DIG = XRDC2_MAKE_PERIPH(0, 23 ), /**< TSC_DIG */
  1487. kXRDC2_Periph_ADC2 = XRDC2_MAKE_PERIPH(0, 21 ), /**< ADC2 */
  1488. kXRDC2_Periph_ADC1 = XRDC2_MAKE_PERIPH(0, 20 ), /**< ADC1 */
  1489. kXRDC2_Periph_ADC_ETC = XRDC2_MAKE_PERIPH(0, 18 ), /**< ADC_ETC */
  1490. kXRDC2_Periph_XBAR3 = XRDC2_MAKE_PERIPH(0, 17 ), /**< XBAR3 */
  1491. kXRDC2_Periph_XBAR2 = XRDC2_MAKE_PERIPH(0, 16 ), /**< XBAR2 */
  1492. kXRDC2_Periph_XBAR1 = XRDC2_MAKE_PERIPH(0, 15 ), /**< XBAR1 */
  1493. kXRDC2_Periph_WDOG3 = XRDC2_MAKE_PERIPH(0, 14 ), /**< WDOG3 */
  1494. kXRDC2_Periph_WDOG2 = XRDC2_MAKE_PERIPH(0, 13 ), /**< WDOG2 */
  1495. kXRDC2_Periph_WDOG1 = XRDC2_MAKE_PERIPH(0, 12 ), /**< WDOG1 */
  1496. kXRDC2_Periph_EWM = XRDC2_MAKE_PERIPH(0, 11 ), /**< EWM */
  1497. kXRDC2_Periph_FLEXRAM = XRDC2_MAKE_PERIPH(0, 10 ), /**< FLEXRAM */
  1498. kXRDC2_Periph_XECC_SEMC = XRDC2_MAKE_PERIPH(0, 9 ), /**< XECC_SEMC */
  1499. kXRDC2_Periph_XECC_FLEXSPI2 = XRDC2_MAKE_PERIPH(0, 8 ), /**< XECC_FLEXSPI2 */
  1500. kXRDC2_Periph_XECC_FLEXSPI1 = XRDC2_MAKE_PERIPH(0, 7 ), /**< XECC_FLEXSPI1 */
  1501. kXRDC2_Periph_MECC2 = XRDC2_MAKE_PERIPH(0, 6 ), /**< MECC2 */
  1502. kXRDC2_Periph_MECC1 = XRDC2_MAKE_PERIPH(0, 5 ), /**< MECC1 */
  1503. kXRDC2_Periph_MTR = XRDC2_MAKE_PERIPH(0, 4 ), /**< MTR */
  1504. kXRDC2_Periph_SFA = XRDC2_MAKE_PERIPH(0, 3 ), /**< SFA */
  1505. kXRDC2_Periph_CAAM_DEBUG_3 = XRDC2_MAKE_PERIPH(1, 51 ), /**< CAAM_DEBUG_3 */
  1506. kXRDC2_Periph_CAAM_DEBUG_2 = XRDC2_MAKE_PERIPH(1, 50 ), /**< CAAM_DEBUG_2 */
  1507. kXRDC2_Periph_CAAM_DEBUG_1 = XRDC2_MAKE_PERIPH(1, 49 ), /**< CAAM_DEBUG_1 */
  1508. kXRDC2_Periph_CAAM_DEBUG_0 = XRDC2_MAKE_PERIPH(1, 48 ), /**< CAAM_DEBUG_0 */
  1509. kXRDC2_Periph_CAAM_RTIC_3 = XRDC2_MAKE_PERIPH(1, 43 ), /**< CAAM_RTIC_3 */
  1510. kXRDC2_Periph_CAAM_RTIC_2 = XRDC2_MAKE_PERIPH(1, 42 ), /**< CAAM_RTIC_2 */
  1511. kXRDC2_Periph_CAAM_RTIC_1 = XRDC2_MAKE_PERIPH(1, 41 ), /**< CAAM_RTIC_1 */
  1512. kXRDC2_Periph_CAAM_RTIC_0 = XRDC2_MAKE_PERIPH(1, 40 ), /**< CAAM_RTIC_0 */
  1513. kXRDC2_Periph_CAAM_JR3_3 = XRDC2_MAKE_PERIPH(1, 35 ), /**< CAAM_JR3_3 */
  1514. kXRDC2_Periph_CAAM_JR3_2 = XRDC2_MAKE_PERIPH(1, 34 ), /**< CAAM_JR3_2 */
  1515. kXRDC2_Periph_CAAM_JR3_1 = XRDC2_MAKE_PERIPH(1, 33 ), /**< CAAM_JR3_1 */
  1516. kXRDC2_Periph_CAAM_JR3_0 = XRDC2_MAKE_PERIPH(1, 32 ), /**< CAAM_JR3_0 */
  1517. kXRDC2_Periph_CAAM_JR2_3 = XRDC2_MAKE_PERIPH(1, 31 ), /**< CAAM_JR2_3 */
  1518. kXRDC2_Periph_CAAM_JR2_2 = XRDC2_MAKE_PERIPH(1, 30 ), /**< CAAM_JR2_2 */
  1519. kXRDC2_Periph_CAAM_JR2_1 = XRDC2_MAKE_PERIPH(1, 29 ), /**< CAAM_JR2_1 */
  1520. kXRDC2_Periph_CAAM_JR2_0 = XRDC2_MAKE_PERIPH(1, 28 ), /**< CAAM_JR2_0 */
  1521. kXRDC2_Periph_CAAM_JR1_3 = XRDC2_MAKE_PERIPH(1, 27 ), /**< CAAM_JR1_3 */
  1522. kXRDC2_Periph_CAAM_JR1_2 = XRDC2_MAKE_PERIPH(1, 26 ), /**< CAAM_JR1_2 */
  1523. kXRDC2_Periph_CAAM_JR1_1 = XRDC2_MAKE_PERIPH(1, 25 ), /**< CAAM_JR1_1 */
  1524. kXRDC2_Periph_CAAM_JR1_0 = XRDC2_MAKE_PERIPH(1, 24 ), /**< CAAM_JR1_0 */
  1525. kXRDC2_Periph_CAAM_JR0_3 = XRDC2_MAKE_PERIPH(1, 23 ), /**< CAAM_JR0_3 */
  1526. kXRDC2_Periph_CAAM_JR0_2 = XRDC2_MAKE_PERIPH(1, 22 ), /**< CAAM_JR0_2 */
  1527. kXRDC2_Periph_CAAM_JR0_1 = XRDC2_MAKE_PERIPH(1, 21 ), /**< CAAM_JR0_1 */
  1528. kXRDC2_Periph_CAAM_JR0_0 = XRDC2_MAKE_PERIPH(1, 20 ), /**< CAAM_JR0_0 */
  1529. kXRDC2_Periph_CAAM_GENERAL_3 = XRDC2_MAKE_PERIPH(1, 19 ), /**< CAAM_GENERAL_3 */
  1530. kXRDC2_Periph_CAAM_GENERAL_2 = XRDC2_MAKE_PERIPH(1, 18 ), /**< CAAM_GENERAL_2 */
  1531. kXRDC2_Periph_CAAM_GENERAL_1 = XRDC2_MAKE_PERIPH(1, 17 ), /**< CAAM_GENERAL_1 */
  1532. kXRDC2_Periph_CAAM_GENERAL_0 = XRDC2_MAKE_PERIPH(1, 16 ), /**< CAAM_GENERAL_0 */
  1533. kXRDC2_Periph_ENET_QOS = XRDC2_MAKE_PERIPH(1, 15 ), /**< ENET_QOS */
  1534. kXRDC2_Periph_USBPHY2 = XRDC2_MAKE_PERIPH(1, 14 ), /**< USBPHY2 */
  1535. kXRDC2_Periph_USBPHY1 = XRDC2_MAKE_PERIPH(1, 13 ), /**< USBPHY1 */
  1536. kXRDC2_Periph_USB_OTG = XRDC2_MAKE_PERIPH(1, 12 ), /**< USB_OTG */
  1537. kXRDC2_Periph_USB_OTG2 = XRDC2_MAKE_PERIPH(1, 11 ), /**< USB_OTG2 */
  1538. kXRDC2_Periph_USB_PL301 = XRDC2_MAKE_PERIPH(1, 10 ), /**< USB_PL301 */
  1539. kXRDC2_Periph_ENET = XRDC2_MAKE_PERIPH(1, 9 ), /**< ENET */
  1540. kXRDC2_Periph_ENET_1G = XRDC2_MAKE_PERIPH(1, 8 ), /**< ENET_1G */
  1541. kXRDC2_Periph_USDHC2 = XRDC2_MAKE_PERIPH(1, 7 ), /**< USDHC2 */
  1542. kXRDC2_Periph_USDHC1 = XRDC2_MAKE_PERIPH(1, 6 ), /**< USDHC1 */
  1543. kXRDC2_Periph_ASRC = XRDC2_MAKE_PERIPH(1, 5 ), /**< ASRC */
  1544. kXRDC2_Periph_SAI3 = XRDC2_MAKE_PERIPH(1, 3 ), /**< SAI3 */
  1545. kXRDC2_Periph_SAI2 = XRDC2_MAKE_PERIPH(1, 2 ), /**< SAI2 */
  1546. kXRDC2_Periph_SAI1 = XRDC2_MAKE_PERIPH(1, 1 ), /**< SAI1 */
  1547. kXRDC2_Periph_SPDIF = XRDC2_MAKE_PERIPH(1, 0 ), /**< SPDIF */
  1548. kXRDC2_Periph_VIDEO_MUX = XRDC2_MAKE_PERIPH(2, 6 ), /**< VIDEO_MUX */
  1549. kXRDC2_Periph_PXP = XRDC2_MAKE_PERIPH(2, 5 ), /**< PXP */
  1550. kXRDC2_Periph_MIPI_CSI = XRDC2_MAKE_PERIPH(2, 4 ), /**< MIPI_CSI */
  1551. kXRDC2_Periph_MIPI_DSI = XRDC2_MAKE_PERIPH(2, 3 ), /**< MIPI_DSI */
  1552. kXRDC2_Periph_LCDIFV2 = XRDC2_MAKE_PERIPH(2, 2 ), /**< LCDIFV2 */
  1553. kXRDC2_Periph_LCDIF = XRDC2_MAKE_PERIPH(2, 1 ), /**< LCDIF */
  1554. kXRDC2_Periph_CSI = XRDC2_MAKE_PERIPH(2, 0 ), /**< CSI */
  1555. kXRDC2_Periph_XRDC2_MGR_M7_3 = XRDC2_MAKE_PERIPH(3, 59 ), /**< XRDC2_MGR_M7_3 */
  1556. kXRDC2_Periph_XRDC2_MGR_M7_2 = XRDC2_MAKE_PERIPH(3, 58 ), /**< XRDC2_MGR_M7_2 */
  1557. kXRDC2_Periph_XRDC2_MGR_M7_1 = XRDC2_MAKE_PERIPH(3, 57 ), /**< XRDC2_MGR_M7_1 */
  1558. kXRDC2_Periph_XRDC2_MGR_M7_0 = XRDC2_MAKE_PERIPH(3, 56 ), /**< XRDC2_MGR_M7_0 */
  1559. kXRDC2_Periph_XRDC2_MGR_M4_3 = XRDC2_MAKE_PERIPH(3, 55 ), /**< XRDC2_MGR_M4_3 */
  1560. kXRDC2_Periph_XRDC2_MGR_M4_2 = XRDC2_MAKE_PERIPH(3, 54 ), /**< XRDC2_MGR_M4_2 */
  1561. kXRDC2_Periph_XRDC2_MGR_M4_1 = XRDC2_MAKE_PERIPH(3, 53 ), /**< XRDC2_MGR_M4_1 */
  1562. kXRDC2_Periph_XRDC2_MGR_M4_0 = XRDC2_MAKE_PERIPH(3, 52 ), /**< XRDC2_MGR_M4_0 */
  1563. kXRDC2_Periph_SEMA2 = XRDC2_MAKE_PERIPH(3, 51 ), /**< SEMA2 */
  1564. kXRDC2_Periph_SEMA_HS = XRDC2_MAKE_PERIPH(3, 50 ), /**< SEMA_HS */
  1565. kXRDC2_Periph_CCM_1 = XRDC2_MAKE_PERIPH(3, 49 ), /**< CCM_1 */
  1566. kXRDC2_Periph_CCM_0 = XRDC2_MAKE_PERIPH(3, 48 ), /**< CCM_0 */
  1567. kXRDC2_Periph_SSARC_LP = XRDC2_MAKE_PERIPH(3, 46 ), /**< SSARC_LP */
  1568. kXRDC2_Periph_SSARC_HP = XRDC2_MAKE_PERIPH(3, 45 ), /**< SSARC_HP */
  1569. kXRDC2_Periph_PIT2 = XRDC2_MAKE_PERIPH(3, 44 ), /**< PIT2 */
  1570. kXRDC2_Periph_OCOTP_CTRL_WRAPPER = XRDC2_MAKE_PERIPH(3, 43 ), /**< OCOTP_CTRL_WRAPPER */
  1571. kXRDC2_Periph_DCDC = XRDC2_MAKE_PERIPH(3, 42 ), /**< DCDC */
  1572. kXRDC2_Periph_ROMCP = XRDC2_MAKE_PERIPH(3, 41 ), /**< ROMCP */
  1573. kXRDC2_Periph_GPIO13 = XRDC2_MAKE_PERIPH(3, 40 ), /**< GPIO13 */
  1574. kXRDC2_Periph_SNVS_SRAM = XRDC2_MAKE_PERIPH(3, 39 ), /**< SNVS_SRAM */
  1575. kXRDC2_Periph_IOMUXC_SNVS_GPR = XRDC2_MAKE_PERIPH(3, 38 ), /**< IOMUXC_SNVS_GPR */
  1576. kXRDC2_Periph_IOMUXC_SNVS = XRDC2_MAKE_PERIPH(3, 37 ), /**< IOMUXC_SNVS */
  1577. kXRDC2_Periph_SNVS_HP_WRAPPER = XRDC2_MAKE_PERIPH(3, 36 ), /**< SNVS_HP_WRAPPER */
  1578. kXRDC2_Periph_PGMC = XRDC2_MAKE_PERIPH(3, 34 ), /**< PGMC */
  1579. kXRDC2_Periph_ANATOP = XRDC2_MAKE_PERIPH(3, 33 ), /**< ANATOP */
  1580. kXRDC2_Periph_KEY_MANAGER = XRDC2_MAKE_PERIPH(3, 32 ), /**< KEY_MANAGER */
  1581. kXRDC2_Periph_RDC = XRDC2_MAKE_PERIPH(3, 30 ), /**< RDC */
  1582. kXRDC2_Periph_GPIO12 = XRDC2_MAKE_PERIPH(3, 28 ), /**< GPIO12 */
  1583. kXRDC2_Periph_GPIO11 = XRDC2_MAKE_PERIPH(3, 27 ), /**< GPIO11 */
  1584. kXRDC2_Periph_GPIO10 = XRDC2_MAKE_PERIPH(3, 26 ), /**< GPIO10 */
  1585. kXRDC2_Periph_GPIO9 = XRDC2_MAKE_PERIPH(3, 25 ), /**< GPIO9 */
  1586. kXRDC2_Periph_GPIO8 = XRDC2_MAKE_PERIPH(3, 24 ), /**< GPIO8 */
  1587. kXRDC2_Periph_GPIO7 = XRDC2_MAKE_PERIPH(3, 23 ), /**< GPIO7 */
  1588. kXRDC2_Periph_MU_B = XRDC2_MAKE_PERIPH(3, 19 ), /**< MU_B */
  1589. kXRDC2_Periph_MU_A = XRDC2_MAKE_PERIPH(3, 18 ), /**< MU_A */
  1590. kXRDC2_Periph_SEMA1 = XRDC2_MAKE_PERIPH(3, 17 ), /**< SEMA1 */
  1591. kXRDC2_Periph_SAI4 = XRDC2_MAKE_PERIPH(3, 16 ), /**< SAI4 */
  1592. kXRDC2_Periph_CAN3 = XRDC2_MAKE_PERIPH(3, 15 ), /**< CAN3 */
  1593. kXRDC2_Periph_LPI2C6 = XRDC2_MAKE_PERIPH(3, 14 ), /**< LPI2C6 */
  1594. kXRDC2_Periph_LPI2C5 = XRDC2_MAKE_PERIPH(3, 13 ), /**< LPI2C5 */
  1595. kXRDC2_Periph_LPSPI6 = XRDC2_MAKE_PERIPH(3, 12 ), /**< LPSPI6 */
  1596. kXRDC2_Periph_LPSPI5 = XRDC2_MAKE_PERIPH(3, 11 ), /**< LPSPI5 */
  1597. kXRDC2_Periph_LPUART12 = XRDC2_MAKE_PERIPH(3, 10 ), /**< LPUART12 */
  1598. kXRDC2_Periph_LPUART11 = XRDC2_MAKE_PERIPH(3, 9 ), /**< LPUART11 */
  1599. kXRDC2_Periph_MIC = XRDC2_MAKE_PERIPH(3, 8 ), /**< MIC */
  1600. kXRDC2_Periph_DMA_CH_MUX_LPSR = XRDC2_MAKE_PERIPH(3, 6 ), /**< DMA_CH_MUX_LPSR */
  1601. kXRDC2_Periph_EDMA_LPSR = XRDC2_MAKE_PERIPH(3, 5 ), /**< EDMA_LPSR */
  1602. kXRDC2_Periph_WDOG4 = XRDC2_MAKE_PERIPH(3, 4 ), /**< WDOG4 */
  1603. kXRDC2_Periph_IOMUXC_LPSR_GPR = XRDC2_MAKE_PERIPH(3, 3 ), /**< IOMUXC_LPSR_GPR */
  1604. kXRDC2_Periph_IOMUXC_LPSR = XRDC2_MAKE_PERIPH(3, 2 ), /**< IOMUXC_LPSR */
  1605. kXRDC2_Periph_SRC = XRDC2_MAKE_PERIPH(3, 1 ), /**< SRC */
  1606. kXRDC2_Periph_GPC = XRDC2_MAKE_PERIPH(3, 0 ), /**< GPC */
  1607. kXRDC2_Periph_GPU = XRDC2_MAKE_PERIPH(4, 0 ), /**< GPU */
  1608. } xrdc2_periph_t;
  1609. /* @} */
  1610. /*!
  1611. * @addtogroup asrc_clock_source
  1612. * @{
  1613. */
  1614. /*******************************************************************************
  1615. * Definitions
  1616. ******************************************************************************/
  1617. /*!
  1618. * @brief The ASRC clock source
  1619. */
  1620. typedef enum _asrc_clock_source
  1621. {
  1622. kASRC_ClockSourceNotAvalible = -1U, /**< not avalible */
  1623. kASRC_ClockSourceBitClock0_SAI1_TX = 0U, /**< SAI1 TX */
  1624. kASRC_ClockSourceBitClock1_SAI1_RX = 1U, /**< SAI1 RX */
  1625. kASRC_ClockSourceBitClock2_SAI2_TX = 2U, /**< SAI2 TX */
  1626. kASRC_ClockSourceBitClock3_SAI2_RX = 3U, /**< SAI2 RX */
  1627. kASRC_ClockSourceBitClock4_SAI3_TX = 4U, /**< SAI3 TX */
  1628. kASRC_ClockSourceBitClock5_SAI3_RX = 5U, /**< SAI3 RX */
  1629. kASRC_ClockSourceBitClock6_SAI4_TX = 6U, /**< SAI4 TX */
  1630. kASRC_ClockSourceBitClock7_SAI4_RX = 7U, /**< SAI4 RX */
  1631. kASRC_ClockSourceBitClock8_SPDIF_TX = 8U, /**< SPDIF TX */
  1632. kASRC_ClockSourceBitClock9_SPDIF_RX = 9U, /**< SPDIF RX */
  1633. kASRC_ClockSourceBitClocka_SAI2_CLOCK_ROOT = 10U, /**< SAI2 CLOCK ROOT */
  1634. kASRC_ClockSourceBitClockb_SAI3_CLOCK_ROOT = 11U, /**< SAI3 CLOCK ROOT */
  1635. kASRC_ClockSourceBitClockc_SAI4_CLOCK_ROOT = 12U, /**< SAI4 CLOCK ROOT */
  1636. kASRC_ClockSourceBitClockd_MIC_CLOCK_ROOT = 13U, /**< MIC CLOCK ROOT */
  1637. kASRC_ClockSourceBitClocke_MQS_CLOCK_ROOT = 14U, /**< MQS CLOCK ROOT */
  1638. } asrc_clock_source_t;
  1639. /*!
  1640. * @addtogroup edma_request
  1641. * @{
  1642. */
  1643. /*******************************************************************************
  1644. * Definitions
  1645. ******************************************************************************/
  1646. /*!
  1647. * @brief Structure for the DMA hardware request
  1648. *
  1649. * Defines the structure for the DMA hardware request collections. The user can configure the
  1650. * hardware request into DMAMUX to trigger the DMA transfer accordingly. The index
  1651. * of the hardware request varies according to the to SoC.
  1652. */
  1653. typedef enum _dma_request_source
  1654. {
  1655. kDmaRequestMuxFlexIO1Request2Request3 = 1|0x100U, /**< FlexIO1 Request2 and Request3 */
  1656. kDmaRequestMuxFlexIO1Request4Request5 = 2|0x100U, /**< FlexIO1 Request4 and Request5 */
  1657. kDmaRequestMuxFlexIO1Request6Request7 = 3|0x100U, /**< FlexIO1 Request6 and Request7 */
  1658. kDmaRequestMuxFlexIO2Request0Request1 = 4|0x100U, /**< FlexIO2 Request0 and Request1 */
  1659. kDmaRequestMuxFlexIO2Request2Request3 = 5|0x100U, /**< FlexIO2 Request2 and Request3 */
  1660. kDmaRequestMuxFlexIO2Request4Request5 = 6|0x100U, /**< FlexIO2 Request4 and Request5 */
  1661. kDmaRequestMuxFlexIO2Request6Request7 = 7|0x100U, /**< FlexIO2 Request6 and Request7 */
  1662. kDmaRequestMuxLPUART1Tx = 8|0x100U, /**< LPUART1 Transmit */
  1663. kDmaRequestMuxLPUART1Rx = 9|0x100U, /**< LPUART1 Receive */
  1664. kDmaRequestMuxLPUART2Tx = 10|0x100U, /**< LPUART2 Transmit */
  1665. kDmaRequestMuxLPUART2Rx = 11|0x100U, /**< LPUART2 Receive */
  1666. kDmaRequestMuxLPUART3Tx = 12|0x100U, /**< LPUART3 Transmit */
  1667. kDmaRequestMuxLPUART3Rx = 13|0x100U, /**< LPUART3 Receive */
  1668. kDmaRequestMuxLPUART4Tx = 14|0x100U, /**< LPUART4 Transmit */
  1669. kDmaRequestMuxLPUART4Rx = 15|0x100U, /**< LPUART4 Receive */
  1670. kDmaRequestMuxLPUART5Tx = 16|0x100U, /**< LPUART5 Transmit */
  1671. kDmaRequestMuxLPUART5Rx = 17|0x100U, /**< LPUART5 Receive */
  1672. kDmaRequestMuxLPUART6Tx = 18|0x100U, /**< LPUART6 Transmit */
  1673. kDmaRequestMuxLPUART6Rx = 19|0x100U, /**< LPUART6 Receive */
  1674. kDmaRequestMuxLPUART7Tx = 20|0x100U, /**< LPUART7 Transmit */
  1675. kDmaRequestMuxLPUART7Rx = 21|0x100U, /**< LPUART7 Receive */
  1676. kDmaRequestMuxLPUART8Tx = 22|0x100U, /**< LPUART8 Transmit */
  1677. kDmaRequestMuxLPUART8Rx = 23|0x100U, /**< LPUART8 Receive */
  1678. kDmaRequestMuxLPUART9Tx = 24|0x100U, /**< LPUART9 Transmit */
  1679. kDmaRequestMuxLPUART9Rx = 25|0x100U, /**< LPUART9 Receive */
  1680. kDmaRequestMuxLPUART10Tx = 26|0x100U, /**< LPUART10 Transmit */
  1681. kDmaRequestMuxLPUART10Rx = 27|0x100U, /**< LPUART10 Receive */
  1682. kDmaRequestMuxLPUART11Tx = 28|0x100U, /**< LPUART11 Transmit */
  1683. kDmaRequestMuxLPUART11Rx = 29|0x100U, /**< LPUART11 Receive */
  1684. kDmaRequestMuxLPUART12Tx = 30|0x100U, /**< LPUART12 Transmit */
  1685. kDmaRequestMuxLPUART12Rx = 31|0x100U, /**< LPUART12 Receive */
  1686. kDmaRequestMuxCSI = 32|0x100U, /**< CSI */
  1687. kDmaRequestMuxPxp = 33|0x100U, /**< PXP */
  1688. kDmaRequestMuxeLCDIF = 34|0x100U, /**< eLCDIF */
  1689. kDmaRequestMuxLCDIFv2 = 35|0x100U, /**< LCDIFv2 */
  1690. kDmaRequestMuxLPSPI1Rx = 36|0x100U, /**< LPSPI1 Receive */
  1691. kDmaRequestMuxLPSPI1Tx = 37|0x100U, /**< LPSPI1 Transmit */
  1692. kDmaRequestMuxLPSPI2Rx = 38|0x100U, /**< LPSPI2 Receive */
  1693. kDmaRequestMuxLPSPI2Tx = 39|0x100U, /**< LPSPI2 Transmit */
  1694. kDmaRequestMuxLPSPI3Rx = 40|0x100U, /**< LPSPI3 Receive */
  1695. kDmaRequestMuxLPSPI3Tx = 41|0x100U, /**< LPSPI3 Transmit */
  1696. kDmaRequestMuxLPSPI4Rx = 42|0x100U, /**< LPSPI4 Receive */
  1697. kDmaRequestMuxLPSPI4Tx = 43|0x100U, /**< LPSPI4 Transmit */
  1698. kDmaRequestMuxLPSPI5Rx = 44|0x100U, /**< LPSPI5 Receive */
  1699. kDmaRequestMuxLPSPI5Tx = 45|0x100U, /**< LPSPI5 Transmit */
  1700. kDmaRequestMuxLPSPI6Rx = 46|0x100U, /**< LPSPI6 Receive */
  1701. kDmaRequestMuxLPSPI6Tx = 47|0x100U, /**< LPSPI6 Transmit */
  1702. kDmaRequestMuxLPI2C1 = 48|0x100U, /**< LPI2C1 */
  1703. kDmaRequestMuxLPI2C2 = 49|0x100U, /**< LPI2C2 */
  1704. kDmaRequestMuxLPI2C3 = 50|0x100U, /**< LPI2C3 */
  1705. kDmaRequestMuxLPI2C4 = 51|0x100U, /**< LPI2C4 */
  1706. kDmaRequestMuxLPI2C5 = 52|0x100U, /**< LPI2C5 */
  1707. kDmaRequestMuxLPI2C6 = 53|0x100U, /**< LPI2C6 */
  1708. kDmaRequestMuxSai1Rx = 54|0x100U, /**< SAI1 Receive */
  1709. kDmaRequestMuxSai1Tx = 55|0x100U, /**< SAI1 Transmit */
  1710. kDmaRequestMuxSai2Rx = 56|0x100U, /**< SAI2 Receive */
  1711. kDmaRequestMuxSai2Tx = 57|0x100U, /**< SAI2 Transmit */
  1712. kDmaRequestMuxSai3Rx = 58|0x100U, /**< SAI3 Receive */
  1713. kDmaRequestMuxSai3Tx = 59|0x100U, /**< SAI3 Transmit */
  1714. kDmaRequestMuxSai4Rx = 60|0x100U, /**< SAI4 Receive */
  1715. kDmaRequestMuxSai4Tx = 61|0x100U, /**< SAI4 Transmit */
  1716. kDmaRequestMuxSpdifRx = 62|0x100U, /**< SPDIF Receive */
  1717. kDmaRequestMuxSpdifTx = 63|0x100U, /**< SPDIF Transmit */
  1718. kDmaRequestMuxADC_ETC = 64|0x100U, /**< ADC_ETC */
  1719. kDmaRequestMuxFlexIO1Request0Request1 = 65|0x100U, /**< FlexIO1 Request0 and Request1 */
  1720. kDmaRequestMuxADC1 = 66|0x100U, /**< ADC1 */
  1721. kDmaRequestMuxADC2 = 67|0x100U, /**< ADC2 */
  1722. kDmaRequestMuxACMP1 = 69|0x100U, /**< ACMP1 */
  1723. kDmaRequestMuxACMP2 = 70|0x100U, /**< ACMP2 */
  1724. kDmaRequestMuxACMP3 = 71|0x100U, /**< ACMP3 */
  1725. kDmaRequestMuxACMP4 = 72|0x100U, /**< ACMP4 */
  1726. kDmaRequestMuxFlexSPI1Rx = 77|0x100U, /**< FlexSPI1 Receive */
  1727. kDmaRequestMuxFlexSPI1Tx = 78|0x100U, /**< FlexSPI1 Transmit */
  1728. kDmaRequestMuxFlexSPI2Rx = 79|0x100U, /**< FlexSPI2 Receive */
  1729. kDmaRequestMuxFlexSPI2Tx = 80|0x100U, /**< FlexSPI2 Transmit */
  1730. kDmaRequestMuxXBAR1Request0 = 81|0x100U, /**< XBAR1 Request 0 */
  1731. kDmaRequestMuxXBAR1Request1 = 82|0x100U, /**< XBAR1 Request 1 */
  1732. kDmaRequestMuxXBAR1Request2 = 83|0x100U, /**< XBAR1 Request 2 */
  1733. kDmaRequestMuxXBAR1Request3 = 84|0x100U, /**< XBAR1 Request 3 */
  1734. kDmaRequestMuxFlexPWM1CaptureSub0 = 85|0x100U, /**< FlexPWM1 Capture sub-module0 */
  1735. kDmaRequestMuxFlexPWM1CaptureSub1 = 86|0x100U, /**< FlexPWM1 Capture sub-module1 */
  1736. kDmaRequestMuxFlexPWM1CaptureSub2 = 87|0x100U, /**< FlexPWM1 Capture sub-module2 */
  1737. kDmaRequestMuxFlexPWM1CaptureSub3 = 88|0x100U, /**< FlexPWM1 Capture sub-module3 */
  1738. kDmaRequestMuxFlexPWM1ValueSub0 = 89|0x100U, /**< FlexPWM1 Value sub-module 0 */
  1739. kDmaRequestMuxFlexPWM1ValueSub1 = 90|0x100U, /**< FlexPWM1 Value sub-module 1 */
  1740. kDmaRequestMuxFlexPWM1ValueSub2 = 91|0x100U, /**< FlexPWM1 Value sub-module 2 */
  1741. kDmaRequestMuxFlexPWM1ValueSub3 = 92|0x100U, /**< FlexPWM1 Value sub-module 3 */
  1742. kDmaRequestMuxFlexPWM2CaptureSub0 = 93|0x100U, /**< FlexPWM2 Capture sub-module0 */
  1743. kDmaRequestMuxFlexPWM2CaptureSub1 = 94|0x100U, /**< FlexPWM2 Capture sub-module1 */
  1744. kDmaRequestMuxFlexPWM2CaptureSub2 = 95|0x100U, /**< FlexPWM2 Capture sub-module2 */
  1745. kDmaRequestMuxFlexPWM2CaptureSub3 = 96|0x100U, /**< FlexPWM2 Capture sub-module3 */
  1746. kDmaRequestMuxFlexPWM2ValueSub0 = 97|0x100U, /**< FlexPWM2 Value sub-module 0 */
  1747. kDmaRequestMuxFlexPWM2ValueSub1 = 98|0x100U, /**< FlexPWM2 Value sub-module 1 */
  1748. kDmaRequestMuxFlexPWM2ValueSub2 = 99|0x100U, /**< FlexPWM2 Value sub-module 2 */
  1749. kDmaRequestMuxFlexPWM2ValueSub3 = 100|0x100U, /**< FlexPWM2 Value sub-module 3 */
  1750. kDmaRequestMuxFlexPWM3CaptureSub0 = 101|0x100U, /**< FlexPWM3 Capture sub-module0 */
  1751. kDmaRequestMuxFlexPWM3CaptureSub1 = 102|0x100U, /**< FlexPWM3 Capture sub-module1 */
  1752. kDmaRequestMuxFlexPWM3CaptureSub2 = 103|0x100U, /**< FlexPWM3 Capture sub-module2 */
  1753. kDmaRequestMuxFlexPWM3CaptureSub3 = 104|0x100U, /**< FlexPWM3 Capture sub-module3 */
  1754. kDmaRequestMuxFlexPWM3ValueSub0 = 105|0x100U, /**< FlexPWM3 Value sub-module 0 */
  1755. kDmaRequestMuxFlexPWM3ValueSub1 = 106|0x100U, /**< FlexPWM3 Value sub-module 1 */
  1756. kDmaRequestMuxFlexPWM3ValueSub2 = 107|0x100U, /**< FlexPWM3 Value sub-module 2 */
  1757. kDmaRequestMuxFlexPWM3ValueSub3 = 108|0x100U, /**< FlexPWM3 Value sub-module 3 */
  1758. kDmaRequestMuxFlexPWM4CaptureSub0 = 109|0x100U, /**< FlexPWM4 Capture sub-module0 */
  1759. kDmaRequestMuxFlexPWM4CaptureSub1 = 110|0x100U, /**< FlexPWM4 Capture sub-module1 */
  1760. kDmaRequestMuxFlexPWM4CaptureSub2 = 111|0x100U, /**< FlexPWM4 Capture sub-module2 */
  1761. kDmaRequestMuxFlexPWM4CaptureSub3 = 112|0x100U, /**< FlexPWM4 Capture sub-module3 */
  1762. kDmaRequestMuxFlexPWM4ValueSub0 = 113|0x100U, /**< FlexPWM4 Value sub-module 0 */
  1763. kDmaRequestMuxFlexPWM4ValueSub1 = 114|0x100U, /**< FlexPWM4 Value sub-module 1 */
  1764. kDmaRequestMuxFlexPWM4ValueSub2 = 115|0x100U, /**< FlexPWM4 Value sub-module 2 */
  1765. kDmaRequestMuxFlexPWM4ValueSub3 = 116|0x100U, /**< FlexPWM4 Value sub-module 3 */
  1766. kDmaRequestMuxQTIMER1CaptTimer0 = 133|0x100U, /**< TMR1 Capture timer 0 */
  1767. kDmaRequestMuxQTIMER1CaptTimer1 = 134|0x100U, /**< TMR1 Capture timer 1 */
  1768. kDmaRequestMuxQTIMER1CaptTimer2 = 135|0x100U, /**< TMR1 Capture timer 2 */
  1769. kDmaRequestMuxQTIMER1CaptTimer3 = 136|0x100U, /**< TMR1 Capture timer 3 */
  1770. kDmaRequestMuxQTIMER1Cmpld1Timer0Cmpld2Timer1 = 137|0x100U, /**< TMR1 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1771. kDmaRequestMuxQTIMER1Cmpld1Timer1Cmpld2Timer0 = 138|0x100U, /**< TMR1 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1772. kDmaRequestMuxQTIMER1Cmpld1Timer2Cmpld2Timer3 = 139|0x100U, /**< TMR1 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1773. kDmaRequestMuxQTIMER1Cmpld1Timer3Cmpld2Timer2 = 140|0x100U, /**< TMR1 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1774. kDmaRequestMuxQTIMER2CaptTimer0 = 141|0x100U, /**< TMR2 Capture timer 0 */
  1775. kDmaRequestMuxQTIMER2CaptTimer1 = 142|0x100U, /**< TMR2 Capture timer 1 */
  1776. kDmaRequestMuxQTIMER2CaptTimer2 = 143|0x100U, /**< TMR2 Capture timer 2 */
  1777. kDmaRequestMuxQTIMER2CaptTimer3 = 144|0x100U, /**< TMR2 Capture timer 3 */
  1778. kDmaRequestMuxQTIMER2Cmpld1Timer0Cmpld2Timer1 = 145|0x100U, /**< TMR2 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1779. kDmaRequestMuxQTIMER2Cmpld1Timer1Cmpld2Timer0 = 146|0x100U, /**< TMR2 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1780. kDmaRequestMuxQTIMER2Cmpld1Timer2Cmpld2Timer3 = 147|0x100U, /**< TMR2 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1781. kDmaRequestMuxQTIMER2Cmpld1Timer3Cmpld2Timer2 = 148|0x100U, /**< TMR2 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1782. kDmaRequestMuxQTIMER3CaptTimer0 = 149|0x100U, /**< TMR3 Capture timer 0 */
  1783. kDmaRequestMuxQTIMER3CaptTimer1 = 150|0x100U, /**< TMR3 Capture timer 1 */
  1784. kDmaRequestMuxQTIMER3CaptTimer2 = 151|0x100U, /**< TMR3 Capture timer 2 */
  1785. kDmaRequestMuxQTIMER3CaptTimer3 = 152|0x100U, /**< TMR3 Capture timer 3 */
  1786. kDmaRequestMuxQTIMER3Cmpld1Timer0Cmpld2Timer1 = 153|0x100U, /**< TMR3 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1787. kDmaRequestMuxQTIMER3Cmpld1Timer1Cmpld2Timer0 = 154|0x100U, /**< TMR3 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1788. kDmaRequestMuxQTIMER3Cmpld1Timer2Cmpld2Timer3 = 155|0x100U, /**< TMR3 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1789. kDmaRequestMuxQTIMER3Cmpld1Timer3Cmpld2Timer2 = 156|0x100U, /**< TMR3 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1790. kDmaRequestMuxQTIMER4CaptTimer0 = 157|0x100U, /**< TMR4 Capture timer 0 */
  1791. kDmaRequestMuxQTIMER4CaptTimer1 = 158|0x100U, /**< TMR4 Capture timer 1 */
  1792. kDmaRequestMuxQTIMER4CaptTimer2 = 159|0x100U, /**< TMR4 Capture timer 2 */
  1793. kDmaRequestMuxQTIMER4CaptTimer3 = 160|0x100U, /**< TMR4 Capture timer 3 */
  1794. kDmaRequestMuxQTIMER4Cmpld1Timer0Cmpld2Timer1 = 161|0x100U, /**< TMR4 cmpld1 in timer 0 or cmpld2 in timer 1 */
  1795. kDmaRequestMuxQTIMER4Cmpld1Timer1Cmpld2Timer0 = 162|0x100U, /**< TMR4 cmpld1 in timer 1 or cmpld2 in timer 0 */
  1796. kDmaRequestMuxQTIMER4Cmpld1Timer2Cmpld2Timer3 = 163|0x100U, /**< TMR4 cmpld1 in timer 2 or cmpld2 in timer 3 */
  1797. kDmaRequestMuxQTIMER4Cmpld1Timer3Cmpld2Timer2 = 164|0x100U, /**< TMR4 cmpld1 in timer 3 or cmpld2 in timer 2 */
  1798. kDmaRequestMuxPdm = 181|0x100U, /**< PDM */
  1799. kDmaRequestMuxEnetTimer0 = 182|0x100U, /**< ENET Timer0 */
  1800. kDmaRequestMuxEnetTimer1 = 183|0x100U, /**< ENET Timer1 */
  1801. kDmaRequestMuxEnet1GTimer0 = 184|0x100U, /**< ENET 1G Timer0 */
  1802. kDmaRequestMuxEnet1GTimer1 = 185|0x100U, /**< ENET 1G Timer1 */
  1803. kDmaRequestMuxCAN1 = 186|0x100U, /**< CAN1 */
  1804. kDmaRequestMuxCAN2 = 187|0x100U, /**< CAN2 */
  1805. kDmaRequestMuxCAN3 = 188|0x100U, /**< CAN3 */
  1806. kDmaRequestMuxDAC = 189|0x100U, /**< DAC */
  1807. kDmaRequestMuxASRCRequest1 = 191|0x100U, /**< ASRC request 1 pair A input request */
  1808. kDmaRequestMuxASRCRequest2 = 192|0x100U, /**< ASRC request 2 pair B input request */
  1809. kDmaRequestMuxASRCRequest3 = 193|0x100U, /**< ASRC request 3 pair C input request */
  1810. kDmaRequestMuxASRCRequest4 = 194|0x100U, /**< ASRC request 4 pair A output request */
  1811. kDmaRequestMuxASRCRequest5 = 195|0x100U, /**< ASRC request 5 pair B output request */
  1812. kDmaRequestMuxASRCRequest6 = 196|0x100U, /**< ASRC request 6 pair C output request */
  1813. kDmaRequestMuxEmvsim1Tx = 197|0x100U, /**< Emvsim1 Transmit */
  1814. kDmaRequestMuxEmvsim1Rx = 198|0x100U, /**< Emvsim1 Receive */
  1815. kDmaRequestMuxEmvsim2Tx = 199|0x100U, /**< Emvsim2 Transmit */
  1816. kDmaRequestMuxEmvsim2Rx = 200|0x100U, /**< Emvsim2 Receive */
  1817. kDmaRequestMuxEnetQosTimer0 = 201|0x100U, /**< ENET_QOS Timer0 */
  1818. kDmaRequestMuxEnetQosTimer1 = 202|0x100U, /**< ENET_QOS Timer1 */
  1819. } dma_request_source_t;
  1820. /* @} */
  1821. /*!
  1822. * @addtogroup iomuxc_pads
  1823. * @{ */
  1824. /*******************************************************************************
  1825. * Definitions
  1826. *******************************************************************************/
  1827. /*!
  1828. * @brief Enumeration for the IOMUXC SW_MUX_CTL_PAD
  1829. *
  1830. * Defines the enumeration for the IOMUXC SW_MUX_CTL_PAD collections.
  1831. */
  1832. typedef enum _iomuxc_sw_mux_ctl_pad
  1833. {
  1834. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_00 = 0U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1835. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_01 = 1U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1836. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_02 = 2U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1837. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_03 = 3U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1838. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_04 = 4U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1839. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_05 = 5U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1840. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_06 = 6U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1841. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_07 = 7U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1842. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_08 = 8U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1843. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_09 = 9U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1844. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_10 = 10U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1845. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_11 = 11U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1846. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_12 = 12U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1847. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_13 = 13U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1848. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_14 = 14U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1849. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_15 = 15U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1850. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_16 = 16U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1851. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_17 = 17U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1852. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_18 = 18U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1853. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_19 = 19U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1854. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_20 = 20U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1855. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_21 = 21U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1856. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_22 = 22U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1857. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_23 = 23U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1858. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_24 = 24U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1859. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_25 = 25U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1860. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_26 = 26U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1861. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_27 = 27U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1862. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_28 = 28U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1863. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_29 = 29U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1864. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_30 = 30U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1865. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_31 = 31U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1866. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_32 = 32U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1867. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_33 = 33U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1868. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_34 = 34U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1869. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_35 = 35U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1870. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_36 = 36U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1871. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_37 = 37U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1872. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_38 = 38U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1873. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_39 = 39U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1874. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_40 = 40U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1875. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B1_41 = 41U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1876. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_00 = 42U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1877. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_01 = 43U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1878. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_02 = 44U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1879. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_03 = 45U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1880. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_04 = 46U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1881. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_05 = 47U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1882. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_06 = 48U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1883. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_07 = 49U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1884. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_08 = 50U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1885. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_09 = 51U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1886. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_10 = 52U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1887. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_11 = 53U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1888. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_12 = 54U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1889. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_13 = 55U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1890. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_14 = 56U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1891. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_15 = 57U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1892. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_16 = 58U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1893. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_17 = 59U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1894. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_18 = 60U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1895. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_19 = 61U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1896. kIOMUXC_SW_MUX_CTL_PAD_GPIO_EMC_B2_20 = 62U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1897. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_00 = 63U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1898. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_01 = 64U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1899. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_02 = 65U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1900. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_03 = 66U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1901. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_04 = 67U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1902. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_05 = 68U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1903. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_06 = 69U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1904. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_07 = 70U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1905. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_08 = 71U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1906. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_09 = 72U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1907. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_10 = 73U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1908. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_11 = 74U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1909. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_12 = 75U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1910. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_13 = 76U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1911. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_14 = 77U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1912. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_15 = 78U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1913. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_16 = 79U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1914. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_17 = 80U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1915. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_18 = 81U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1916. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_19 = 82U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1917. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_20 = 83U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1918. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_21 = 84U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1919. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_22 = 85U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1920. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_23 = 86U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1921. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_24 = 87U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1922. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_25 = 88U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1923. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_26 = 89U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1924. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_27 = 90U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1925. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_28 = 91U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1926. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_29 = 92U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1927. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_30 = 93U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1928. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_31 = 94U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1929. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_32 = 95U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1930. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_33 = 96U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1931. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_34 = 97U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1932. kIOMUXC_SW_MUX_CTL_PAD_GPIO_AD_35 = 98U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1933. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_00 = 99U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1934. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_01 = 100U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1935. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_02 = 101U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1936. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_03 = 102U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1937. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_04 = 103U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1938. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B1_05 = 104U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1939. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_00 = 105U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1940. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_01 = 106U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1941. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_02 = 107U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1942. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_03 = 108U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1943. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_04 = 109U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1944. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_05 = 110U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1945. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_06 = 111U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1946. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_07 = 112U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1947. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_08 = 113U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1948. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_09 = 114U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1949. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_10 = 115U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1950. kIOMUXC_SW_MUX_CTL_PAD_GPIO_SD_B2_11 = 116U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1951. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_00 = 117U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1952. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_01 = 118U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1953. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_02 = 119U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1954. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_03 = 120U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1955. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_04 = 121U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1956. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_05 = 122U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1957. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_06 = 123U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1958. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_07 = 124U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1959. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_08 = 125U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1960. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_09 = 126U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1961. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_10 = 127U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1962. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B1_11 = 128U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1963. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_00 = 129U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1964. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_01 = 130U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1965. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_02 = 131U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1966. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_03 = 132U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1967. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_04 = 133U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1968. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_05 = 134U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1969. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_06 = 135U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1970. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_07 = 136U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1971. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_08 = 137U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1972. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_09 = 138U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1973. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_10 = 139U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1974. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_11 = 140U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1975. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_12 = 141U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1976. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_13 = 142U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1977. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_14 = 143U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1978. kIOMUXC_SW_MUX_CTL_PAD_GPIO_DISP_B2_15 = 144U, /**< IOMUXC SW_MUX_CTL_PAD index */
  1979. } iomuxc_sw_mux_ctl_pad_t;
  1980. /* @} */
  1981. /*!
  1982. * @addtogroup iomuxc_pads
  1983. * @{ */
  1984. /*******************************************************************************
  1985. * Definitions
  1986. *******************************************************************************/
  1987. /*!
  1988. * @brief Enumeration for the IOMUXC SW_PAD_CTL_PAD
  1989. *
  1990. * Defines the enumeration for the IOMUXC SW_PAD_CTL_PAD collections.
  1991. */
  1992. typedef enum _iomuxc_sw_pad_ctl_pad
  1993. {
  1994. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_00 = 0U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1995. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_01 = 1U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1996. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_02 = 2U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1997. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_03 = 3U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1998. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_04 = 4U, /**< IOMUXC SW_PAD_CTL_PAD index */
  1999. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_05 = 5U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2000. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_06 = 6U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2001. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_07 = 7U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2002. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_08 = 8U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2003. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_09 = 9U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2004. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_10 = 10U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2005. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_11 = 11U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2006. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_12 = 12U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2007. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_13 = 13U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2008. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_14 = 14U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2009. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_15 = 15U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2010. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_16 = 16U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2011. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_17 = 17U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2012. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_18 = 18U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2013. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_19 = 19U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2014. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_20 = 20U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2015. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_21 = 21U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2016. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_22 = 22U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2017. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_23 = 23U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2018. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_24 = 24U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2019. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_25 = 25U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2020. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_26 = 26U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2021. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_27 = 27U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2022. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_28 = 28U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2023. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_29 = 29U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2024. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_30 = 30U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2025. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_31 = 31U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2026. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_32 = 32U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2027. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_33 = 33U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2028. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_34 = 34U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2029. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_35 = 35U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2030. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_36 = 36U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2031. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_37 = 37U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2032. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_38 = 38U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2033. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_39 = 39U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2034. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_40 = 40U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2035. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B1_41 = 41U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2036. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_00 = 42U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2037. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_01 = 43U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2038. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_02 = 44U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2039. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_03 = 45U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2040. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_04 = 46U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2041. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_05 = 47U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2042. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_06 = 48U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2043. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_07 = 49U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2044. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_08 = 50U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2045. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_09 = 51U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2046. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_10 = 52U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2047. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_11 = 53U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2048. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_12 = 54U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2049. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_13 = 55U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2050. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_14 = 56U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2051. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_15 = 57U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2052. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_16 = 58U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2053. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_17 = 59U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2054. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_18 = 60U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2055. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_19 = 61U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2056. kIOMUXC_SW_PAD_CTL_PAD_GPIO_EMC_B2_20 = 62U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2057. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_00 = 63U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2058. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_01 = 64U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2059. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_02 = 65U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2060. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_03 = 66U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2061. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_04 = 67U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2062. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_05 = 68U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2063. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_06 = 69U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2064. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_07 = 70U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2065. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_08 = 71U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2066. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_09 = 72U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2067. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_10 = 73U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2068. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_11 = 74U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2069. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_12 = 75U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2070. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_13 = 76U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2071. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_14 = 77U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2072. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_15 = 78U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2073. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_16 = 79U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2074. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_17 = 80U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2075. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_18 = 81U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2076. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_19 = 82U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2077. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_20 = 83U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2078. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_21 = 84U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2079. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_22 = 85U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2080. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_23 = 86U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2081. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_24 = 87U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2082. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_25 = 88U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2083. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_26 = 89U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2084. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_27 = 90U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2085. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_28 = 91U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2086. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_29 = 92U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2087. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_30 = 93U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2088. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_31 = 94U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2089. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_32 = 95U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2090. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_33 = 96U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2091. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_34 = 97U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2092. kIOMUXC_SW_PAD_CTL_PAD_GPIO_AD_35 = 98U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2093. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_00 = 99U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2094. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_01 = 100U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2095. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_02 = 101U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2096. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_03 = 102U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2097. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_04 = 103U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2098. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B1_05 = 104U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2099. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_00 = 105U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2100. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_01 = 106U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2101. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_02 = 107U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2102. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_03 = 108U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2103. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_04 = 109U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2104. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_05 = 110U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2105. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_06 = 111U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2106. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_07 = 112U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2107. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_08 = 113U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2108. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_09 = 114U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2109. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_10 = 115U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2110. kIOMUXC_SW_PAD_CTL_PAD_GPIO_SD_B2_11 = 116U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2111. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_00 = 117U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2112. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_01 = 118U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2113. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_02 = 119U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2114. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_03 = 120U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2115. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_04 = 121U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2116. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_05 = 122U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2117. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_06 = 123U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2118. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_07 = 124U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2119. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_08 = 125U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2120. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_09 = 126U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2121. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_10 = 127U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2122. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B1_11 = 128U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2123. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_00 = 129U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2124. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_01 = 130U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2125. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_02 = 131U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2126. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_03 = 132U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2127. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_04 = 133U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2128. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_05 = 134U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2129. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_06 = 135U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2130. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_07 = 136U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2131. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_08 = 137U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2132. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_09 = 138U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2133. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_10 = 139U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2134. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_11 = 140U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2135. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_12 = 141U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2136. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_13 = 142U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2137. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_14 = 143U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2138. kIOMUXC_SW_PAD_CTL_PAD_GPIO_DISP_B2_15 = 144U, /**< IOMUXC SW_PAD_CTL_PAD index */
  2139. } iomuxc_sw_pad_ctl_pad_t;
  2140. /* @} */
  2141. /*!
  2142. * @brief Enumeration for the IOMUXC select input
  2143. *
  2144. * Defines the enumeration for the IOMUXC select input collections.
  2145. */
  2146. typedef enum _iomuxc_select_input
  2147. {
  2148. kIOMUXC_FLEXCAN1_RX_SELECT_INPUT = 0U, /**< IOMUXC select input index */
  2149. kIOMUXC_FLEXCAN2_RX_SELECT_INPUT = 1U, /**< IOMUXC select input index */
  2150. kIOMUXC_CCM_ENET_QOS_REF_CLK_SELECT_INPUT = 2U, /**< IOMUXC select input index */
  2151. kIOMUXC_CCM_ENET_QOS_TX_CLK_SELECT_INPUT = 3U, /**< IOMUXC select input index */
  2152. kIOMUXC_ENET_IPG_CLK_RMII_SELECT_INPUT = 4U, /**< IOMUXC select input index */
  2153. kIOMUXC_ENET_MAC0_MDIO_SELECT_INPUT = 5U, /**< IOMUXC select input index */
  2154. kIOMUXC_ENET_MAC0_RXDATA_SELECT_INPUT_0 = 6U, /**< IOMUXC select input index */
  2155. kIOMUXC_ENET_MAC0_RXDATA_SELECT_INPUT_1 = 7U, /**< IOMUXC select input index */
  2156. kIOMUXC_ENET_MAC0_RXEN_SELECT_INPUT = 8U, /**< IOMUXC select input index */
  2157. kIOMUXC_ENET_MAC0_RXERR_SELECT_INPUT = 9U, /**< IOMUXC select input index */
  2158. kIOMUXC_ENET_MAC0_TXCLK_SELECT_INPUT = 10U, /**< IOMUXC select input index */
  2159. kIOMUXC_ENET_1G_IPG_CLK_RMII_SELECT_INPUT = 11U, /**< IOMUXC select input index */
  2160. kIOMUXC_ENET_1G_MAC0_MDIO_SELECT_INPUT = 12U, /**< IOMUXC select input index */
  2161. kIOMUXC_ENET_1G_MAC0_RXCLK_SELECT_INPUT = 13U, /**< IOMUXC select input index */
  2162. kIOMUXC_ENET_1G_MAC0_RXDATA_0_SELECT_INPUT = 14U, /**< IOMUXC select input index */
  2163. kIOMUXC_ENET_1G_MAC0_RXDATA_1_SELECT_INPUT = 15U, /**< IOMUXC select input index */
  2164. kIOMUXC_ENET_1G_MAC0_RXDATA_2_SELECT_INPUT = 16U, /**< IOMUXC select input index */
  2165. kIOMUXC_ENET_1G_MAC0_RXDATA_3_SELECT_INPUT = 17U, /**< IOMUXC select input index */
  2166. kIOMUXC_ENET_1G_MAC0_RXEN_SELECT_INPUT = 18U, /**< IOMUXC select input index */
  2167. kIOMUXC_ENET_1G_MAC0_RXERR_SELECT_INPUT = 19U, /**< IOMUXC select input index */
  2168. kIOMUXC_ENET_1G_MAC0_TXCLK_SELECT_INPUT = 20U, /**< IOMUXC select input index */
  2169. kIOMUXC_ENET_QOS_GMII_MDI_I_SELECT_INPUT = 21U, /**< IOMUXC select input index */
  2170. kIOMUXC_ENET_QOS_PHY_RXD_I_SELECT_INPUT_0 = 22U, /**< IOMUXC select input index */
  2171. kIOMUXC_ENET_QOS_PHY_RXD_I_SELECT_INPUT_1 = 23U, /**< IOMUXC select input index */
  2172. kIOMUXC_ENET_QOS_PHY_RXDV_I_SELECT_INPUT = 24U, /**< IOMUXC select input index */
  2173. kIOMUXC_ENET_QOS_PHY_RXER_I_SELECT_INPUT = 25U, /**< IOMUXC select input index */
  2174. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_0 = 26U, /**< IOMUXC select input index */
  2175. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_1 = 27U, /**< IOMUXC select input index */
  2176. kIOMUXC_FLEXPWM1_PWMA_SELECT_INPUT_2 = 28U, /**< IOMUXC select input index */
  2177. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_0 = 29U, /**< IOMUXC select input index */
  2178. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_1 = 30U, /**< IOMUXC select input index */
  2179. kIOMUXC_FLEXPWM1_PWMB_SELECT_INPUT_2 = 31U, /**< IOMUXC select input index */
  2180. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_0 = 32U, /**< IOMUXC select input index */
  2181. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_1 = 33U, /**< IOMUXC select input index */
  2182. kIOMUXC_FLEXPWM2_PWMA_SELECT_INPUT_2 = 34U, /**< IOMUXC select input index */
  2183. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_0 = 35U, /**< IOMUXC select input index */
  2184. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_1 = 36U, /**< IOMUXC select input index */
  2185. kIOMUXC_FLEXPWM2_PWMB_SELECT_INPUT_2 = 37U, /**< IOMUXC select input index */
  2186. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_0 = 38U, /**< IOMUXC select input index */
  2187. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_1 = 39U, /**< IOMUXC select input index */
  2188. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_2 = 40U, /**< IOMUXC select input index */
  2189. kIOMUXC_FLEXPWM3_PWMA_SELECT_INPUT_3 = 41U, /**< IOMUXC select input index */
  2190. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_0 = 42U, /**< IOMUXC select input index */
  2191. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_1 = 43U, /**< IOMUXC select input index */
  2192. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_2 = 44U, /**< IOMUXC select input index */
  2193. kIOMUXC_FLEXPWM3_PWMB_SELECT_INPUT_3 = 45U, /**< IOMUXC select input index */
  2194. kIOMUXC_FLEXSPI1_I_DQS_FA_SELECT_INPUT = 46U, /**< IOMUXC select input index */
  2195. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_0 = 47U, /**< IOMUXC select input index */
  2196. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_1 = 48U, /**< IOMUXC select input index */
  2197. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_2 = 49U, /**< IOMUXC select input index */
  2198. kIOMUXC_FLEXSPI1_I_IO_FA_SELECT_INPUT_3 = 50U, /**< IOMUXC select input index */
  2199. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_0 = 51U, /**< IOMUXC select input index */
  2200. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_1 = 52U, /**< IOMUXC select input index */
  2201. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_2 = 53U, /**< IOMUXC select input index */
  2202. kIOMUXC_FLEXSPI1_I_IO_FB_SELECT_INPUT_3 = 54U, /**< IOMUXC select input index */
  2203. kIOMUXC_FLEXSPI1_I_SCK_FA_SELECT_INPUT = 55U, /**< IOMUXC select input index */
  2204. kIOMUXC_FLEXSPI1_I_SCK_FB_SELECT_INPUT = 56U, /**< IOMUXC select input index */
  2205. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_0 = 57U, /**< IOMUXC select input index */
  2206. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_1 = 58U, /**< IOMUXC select input index */
  2207. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_2 = 59U, /**< IOMUXC select input index */
  2208. kIOMUXC_FLEXSPI2_I_IO_FA_SELECT_INPUT_3 = 60U, /**< IOMUXC select input index */
  2209. kIOMUXC_FLEXSPI2_I_SCK_FA_SELECT_INPUT = 61U, /**< IOMUXC select input index */
  2210. kIOMUXC_GPT3_CAPIN1_SELECT_INPUT = 62U, /**< IOMUXC select input index */
  2211. kIOMUXC_GPT3_CAPIN2_SELECT_INPUT = 63U, /**< IOMUXC select input index */
  2212. kIOMUXC_GPT3_CLKIN_SELECT_INPUT = 64U, /**< IOMUXC select input index */
  2213. kIOMUXC_KPP_COL_SELECT_INPUT_6 = 65U, /**< IOMUXC select input index */
  2214. kIOMUXC_KPP_COL_SELECT_INPUT_7 = 66U, /**< IOMUXC select input index */
  2215. kIOMUXC_KPP_ROW_SELECT_INPUT_6 = 67U, /**< IOMUXC select input index */
  2216. kIOMUXC_KPP_ROW_SELECT_INPUT_7 = 68U, /**< IOMUXC select input index */
  2217. kIOMUXC_LPI2C1_LPI2C_SCL_SELECT_INPUT = 69U, /**< IOMUXC select input index */
  2218. kIOMUXC_LPI2C1_LPI2C_SDA_SELECT_INPUT = 70U, /**< IOMUXC select input index */
  2219. kIOMUXC_LPI2C2_LPI2C_SCL_SELECT_INPUT = 71U, /**< IOMUXC select input index */
  2220. kIOMUXC_LPI2C2_LPI2C_SDA_SELECT_INPUT = 72U, /**< IOMUXC select input index */
  2221. kIOMUXC_LPI2C3_LPI2C_SCL_SELECT_INPUT = 73U, /**< IOMUXC select input index */
  2222. kIOMUXC_LPI2C3_LPI2C_SDA_SELECT_INPUT = 74U, /**< IOMUXC select input index */
  2223. kIOMUXC_LPI2C4_LPI2C_SCL_SELECT_INPUT = 75U, /**< IOMUXC select input index */
  2224. kIOMUXC_LPI2C4_LPI2C_SDA_SELECT_INPUT = 76U, /**< IOMUXC select input index */
  2225. kIOMUXC_LPSPI1_LPSPI_PCS_SELECT_INPUT_0 = 77U, /**< IOMUXC select input index */
  2226. kIOMUXC_LPSPI1_LPSPI_SCK_SELECT_INPUT = 78U, /**< IOMUXC select input index */
  2227. kIOMUXC_LPSPI1_LPSPI_SDI_SELECT_INPUT = 79U, /**< IOMUXC select input index */
  2228. kIOMUXC_LPSPI1_LPSPI_SDO_SELECT_INPUT = 80U, /**< IOMUXC select input index */
  2229. kIOMUXC_LPSPI2_LPSPI_PCS_SELECT_INPUT_0 = 81U, /**< IOMUXC select input index */
  2230. kIOMUXC_LPSPI2_LPSPI_PCS_SELECT_INPUT_1 = 82U, /**< IOMUXC select input index */
  2231. kIOMUXC_LPSPI2_LPSPI_SCK_SELECT_INPUT = 83U, /**< IOMUXC select input index */
  2232. kIOMUXC_LPSPI2_LPSPI_SDI_SELECT_INPUT = 84U, /**< IOMUXC select input index */
  2233. kIOMUXC_LPSPI2_LPSPI_SDO_SELECT_INPUT = 85U, /**< IOMUXC select input index */
  2234. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_0 = 86U, /**< IOMUXC select input index */
  2235. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_1 = 87U, /**< IOMUXC select input index */
  2236. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_2 = 88U, /**< IOMUXC select input index */
  2237. kIOMUXC_LPSPI3_LPSPI_PCS_SELECT_INPUT_3 = 89U, /**< IOMUXC select input index */
  2238. kIOMUXC_LPSPI3_LPSPI_SCK_SELECT_INPUT = 90U, /**< IOMUXC select input index */
  2239. kIOMUXC_LPSPI3_LPSPI_SDI_SELECT_INPUT = 91U, /**< IOMUXC select input index */
  2240. kIOMUXC_LPSPI3_LPSPI_SDO_SELECT_INPUT = 92U, /**< IOMUXC select input index */
  2241. kIOMUXC_LPSPI4_LPSPI_PCS_SELECT_INPUT_0 = 93U, /**< IOMUXC select input index */
  2242. kIOMUXC_LPSPI4_LPSPI_SCK_SELECT_INPUT = 94U, /**< IOMUXC select input index */
  2243. kIOMUXC_LPSPI4_LPSPI_SDI_SELECT_INPUT = 95U, /**< IOMUXC select input index */
  2244. kIOMUXC_LPSPI4_LPSPI_SDO_SELECT_INPUT = 96U, /**< IOMUXC select input index */
  2245. kIOMUXC_LPUART1_LPUART_RXD_SELECT_INPUT = 97U, /**< IOMUXC select input index */
  2246. kIOMUXC_LPUART1_LPUART_TXD_SELECT_INPUT = 98U, /**< IOMUXC select input index */
  2247. kIOMUXC_LPUART10_LPUART_RXD_SELECT_INPUT = 99U, /**< IOMUXC select input index */
  2248. kIOMUXC_LPUART10_LPUART_TXD_SELECT_INPUT = 100U, /**< IOMUXC select input index */
  2249. kIOMUXC_LPUART7_LPUART_RXD_SELECT_INPUT = 101U, /**< IOMUXC select input index */
  2250. kIOMUXC_LPUART7_LPUART_TXD_SELECT_INPUT = 102U, /**< IOMUXC select input index */
  2251. kIOMUXC_LPUART8_LPUART_RXD_SELECT_INPUT = 103U, /**< IOMUXC select input index */
  2252. kIOMUXC_LPUART8_LPUART_TXD_SELECT_INPUT = 104U, /**< IOMUXC select input index */
  2253. kIOMUXC_QTIMER1_TMR0_INPUT_SELECT_INPUT = 105U, /**< IOMUXC select input index */
  2254. kIOMUXC_QTIMER1_TMR1_INPUT_SELECT_INPUT = 106U, /**< IOMUXC select input index */
  2255. kIOMUXC_QTIMER1_TMR2_INPUT_SELECT_INPUT = 107U, /**< IOMUXC select input index */
  2256. kIOMUXC_QTIMER2_TMR0_INPUT_SELECT_INPUT = 108U, /**< IOMUXC select input index */
  2257. kIOMUXC_QTIMER2_TMR1_INPUT_SELECT_INPUT = 109U, /**< IOMUXC select input index */
  2258. kIOMUXC_QTIMER2_TMR2_INPUT_SELECT_INPUT = 110U, /**< IOMUXC select input index */
  2259. kIOMUXC_QTIMER3_TMR0_INPUT_SELECT_INPUT = 111U, /**< IOMUXC select input index */
  2260. kIOMUXC_QTIMER3_TMR1_INPUT_SELECT_INPUT = 112U, /**< IOMUXC select input index */
  2261. kIOMUXC_QTIMER3_TMR2_INPUT_SELECT_INPUT = 113U, /**< IOMUXC select input index */
  2262. kIOMUXC_QTIMER4_TMR0_INPUT_SELECT_INPUT = 114U, /**< IOMUXC select input index */
  2263. kIOMUXC_QTIMER4_TMR1_INPUT_SELECT_INPUT = 115U, /**< IOMUXC select input index */
  2264. kIOMUXC_QTIMER4_TMR2_INPUT_SELECT_INPUT = 116U, /**< IOMUXC select input index */
  2265. kIOMUXC_SAI1_IPG_CLK_SAI_MCLK_SELECT_INPUT = 117U, /**< IOMUXC select input index */
  2266. kIOMUXC_SAI1_SAI_RXBCLK_SELECT_INPUT = 118U, /**< IOMUXC select input index */
  2267. kIOMUXC_SAI1_SAI_RXDATA_SELECT_INPUT_0 = 119U, /**< IOMUXC select input index */
  2268. kIOMUXC_SAI1_SAI_RXSYNC_SELECT_INPUT = 120U, /**< IOMUXC select input index */
  2269. kIOMUXC_SAI1_SAI_TXBCLK_SELECT_INPUT = 121U, /**< IOMUXC select input index */
  2270. kIOMUXC_SAI1_SAI_TXSYNC_SELECT_INPUT = 122U, /**< IOMUXC select input index */
  2271. kIOMUXC_EMVSIM1_SIO_SELECT_INPUT = 129U, /**< IOMUXC select input index */
  2272. kIOMUXC_EMVSIM1_IPP_SIMPD_SELECT_INPUT = 130U, /**< IOMUXC select input index */
  2273. kIOMUXC_EMVSIM1_POWER_FAIL_SELECT_INPUT = 131U, /**< IOMUXC select input index */
  2274. kIOMUXC_EMVSIM2_SIO_SELECT_INPUT = 132U, /**< IOMUXC select input index */
  2275. kIOMUXC_EMVSIM2_IPP_SIMPD_SELECT_INPUT = 133U, /**< IOMUXC select input index */
  2276. kIOMUXC_EMVSIM2_POWER_FAIL_SELECT_INPUT = 134U, /**< IOMUXC select input index */
  2277. kIOMUXC_SPDIF_SPDIF_IN1_SELECT_INPUT = 135U, /**< IOMUXC select input index */
  2278. kIOMUXC_USB_OTG2_OC_SELECT_INPUT = 136U, /**< IOMUXC select input index */
  2279. kIOMUXC_USB_OTG_OC_SELECT_INPUT = 137U, /**< IOMUXC select input index */
  2280. kIOMUXC_USBPHY1_USB_ID_SELECT_INPUT = 138U, /**< IOMUXC select input index */
  2281. kIOMUXC_USBPHY2_USB_ID_SELECT_INPUT = 139U, /**< IOMUXC select input index */
  2282. kIOMUXC_USDHC1_IPP_CARD_DET_SELECT_INPUT = 140U, /**< IOMUXC select input index */
  2283. kIOMUXC_USDHC1_IPP_WP_ON_SELECT_INPUT = 141U, /**< IOMUXC select input index */
  2284. kIOMUXC_USDHC2_IPP_CARD_DET_SELECT_INPUT = 142U, /**< IOMUXC select input index */
  2285. kIOMUXC_USDHC2_IPP_WP_ON_SELECT_INPUT = 143U, /**< IOMUXC select input index */
  2286. kIOMUXC_XBAR1_IN_SELECT_INPUT_20 = 144U, /**< IOMUXC select input index */
  2287. kIOMUXC_XBAR1_IN_SELECT_INPUT_21 = 145U, /**< IOMUXC select input index */
  2288. kIOMUXC_XBAR1_IN_SELECT_INPUT_22 = 146U, /**< IOMUXC select input index */
  2289. kIOMUXC_XBAR1_IN_SELECT_INPUT_23 = 147U, /**< IOMUXC select input index */
  2290. kIOMUXC_XBAR1_IN_SELECT_INPUT_24 = 148U, /**< IOMUXC select input index */
  2291. kIOMUXC_XBAR1_IN_SELECT_INPUT_25 = 149U, /**< IOMUXC select input index */
  2292. kIOMUXC_XBAR1_IN_SELECT_INPUT_26 = 150U, /**< IOMUXC select input index */
  2293. kIOMUXC_XBAR1_IN_SELECT_INPUT_27 = 151U, /**< IOMUXC select input index */
  2294. kIOMUXC_XBAR1_IN_SELECT_INPUT_28 = 152U, /**< IOMUXC select input index */
  2295. kIOMUXC_XBAR1_IN_SELECT_INPUT_29 = 153U, /**< IOMUXC select input index */
  2296. kIOMUXC_XBAR1_IN_SELECT_INPUT_30 = 154U, /**< IOMUXC select input index */
  2297. kIOMUXC_XBAR1_IN_SELECT_INPUT_31 = 155U, /**< IOMUXC select input index */
  2298. kIOMUXC_XBAR1_IN_SELECT_INPUT_32 = 156U, /**< IOMUXC select input index */
  2299. kIOMUXC_XBAR1_IN_SELECT_INPUT_33 = 157U, /**< IOMUXC select input index */
  2300. kIOMUXC_XBAR1_IN_SELECT_INPUT_34 = 158U, /**< IOMUXC select input index */
  2301. kIOMUXC_XBAR1_IN_SELECT_INPUT_35 = 159U, /**< IOMUXC select input index */
  2302. } iomuxc_select_input_t;
  2303. /*!
  2304. * @}
  2305. */ /* end of group Mapping_Information */
  2306. /* ----------------------------------------------------------------------------
  2307. -- Device Peripheral Access Layer
  2308. ---------------------------------------------------------------------------- */
  2309. /*!
  2310. * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
  2311. * @{
  2312. */
  2313. /*
  2314. ** Start of section using anonymous unions
  2315. */
  2316. #if defined(__ARMCC_VERSION)
  2317. #if (__ARMCC_VERSION >= 6010050)
  2318. #pragma clang diagnostic push
  2319. #else
  2320. #pragma push
  2321. #pragma anon_unions
  2322. #endif
  2323. #elif defined(__CWCC__)
  2324. #pragma push
  2325. #pragma cpp_extensions on
  2326. #elif defined(__GNUC__)
  2327. /* anonymous unions are enabled by default */
  2328. #elif defined(__IAR_SYSTEMS_ICC__)
  2329. #pragma language=extended
  2330. #else
  2331. #error Not supported compiler type
  2332. #endif
  2333. /* ----------------------------------------------------------------------------
  2334. -- ADC Peripheral Access Layer
  2335. ---------------------------------------------------------------------------- */
  2336. /*!
  2337. * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
  2338. * @{
  2339. */
  2340. /** ADC - Register Layout Typedef */
  2341. typedef struct {
  2342. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  2343. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  2344. uint8_t RESERVED_0[8];
  2345. __IO uint32_t CTRL; /**< LPADC Control Register, offset: 0x10 */
  2346. __IO uint32_t STAT; /**< LPADC Status Register, offset: 0x14 */
  2347. __IO uint32_t IE; /**< Interrupt Enable Register, offset: 0x18 */
  2348. __IO uint32_t DE; /**< DMA Enable Register, offset: 0x1C */
  2349. __IO uint32_t CFG; /**< LPADC Configuration Register, offset: 0x20 */
  2350. __IO uint32_t PAUSE; /**< LPADC Pause Register, offset: 0x24 */
  2351. uint8_t RESERVED_1[8];
  2352. __IO uint32_t FCTRL; /**< LPADC FIFO Control Register, offset: 0x30 */
  2353. __O uint32_t SWTRIG; /**< Software Trigger Register, offset: 0x34 */
  2354. uint8_t RESERVED_2[136];
  2355. __IO uint32_t TCTRL[8]; /**< Trigger Control Register, array offset: 0xC0, array step: 0x4 */
  2356. uint8_t RESERVED_3[32];
  2357. struct { /* offset: 0x100, array step: 0x8 */
  2358. __IO uint32_t CMDL; /**< LPADC Command Low Buffer Register, array offset: 0x100, array step: 0x8 */
  2359. __IO uint32_t CMDH; /**< LPADC Command High Buffer Register, array offset: 0x104, array step: 0x8 */
  2360. } CMD[15];
  2361. uint8_t RESERVED_4[136];
  2362. __IO uint32_t CV[4]; /**< Compare Value Register, array offset: 0x200, array step: 0x4 */
  2363. uint8_t RESERVED_5[240];
  2364. __I uint32_t RESFIFO; /**< LPADC Data Result FIFO Register, offset: 0x300 */
  2365. } ADC_Type;
  2366. /* ----------------------------------------------------------------------------
  2367. -- ADC Register Masks
  2368. ---------------------------------------------------------------------------- */
  2369. /*!
  2370. * @addtogroup ADC_Register_Masks ADC Register Masks
  2371. * @{
  2372. */
  2373. /*! @name VERID - Version ID Register */
  2374. /*! @{ */
  2375. #define ADC_VERID_RES_MASK (0x1U)
  2376. #define ADC_VERID_RES_SHIFT (0U)
  2377. /*! RES - Resolution
  2378. * 0b0..Up to 13-bit differential/12-bit single ended resolution supported.
  2379. * 0b1..Up to 16-bit differential/15-bit single ended resolution supported.
  2380. */
  2381. #define ADC_VERID_RES(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_RES_SHIFT)) & ADC_VERID_RES_MASK)
  2382. #define ADC_VERID_DIFFEN_MASK (0x2U)
  2383. #define ADC_VERID_DIFFEN_SHIFT (1U)
  2384. /*! DIFFEN - Differential Supported
  2385. * 0b0..Differential operation not supported.
  2386. * 0b1..Differential operation supported. CMDLa[DIFF] and CMDLa[ABSEL] control fields implemented.
  2387. */
  2388. #define ADC_VERID_DIFFEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_DIFFEN_SHIFT)) & ADC_VERID_DIFFEN_MASK)
  2389. #define ADC_VERID_MVI_MASK (0x8U)
  2390. #define ADC_VERID_MVI_SHIFT (3U)
  2391. /*! MVI - Multi Vref Implemented
  2392. * 0b0..Single voltage reference input supported.
  2393. * 0b1..Multiple voltage reference inputs supported.
  2394. */
  2395. #define ADC_VERID_MVI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MVI_SHIFT)) & ADC_VERID_MVI_MASK)
  2396. #define ADC_VERID_CSW_MASK (0x70U)
  2397. #define ADC_VERID_CSW_SHIFT (4U)
  2398. /*! CSW - Channel Scale Width
  2399. * 0b000..Channel scaling not supported.
  2400. * 0b001..Channel scaling supported. 1-bit CSCALE control field.
  2401. * 0b110..Channel scaling supported. 6-bit CSCALE control field.
  2402. */
  2403. #define ADC_VERID_CSW(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CSW_SHIFT)) & ADC_VERID_CSW_MASK)
  2404. #define ADC_VERID_VR1RNGI_MASK (0x100U)
  2405. #define ADC_VERID_VR1RNGI_SHIFT (8U)
  2406. /*! VR1RNGI - Voltage Reference 1 Range Control Bit Implemented
  2407. * 0b0..Range control not required. CFG[VREF1RNG] is not implemented.
  2408. * 0b1..Range control required. CFG[VREF1RNG] is implemented.
  2409. */
  2410. #define ADC_VERID_VR1RNGI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_VR1RNGI_SHIFT)) & ADC_VERID_VR1RNGI_MASK)
  2411. #define ADC_VERID_IADCKI_MASK (0x200U)
  2412. #define ADC_VERID_IADCKI_SHIFT (9U)
  2413. /*! IADCKI - Internal LPADC Clock implemented
  2414. * 0b0..Internal clock source not implemented.
  2415. * 0b1..Internal clock source (and CFG[ADCKEN]) implemented.
  2416. */
  2417. #define ADC_VERID_IADCKI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_IADCKI_SHIFT)) & ADC_VERID_IADCKI_MASK)
  2418. #define ADC_VERID_CALOFSI_MASK (0x400U)
  2419. #define ADC_VERID_CALOFSI_SHIFT (10U)
  2420. /*! CALOFSI - Calibration Offset Function Implemented
  2421. * 0b0..Offset calibration and offset trimming not implemented.
  2422. * 0b1..Offset calibration and offset trimming implemented.
  2423. */
  2424. #define ADC_VERID_CALOFSI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CALOFSI_SHIFT)) & ADC_VERID_CALOFSI_MASK)
  2425. #define ADC_VERID_MINOR_MASK (0xFF0000U)
  2426. #define ADC_VERID_MINOR_SHIFT (16U)
  2427. /*! MINOR - Minor Version Number
  2428. */
  2429. #define ADC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MINOR_SHIFT)) & ADC_VERID_MINOR_MASK)
  2430. #define ADC_VERID_MAJOR_MASK (0xFF000000U)
  2431. #define ADC_VERID_MAJOR_SHIFT (24U)
  2432. /*! MAJOR - Major Version Number
  2433. */
  2434. #define ADC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MAJOR_SHIFT)) & ADC_VERID_MAJOR_MASK)
  2435. /*! @} */
  2436. /*! @name PARAM - Parameter Register */
  2437. /*! @{ */
  2438. #define ADC_PARAM_TRIG_NUM_MASK (0xFFU)
  2439. #define ADC_PARAM_TRIG_NUM_SHIFT (0U)
  2440. /*! TRIG_NUM - Trigger Number
  2441. * 0b00001000..8 hardware triggers implemented
  2442. */
  2443. #define ADC_PARAM_TRIG_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_TRIG_NUM_SHIFT)) & ADC_PARAM_TRIG_NUM_MASK)
  2444. #define ADC_PARAM_FIFOSIZE_MASK (0xFF00U)
  2445. #define ADC_PARAM_FIFOSIZE_SHIFT (8U)
  2446. /*! FIFOSIZE - Result FIFO Depth
  2447. * 0b00010000..Result FIFO depth = 16 datawords.
  2448. */
  2449. #define ADC_PARAM_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_FIFOSIZE_SHIFT)) & ADC_PARAM_FIFOSIZE_MASK)
  2450. #define ADC_PARAM_CV_NUM_MASK (0xFF0000U)
  2451. #define ADC_PARAM_CV_NUM_SHIFT (16U)
  2452. /*! CV_NUM - Compare Value Number
  2453. * 0b00000100..4 compare value registers implemented
  2454. */
  2455. #define ADC_PARAM_CV_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CV_NUM_SHIFT)) & ADC_PARAM_CV_NUM_MASK)
  2456. #define ADC_PARAM_CMD_NUM_MASK (0xFF000000U)
  2457. #define ADC_PARAM_CMD_NUM_SHIFT (24U)
  2458. /*! CMD_NUM - Command Buffer Number
  2459. * 0b00001111..15 command buffers implemented
  2460. */
  2461. #define ADC_PARAM_CMD_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CMD_NUM_SHIFT)) & ADC_PARAM_CMD_NUM_MASK)
  2462. /*! @} */
  2463. /*! @name CTRL - LPADC Control Register */
  2464. /*! @{ */
  2465. #define ADC_CTRL_ADCEN_MASK (0x1U)
  2466. #define ADC_CTRL_ADCEN_SHIFT (0U)
  2467. /*! ADCEN - LPADC Enable
  2468. * 0b0..LPADC is disabled.
  2469. * 0b1..LPADC is enabled.
  2470. */
  2471. #define ADC_CTRL_ADCEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ADCEN_SHIFT)) & ADC_CTRL_ADCEN_MASK)
  2472. #define ADC_CTRL_RST_MASK (0x2U)
  2473. #define ADC_CTRL_RST_SHIFT (1U)
  2474. /*! RST - Software Reset
  2475. * 0b0..LPADC logic is not reset.
  2476. * 0b1..LPADC logic is reset.
  2477. */
  2478. #define ADC_CTRL_RST(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RST_SHIFT)) & ADC_CTRL_RST_MASK)
  2479. #define ADC_CTRL_DOZEN_MASK (0x4U)
  2480. #define ADC_CTRL_DOZEN_SHIFT (2U)
  2481. /*! DOZEN - Doze Enable
  2482. * 0b0..LPADC is enabled in Doze mode.
  2483. * 0b1..LPADC is disabled in Doze mode.
  2484. */
  2485. #define ADC_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_DOZEN_SHIFT)) & ADC_CTRL_DOZEN_MASK)
  2486. #define ADC_CTRL_TRIG_SRC_MASK (0x18U)
  2487. #define ADC_CTRL_TRIG_SRC_SHIFT (3U)
  2488. /*! TRIG_SRC - Hardware trigger source selection
  2489. * 0b00..ADC_ETC hw trigger , and HW trigger are enabled
  2490. * 0b01..ADC_ETC hw trigger is enabled
  2491. * 0b10..HW trigger is enabled
  2492. * 0b11..Reserved
  2493. */
  2494. #define ADC_CTRL_TRIG_SRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_TRIG_SRC_SHIFT)) & ADC_CTRL_TRIG_SRC_MASK)
  2495. #define ADC_CTRL_RSTFIFO_MASK (0x100U)
  2496. #define ADC_CTRL_RSTFIFO_SHIFT (8U)
  2497. /*! RSTFIFO - Reset FIFO
  2498. * 0b0..No effect.
  2499. * 0b1..FIFO is reset.
  2500. */
  2501. #define ADC_CTRL_RSTFIFO(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RSTFIFO_SHIFT)) & ADC_CTRL_RSTFIFO_MASK)
  2502. /*! @} */
  2503. /*! @name STAT - LPADC Status Register */
  2504. /*! @{ */
  2505. #define ADC_STAT_RDY_MASK (0x1U)
  2506. #define ADC_STAT_RDY_SHIFT (0U)
  2507. /*! RDY - Result FIFO Ready Flag
  2508. * 0b0..Result FIFO data level not above watermark level.
  2509. * 0b1..Result FIFO holding data above watermark level.
  2510. */
  2511. #define ADC_STAT_RDY(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_RDY_SHIFT)) & ADC_STAT_RDY_MASK)
  2512. #define ADC_STAT_FOF_MASK (0x2U)
  2513. #define ADC_STAT_FOF_SHIFT (1U)
  2514. /*! FOF - Result FIFO Overflow Flag
  2515. * 0b0..No result FIFO overflow has occurred since the last time the flag was cleared.
  2516. * 0b1..At least one result FIFO overflow has occurred since the last time the flag was cleared.
  2517. */
  2518. #define ADC_STAT_FOF(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_FOF_SHIFT)) & ADC_STAT_FOF_MASK)
  2519. #define ADC_STAT_ADC_ACTIVE_MASK (0x100U)
  2520. #define ADC_STAT_ADC_ACTIVE_SHIFT (8U)
  2521. /*! ADC_ACTIVE - ADC Active
  2522. * 0b0..The LPADC is IDLE. There are no pending triggers to service and no active commands are being processed.
  2523. * 0b1..The LPADC is processing a conversion, running through the power up delay, or servicing a trigger.
  2524. */
  2525. #define ADC_STAT_ADC_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_ADC_ACTIVE_SHIFT)) & ADC_STAT_ADC_ACTIVE_MASK)
  2526. #define ADC_STAT_TRGACT_MASK (0x70000U)
  2527. #define ADC_STAT_TRGACT_SHIFT (16U)
  2528. /*! TRGACT - Trigger Active
  2529. * 0b000..Command (sequence) associated with Trigger 0 currently being executed.
  2530. * 0b001..Command (sequence) associated with Trigger 1 currently being executed.
  2531. * 0b010..Command (sequence) associated with Trigger 2 currently being executed.
  2532. * 0b011-0b111..Command (sequence) from the associated Trigger number is currently being executed.
  2533. */
  2534. #define ADC_STAT_TRGACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_TRGACT_SHIFT)) & ADC_STAT_TRGACT_MASK)
  2535. #define ADC_STAT_CMDACT_MASK (0xF000000U)
  2536. #define ADC_STAT_CMDACT_SHIFT (24U)
  2537. /*! CMDACT - Command Active
  2538. * 0b0000..No command is currently in progress.
  2539. * 0b0001..Command 1 currently being executed.
  2540. * 0b0010..Command 2 currently being executed.
  2541. * 0b0011-0b1111..Associated command number is currently being executed.
  2542. */
  2543. #define ADC_STAT_CMDACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_CMDACT_SHIFT)) & ADC_STAT_CMDACT_MASK)
  2544. /*! @} */
  2545. /*! @name IE - Interrupt Enable Register */
  2546. /*! @{ */
  2547. #define ADC_IE_FWMIE_MASK (0x1U)
  2548. #define ADC_IE_FWMIE_SHIFT (0U)
  2549. /*! FWMIE - FIFO Watermark Interrupt Enable
  2550. * 0b0..FIFO watermark interrupts are not enabled.
  2551. * 0b1..FIFO watermark interrupts are enabled.
  2552. */
  2553. #define ADC_IE_FWMIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FWMIE_SHIFT)) & ADC_IE_FWMIE_MASK)
  2554. #define ADC_IE_FOFIE_MASK (0x2U)
  2555. #define ADC_IE_FOFIE_SHIFT (1U)
  2556. /*! FOFIE - Result FIFO Overflow Interrupt Enable
  2557. * 0b0..FIFO overflow interrupts are not enabled.
  2558. * 0b1..FIFO overflow interrupts are enabled.
  2559. */
  2560. #define ADC_IE_FOFIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FOFIE_SHIFT)) & ADC_IE_FOFIE_MASK)
  2561. /*! @} */
  2562. /*! @name DE - DMA Enable Register */
  2563. /*! @{ */
  2564. #define ADC_DE_FWMDE_MASK (0x1U)
  2565. #define ADC_DE_FWMDE_SHIFT (0U)
  2566. /*! FWMDE - FIFO Watermark DMA Enable
  2567. * 0b0..DMA request disabled.
  2568. * 0b1..DMA request enabled.
  2569. */
  2570. #define ADC_DE_FWMDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DE_FWMDE_SHIFT)) & ADC_DE_FWMDE_MASK)
  2571. /*! @} */
  2572. /*! @name CFG - LPADC Configuration Register */
  2573. /*! @{ */
  2574. #define ADC_CFG_TPRICTRL_MASK (0x1U)
  2575. #define ADC_CFG_TPRICTRL_SHIFT (0U)
  2576. /*! TPRICTRL - LPADC trigger priority control
  2577. * 0b0..If a higher priority trigger is detected during command processing, the current conversion is aborted and
  2578. * the new command specified by the trigger is started.
  2579. * 0b1..If a higher priority trigger is received during command processing, the current conversion is completed
  2580. * (including averaging iterations if enabled) and stored to the RESFIFO before the higher priority
  2581. * trigger/command is initiated. Note that compare until true commands can be interrupted prior to resulting in a true
  2582. * conversion.
  2583. */
  2584. #define ADC_CFG_TPRICTRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_TPRICTRL_SHIFT)) & ADC_CFG_TPRICTRL_MASK)
  2585. #define ADC_CFG_PWRSEL_MASK (0x30U)
  2586. #define ADC_CFG_PWRSEL_SHIFT (4U)
  2587. /*! PWRSEL - Power Configuration Select
  2588. * 0b00..Level 1 (Lowest power setting)
  2589. * 0b01..Level 2
  2590. * 0b10..Level 3
  2591. * 0b11..Level 4 (Highest power setting)
  2592. */
  2593. #define ADC_CFG_PWRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWRSEL_SHIFT)) & ADC_CFG_PWRSEL_MASK)
  2594. #define ADC_CFG_REFSEL_MASK (0xC0U)
  2595. #define ADC_CFG_REFSEL_SHIFT (6U)
  2596. /*! REFSEL - Voltage Reference Selection
  2597. * 0b00..(Default) Option 1 setting.
  2598. * 0b01..Option 2 setting.
  2599. * 0b10..Option 3 setting.
  2600. * 0b11..Reserved
  2601. */
  2602. #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK)
  2603. #define ADC_CFG_PUDLY_MASK (0xFF0000U)
  2604. #define ADC_CFG_PUDLY_SHIFT (16U)
  2605. /*! PUDLY - Power Up Delay
  2606. */
  2607. #define ADC_CFG_PUDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PUDLY_SHIFT)) & ADC_CFG_PUDLY_MASK)
  2608. #define ADC_CFG_PWREN_MASK (0x10000000U)
  2609. #define ADC_CFG_PWREN_SHIFT (28U)
  2610. /*! PWREN - LPADC Analog Pre-Enable
  2611. * 0b0..LPADC analog circuits are only enabled while conversions are active. Performance is affected due to analog startup delays.
  2612. * 0b1..LPADC analog circuits are pre-enabled and ready to execute conversions without startup delays (at the
  2613. * cost of higher DC current consumption). When PWREN is set, the power up delay is enforced such that any
  2614. * detected trigger does not begin ADC operation until the power up delay time has passed.
  2615. */
  2616. #define ADC_CFG_PWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWREN_SHIFT)) & ADC_CFG_PWREN_MASK)
  2617. /*! @} */
  2618. /*! @name PAUSE - LPADC Pause Register */
  2619. /*! @{ */
  2620. #define ADC_PAUSE_PAUSEDLY_MASK (0x1FFU)
  2621. #define ADC_PAUSE_PAUSEDLY_SHIFT (0U)
  2622. /*! PAUSEDLY - Pause Delay
  2623. */
  2624. #define ADC_PAUSE_PAUSEDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEDLY_SHIFT)) & ADC_PAUSE_PAUSEDLY_MASK)
  2625. #define ADC_PAUSE_PAUSEEN_MASK (0x80000000U)
  2626. #define ADC_PAUSE_PAUSEEN_SHIFT (31U)
  2627. /*! PAUSEEN - PAUSE Option Enable
  2628. * 0b0..Pause operation disabled
  2629. * 0b1..Pause operation enabled
  2630. */
  2631. #define ADC_PAUSE_PAUSEEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEEN_SHIFT)) & ADC_PAUSE_PAUSEEN_MASK)
  2632. /*! @} */
  2633. /*! @name FCTRL - LPADC FIFO Control Register */
  2634. /*! @{ */
  2635. #define ADC_FCTRL_FCOUNT_MASK (0x1FU)
  2636. #define ADC_FCTRL_FCOUNT_SHIFT (0U)
  2637. /*! FCOUNT - Result FIFO counter
  2638. * 0b00000..No data stored in FIFO
  2639. * 0b00001..1 dataword stored in FIFO
  2640. * 0b00010..2 datawords stored in FIFO
  2641. * 0b00100..4 datawords stored in FIFO
  2642. * 0b01000..8 datawords stored in FIFO
  2643. * 0b10000..16 datawords stored in FIFO
  2644. */
  2645. #define ADC_FCTRL_FCOUNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FCOUNT_SHIFT)) & ADC_FCTRL_FCOUNT_MASK)
  2646. #define ADC_FCTRL_FWMARK_MASK (0xF0000U)
  2647. #define ADC_FCTRL_FWMARK_SHIFT (16U)
  2648. /*! FWMARK - Watermark level selection
  2649. * 0b0000..Generates STAT[RDY] flag after 1st successful conversion - single conversion
  2650. * 0b0001..Generates STAT[RDY] flag after 2nd successful conversion
  2651. * 0b0010..Generates STAT[RDY] flag after 3rd successful conversion
  2652. * 0b0011..Generates STAT[RDY] flag after 4th successful conversion
  2653. * 0b0100..Generates STAT[RDY] flag after 5th successful conversion
  2654. * 0b0101..Generates STAT[RDY] flag after 6th successful conversion
  2655. * 0b0110..Generates STAT[RDY] flag after 7th successful conversion
  2656. * 0b0111..Generates STAT[RDY] flag after 8th successful conversion
  2657. * 0b1000..Generates STAT[RDY] flag after 9th successful conversion
  2658. * 0b1001..Generates STAT[RDY] flag after 10th successful conversion
  2659. * 0b1010..Generates STAT[RDY] flag after 11th successful conversion
  2660. * 0b1011..Generates STAT[RDY] flag after 12th successful conversion
  2661. * 0b1100..Generates STAT[RDY] flag after 13th successful conversion
  2662. * 0b1101..Generates STAT[RDY] flag after 14th successful conversion
  2663. * 0b1110..Generates STAT[RDY] flag after 15th successful conversion
  2664. * 0b1111..Generates STAT[RDY] flag after 16th successful conversion
  2665. */
  2666. #define ADC_FCTRL_FWMARK(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FWMARK_SHIFT)) & ADC_FCTRL_FWMARK_MASK)
  2667. /*! @} */
  2668. /*! @name SWTRIG - Software Trigger Register */
  2669. /*! @{ */
  2670. #define ADC_SWTRIG_SWT0_MASK (0x1U)
  2671. #define ADC_SWTRIG_SWT0_SHIFT (0U)
  2672. /*! SWT0 - Software trigger 0 event
  2673. * 0b0..No trigger 0 event generated.
  2674. * 0b1..Trigger 0 event generated.
  2675. */
  2676. #define ADC_SWTRIG_SWT0(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT0_SHIFT)) & ADC_SWTRIG_SWT0_MASK)
  2677. #define ADC_SWTRIG_SWT1_MASK (0x2U)
  2678. #define ADC_SWTRIG_SWT1_SHIFT (1U)
  2679. /*! SWT1 - Software trigger 1 event
  2680. * 0b0..No trigger 1 event generated.
  2681. * 0b1..Trigger 1 event generated.
  2682. */
  2683. #define ADC_SWTRIG_SWT1(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT1_SHIFT)) & ADC_SWTRIG_SWT1_MASK)
  2684. #define ADC_SWTRIG_SWT2_MASK (0x4U)
  2685. #define ADC_SWTRIG_SWT2_SHIFT (2U)
  2686. /*! SWT2 - Software trigger 2 event
  2687. * 0b0..No trigger 2 event generated.
  2688. * 0b1..Trigger 2 event generated.
  2689. */
  2690. #define ADC_SWTRIG_SWT2(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT2_SHIFT)) & ADC_SWTRIG_SWT2_MASK)
  2691. #define ADC_SWTRIG_SWT3_MASK (0x8U)
  2692. #define ADC_SWTRIG_SWT3_SHIFT (3U)
  2693. /*! SWT3 - Software trigger 3 event
  2694. * 0b0..No trigger 3 event generated.
  2695. * 0b1..Trigger 3 event generated.
  2696. */
  2697. #define ADC_SWTRIG_SWT3(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT3_SHIFT)) & ADC_SWTRIG_SWT3_MASK)
  2698. #define ADC_SWTRIG_SWT4_MASK (0x10U)
  2699. #define ADC_SWTRIG_SWT4_SHIFT (4U)
  2700. /*! SWT4 - Software trigger 4 event
  2701. * 0b0..No trigger 4 event generated.
  2702. * 0b1..Trigger 4 event generated.
  2703. */
  2704. #define ADC_SWTRIG_SWT4(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT4_SHIFT)) & ADC_SWTRIG_SWT4_MASK)
  2705. #define ADC_SWTRIG_SWT5_MASK (0x20U)
  2706. #define ADC_SWTRIG_SWT5_SHIFT (5U)
  2707. /*! SWT5 - Software trigger 5 event
  2708. * 0b0..No trigger 5 event generated.
  2709. * 0b1..Trigger 5 event generated.
  2710. */
  2711. #define ADC_SWTRIG_SWT5(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT5_SHIFT)) & ADC_SWTRIG_SWT5_MASK)
  2712. #define ADC_SWTRIG_SWT6_MASK (0x40U)
  2713. #define ADC_SWTRIG_SWT6_SHIFT (6U)
  2714. /*! SWT6 - Software trigger 6 event
  2715. * 0b0..No trigger 6 event generated.
  2716. * 0b1..Trigger 6 event generated.
  2717. */
  2718. #define ADC_SWTRIG_SWT6(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT6_SHIFT)) & ADC_SWTRIG_SWT6_MASK)
  2719. #define ADC_SWTRIG_SWT7_MASK (0x80U)
  2720. #define ADC_SWTRIG_SWT7_SHIFT (7U)
  2721. /*! SWT7 - Software trigger 7 event
  2722. * 0b0..No trigger 7 event generated.
  2723. * 0b1..Trigger 7 event generated.
  2724. */
  2725. #define ADC_SWTRIG_SWT7(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT7_SHIFT)) & ADC_SWTRIG_SWT7_MASK)
  2726. /*! @} */
  2727. /*! @name TCTRL - Trigger Control Register */
  2728. /*! @{ */
  2729. #define ADC_TCTRL_HTEN_MASK (0x1U)
  2730. #define ADC_TCTRL_HTEN_SHIFT (0U)
  2731. /*! HTEN - Trigger enable
  2732. * 0b0..Hardware trigger source disabled
  2733. * 0b1..Hardware trigger source enabled
  2734. */
  2735. #define ADC_TCTRL_HTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_HTEN_SHIFT)) & ADC_TCTRL_HTEN_MASK)
  2736. #define ADC_TCTRL_CMD_SEL_MASK (0x2U)
  2737. #define ADC_TCTRL_CMD_SEL_SHIFT (1U)
  2738. /*! CMD_SEL
  2739. * 0b0..TCTRLa[TCMD] will determine the command
  2740. * 0b1..Software TCDM is bypassed , and hardware TCMD from ADC_ETC module will be used. The trigger command is
  2741. * then defined by ADC hardware trigger command selection field in ADC_ETC->TRIGx_CHAINy_z_n[CSEL].
  2742. */
  2743. #define ADC_TCTRL_CMD_SEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_CMD_SEL_SHIFT)) & ADC_TCTRL_CMD_SEL_MASK)
  2744. #define ADC_TCTRL_TPRI_MASK (0x700U)
  2745. #define ADC_TCTRL_TPRI_SHIFT (8U)
  2746. /*! TPRI - Trigger priority setting
  2747. * 0b000..Set to highest priority, Level 1
  2748. * 0b001-0b110..Set to corresponding priority level
  2749. * 0b111..Set to lowest priority, Level 8
  2750. */
  2751. #define ADC_TCTRL_TPRI(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TPRI_SHIFT)) & ADC_TCTRL_TPRI_MASK)
  2752. #define ADC_TCTRL_TDLY_MASK (0xF0000U)
  2753. #define ADC_TCTRL_TDLY_SHIFT (16U)
  2754. /*! TDLY - Trigger delay select
  2755. */
  2756. #define ADC_TCTRL_TDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TDLY_SHIFT)) & ADC_TCTRL_TDLY_MASK)
  2757. #define ADC_TCTRL_TCMD_MASK (0xF000000U)
  2758. #define ADC_TCTRL_TCMD_SHIFT (24U)
  2759. /*! TCMD - Trigger command select
  2760. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  2761. * 0b0001..CMD1 is executed
  2762. * 0b0010-0b1110..Corresponding CMD is executed
  2763. * 0b1111..CMD15 is executed
  2764. */
  2765. #define ADC_TCTRL_TCMD(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TCMD_SHIFT)) & ADC_TCTRL_TCMD_MASK)
  2766. /*! @} */
  2767. /* The count of ADC_TCTRL */
  2768. #define ADC_TCTRL_COUNT (8U)
  2769. /*! @name CMDL - LPADC Command Low Buffer Register */
  2770. /*! @{ */
  2771. #define ADC_CMDL_ADCH_MASK (0x1FU)
  2772. #define ADC_CMDL_ADCH_SHIFT (0U)
  2773. /*! ADCH - Input channel select
  2774. * 0b00000..Select CH0A or CH0B or CH0A/CH0B pair.
  2775. * 0b00001..Select CH1A or CH1B or CH1A/CH1B pair.
  2776. * 0b00010..Select CH2A or CH2B or CH2A/CH2B pair.
  2777. * 0b00011..Select CH3A or CH3B or CH3A/CH3B pair.
  2778. * 0b00100-0b11101..Select corresponding channel CHnA or CHnB or CHnA/CHnB pair.
  2779. * 0b11110..Select CH30A or CH30B or CH30A/CH30B pair.
  2780. * 0b11111..Select CH31A or CH31B or CH31A/CH31B pair.
  2781. */
  2782. #define ADC_CMDL_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ADCH_SHIFT)) & ADC_CMDL_ADCH_MASK)
  2783. #define ADC_CMDL_ABSEL_MASK (0x20U)
  2784. #define ADC_CMDL_ABSEL_SHIFT (5U)
  2785. /*! ABSEL - A-side vs. B-side Select
  2786. * 0b0..When DIFF=0b0, the associated A-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnA-CHnB).
  2787. * 0b1..When DIFF=0b0, the associated B-side channel is converted as single-ended. When DIFF=0b1, the ADC result is (CHnB-CHnA).
  2788. */
  2789. #define ADC_CMDL_ABSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ABSEL_SHIFT)) & ADC_CMDL_ABSEL_MASK)
  2790. #define ADC_CMDL_DIFF_MASK (0x40U)
  2791. #define ADC_CMDL_DIFF_SHIFT (6U)
  2792. /*! DIFF - Differential Mode Enable
  2793. * 0b0..Single-ended mode.
  2794. * 0b1..Differential mode.
  2795. */
  2796. #define ADC_CMDL_DIFF(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_DIFF_SHIFT)) & ADC_CMDL_DIFF_MASK)
  2797. #define ADC_CMDL_CSCALE_MASK (0x2000U)
  2798. #define ADC_CMDL_CSCALE_SHIFT (13U)
  2799. /*! CSCALE - Channel Scale
  2800. * 0b0..Scale selected analog channel (Factor of 30/64)
  2801. * 0b1..(Default) Full scale (Factor of 1)
  2802. */
  2803. #define ADC_CMDL_CSCALE(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_CSCALE_SHIFT)) & ADC_CMDL_CSCALE_MASK)
  2804. /*! @} */
  2805. /* The count of ADC_CMDL */
  2806. #define ADC_CMDL_COUNT (15U)
  2807. /*! @name CMDH - LPADC Command High Buffer Register */
  2808. /*! @{ */
  2809. #define ADC_CMDH_CMPEN_MASK (0x3U)
  2810. #define ADC_CMDH_CMPEN_SHIFT (0U)
  2811. /*! CMPEN - Compare Function Enable
  2812. * 0b00..Compare disabled.
  2813. * 0b01..Reserved
  2814. * 0b10..Compare enabled. Store on true.
  2815. * 0b11..Compare enabled. Repeat channel acquisition (sample/convert/compare) until true.
  2816. */
  2817. #define ADC_CMDH_CMPEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_CMPEN_SHIFT)) & ADC_CMDH_CMPEN_MASK)
  2818. #define ADC_CMDH_LWI_MASK (0x80U)
  2819. #define ADC_CMDH_LWI_SHIFT (7U)
  2820. /*! LWI - Loop with Increment
  2821. * 0b0..Auto channel increment disabled
  2822. * 0b1..Auto channel increment enabled
  2823. */
  2824. #define ADC_CMDH_LWI(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LWI_SHIFT)) & ADC_CMDH_LWI_MASK)
  2825. #define ADC_CMDH_STS_MASK (0x700U)
  2826. #define ADC_CMDH_STS_SHIFT (8U)
  2827. /*! STS - Sample Time Select
  2828. * 0b000..Minimum sample time of 3 ADCK cycles.
  2829. * 0b001..3 + 21 ADCK cycles; 5 ADCK cycles total sample time.
  2830. * 0b010..3 + 22 ADCK cycles; 7 ADCK cycles total sample time.
  2831. * 0b011..3 + 23 ADCK cycles; 11 ADCK cycles total sample time.
  2832. * 0b100..3 + 24 ADCK cycles; 19 ADCK cycles total sample time.
  2833. * 0b101..3 + 25 ADCK cycles; 35 ADCK cycles total sample time.
  2834. * 0b110..3 + 26 ADCK cycles; 67 ADCK cycles total sample time.
  2835. * 0b111..3 + 27 ADCK cycles; 131 ADCK cycles total sample time.
  2836. */
  2837. #define ADC_CMDH_STS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_STS_SHIFT)) & ADC_CMDH_STS_MASK)
  2838. #define ADC_CMDH_AVGS_MASK (0x7000U)
  2839. #define ADC_CMDH_AVGS_SHIFT (12U)
  2840. /*! AVGS - Hardware Average Select
  2841. * 0b000..Single conversion.
  2842. * 0b001..2 conversions averaged.
  2843. * 0b010..4 conversions averaged.
  2844. * 0b011..8 conversions averaged.
  2845. * 0b100..16 conversions averaged.
  2846. * 0b101..32 conversions averaged.
  2847. * 0b110..64 conversions averaged.
  2848. * 0b111..128 conversions averaged.
  2849. */
  2850. #define ADC_CMDH_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_AVGS_SHIFT)) & ADC_CMDH_AVGS_MASK)
  2851. #define ADC_CMDH_LOOP_MASK (0xF0000U)
  2852. #define ADC_CMDH_LOOP_SHIFT (16U)
  2853. /*! LOOP - Loop Count Select
  2854. * 0b0000..Looping not enabled. Command executes 1 time.
  2855. * 0b0001..Loop 1 time. Command executes 2 times.
  2856. * 0b0010..Loop 2 times. Command executes 3 times.
  2857. * 0b0011-0b1110..Loop corresponding number of times. Command executes LOOP+1 times.
  2858. * 0b1111..Loop 15 times. Command executes 16 times.
  2859. */
  2860. #define ADC_CMDH_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LOOP_SHIFT)) & ADC_CMDH_LOOP_MASK)
  2861. #define ADC_CMDH_NEXT_MASK (0xF000000U)
  2862. #define ADC_CMDH_NEXT_SHIFT (24U)
  2863. /*! NEXT - Next Command Select
  2864. * 0b0000..No next command defined. Terminate conversions at completion of current command. If lower priority
  2865. * trigger pending, begin command associated with lower priority trigger.
  2866. * 0b0001..Select CMD1 command buffer register as next command.
  2867. * 0b0010-0b1110..Select corresponding CMD command buffer register as next command
  2868. * 0b1111..Select CMD15 command buffer register as next command.
  2869. */
  2870. #define ADC_CMDH_NEXT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_NEXT_SHIFT)) & ADC_CMDH_NEXT_MASK)
  2871. /*! @} */
  2872. /* The count of ADC_CMDH */
  2873. #define ADC_CMDH_COUNT (15U)
  2874. /*! @name CV - Compare Value Register */
  2875. /*! @{ */
  2876. #define ADC_CV_CVL_MASK (0xFFFFU)
  2877. #define ADC_CV_CVL_SHIFT (0U)
  2878. /*! CVL - Compare Value Low
  2879. */
  2880. #define ADC_CV_CVL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVL_SHIFT)) & ADC_CV_CVL_MASK)
  2881. #define ADC_CV_CVH_MASK (0xFFFF0000U)
  2882. #define ADC_CV_CVH_SHIFT (16U)
  2883. /*! CVH - Compare Value High.
  2884. */
  2885. #define ADC_CV_CVH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVH_SHIFT)) & ADC_CV_CVH_MASK)
  2886. /*! @} */
  2887. /* The count of ADC_CV */
  2888. #define ADC_CV_COUNT (4U)
  2889. /*! @name RESFIFO - LPADC Data Result FIFO Register */
  2890. /*! @{ */
  2891. #define ADC_RESFIFO_D_MASK (0xFFFFU)
  2892. #define ADC_RESFIFO_D_SHIFT (0U)
  2893. /*! D - Data result
  2894. */
  2895. #define ADC_RESFIFO_D(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_D_SHIFT)) & ADC_RESFIFO_D_MASK)
  2896. #define ADC_RESFIFO_TSRC_MASK (0x70000U)
  2897. #define ADC_RESFIFO_TSRC_SHIFT (16U)
  2898. /*! TSRC - Trigger Source
  2899. * 0b000..Trigger source 0 initiated this conversion.
  2900. * 0b001..Trigger source 1 initiated this conversion.
  2901. * 0b010-0b110..Corresponding trigger source initiated this conversion.
  2902. * 0b111..Trigger source 7 initiated this conversion.
  2903. */
  2904. #define ADC_RESFIFO_TSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_TSRC_SHIFT)) & ADC_RESFIFO_TSRC_MASK)
  2905. #define ADC_RESFIFO_LOOPCNT_MASK (0xF00000U)
  2906. #define ADC_RESFIFO_LOOPCNT_SHIFT (20U)
  2907. /*! LOOPCNT - Loop count value
  2908. * 0b0000..Result is from initial conversion in command.
  2909. * 0b0001..Result is from second conversion in command.
  2910. * 0b0010-0b1110..Result is from LOOPCNT+1 conversion in command.
  2911. * 0b1111..Result is from 16th conversion in command.
  2912. */
  2913. #define ADC_RESFIFO_LOOPCNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_LOOPCNT_SHIFT)) & ADC_RESFIFO_LOOPCNT_MASK)
  2914. #define ADC_RESFIFO_CMDSRC_MASK (0xF000000U)
  2915. #define ADC_RESFIFO_CMDSRC_SHIFT (24U)
  2916. /*! CMDSRC - Command Buffer Source
  2917. * 0b0000..Not a valid value CMDSRC value for a dataword in RESFIFO. 0x0 is only found in initial FIFO state
  2918. * prior to an ADC conversion result dataword being stored to a RESFIFO buffer.
  2919. * 0b0001..CMD1 buffer used as control settings for this conversion.
  2920. * 0b0010-0b1110..Corresponding command buffer used as control settings for this conversion.
  2921. * 0b1111..CMD15 buffer used as control settings for this conversion.
  2922. */
  2923. #define ADC_RESFIFO_CMDSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_CMDSRC_SHIFT)) & ADC_RESFIFO_CMDSRC_MASK)
  2924. #define ADC_RESFIFO_VALID_MASK (0x80000000U)
  2925. #define ADC_RESFIFO_VALID_SHIFT (31U)
  2926. /*! VALID - FIFO entry is valid
  2927. * 0b0..FIFO is empty. Discard any read from RESFIFO.
  2928. * 0b1..FIFO record read from RESFIFO is valid.
  2929. */
  2930. #define ADC_RESFIFO_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_VALID_SHIFT)) & ADC_RESFIFO_VALID_MASK)
  2931. /*! @} */
  2932. /*!
  2933. * @}
  2934. */ /* end of group ADC_Register_Masks */
  2935. /* ADC - Peripheral instance base addresses */
  2936. /** Peripheral LPADC1 base address */
  2937. #define LPADC1_BASE (0x40050000u)
  2938. /** Peripheral LPADC1 base pointer */
  2939. #define LPADC1 ((ADC_Type *)LPADC1_BASE)
  2940. /** Peripheral LPADC2 base address */
  2941. #define LPADC2_BASE (0x40054000u)
  2942. /** Peripheral LPADC2 base pointer */
  2943. #define LPADC2 ((ADC_Type *)LPADC2_BASE)
  2944. /** Array initializer of ADC peripheral base addresses */
  2945. #define ADC_BASE_ADDRS { 0u, LPADC1_BASE, LPADC2_BASE }
  2946. /** Array initializer of ADC peripheral base pointers */
  2947. #define ADC_BASE_PTRS { (ADC_Type *)0u, LPADC1, LPADC2 }
  2948. /** Interrupt vectors for the ADC peripheral type */
  2949. #define ADC_IRQS { NotAvail_IRQn, ADC1_IRQn, ADC2_IRQn }
  2950. /*!
  2951. * @}
  2952. */ /* end of group ADC_Peripheral_Access_Layer */
  2953. /* ----------------------------------------------------------------------------
  2954. -- ADC_ETC Peripheral Access Layer
  2955. ---------------------------------------------------------------------------- */
  2956. /*!
  2957. * @addtogroup ADC_ETC_Peripheral_Access_Layer ADC_ETC Peripheral Access Layer
  2958. * @{
  2959. */
  2960. /** ADC_ETC - Register Layout Typedef */
  2961. typedef struct {
  2962. __IO uint32_t CTRL; /**< ADC_ETC Global Control Register, offset: 0x0 */
  2963. __IO uint32_t DONE0_1_IRQ; /**< ETC DONE0 and DONE1 IRQ State Register, offset: 0x4 */
  2964. __IO uint32_t DONE2_3_ERR_IRQ; /**< ETC DONE_2, DONE_3 and DONE_ERR IRQ State Register, offset: 0x8 */
  2965. __IO uint32_t DMA_CTRL; /**< ETC DMA control Register, offset: 0xC */
  2966. struct { /* offset: 0x10, array step: 0x28 */
  2967. __IO uint32_t TRIGn_CTRL; /**< ETC_TRIG Control Register, array offset: 0x10, array step: 0x28 */
  2968. __IO uint32_t TRIGn_COUNTER; /**< ETC_TRIG Counter Register, array offset: 0x14, array step: 0x28 */
  2969. __IO uint32_t TRIGn_CHAIN_1_0; /**< ETC_TRIG Chain 0/1 Register, array offset: 0x18, array step: 0x28 */
  2970. __IO uint32_t TRIGn_CHAIN_3_2; /**< ETC_TRIG Chain 2/3 Register, array offset: 0x1C, array step: 0x28 */
  2971. __IO uint32_t TRIGn_CHAIN_5_4; /**< ETC_TRIG Chain 4/5 Register, array offset: 0x20, array step: 0x28 */
  2972. __IO uint32_t TRIGn_CHAIN_7_6; /**< ETC_TRIG Chain 6/7 Register, array offset: 0x24, array step: 0x28 */
  2973. __I uint32_t TRIGn_RESULT_1_0; /**< ETC_TRIG Result Data 1/0 Register, array offset: 0x28, array step: 0x28 */
  2974. __I uint32_t TRIGn_RESULT_3_2; /**< ETC_TRIG Result Data 3/2 Register, array offset: 0x2C, array step: 0x28 */
  2975. __I uint32_t TRIGn_RESULT_5_4; /**< ETC_TRIG Result Data 5/4 Register, array offset: 0x30, array step: 0x28 */
  2976. __I uint32_t TRIGn_RESULT_7_6; /**< ETC_TRIG Result Data 7/6 Register, array offset: 0x34, array step: 0x28 */
  2977. } TRIG[8];
  2978. } ADC_ETC_Type;
  2979. /* ----------------------------------------------------------------------------
  2980. -- ADC_ETC Register Masks
  2981. ---------------------------------------------------------------------------- */
  2982. /*!
  2983. * @addtogroup ADC_ETC_Register_Masks ADC_ETC Register Masks
  2984. * @{
  2985. */
  2986. /*! @name CTRL - ADC_ETC Global Control Register */
  2987. /*! @{ */
  2988. #define ADC_ETC_CTRL_TRIG_ENABLE_MASK (0xFFU)
  2989. #define ADC_ETC_CTRL_TRIG_ENABLE_SHIFT (0U)
  2990. /*! TRIG_ENABLE
  2991. * 0b00000000..disable all 8 external XBAR triggers.
  2992. * 0b00000001..enable external XBAR trigger0.
  2993. * 0b00000010..enable external XBAR trigger1.
  2994. * 0b00000011..enable external XBAR trigger0 and trigger1.
  2995. * 0b11111111..enable all 8 external XBAR triggers.
  2996. */
  2997. #define ADC_ETC_CTRL_TRIG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_TRIG_ENABLE_SHIFT)) & ADC_ETC_CTRL_TRIG_ENABLE_MASK)
  2998. #define ADC_ETC_CTRL_PRE_DIVIDER_MASK (0xFF0000U)
  2999. #define ADC_ETC_CTRL_PRE_DIVIDER_SHIFT (16U)
  3000. #define ADC_ETC_CTRL_PRE_DIVIDER(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_PRE_DIVIDER_SHIFT)) & ADC_ETC_CTRL_PRE_DIVIDER_MASK)
  3001. #define ADC_ETC_CTRL_DMA_MODE_SEL_MASK (0x20000000U)
  3002. #define ADC_ETC_CTRL_DMA_MODE_SEL_SHIFT (29U)
  3003. /*! DMA_MODE_SEL
  3004. * 0b0..Trig DMA_REQ with latched signal, REQ will be cleared when ACK and source request cleared.
  3005. * 0b1..Trig DMA_REQ with pulsed signal, REQ will be cleared by ACK only.
  3006. */
  3007. #define ADC_ETC_CTRL_DMA_MODE_SEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_DMA_MODE_SEL_SHIFT)) & ADC_ETC_CTRL_DMA_MODE_SEL_MASK)
  3008. #define ADC_ETC_CTRL_SOFTRST_MASK (0x80000000U)
  3009. #define ADC_ETC_CTRL_SOFTRST_SHIFT (31U)
  3010. /*! SOFTRST
  3011. * 0b0..ADC_ETC works normally.
  3012. * 0b1..All registers inside ADC_ETC will be reset to the default value.
  3013. */
  3014. #define ADC_ETC_CTRL_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_CTRL_SOFTRST_SHIFT)) & ADC_ETC_CTRL_SOFTRST_MASK)
  3015. /*! @} */
  3016. /*! @name DONE0_1_IRQ - ETC DONE0 and DONE1 IRQ State Register */
  3017. /*! @{ */
  3018. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_MASK (0x1U)
  3019. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_SHIFT (0U)
  3020. /*! TRIG0_DONE0
  3021. * 0b0..No TRIG0_DONE0 interrupt detected
  3022. * 0b1..TRIG0_DONE0 interrupt detected
  3023. */
  3024. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG0_DONE0_MASK)
  3025. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_MASK (0x2U)
  3026. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_SHIFT (1U)
  3027. /*! TRIG1_DONE0
  3028. * 0b0..No TRIG1_DONE0 interrupt detected
  3029. * 0b1..TRIG1_DONE0 interrupt detected
  3030. */
  3031. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG1_DONE0_MASK)
  3032. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_MASK (0x4U)
  3033. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_SHIFT (2U)
  3034. /*! TRIG2_DONE0
  3035. * 0b0..No TRIG2_DONE0 interrupt detected
  3036. * 0b1..TRIG2_DONE0 interrupt detected
  3037. */
  3038. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG2_DONE0_MASK)
  3039. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_MASK (0x8U)
  3040. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_SHIFT (3U)
  3041. /*! TRIG3_DONE0
  3042. * 0b0..No TRIG3_DONE0 interrupt detected
  3043. * 0b1..TRIG3_DONE0 interrupt detected
  3044. */
  3045. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG3_DONE0_MASK)
  3046. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_MASK (0x10U)
  3047. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_SHIFT (4U)
  3048. /*! TRIG4_DONE0
  3049. * 0b0..No TRIG4_DONE0 interrupt detected
  3050. * 0b1..TRIG4_DONE0 interrupt detected
  3051. */
  3052. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG4_DONE0_MASK)
  3053. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_MASK (0x20U)
  3054. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_SHIFT (5U)
  3055. /*! TRIG5_DONE0
  3056. * 0b0..No TRIG5_DONE0 interrupt detected
  3057. * 0b1..TRIG5_DONE0 interrupt detected
  3058. */
  3059. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG5_DONE0_MASK)
  3060. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_MASK (0x40U)
  3061. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_SHIFT (6U)
  3062. /*! TRIG6_DONE0
  3063. * 0b0..No TRIG6_DONE0 interrupt detected
  3064. * 0b1..TRIG6_DONE0 interrupt detected
  3065. */
  3066. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG6_DONE0_MASK)
  3067. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_MASK (0x80U)
  3068. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_SHIFT (7U)
  3069. /*! TRIG7_DONE0
  3070. * 0b0..No TRIG7_DONE0 interrupt detected
  3071. * 0b1..TRIG7_DONE0 interrupt detected
  3072. */
  3073. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG7_DONE0_MASK)
  3074. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_MASK (0x10000U)
  3075. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_SHIFT (16U)
  3076. /*! TRIG0_DONE1
  3077. * 0b0..No TRIG0_DONE1 interrupt detected
  3078. * 0b1..TRIG0_DONE1 interrupt detected
  3079. */
  3080. #define ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG0_DONE1_MASK)
  3081. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_MASK (0x20000U)
  3082. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_SHIFT (17U)
  3083. /*! TRIG1_DONE1
  3084. * 0b0..No TRIG1_DONE1 interrupt detected
  3085. * 0b1..TRIG1_DONE1 interrupt detected
  3086. */
  3087. #define ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG1_DONE1_MASK)
  3088. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_MASK (0x40000U)
  3089. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_SHIFT (18U)
  3090. /*! TRIG2_DONE1
  3091. * 0b0..No TRIG2_DONE1 interrupt detected
  3092. * 0b1..TRIG2_DONE1 interrupt detected
  3093. */
  3094. #define ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG2_DONE1_MASK)
  3095. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_MASK (0x80000U)
  3096. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_SHIFT (19U)
  3097. /*! TRIG3_DONE1
  3098. * 0b0..No TRIG3_DONE1 interrupt detected
  3099. * 0b1..TRIG3_DONE1 interrupt detected
  3100. */
  3101. #define ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG3_DONE1_MASK)
  3102. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_MASK (0x100000U)
  3103. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_SHIFT (20U)
  3104. /*! TRIG4_DONE1
  3105. * 0b0..No TRIG4_DONE1 interrupt detected
  3106. * 0b1..TRIG4_DONE1 interrupt detected
  3107. */
  3108. #define ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG4_DONE1_MASK)
  3109. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_MASK (0x200000U)
  3110. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_SHIFT (21U)
  3111. /*! TRIG5_DONE1
  3112. * 0b0..No TRIG5_DONE1 interrupt detected
  3113. * 0b1..TRIG5_DONE1 interrupt detected
  3114. */
  3115. #define ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG5_DONE1_MASK)
  3116. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_MASK (0x400000U)
  3117. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_SHIFT (22U)
  3118. /*! TRIG6_DONE1
  3119. * 0b0..No TRIG6_DONE1 interrupt detected
  3120. * 0b1..TRIG6_DONE1 interrupt detected
  3121. */
  3122. #define ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG6_DONE1_MASK)
  3123. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_MASK (0x800000U)
  3124. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_SHIFT (23U)
  3125. /*! TRIG7_DONE1
  3126. * 0b0..No TRIG7_DONE1 interrupt detected
  3127. * 0b1..TRIG7_DONE1 interrupt detected
  3128. */
  3129. #define ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_SHIFT)) & ADC_ETC_DONE0_1_IRQ_TRIG7_DONE1_MASK)
  3130. /*! @} */
  3131. /*! @name DONE2_3_ERR_IRQ - ETC DONE_2, DONE_3 and DONE_ERR IRQ State Register */
  3132. /*! @{ */
  3133. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_MASK (0x1U)
  3134. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_SHIFT (0U)
  3135. /*! TRIG0_DONE2
  3136. * 0b0..No TRIG0_DONE2 interrupt detected
  3137. * 0b1..TRIG0_DONE2 interrupt detected
  3138. */
  3139. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE2_MASK)
  3140. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_MASK (0x2U)
  3141. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_SHIFT (1U)
  3142. /*! TRIG1_DONE2
  3143. * 0b0..No TRIG1_DONE2 interrupt detected
  3144. * 0b1..TRIG1_DONE2 interrupt detected
  3145. */
  3146. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE2_MASK)
  3147. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_MASK (0x4U)
  3148. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_SHIFT (2U)
  3149. /*! TRIG2_DONE2
  3150. * 0b0..No TRIG2_DONE2 interrupt detected
  3151. * 0b1..TRIG2_DONE2 interrupt detected
  3152. */
  3153. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE2_MASK)
  3154. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_MASK (0x8U)
  3155. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_SHIFT (3U)
  3156. /*! TRIG3_DONE2
  3157. * 0b0..No TRIG3_DONE2 interrupt detected
  3158. * 0b1..TRIG3_DONE2 interrupt detected
  3159. */
  3160. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE2_MASK)
  3161. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_MASK (0x10U)
  3162. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_SHIFT (4U)
  3163. /*! TRIG4_DONE2
  3164. * 0b0..No TRIG4_DONE2 interrupt detected
  3165. * 0b1..TRIG4_DONE2 interrupt detected
  3166. */
  3167. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE2_MASK)
  3168. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_MASK (0x20U)
  3169. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_SHIFT (5U)
  3170. /*! TRIG5_DONE2
  3171. * 0b0..No TRIG5_DONE2 interrupt detected
  3172. * 0b1..TRIG5_DONE2 interrupt detected
  3173. */
  3174. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE2_MASK)
  3175. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_MASK (0x40U)
  3176. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_SHIFT (6U)
  3177. /*! TRIG6_DONE2
  3178. * 0b0..No TRIG6_DONE2 interrupt detected
  3179. * 0b1..TRIG6_DONE2 interrupt detected
  3180. */
  3181. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE2_MASK)
  3182. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_MASK (0x80U)
  3183. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_SHIFT (7U)
  3184. /*! TRIG7_DONE2
  3185. * 0b0..No TRIG7_DONE2 interrupt detected
  3186. * 0b1..TRIG7_DONE2 interrupt detected
  3187. */
  3188. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE2_MASK)
  3189. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_MASK (0x100U)
  3190. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_SHIFT (8U)
  3191. /*! TRIG0_DONE3
  3192. * 0b0..No TRIG0_DONE3 interrupt detected
  3193. * 0b1..TRIG0_DONE3 interrupt detected
  3194. */
  3195. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_DONE3_MASK)
  3196. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_MASK (0x200U)
  3197. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_SHIFT (9U)
  3198. /*! TRIG1_DONE3
  3199. * 0b0..No TRIG1_DONE3 interrupt detected
  3200. * 0b1..TRIG1_DONE3 interrupt detected
  3201. */
  3202. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_DONE3_MASK)
  3203. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_MASK (0x400U)
  3204. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_SHIFT (10U)
  3205. /*! TRIG2_DONE3
  3206. * 0b0..No TRIG2_DONE3 interrupt detected
  3207. * 0b1..TRIG2_DONE3 interrupt detected
  3208. */
  3209. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_DONE3_MASK)
  3210. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_MASK (0x800U)
  3211. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_SHIFT (11U)
  3212. /*! TRIG3_DONE3
  3213. * 0b0..No TRIG3_DONE3 interrupt detected
  3214. * 0b1..TRIG3_DONE3 interrupt detected
  3215. */
  3216. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_DONE3_MASK)
  3217. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_MASK (0x1000U)
  3218. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_SHIFT (12U)
  3219. /*! TRIG4_DONE3
  3220. * 0b0..No TRIG4_DONE3 interrupt detected
  3221. * 0b1..TRIG4_DONE3 interrupt detected
  3222. */
  3223. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_DONE3_MASK)
  3224. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_MASK (0x2000U)
  3225. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_SHIFT (13U)
  3226. /*! TRIG5_DONE3
  3227. * 0b0..No TRIG5_DONE3 interrupt detected
  3228. * 0b1..TRIG5_DONE3 interrupt detected
  3229. */
  3230. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_DONE3_MASK)
  3231. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_MASK (0x4000U)
  3232. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_SHIFT (14U)
  3233. /*! TRIG6_DONE3
  3234. * 0b0..No TRIG6_DONE3 interrupt detected
  3235. * 0b1..TRIG6_DONE3 interrupt detected
  3236. */
  3237. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_DONE3_MASK)
  3238. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_MASK (0x8000U)
  3239. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_SHIFT (15U)
  3240. /*! TRIG7_DONE3
  3241. * 0b0..No TRIG7_DONE3 interrupt detected
  3242. * 0b1..TRIG7_DONE3 interrupt detected
  3243. */
  3244. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_DONE3_MASK)
  3245. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_MASK (0x10000U)
  3246. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_SHIFT (16U)
  3247. /*! TRIG0_ERR
  3248. * 0b0..No TRIG0_ERR interrupt detected
  3249. * 0b1..TRIG0_ERR interrupt detected
  3250. */
  3251. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG0_ERR_MASK)
  3252. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_MASK (0x20000U)
  3253. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_SHIFT (17U)
  3254. /*! TRIG1_ERR
  3255. * 0b0..No TRIG1_ERR interrupt detected
  3256. * 0b1..TRIG1_ERR interrupt detected
  3257. */
  3258. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG1_ERR_MASK)
  3259. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_MASK (0x40000U)
  3260. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_SHIFT (18U)
  3261. /*! TRIG2_ERR
  3262. * 0b0..No TRIG2_ERR interrupt detected
  3263. * 0b1..TRIG2_ERR interrupt detected
  3264. */
  3265. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG2_ERR_MASK)
  3266. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_MASK (0x80000U)
  3267. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_SHIFT (19U)
  3268. /*! TRIG3_ERR
  3269. * 0b0..No TRIG3_ERR interrupt detected
  3270. * 0b1..TRIG3_ERR interrupt detected
  3271. */
  3272. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG3_ERR_MASK)
  3273. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_MASK (0x100000U)
  3274. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_SHIFT (20U)
  3275. /*! TRIG4_ERR
  3276. * 0b0..No TRIG4_ERR interrupt detected
  3277. * 0b1..TRIG4_ERR interrupt detected
  3278. */
  3279. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG4_ERR_MASK)
  3280. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_MASK (0x200000U)
  3281. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_SHIFT (21U)
  3282. /*! TRIG5_ERR
  3283. * 0b0..No TRIG5_ERR interrupt detected
  3284. * 0b1..TRIG5_ERR interrupt detected
  3285. */
  3286. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG5_ERR_MASK)
  3287. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_MASK (0x400000U)
  3288. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_SHIFT (22U)
  3289. /*! TRIG6_ERR
  3290. * 0b0..No TRIG6_ERR interrupt detected
  3291. * 0b1..TRIG6_ERR interrupt detected
  3292. */
  3293. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG6_ERR_MASK)
  3294. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_MASK (0x800000U)
  3295. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_SHIFT (23U)
  3296. /*! TRIG7_ERR
  3297. * 0b0..No TRIG7_ERR interrupt detected
  3298. * 0b1..TRIG7_ERR interrupt detected
  3299. */
  3300. #define ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_SHIFT)) & ADC_ETC_DONE2_3_ERR_IRQ_TRIG7_ERR_MASK)
  3301. /*! @} */
  3302. /*! @name DMA_CTRL - ETC DMA control Register */
  3303. /*! @{ */
  3304. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_MASK (0x1U)
  3305. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE_SHIFT (0U)
  3306. /*! TRIG0_ENABLE
  3307. * 0b0..TRIG0 DMA request disabled.
  3308. * 0b1..TRIG0 DMA request enabled.
  3309. */
  3310. #define ADC_ETC_DMA_CTRL_TRIG0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG0_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG0_ENABLE_MASK)
  3311. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_MASK (0x2U)
  3312. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE_SHIFT (1U)
  3313. /*! TRIG1_ENABLE
  3314. * 0b0..TRIG1 DMA request disabled.
  3315. * 0b1..TRIG1 DMA request enabled.
  3316. */
  3317. #define ADC_ETC_DMA_CTRL_TRIG1_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG1_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG1_ENABLE_MASK)
  3318. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_MASK (0x4U)
  3319. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE_SHIFT (2U)
  3320. /*! TRIG2_ENABLE
  3321. * 0b0..TRIG2 DMA request disabled.
  3322. * 0b1..TRIG2 DMA request enabled.
  3323. */
  3324. #define ADC_ETC_DMA_CTRL_TRIG2_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG2_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG2_ENABLE_MASK)
  3325. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_MASK (0x8U)
  3326. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE_SHIFT (3U)
  3327. /*! TRIG3_ENABLE
  3328. * 0b0..TRIG3 DMA request disabled.
  3329. * 0b1..TRIG3 DMA request enabled.
  3330. */
  3331. #define ADC_ETC_DMA_CTRL_TRIG3_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG3_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG3_ENABLE_MASK)
  3332. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_MASK (0x10U)
  3333. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE_SHIFT (4U)
  3334. /*! TRIG4_ENABLE
  3335. * 0b0..TRIG4 DMA request disabled.
  3336. * 0b1..TRIG4 DMA request enabled.
  3337. */
  3338. #define ADC_ETC_DMA_CTRL_TRIG4_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG4_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG4_ENABLE_MASK)
  3339. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_MASK (0x20U)
  3340. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE_SHIFT (5U)
  3341. /*! TRIG5_ENABLE
  3342. * 0b0..TRIG5 DMA request disabled.
  3343. * 0b1..TRIG5 DMA request enabled.
  3344. */
  3345. #define ADC_ETC_DMA_CTRL_TRIG5_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG5_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG5_ENABLE_MASK)
  3346. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_MASK (0x40U)
  3347. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE_SHIFT (6U)
  3348. /*! TRIG6_ENABLE
  3349. * 0b0..TRIG6 DMA request disabled.
  3350. * 0b1..TRIG6 DMA request enabled.
  3351. */
  3352. #define ADC_ETC_DMA_CTRL_TRIG6_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG6_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG6_ENABLE_MASK)
  3353. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_MASK (0x80U)
  3354. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE_SHIFT (7U)
  3355. /*! TRIG7_ENABLE
  3356. * 0b0..TRIG7 DMA request disabled.
  3357. * 0b1..TRIG7 DMA request enabled.
  3358. */
  3359. #define ADC_ETC_DMA_CTRL_TRIG7_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG7_ENABLE_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG7_ENABLE_MASK)
  3360. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_MASK (0x10000U)
  3361. #define ADC_ETC_DMA_CTRL_TRIG0_REQ_SHIFT (16U)
  3362. /*! TRIG0_REQ
  3363. * 0b0..TRIG0_REQ not detected.
  3364. * 0b1..TRIG0_REQ detected.
  3365. */
  3366. #define ADC_ETC_DMA_CTRL_TRIG0_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG0_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG0_REQ_MASK)
  3367. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_MASK (0x20000U)
  3368. #define ADC_ETC_DMA_CTRL_TRIG1_REQ_SHIFT (17U)
  3369. /*! TRIG1_REQ
  3370. * 0b0..TRIG1_REQ not detected.
  3371. * 0b1..TRIG1_REQ detected.
  3372. */
  3373. #define ADC_ETC_DMA_CTRL_TRIG1_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG1_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG1_REQ_MASK)
  3374. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_MASK (0x40000U)
  3375. #define ADC_ETC_DMA_CTRL_TRIG2_REQ_SHIFT (18U)
  3376. /*! TRIG2_REQ
  3377. * 0b0..TRIG2_REQ not detected.
  3378. * 0b1..TRIG2_REQ detected.
  3379. */
  3380. #define ADC_ETC_DMA_CTRL_TRIG2_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG2_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG2_REQ_MASK)
  3381. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_MASK (0x80000U)
  3382. #define ADC_ETC_DMA_CTRL_TRIG3_REQ_SHIFT (19U)
  3383. /*! TRIG3_REQ
  3384. * 0b0..TRIG3_REQ not detected.
  3385. * 0b1..TRIG3_REQ detected.
  3386. */
  3387. #define ADC_ETC_DMA_CTRL_TRIG3_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG3_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG3_REQ_MASK)
  3388. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_MASK (0x100000U)
  3389. #define ADC_ETC_DMA_CTRL_TRIG4_REQ_SHIFT (20U)
  3390. /*! TRIG4_REQ
  3391. * 0b0..TRIG4_REQ not detected.
  3392. * 0b1..TRIG4_REQ detected.
  3393. */
  3394. #define ADC_ETC_DMA_CTRL_TRIG4_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG4_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG4_REQ_MASK)
  3395. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_MASK (0x200000U)
  3396. #define ADC_ETC_DMA_CTRL_TRIG5_REQ_SHIFT (21U)
  3397. /*! TRIG5_REQ
  3398. * 0b0..TRIG5_REQ not detected.
  3399. * 0b1..TRIG5_REQ detected.
  3400. */
  3401. #define ADC_ETC_DMA_CTRL_TRIG5_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG5_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG5_REQ_MASK)
  3402. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_MASK (0x400000U)
  3403. #define ADC_ETC_DMA_CTRL_TRIG6_REQ_SHIFT (22U)
  3404. /*! TRIG6_REQ
  3405. * 0b0..TRIG6_REQ not detected.
  3406. * 0b1..TRIG6_REQ detected.
  3407. */
  3408. #define ADC_ETC_DMA_CTRL_TRIG6_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG6_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG6_REQ_MASK)
  3409. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_MASK (0x800000U)
  3410. #define ADC_ETC_DMA_CTRL_TRIG7_REQ_SHIFT (23U)
  3411. /*! TRIG7_REQ
  3412. * 0b0..TRIG7_REQ not detected.
  3413. * 0b1..TRIG7_REQ detected.
  3414. */
  3415. #define ADC_ETC_DMA_CTRL_TRIG7_REQ(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_DMA_CTRL_TRIG7_REQ_SHIFT)) & ADC_ETC_DMA_CTRL_TRIG7_REQ_MASK)
  3416. /*! @} */
  3417. /*! @name TRIGn_CTRL - ETC_TRIG Control Register */
  3418. /*! @{ */
  3419. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_MASK (0x1U)
  3420. #define ADC_ETC_TRIGn_CTRL_SW_TRIG_SHIFT (0U)
  3421. /*! SW_TRIG
  3422. * 0b0..No software trigger event generated.
  3423. * 0b1..Software trigger event generated.
  3424. */
  3425. #define ADC_ETC_TRIGn_CTRL_SW_TRIG(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_SW_TRIG_SHIFT)) & ADC_ETC_TRIGn_CTRL_SW_TRIG_MASK)
  3426. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_MASK (0x10U)
  3427. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE_SHIFT (4U)
  3428. /*! TRIG_MODE
  3429. * 0b0..Hardware trigger. The softerware trigger will be ignored.
  3430. * 0b1..Software trigger. The hardware trigger will be ignored.
  3431. */
  3432. #define ADC_ETC_TRIGn_CTRL_TRIG_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_TRIG_MODE_SHIFT)) & ADC_ETC_TRIGn_CTRL_TRIG_MODE_MASK)
  3433. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_MASK (0x700U)
  3434. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_SHIFT (8U)
  3435. /*! TRIG_CHAIN
  3436. * 0b000..Trigger chain length is 1
  3437. * 0b001..Trigger chain length is 2
  3438. * 0b010..Trigger chain length is 3
  3439. * 0b011..Trigger chain length is 4
  3440. * 0b100..Trigger chain length is 5
  3441. * 0b101..Trigger chain length is 6
  3442. * 0b110..Trigger chain length is 7
  3443. * 0b111..Trigger chain length is 8
  3444. */
  3445. #define ADC_ETC_TRIGn_CTRL_TRIG_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_SHIFT)) & ADC_ETC_TRIGn_CTRL_TRIG_CHAIN_MASK)
  3446. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_MASK (0x7000U)
  3447. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_SHIFT (12U)
  3448. #define ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_SHIFT)) & ADC_ETC_TRIGn_CTRL_TRIG_PRIORITY_MASK)
  3449. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_MASK (0x10000U)
  3450. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE_SHIFT (16U)
  3451. /*! SYNC_MODE
  3452. * 0b0..Synchronization mode disabled, TRIGa and TRIG(a+4) are triggered independently.
  3453. * 0b1..Synchronization mode enabled, TRIGa and TRIG(a+4) are triggered by TRIGa source synchronously.
  3454. */
  3455. #define ADC_ETC_TRIGn_CTRL_SYNC_MODE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_SYNC_MODE_SHIFT)) & ADC_ETC_TRIGn_CTRL_SYNC_MODE_MASK)
  3456. #define ADC_ETC_TRIGn_CTRL_CHAINx_DONE_MASK (0xFF000000U)
  3457. #define ADC_ETC_TRIGn_CTRL_CHAINx_DONE_SHIFT (24U)
  3458. /*! CHAINx_DONE
  3459. * 0b00000000..segment x done not detected.
  3460. * 0b00000001..segment x done detected.
  3461. */
  3462. #define ADC_ETC_TRIGn_CTRL_CHAINx_DONE(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CTRL_CHAINx_DONE_SHIFT)) & ADC_ETC_TRIGn_CTRL_CHAINx_DONE_MASK)
  3463. /*! @} */
  3464. /* The count of ADC_ETC_TRIGn_CTRL */
  3465. #define ADC_ETC_TRIGn_CTRL_COUNT (8U)
  3466. /*! @name TRIGn_COUNTER - ETC_TRIG Counter Register */
  3467. /*! @{ */
  3468. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_MASK (0xFFFFU)
  3469. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY_SHIFT (0U)
  3470. #define ADC_ETC_TRIGn_COUNTER_INIT_DELAY(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_COUNTER_INIT_DELAY_SHIFT)) & ADC_ETC_TRIGn_COUNTER_INIT_DELAY_MASK)
  3471. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_MASK (0xFFFF0000U)
  3472. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_SHIFT (16U)
  3473. #define ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_SHIFT)) & ADC_ETC_TRIGn_COUNTER_SAMPLE_INTERVAL_MASK)
  3474. /*! @} */
  3475. /* The count of ADC_ETC_TRIGn_COUNTER */
  3476. #define ADC_ETC_TRIGn_COUNTER_COUNT (8U)
  3477. /*! @name TRIGn_CHAIN_1_0 - ETC_TRIG Chain 0/1 Register */
  3478. /*! @{ */
  3479. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_MASK (0xFU)
  3480. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_SHIFT (0U)
  3481. /*! CSEL0
  3482. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3483. * 0b0001..ADC CMD1 selected.
  3484. * 0b0010..ADC CMD2 selected.
  3485. * 0b0011..ADC CMD3 selected.
  3486. * 0b0100..ADC CMD4 selected.
  3487. * 0b0101..ADC CMD5 selected.
  3488. * 0b0110..ADC CMD6 selected.
  3489. * 0b0111..ADC CMD7 selected.
  3490. * 0b1000..ADC CMD8 selected.
  3491. * 0b1001..ADC CMD9 selected.
  3492. * 0b1010..ADC CMD10 selected.
  3493. * 0b1011..ADC CMD11 selected.
  3494. * 0b1100..ADC CMD12 selected.
  3495. * 0b1101..ADC CMD13 selected.
  3496. * 0b1110..ADC CMD14 selected.
  3497. * 0b1111..ADC CMD15 selected.
  3498. */
  3499. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_CSEL0_MASK)
  3500. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_MASK (0xFF0U)
  3501. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_SHIFT (4U)
  3502. /*! HWTS0
  3503. * 0b00000000..no trigger selected
  3504. * 0b00000001..ADC TRIG0 selected
  3505. * 0b00000010..ADC TRIG1 selected
  3506. * 0b00000100..ADC TRIG2 selected
  3507. * 0b00001000..ADC TRIG3 selected
  3508. * 0b00010000..ADC TRIG4 selected
  3509. * 0b00100000..ADC TRIG5 selected
  3510. * 0b01000000..ADC TRIG6 selected
  3511. * 0b10000000..ADC TRIG7 selected
  3512. */
  3513. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_HWTS0_MASK)
  3514. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_MASK (0x1000U)
  3515. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0_SHIFT (12U)
  3516. /*! B2B0
  3517. * 0b0..Disable B2B. Wait until delay value defined by TRIG0_COUNTER[SAMPLE_INTERVAL] is reached
  3518. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3519. */
  3520. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_B2B0_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_B2B0_MASK)
  3521. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_MASK (0x6000U)
  3522. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_SHIFT (13U)
  3523. /*! IE0
  3524. * 0b00..Generate interrupt on Done0 when segment 0 finish.
  3525. * 0b01..Generate interrupt on Done1 when segment 0 finish.
  3526. * 0b10..Generate interrupt on Done2 when segment 0 finish.
  3527. * 0b11..Generate interrupt on Done3 when segment 0 finish.
  3528. */
  3529. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_IE0_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_IE0_MASK)
  3530. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_MASK (0x8000U)
  3531. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_SHIFT (15U)
  3532. /*! IE0_EN
  3533. * 0b0..Interrupt DONE disabled.
  3534. * 0b1..Interrupt DONE enabled. When segment 0 finish, an interrupt will be generated on the specific port configured by the IE0.
  3535. */
  3536. #define ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_IE0_EN_MASK)
  3537. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_MASK (0xF0000U)
  3538. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_SHIFT (16U)
  3539. /*! CSEL1
  3540. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3541. * 0b0001..ADC CMD1 selected.
  3542. * 0b0010..ADC CMD2 selected.
  3543. * 0b0011..ADC CMD3 selected.
  3544. * 0b0100..ADC CMD4 selected.
  3545. * 0b0101..ADC CMD5 selected.
  3546. * 0b0110..ADC CMD6 selected.
  3547. * 0b0111..ADC CMD7 selected.
  3548. * 0b1000..ADC CMD8 selected.
  3549. * 0b1001..ADC CMD9 selected.
  3550. * 0b1010..ADC CMD10 selected.
  3551. * 0b1011..ADC CMD11 selected.
  3552. * 0b1100..ADC CMD12 selected.
  3553. * 0b1101..ADC CMD13 selected.
  3554. * 0b1110..ADC CMD14 selected.
  3555. * 0b1111..ADC CMD15 selected.
  3556. */
  3557. #define ADC_ETC_TRIGn_CHAIN_1_0_CSEL1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_CSEL1_MASK)
  3558. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_MASK (0xFF00000U)
  3559. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_SHIFT (20U)
  3560. /*! HWTS1
  3561. * 0b00000000..no trigger selected
  3562. * 0b00000001..ADC TRIG0 selected
  3563. * 0b00000010..ADC TRIG1 selected
  3564. * 0b00000100..ADC TRIG2 selected
  3565. * 0b00001000..ADC TRIG3 selected
  3566. * 0b00010000..ADC TRIG4 selected
  3567. * 0b00100000..ADC TRIG5 selected
  3568. * 0b01000000..ADC TRIG6 selected
  3569. * 0b10000000..ADC TRIG7 selected
  3570. */
  3571. #define ADC_ETC_TRIGn_CHAIN_1_0_HWTS1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_HWTS1_MASK)
  3572. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_MASK (0x10000000U)
  3573. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1_SHIFT (28U)
  3574. /*! B2B1
  3575. * 0b0..Disable B2B. Wait until delay value defined by TRIG1_COUNTER[SAMPLE_INTERVAL] is reached
  3576. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3577. */
  3578. #define ADC_ETC_TRIGn_CHAIN_1_0_B2B1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_B2B1_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_B2B1_MASK)
  3579. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_MASK (0x60000000U)
  3580. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_SHIFT (29U)
  3581. /*! IE1
  3582. * 0b00..Generate interrupt on Done0 when Segment 1 finish.
  3583. * 0b01..Generate interrupt on Done1 when Segment 1 finish.
  3584. * 0b10..Generate interrupt on Done2 when Segment 1 finish.
  3585. * 0b11..Generate interrupt on Done3 when Segment 1 finish.
  3586. */
  3587. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_IE1_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_IE1_MASK)
  3588. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_MASK (0x80000000U)
  3589. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_SHIFT (31U)
  3590. /*! IE1_EN
  3591. * 0b0..Interrupt DONE disabled.
  3592. * 0b1..Interrupt DONE enabled. When segment 1 finish, an interrupt will be generated on the specific port configured by the IE1.
  3593. */
  3594. #define ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_1_0_IE1_EN_MASK)
  3595. /*! @} */
  3596. /* The count of ADC_ETC_TRIGn_CHAIN_1_0 */
  3597. #define ADC_ETC_TRIGn_CHAIN_1_0_COUNT (8U)
  3598. /*! @name TRIGn_CHAIN_3_2 - ETC_TRIG Chain 2/3 Register */
  3599. /*! @{ */
  3600. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_MASK (0xFU)
  3601. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_SHIFT (0U)
  3602. /*! CSEL2
  3603. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3604. * 0b0001..ADC CMD1 selected.
  3605. * 0b0010..ADC CMD2 selected.
  3606. * 0b0011..ADC CMD3 selected.
  3607. * 0b0100..ADC CMD4 selected.
  3608. * 0b0101..ADC CMD5 selected.
  3609. * 0b0110..ADC CMD6 selected.
  3610. * 0b0111..ADC CMD7 selected.
  3611. * 0b1000..ADC CMD8 selected.
  3612. * 0b1001..ADC CMD9 selected.
  3613. * 0b1010..ADC CMD10 selected.
  3614. * 0b1011..ADC CMD11 selected.
  3615. * 0b1100..ADC CMD12 selected.
  3616. * 0b1101..ADC CMD13 selected.
  3617. * 0b1110..ADC CMD14 selected.
  3618. * 0b1111..ADC CMD15 selected.
  3619. */
  3620. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_CSEL2_MASK)
  3621. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_MASK (0xFF0U)
  3622. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_SHIFT (4U)
  3623. /*! HWTS2
  3624. * 0b00000000..no trigger selected
  3625. * 0b00000001..ADC TRIG0 selected
  3626. * 0b00000010..ADC TRIG1 selected
  3627. * 0b00000100..ADC TRIG2 selected
  3628. * 0b00001000..ADC TRIG3 selected
  3629. * 0b00010000..ADC TRIG4 selected
  3630. * 0b00100000..ADC TRIG5 selected
  3631. * 0b01000000..ADC TRIG6 selected
  3632. * 0b10000000..ADC TRIG7 selected
  3633. */
  3634. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_HWTS2_MASK)
  3635. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_MASK (0x1000U)
  3636. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2_SHIFT (12U)
  3637. /*! B2B2
  3638. * 0b0..Disable B2B. Wait until delay value defined by TRIG2_COUNTER[SAMPLE_INTERVAL] is reached
  3639. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3640. */
  3641. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_B2B2_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_B2B2_MASK)
  3642. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_MASK (0x6000U)
  3643. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_SHIFT (13U)
  3644. /*! IE2
  3645. * 0b00..Generate interrupt on Done0 when segment 2 finish.
  3646. * 0b01..Generate interrupt on Done1 when segment 2 finish.
  3647. * 0b10..Generate interrupt on Done2 when segment 2 finish.
  3648. * 0b11..Generate interrupt on Done3 when segment 2 finish.
  3649. */
  3650. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_IE2_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_IE2_MASK)
  3651. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_MASK (0x8000U)
  3652. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_SHIFT (15U)
  3653. /*! IE2_EN
  3654. * 0b0..Interrupt DONE disabled.
  3655. * 0b1..Interrupt DONE enabled. When segment 2 finish, an interrupt will be generated on the specific port configured by the IE2.
  3656. */
  3657. #define ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_IE2_EN_MASK)
  3658. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_MASK (0xF0000U)
  3659. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_SHIFT (16U)
  3660. /*! CSEL3
  3661. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3662. * 0b0001..ADC CMD1 selected.
  3663. * 0b0010..ADC CMD2 selected.
  3664. * 0b0011..ADC CMD3 selected.
  3665. * 0b0100..ADC CMD4 selected.
  3666. * 0b0101..ADC CMD5 selected.
  3667. * 0b0110..ADC CMD6 selected.
  3668. * 0b0111..ADC CMD7 selected.
  3669. * 0b1000..ADC CMD8 selected.
  3670. * 0b1001..ADC CMD9 selected.
  3671. * 0b1010..ADC CMD10 selected.
  3672. * 0b1011..ADC CMD11 selected.
  3673. * 0b1100..ADC CMD12 selected.
  3674. * 0b1101..ADC CMD13 selected.
  3675. * 0b1110..ADC CMD14 selected.
  3676. * 0b1111..ADC CMD15 selected.
  3677. */
  3678. #define ADC_ETC_TRIGn_CHAIN_3_2_CSEL3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_CSEL3_MASK)
  3679. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_MASK (0xFF00000U)
  3680. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_SHIFT (20U)
  3681. /*! HWTS3
  3682. * 0b00000000..no trigger selected
  3683. * 0b00000001..ADC TRIG0 selected
  3684. * 0b00000010..ADC TRIG1 selected
  3685. * 0b00000100..ADC TRIG2 selected
  3686. * 0b00001000..ADC TRIG3 selected
  3687. * 0b00010000..ADC TRIG4 selected
  3688. * 0b00100000..ADC TRIG5 selected
  3689. * 0b01000000..ADC TRIG6 selected
  3690. * 0b10000000..ADC TRIG7 selected
  3691. */
  3692. #define ADC_ETC_TRIGn_CHAIN_3_2_HWTS3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_HWTS3_MASK)
  3693. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_MASK (0x10000000U)
  3694. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3_SHIFT (28U)
  3695. /*! B2B3
  3696. * 0b0..Disable B2B. Wait until delay value defined by TRIG3_COUNTER[SAMPLE_INTERVAL] is reached
  3697. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3698. */
  3699. #define ADC_ETC_TRIGn_CHAIN_3_2_B2B3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_B2B3_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_B2B3_MASK)
  3700. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_MASK (0x60000000U)
  3701. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_SHIFT (29U)
  3702. /*! IE3
  3703. * 0b00..Generate interrupt on Done0 when segment 3 finish.
  3704. * 0b01..Generate interrupt on Done1 when segment 3 finish.
  3705. * 0b10..Generate interrupt on Done2 when segment 3 finish.
  3706. * 0b11..Generate interrupt on Done3 when segment 3 finish.
  3707. */
  3708. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_IE3_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_IE3_MASK)
  3709. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_MASK (0x80000000U)
  3710. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_SHIFT (31U)
  3711. /*! IE3_EN
  3712. * 0b0..Interrupt DONE disabled.
  3713. * 0b1..Interrupt DONE enabled. When segment 3 finish, an interrupt will be generated on the specific port configured by the IE3.
  3714. */
  3715. #define ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_3_2_IE3_EN_MASK)
  3716. /*! @} */
  3717. /* The count of ADC_ETC_TRIGn_CHAIN_3_2 */
  3718. #define ADC_ETC_TRIGn_CHAIN_3_2_COUNT (8U)
  3719. /*! @name TRIGn_CHAIN_5_4 - ETC_TRIG Chain 4/5 Register */
  3720. /*! @{ */
  3721. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_MASK (0xFU)
  3722. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_SHIFT (0U)
  3723. /*! CSEL4
  3724. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3725. * 0b0001..ADC CMD1 selected.
  3726. * 0b0010..ADC CMD2 selected.
  3727. * 0b0011..ADC CMD3 selected.
  3728. * 0b0100..ADC CMD4 selected.
  3729. * 0b0101..ADC CMD5 selected.
  3730. * 0b0110..ADC CMD6 selected.
  3731. * 0b0111..ADC CMD7 selected.
  3732. * 0b1000..ADC CMD8 selected.
  3733. * 0b1001..ADC CMD9 selected.
  3734. * 0b1010..ADC CMD10 selected.
  3735. * 0b1011..ADC CMD11 selected.
  3736. * 0b1100..ADC CMD12 selected.
  3737. * 0b1101..ADC CMD13 selected.
  3738. * 0b1110..ADC CMD14 selected.
  3739. * 0b1111..ADC CMD15 selected.
  3740. */
  3741. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL4(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_CSEL4_MASK)
  3742. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_MASK (0xFF0U)
  3743. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_SHIFT (4U)
  3744. /*! HWTS4
  3745. * 0b00000000..no trigger selected
  3746. * 0b00000001..ADC TRIG0 selected
  3747. * 0b00000010..ADC TRIG1 selected
  3748. * 0b00000100..ADC TRIG2 selected
  3749. * 0b00001000..ADC TRIG3 selected
  3750. * 0b00010000..ADC TRIG4 selected
  3751. * 0b00100000..ADC TRIG5 selected
  3752. * 0b01000000..ADC TRIG6 selected
  3753. * 0b10000000..ADC TRIG7 selected
  3754. */
  3755. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS4(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_HWTS4_MASK)
  3756. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_MASK (0x1000U)
  3757. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4_SHIFT (12U)
  3758. /*! B2B4
  3759. * 0b0..Disable B2B. Wait until delay value defined by TRIG4_COUNTER[SAMPLE_INTERVAL] is reached
  3760. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3761. */
  3762. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B4(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_B2B4_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_B2B4_MASK)
  3763. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_MASK (0x6000U)
  3764. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_SHIFT (13U)
  3765. /*! IE4
  3766. * 0b00..Generate interrupt on Done0 when segment 4 finish.
  3767. * 0b01..Generate interrupt on Done1 when segment 4 finish.
  3768. * 0b10..Generate interrupt on Done2 when segment 4 finish.
  3769. * 0b11..Generate interrupt on Done3 when segment 4 finish.
  3770. */
  3771. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_IE4_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_IE4_MASK)
  3772. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_MASK (0x8000U)
  3773. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_SHIFT (15U)
  3774. /*! IE4_EN
  3775. * 0b0..Interrupt DONE disabled.
  3776. * 0b1..Interrupt DONE enabled. When segment 4 finish, an interrupt will be generated on the specific port configured by the IE4.
  3777. */
  3778. #define ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_IE4_EN_MASK)
  3779. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_MASK (0xF0000U)
  3780. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_SHIFT (16U)
  3781. /*! CSEL5
  3782. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3783. * 0b0001..ADC CMD1 selected.
  3784. * 0b0010..ADC CMD2 selected.
  3785. * 0b0011..ADC CMD3 selected.
  3786. * 0b0100..ADC CMD4 selected.
  3787. * 0b0101..ADC CMD5 selected.
  3788. * 0b0110..ADC CMD6 selected.
  3789. * 0b0111..ADC CMD7 selected.
  3790. * 0b1000..ADC CMD8 selected.
  3791. * 0b1001..ADC CMD9 selected.
  3792. * 0b1010..ADC CMD10 selected.
  3793. * 0b1011..ADC CMD11 selected.
  3794. * 0b1100..ADC CMD12 selected.
  3795. * 0b1101..ADC CMD13 selected.
  3796. * 0b1110..ADC CMD14 selected.
  3797. * 0b1111..ADC CMD15 selected.
  3798. */
  3799. #define ADC_ETC_TRIGn_CHAIN_5_4_CSEL5(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_CSEL5_MASK)
  3800. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_MASK (0xFF00000U)
  3801. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_SHIFT (20U)
  3802. /*! HWTS5
  3803. * 0b00000000..no trigger selected
  3804. * 0b00000001..ADC TRIG0 selected
  3805. * 0b00000010..ADC TRIG1 selected
  3806. * 0b00000100..ADC TRIG2 selected
  3807. * 0b00001000..ADC TRIG3 selected
  3808. * 0b00010000..ADC TRIG4 selected
  3809. * 0b00100000..ADC TRIG5 selected
  3810. * 0b01000000..ADC TRIG6 selected
  3811. * 0b10000000..ADC TRIG7 selected
  3812. */
  3813. #define ADC_ETC_TRIGn_CHAIN_5_4_HWTS5(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_HWTS5_MASK)
  3814. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_MASK (0x10000000U)
  3815. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5_SHIFT (28U)
  3816. /*! B2B5
  3817. * 0b0..Disable B2B. Wait until delay value defined by TRIG5_COUNTER[SAMPLE_INTERVAL] is reached
  3818. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3819. */
  3820. #define ADC_ETC_TRIGn_CHAIN_5_4_B2B5(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_B2B5_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_B2B5_MASK)
  3821. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_MASK (0x60000000U)
  3822. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_SHIFT (29U)
  3823. /*! IE5
  3824. * 0b00..Generate interrupt on Done0 when segment 5 finish.
  3825. * 0b01..Generate interrupt on Done1 when segment 5 finish.
  3826. * 0b10..Generate interrupt on Done2 when segment 5 finish.
  3827. * 0b11..Generate interrupt on Done3 when segment 5 finish.
  3828. */
  3829. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_IE5_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_IE5_MASK)
  3830. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_MASK (0x80000000U)
  3831. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_SHIFT (31U)
  3832. /*! IE5_EN
  3833. * 0b0..Interrupt DONE disabled.
  3834. * 0b1..Interrupt DONE enabled. When segment 5 finish, an interrupt will be generated on the specific port configured by the IE5.
  3835. */
  3836. #define ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_5_4_IE5_EN_MASK)
  3837. /*! @} */
  3838. /* The count of ADC_ETC_TRIGn_CHAIN_5_4 */
  3839. #define ADC_ETC_TRIGn_CHAIN_5_4_COUNT (8U)
  3840. /*! @name TRIGn_CHAIN_7_6 - ETC_TRIG Chain 6/7 Register */
  3841. /*! @{ */
  3842. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_MASK (0xFU)
  3843. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_SHIFT (0U)
  3844. /*! CSEL6
  3845. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3846. * 0b0001..ADC CMD1 selected.
  3847. * 0b0010..ADC CMD2 selected.
  3848. * 0b0011..ADC CMD3 selected.
  3849. * 0b0100..ADC CMD4 selected.
  3850. * 0b0101..ADC CMD5 selected.
  3851. * 0b0110..ADC CMD6 selected.
  3852. * 0b0111..ADC CMD7 selected.
  3853. * 0b1000..ADC CMD8 selected.
  3854. * 0b1001..ADC CMD9 selected.
  3855. * 0b1010..ADC CMD10 selected.
  3856. * 0b1011..ADC CMD11 selected.
  3857. * 0b1100..ADC CMD12 selected.
  3858. * 0b1101..ADC CMD13 selected.
  3859. * 0b1110..ADC CMD14 selected.
  3860. * 0b1111..ADC CMD15 selected.
  3861. */
  3862. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL6(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_CSEL6_MASK)
  3863. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_MASK (0xFF0U)
  3864. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_SHIFT (4U)
  3865. /*! HWTS6
  3866. * 0b00000000..no trigger selected
  3867. * 0b00000001..ADC TRIG0 selected
  3868. * 0b00000010..ADC TRIG1 selected
  3869. * 0b00000100..ADC TRIG2 selected
  3870. * 0b00001000..ADC TRIG3 selected
  3871. * 0b00010000..ADC TRIG4 selected
  3872. * 0b00100000..ADC TRIG5 selected
  3873. * 0b01000000..ADC TRIG6 selected
  3874. * 0b10000000..ADC TRIG7 selected
  3875. */
  3876. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS6(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_HWTS6_MASK)
  3877. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_MASK (0x1000U)
  3878. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6_SHIFT (12U)
  3879. /*! B2B6
  3880. * 0b0..Disable B2B. Wait until delay value defined by TRIG6_COUNTER[SAMPLE_INTERVAL] is reached
  3881. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3882. */
  3883. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B6(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_B2B6_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_B2B6_MASK)
  3884. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_MASK (0x6000U)
  3885. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_SHIFT (13U)
  3886. /*! IE6
  3887. * 0b00..Generate interrupt on Done0 when segment 6 finish.
  3888. * 0b01..Generate interrupt on Done1 when segment 6 finish.
  3889. * 0b10..Generate interrupt on Done2 when segment 6 finish.
  3890. * 0b11..Generate interrupt on Done3 when segment 6 finish.
  3891. */
  3892. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_IE6_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_IE6_MASK)
  3893. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_MASK (0x8000U)
  3894. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_SHIFT (15U)
  3895. /*! IE6_EN
  3896. * 0b0..Interrupt DONE disabled.
  3897. * 0b1..Interrupt DONE enabled. When segment 6 finish, an interrupt will be generated on the specific port configured by the IE6.
  3898. */
  3899. #define ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_IE6_EN_MASK)
  3900. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_MASK (0xF0000U)
  3901. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_SHIFT (16U)
  3902. /*! CSEL7
  3903. * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored.
  3904. * 0b0001..ADC CMD1 selected.
  3905. * 0b0010..ADC CMD2 selected.
  3906. * 0b0011..ADC CMD3 selected.
  3907. * 0b0100..ADC CMD4 selected.
  3908. * 0b0101..ADC CMD5 selected.
  3909. * 0b0110..ADC CMD6 selected.
  3910. * 0b0111..ADC CMD7 selected.
  3911. * 0b1000..ADC CMD8 selected.
  3912. * 0b1001..ADC CMD9 selected.
  3913. * 0b1010..ADC CMD10 selected.
  3914. * 0b1011..ADC CMD11 selected.
  3915. * 0b1100..ADC CMD12 selected.
  3916. * 0b1101..ADC CMD13 selected.
  3917. * 0b1110..ADC CMD14 selected.
  3918. * 0b1111..ADC CMD15 selected.
  3919. */
  3920. #define ADC_ETC_TRIGn_CHAIN_7_6_CSEL7(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_CSEL7_MASK)
  3921. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_MASK (0xFF00000U)
  3922. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_SHIFT (20U)
  3923. /*! HWTS7
  3924. * 0b00000000..no trigger selected
  3925. * 0b00000001..ADC TRIG0 selected
  3926. * 0b00000010..ADC TRIG1 selected
  3927. * 0b00000100..ADC TRIG2 selected
  3928. * 0b00001000..ADC TRIG3 selected
  3929. * 0b00010000..ADC TRIG4 selected
  3930. * 0b00100000..ADC TRIG5 selected
  3931. * 0b01000000..ADC TRIG6 selected
  3932. * 0b10000000..ADC TRIG7 selected
  3933. */
  3934. #define ADC_ETC_TRIGn_CHAIN_7_6_HWTS7(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_HWTS7_MASK)
  3935. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_MASK (0x10000000U)
  3936. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7_SHIFT (28U)
  3937. /*! B2B7
  3938. * 0b0..Disable B2B. Wait until delay value defined by TRIG7_COUNTER[SAMPLE_INTERVAL] is reached
  3939. * 0b1..Enable B2B. When Segment 0 finished (ADC COCO) then automatically trigger next ADC conversion, no need to wait until interval delay reached.
  3940. */
  3941. #define ADC_ETC_TRIGn_CHAIN_7_6_B2B7(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_B2B7_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_B2B7_MASK)
  3942. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_MASK (0x60000000U)
  3943. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_SHIFT (29U)
  3944. /*! IE7
  3945. * 0b00..Generate interrupt on Done0 when segment 7 finish.
  3946. * 0b01..Generate interrupt on Done1 when segment 7 finish.
  3947. * 0b10..Generate interrupt on Done2 when segment 7 finish.
  3948. * 0b11..Generate interrupt on Done3 when segment 7 finish.
  3949. */
  3950. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_IE7_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_IE7_MASK)
  3951. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_MASK (0x80000000U)
  3952. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_SHIFT (31U)
  3953. /*! IE7_EN
  3954. * 0b0..Interrupt DONE disabled.
  3955. * 0b1..Interrupt DONE enabled. When segment 7 finish, an interrupt will be generated on the specific port configured by the IE7.
  3956. */
  3957. #define ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_SHIFT)) & ADC_ETC_TRIGn_CHAIN_7_6_IE7_EN_MASK)
  3958. /*! @} */
  3959. /* The count of ADC_ETC_TRIGn_CHAIN_7_6 */
  3960. #define ADC_ETC_TRIGn_CHAIN_7_6_COUNT (8U)
  3961. /*! @name TRIGn_RESULT_1_0 - ETC_TRIG Result Data 1/0 Register */
  3962. /*! @{ */
  3963. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_MASK (0xFFFU)
  3964. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0_SHIFT (0U)
  3965. #define ADC_ETC_TRIGn_RESULT_1_0_DATA0(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_1_0_DATA0_SHIFT)) & ADC_ETC_TRIGn_RESULT_1_0_DATA0_MASK)
  3966. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_MASK (0xFFF0000U)
  3967. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1_SHIFT (16U)
  3968. #define ADC_ETC_TRIGn_RESULT_1_0_DATA1(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_1_0_DATA1_SHIFT)) & ADC_ETC_TRIGn_RESULT_1_0_DATA1_MASK)
  3969. /*! @} */
  3970. /* The count of ADC_ETC_TRIGn_RESULT_1_0 */
  3971. #define ADC_ETC_TRIGn_RESULT_1_0_COUNT (8U)
  3972. /*! @name TRIGn_RESULT_3_2 - ETC_TRIG Result Data 3/2 Register */
  3973. /*! @{ */
  3974. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_MASK (0xFFFU)
  3975. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2_SHIFT (0U)
  3976. #define ADC_ETC_TRIGn_RESULT_3_2_DATA2(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_3_2_DATA2_SHIFT)) & ADC_ETC_TRIGn_RESULT_3_2_DATA2_MASK)
  3977. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_MASK (0xFFF0000U)
  3978. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3_SHIFT (16U)
  3979. #define ADC_ETC_TRIGn_RESULT_3_2_DATA3(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_3_2_DATA3_SHIFT)) & ADC_ETC_TRIGn_RESULT_3_2_DATA3_MASK)
  3980. /*! @} */
  3981. /* The count of ADC_ETC_TRIGn_RESULT_3_2 */
  3982. #define ADC_ETC_TRIGn_RESULT_3_2_COUNT (8U)
  3983. /*! @name TRIGn_RESULT_5_4 - ETC_TRIG Result Data 5/4 Register */
  3984. /*! @{ */
  3985. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_MASK (0xFFFU)
  3986. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4_SHIFT (0U)
  3987. #define ADC_ETC_TRIGn_RESULT_5_4_DATA4(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_5_4_DATA4_SHIFT)) & ADC_ETC_TRIGn_RESULT_5_4_DATA4_MASK)
  3988. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_MASK (0xFFF0000U)
  3989. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5_SHIFT (16U)
  3990. #define ADC_ETC_TRIGn_RESULT_5_4_DATA5(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_5_4_DATA5_SHIFT)) & ADC_ETC_TRIGn_RESULT_5_4_DATA5_MASK)
  3991. /*! @} */
  3992. /* The count of ADC_ETC_TRIGn_RESULT_5_4 */
  3993. #define ADC_ETC_TRIGn_RESULT_5_4_COUNT (8U)
  3994. /*! @name TRIGn_RESULT_7_6 - ETC_TRIG Result Data 7/6 Register */
  3995. /*! @{ */
  3996. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_MASK (0xFFFU)
  3997. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6_SHIFT (0U)
  3998. #define ADC_ETC_TRIGn_RESULT_7_6_DATA6(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_7_6_DATA6_SHIFT)) & ADC_ETC_TRIGn_RESULT_7_6_DATA6_MASK)
  3999. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_MASK (0xFFF0000U)
  4000. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7_SHIFT (16U)
  4001. #define ADC_ETC_TRIGn_RESULT_7_6_DATA7(x) (((uint32_t)(((uint32_t)(x)) << ADC_ETC_TRIGn_RESULT_7_6_DATA7_SHIFT)) & ADC_ETC_TRIGn_RESULT_7_6_DATA7_MASK)
  4002. /*! @} */
  4003. /* The count of ADC_ETC_TRIGn_RESULT_7_6 */
  4004. #define ADC_ETC_TRIGn_RESULT_7_6_COUNT (8U)
  4005. /*!
  4006. * @}
  4007. */ /* end of group ADC_ETC_Register_Masks */
  4008. /* ADC_ETC - Peripheral instance base addresses */
  4009. /** Peripheral ADC_ETC base address */
  4010. #define ADC_ETC_BASE (0x40048000u)
  4011. /** Peripheral ADC_ETC base pointer */
  4012. #define ADC_ETC ((ADC_ETC_Type *)ADC_ETC_BASE)
  4013. /** Array initializer of ADC_ETC peripheral base addresses */
  4014. #define ADC_ETC_BASE_ADDRS { ADC_ETC_BASE }
  4015. /** Array initializer of ADC_ETC peripheral base pointers */
  4016. #define ADC_ETC_BASE_PTRS { ADC_ETC }
  4017. /** Interrupt vectors for the ADC_ETC peripheral type */
  4018. #define ADC_ETC_IRQS { { ADC_ETC_IRQ0_IRQn, ADC_ETC_IRQ1_IRQn, ADC_ETC_IRQ2_IRQn, ADC_ETC_IRQ3_IRQn } }
  4019. #define ADC_ETC_FAULT_IRQS { ADC_ETC_ERROR_IRQ_IRQn }
  4020. /*!
  4021. * @}
  4022. */ /* end of group ADC_ETC_Peripheral_Access_Layer */
  4023. /* ----------------------------------------------------------------------------
  4024. -- ANADIG_LDO_SNVS Peripheral Access Layer
  4025. ---------------------------------------------------------------------------- */
  4026. /*!
  4027. * @addtogroup ANADIG_LDO_SNVS_Peripheral_Access_Layer ANADIG_LDO_SNVS Peripheral Access Layer
  4028. * @{
  4029. */
  4030. /** ANADIG_LDO_SNVS - Register Layout Typedef */
  4031. typedef struct {
  4032. uint8_t RESERVED_0[1296];
  4033. __IO uint32_t PMU_LDO_LPSR_ANA; /**< PMU_LDO_LPSR_ANA_REGISTER, offset: 0x510 */
  4034. uint8_t RESERVED_1[12];
  4035. __IO uint32_t PMU_LDO_LPSR_DIG_2; /**< PMU_LDO_LPSR_DIG_2_REGISTER, offset: 0x520 */
  4036. uint8_t RESERVED_2[12];
  4037. __IO uint32_t PMU_LDO_LPSR_DIG; /**< PMU_LDO_LPSR_DIG_REGISTER, offset: 0x530 */
  4038. } ANADIG_LDO_SNVS_Type;
  4039. /* ----------------------------------------------------------------------------
  4040. -- ANADIG_LDO_SNVS Register Masks
  4041. ---------------------------------------------------------------------------- */
  4042. /*!
  4043. * @addtogroup ANADIG_LDO_SNVS_Register_Masks ANADIG_LDO_SNVS Register Masks
  4044. * @{
  4045. */
  4046. /*! @name PMU_LDO_LPSR_ANA - PMU_LDO_LPSR_ANA_REGISTER */
  4047. /*! @{ */
  4048. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_MASK (0x1U)
  4049. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_SHIFT (0U)
  4050. /*! REG_LP_EN - reg_lp_en
  4051. */
  4052. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_LP_EN_MASK)
  4053. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_MASK (0x4U)
  4054. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_SHIFT (2U)
  4055. /*! REG_DISABLE - reg_disable
  4056. */
  4057. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_REG_DISABLE_MASK)
  4058. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_MASK (0x8U)
  4059. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_SHIFT (3U)
  4060. /*! PULL_DOWN_2MA_EN - pull_down_2ma_en
  4061. */
  4062. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_2MA_EN_MASK)
  4063. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_MASK (0x10U)
  4064. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_SHIFT (4U)
  4065. /*! LPSR_ANA_CONTROL_MODE - LPSR_ANA_CONTROL_MODE
  4066. * 0b0..SW Control
  4067. * 0b1..HW Control
  4068. */
  4069. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_LPSR_ANA_CONTROL_MODE_MASK)
  4070. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_MASK (0x20U)
  4071. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_SHIFT (5U)
  4072. /*! BYPASS_MODE_EN - bypass_mode_en
  4073. */
  4074. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_BYPASS_MODE_EN_MASK)
  4075. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_MASK (0x40U)
  4076. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_SHIFT (6U)
  4077. /*! STANDBY_EN - standby_en
  4078. */
  4079. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_STANDBY_EN_MASK)
  4080. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_MASK (0x100U)
  4081. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_SHIFT (8U)
  4082. /*! ALWAYS_4MA_PULLDOWN_EN - always_4ma_pulldown_en
  4083. */
  4084. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_ALWAYS_4MA_PULLDOWN_EN_MASK)
  4085. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_MASK (0x80000U)
  4086. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_SHIFT (19U)
  4087. /*! TRACK_MODE_EN - Track Mode Enable
  4088. * 0b0..Normal use
  4089. * 0b1..Switch preparation
  4090. */
  4091. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_TRACK_MODE_EN_MASK)
  4092. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_MASK (0x100000U)
  4093. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_SHIFT (20U)
  4094. /*! PULL_DOWN_20UA_EN - pull_down_20ua_en
  4095. */
  4096. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_ANA_PULL_DOWN_20UA_EN_MASK)
  4097. /*! @} */
  4098. /*! @name PMU_LDO_LPSR_DIG_2 - PMU_LDO_LPSR_DIG_2_REGISTER */
  4099. /*! @{ */
  4100. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_MASK (0x3U)
  4101. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_SHIFT (0U)
  4102. /*! VOLTAGE_STEP_INC - voltage_step_inc
  4103. */
  4104. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_2_VOLTAGE_STEP_INC_MASK)
  4105. /*! @} */
  4106. /*! @name PMU_LDO_LPSR_DIG - PMU_LDO_LPSR_DIG_REGISTER */
  4107. /*! @{ */
  4108. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_MASK (0x4U)
  4109. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_SHIFT (2U)
  4110. /*! REG_EN - ENABLE_ILIMIT
  4111. */
  4112. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_REG_EN_MASK)
  4113. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_MASK (0x20U)
  4114. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_SHIFT (5U)
  4115. /*! LPSR_DIG_CONTROL_MODE - LPSR_DIG_CONTROL_MODE
  4116. * 0b0..SW Control
  4117. * 0b1..HW Control
  4118. */
  4119. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_LPSR_DIG_CONTROL_MODE_MASK)
  4120. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_MASK (0x40U)
  4121. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_SHIFT (6U)
  4122. /*! STANDBY_EN - standby_en
  4123. */
  4124. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_STANDBY_EN_MASK)
  4125. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_MASK (0x20000U)
  4126. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_SHIFT (17U)
  4127. /*! TRACKING_MODE - tracking_mode
  4128. */
  4129. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_TRACKING_MODE_MASK)
  4130. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_MASK (0x40000U)
  4131. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_SHIFT (18U)
  4132. /*! BYPASS_MODE - bypass_mode
  4133. */
  4134. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_BYPASS_MODE_MASK)
  4135. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_MASK (0x1F00000U)
  4136. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_SHIFT (20U)
  4137. /*! VOLTAGE_SELECT - VOLTAGE_SELECT
  4138. * 0b00000..Stable Voltage (range)
  4139. * 0b00001..Stable Voltage (range)
  4140. * 0b00010..Stable Voltage (range)
  4141. * 0b00011..Stable Voltage (range)
  4142. * 0b00100..Stable Voltage (range)
  4143. * 0b00101..Stable Voltage (range)
  4144. * 0b00110..Stable Voltage (range)
  4145. * 0b00111..Stable Voltage (range)
  4146. * 0b01000..Stable Voltage (range)
  4147. * 0b01001..Stable Voltage (range)
  4148. * 0b01010..Stable Voltage (range)
  4149. * 0b01011..Stable Voltage (range)
  4150. * 0b01100..Stable Voltage (range)
  4151. * 0b01101..Stable Voltage (range)
  4152. * 0b01110..Stable Voltage (range)
  4153. * 0b01111..Stable Voltage (range)
  4154. * 0b10000..Stable Voltage (range)
  4155. * 0b10001..Stable Voltage (range)
  4156. * 0b10010..Stable Voltage (range)
  4157. * 0b10011..Stable Voltage (range)
  4158. * 0b10100..Stable Voltage (range)
  4159. * 0b10101..Stable Voltage (range)
  4160. * 0b10110..Stable Voltage (range)
  4161. * 0b10111..Stable Voltage (range)
  4162. * 0b11000..Stable Voltage (range)
  4163. * 0b11001..Stable Voltage (range)
  4164. * 0b11010..Stable Voltage (range)
  4165. * 0b11011..Stable Voltage (range)
  4166. * 0b11100..Stable Voltage (range)
  4167. * 0b11101..Stable Voltage (range)
  4168. * 0b11110..Stable Voltage (range)
  4169. * 0b11111..Stable Voltage (range)
  4170. */
  4171. #define ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_SHIFT)) & ANADIG_LDO_SNVS_PMU_LDO_LPSR_DIG_VOLTAGE_SELECT_MASK)
  4172. /*! @} */
  4173. /*!
  4174. * @}
  4175. */ /* end of group ANADIG_LDO_SNVS_Register_Masks */
  4176. /* ANADIG_LDO_SNVS - Peripheral instance base addresses */
  4177. /** Peripheral ANADIG_LDO_SNVS base address */
  4178. #define ANADIG_LDO_SNVS_BASE (0x40C84000u)
  4179. /** Peripheral ANADIG_LDO_SNVS base pointer */
  4180. #define ANADIG_LDO_SNVS ((ANADIG_LDO_SNVS_Type *)ANADIG_LDO_SNVS_BASE)
  4181. /** Array initializer of ANADIG_LDO_SNVS peripheral base addresses */
  4182. #define ANADIG_LDO_SNVS_BASE_ADDRS { ANADIG_LDO_SNVS_BASE }
  4183. /** Array initializer of ANADIG_LDO_SNVS peripheral base pointers */
  4184. #define ANADIG_LDO_SNVS_BASE_PTRS { ANADIG_LDO_SNVS }
  4185. /*!
  4186. * @}
  4187. */ /* end of group ANADIG_LDO_SNVS_Peripheral_Access_Layer */
  4188. /* ----------------------------------------------------------------------------
  4189. -- ANADIG_LDO_SNVS_DIG Peripheral Access Layer
  4190. ---------------------------------------------------------------------------- */
  4191. /*!
  4192. * @addtogroup ANADIG_LDO_SNVS_DIG_Peripheral_Access_Layer ANADIG_LDO_SNVS_DIG Peripheral Access Layer
  4193. * @{
  4194. */
  4195. /** ANADIG_LDO_SNVS_DIG - Register Layout Typedef */
  4196. typedef struct {
  4197. uint8_t RESERVED_0[1344];
  4198. __IO uint32_t PMU_LDO_SNVS_DIG; /**< PMU_LDO_SNVS_DIG_REGISTER, offset: 0x540 */
  4199. } ANADIG_LDO_SNVS_DIG_Type;
  4200. /* ----------------------------------------------------------------------------
  4201. -- ANADIG_LDO_SNVS_DIG Register Masks
  4202. ---------------------------------------------------------------------------- */
  4203. /*!
  4204. * @addtogroup ANADIG_LDO_SNVS_DIG_Register_Masks ANADIG_LDO_SNVS_DIG Register Masks
  4205. * @{
  4206. */
  4207. /*! @name PMU_LDO_SNVS_DIG - PMU_LDO_SNVS_DIG_REGISTER */
  4208. /*! @{ */
  4209. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_MASK (0x1U)
  4210. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_SHIFT (0U)
  4211. /*! REG_LP_EN - REG_LP_EN
  4212. */
  4213. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_SHIFT)) & ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_LP_EN_MASK)
  4214. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_MASK (0x2U)
  4215. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_SHIFT (1U)
  4216. /*! TEST_OVERRIDE - test_override
  4217. */
  4218. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_SHIFT)) & ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_TEST_OVERRIDE_MASK)
  4219. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_MASK (0x4U)
  4220. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_SHIFT (2U)
  4221. /*! REG_EN - REG_EN
  4222. */
  4223. #define ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_SHIFT)) & ANADIG_LDO_SNVS_DIG_PMU_LDO_SNVS_DIG_REG_EN_MASK)
  4224. /*! @} */
  4225. /*!
  4226. * @}
  4227. */ /* end of group ANADIG_LDO_SNVS_DIG_Register_Masks */
  4228. /* ANADIG_LDO_SNVS_DIG - Peripheral instance base addresses */
  4229. /** Peripheral ANADIG_LDO_SNVS_DIG base address */
  4230. #define ANADIG_LDO_SNVS_DIG_BASE (0x40C84000u)
  4231. /** Peripheral ANADIG_LDO_SNVS_DIG base pointer */
  4232. #define ANADIG_LDO_SNVS_DIG ((ANADIG_LDO_SNVS_DIG_Type *)ANADIG_LDO_SNVS_DIG_BASE)
  4233. /** Array initializer of ANADIG_LDO_SNVS_DIG peripheral base addresses */
  4234. #define ANADIG_LDO_SNVS_DIG_BASE_ADDRS { ANADIG_LDO_SNVS_DIG_BASE }
  4235. /** Array initializer of ANADIG_LDO_SNVS_DIG peripheral base pointers */
  4236. #define ANADIG_LDO_SNVS_DIG_BASE_PTRS { ANADIG_LDO_SNVS_DIG }
  4237. /*!
  4238. * @}
  4239. */ /* end of group ANADIG_LDO_SNVS_DIG_Peripheral_Access_Layer */
  4240. /* ----------------------------------------------------------------------------
  4241. -- ANADIG_MISC Peripheral Access Layer
  4242. ---------------------------------------------------------------------------- */
  4243. /*!
  4244. * @addtogroup ANADIG_MISC_Peripheral_Access_Layer ANADIG_MISC Peripheral Access Layer
  4245. * @{
  4246. */
  4247. /** ANADIG_MISC - Register Layout Typedef */
  4248. typedef struct {
  4249. uint8_t RESERVED_0[2048];
  4250. __I uint32_t MISC_DIFPROG; /**< Chip Silicon Version Register, offset: 0x800 */
  4251. uint8_t RESERVED_1[28];
  4252. __IO uint32_t VDDSOC_AI_CTRL; /**< VDDSOC_AI_CTRL_REGISTER, offset: 0x820 */
  4253. uint8_t RESERVED_2[12];
  4254. __IO uint32_t VDDSOC_AI_WDATA; /**< VDDSOC_AI_WDATA_REGISTER, offset: 0x830 */
  4255. uint8_t RESERVED_3[12];
  4256. __I uint32_t VDDSOC_AI_RDATA; /**< VDDSOC_AI_RDATA_REGISTER, offset: 0x840 */
  4257. uint8_t RESERVED_4[12];
  4258. __IO uint32_t VDDSOC2PLL_AI_CTRL_1G; /**< VDDSOC2PLL_AI_CTRL_1G_REGISTER, offset: 0x850 */
  4259. uint8_t RESERVED_5[12];
  4260. __IO uint32_t VDDSOC2PLL_AI_WDATA_1G; /**< VDDSOC2PLL_AI_WDATA_1G_REGISTER, offset: 0x860 */
  4261. uint8_t RESERVED_6[12];
  4262. __I uint32_t VDDSOC2PLL_AI_RDATA_1G; /**< VDDSOC2PLL_AI_RDATA_1G_REGISTER, offset: 0x870 */
  4263. uint8_t RESERVED_7[12];
  4264. __IO uint32_t VDDSOC2PLL_AI_CTRL_AUDIO; /**< VDDSOC_AI_CTRL_AUDIO_REGISTER, offset: 0x880 */
  4265. uint8_t RESERVED_8[12];
  4266. __IO uint32_t VDDSOC2PLL_AI_WDATA_AUDIO; /**< VDDSOC_AI_WDATA_AUDIO_REGISTER, offset: 0x890 */
  4267. uint8_t RESERVED_9[12];
  4268. __I uint32_t VDDSOC2PLL_AI_RDATA_AUDIO; /**< VDDSOC2PLL_AI_RDATA_REGISTER, offset: 0x8A0 */
  4269. uint8_t RESERVED_10[12];
  4270. __IO uint32_t VDDSOC2PLL_AI_CTRL_VIDEO; /**< VDDSOC2PLL_AI_CTRL_VIDEO_REGISTER, offset: 0x8B0 */
  4271. uint8_t RESERVED_11[12];
  4272. __IO uint32_t VDDSOC2PLL_AI_WDATA_VIDEO; /**< VDDSOC2PLL_AI_WDATA_VIDEO_REGISTER, offset: 0x8C0 */
  4273. uint8_t RESERVED_12[12];
  4274. __I uint32_t VDDSOC2PLL_AI_RDATA_VIDEO; /**< VDDSOC2PLL_AI_RDATA_VIDEO_REGISTER, offset: 0x8D0 */
  4275. uint8_t RESERVED_13[12];
  4276. __IO uint32_t VDDLPSR_AI_CTRL; /**< VDDSOC_AI_CTRL_REGISTER, offset: 0x8E0 */
  4277. uint8_t RESERVED_14[12];
  4278. __IO uint32_t VDDLPSR_AI_WDATA; /**< VDDLPSR_AI_WDATA_REGISTER, offset: 0x8F0 */
  4279. uint8_t RESERVED_15[12];
  4280. __I uint32_t VDDLPSR_AI_RDATA_REFTOP; /**< VDDLPSR_AI_RDATA_REFTOP_REGISTER, offset: 0x900 */
  4281. uint8_t RESERVED_16[12];
  4282. __I uint32_t VDDLPSR_AI_RDATA_TMPSNS; /**< VDDLPSR_AI_RDATA_TMPSNS_REGISTER, offset: 0x910 */
  4283. uint8_t RESERVED_17[12];
  4284. __IO uint32_t VDDLPSR_AI400M_CTRL; /**< VDDLPSR_AI400M_CTRL_REGISTER, offset: 0x920 */
  4285. uint8_t RESERVED_18[12];
  4286. __IO uint32_t VDDLPSR_AI400M_WDATA; /**< VDDLPSR_AI400M_WDATA_REGISTER, offset: 0x930 */
  4287. uint8_t RESERVED_19[12];
  4288. __I uint32_t VDDLPSR_AI400M_RDATA; /**< VDDLPSR_AI400M_RDATA_REGISTER, offset: 0x940 */
  4289. } ANADIG_MISC_Type;
  4290. /* ----------------------------------------------------------------------------
  4291. -- ANADIG_MISC Register Masks
  4292. ---------------------------------------------------------------------------- */
  4293. /*!
  4294. * @addtogroup ANADIG_MISC_Register_Masks ANADIG_MISC Register Masks
  4295. * @{
  4296. */
  4297. /*! @name MISC_DIFPROG - Chip Silicon Version Register */
  4298. /*! @{ */
  4299. #define ANADIG_MISC_MISC_DIFPROG_CHIPID_MASK (0xFFFFFFFFU)
  4300. #define ANADIG_MISC_MISC_DIFPROG_CHIPID_SHIFT (0U)
  4301. /*! CHIPID - Chip ID
  4302. */
  4303. #define ANADIG_MISC_MISC_DIFPROG_CHIPID(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_MISC_DIFPROG_CHIPID_SHIFT)) & ANADIG_MISC_MISC_DIFPROG_CHIPID_MASK)
  4304. /*! @} */
  4305. /*! @name VDDSOC_AI_CTRL - VDDSOC_AI_CTRL_REGISTER */
  4306. /*! @{ */
  4307. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_MASK (0xFFU)
  4308. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_SHIFT (0U)
  4309. /*! VDDSOC_AI_ADDR - VDDSOC_AI_ADDR
  4310. */
  4311. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_SHIFT)) & ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AI_ADDR_MASK)
  4312. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_MASK (0x10000U)
  4313. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_SHIFT (16U)
  4314. /*! VDDSOC_AIRWB - VDDSOC_AIRWB
  4315. */
  4316. #define ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_SHIFT)) & ANADIG_MISC_VDDSOC_AI_CTRL_VDDSOC_AIRWB_MASK)
  4317. /*! @} */
  4318. /*! @name VDDSOC_AI_WDATA - VDDSOC_AI_WDATA_REGISTER */
  4319. /*! @{ */
  4320. #define ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_MASK (0xFFFFFFFFU)
  4321. #define ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_SHIFT (0U)
  4322. /*! VDDSOC_AI_WDATA - VDDSOC_AI_WDATA
  4323. */
  4324. #define ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_SHIFT)) & ANADIG_MISC_VDDSOC_AI_WDATA_VDDSOC_AI_WDATA_MASK)
  4325. /*! @} */
  4326. /*! @name VDDSOC_AI_RDATA - VDDSOC_AI_RDATA_REGISTER */
  4327. /*! @{ */
  4328. #define ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_MASK (0xFFFFFFFFU)
  4329. #define ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_SHIFT (0U)
  4330. /*! VDDSOC_AI_RDATA - VDDSOC_AI_RDATA
  4331. */
  4332. #define ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_SHIFT)) & ANADIG_MISC_VDDSOC_AI_RDATA_VDDSOC_AI_RDATA_MASK)
  4333. /*! @} */
  4334. /*! @name VDDSOC2PLL_AI_CTRL_1G - VDDSOC2PLL_AI_CTRL_1G_REGISTER */
  4335. /*! @{ */
  4336. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_MASK (0xFFU)
  4337. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_SHIFT (0U)
  4338. /*! VDDSOC2PLL_AIADDR_1G - VDDSOC2PLL_AIADDR_1G
  4339. */
  4340. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIADDR_1G_MASK)
  4341. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_MASK (0x100U)
  4342. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_SHIFT (8U)
  4343. /*! VDDSOC2PLL_AITOGGLE_1G - VDDSOC2PLL_AITOGGLE_1G
  4344. */
  4345. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_1G_MASK)
  4346. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_MASK (0x200U)
  4347. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_SHIFT (9U)
  4348. /*! VDDSOC2PLL_AITOGGLE_DONE_1G - VDDSOC2PLL_AITOGGLE_DONE_1G
  4349. */
  4350. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AITOGGLE_DONE_1G_MASK)
  4351. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_MASK (0x10000U)
  4352. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_SHIFT (16U)
  4353. /*! VDDSOC2PLL_AIRWB_1G - VDDSOC2PLL_AIRWB_1G
  4354. */
  4355. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_1G_VDDSOC2PLL_AIRWB_1G_MASK)
  4356. /*! @} */
  4357. /*! @name VDDSOC2PLL_AI_WDATA_1G - VDDSOC2PLL_AI_WDATA_1G_REGISTER */
  4358. /*! @{ */
  4359. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_MASK (0xFFFFFFFFU)
  4360. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_SHIFT (0U)
  4361. /*! VDDSOC2PLL_AI_WDATA_1G - VDDSOC2PLL_AI_WDATA_1G
  4362. */
  4363. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_WDATA_1G_VDDSOC2PLL_AI_WDATA_1G_MASK)
  4364. /*! @} */
  4365. /*! @name VDDSOC2PLL_AI_RDATA_1G - VDDSOC2PLL_AI_RDATA_1G_REGISTER */
  4366. /*! @{ */
  4367. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_MASK (0xFFFFFFFFU)
  4368. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_SHIFT (0U)
  4369. /*! VDDSOC2PLL_AI_RDATA_1G - VDDSOC2PLL_AI_RDATA_1G
  4370. */
  4371. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_RDATA_1G_VDDSOC2PLL_AI_RDATA_1G_MASK)
  4372. /*! @} */
  4373. /*! @name VDDSOC2PLL_AI_CTRL_AUDIO - VDDSOC_AI_CTRL_AUDIO_REGISTER */
  4374. /*! @{ */
  4375. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_MASK (0xFFU)
  4376. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_SHIFT (0U)
  4377. /*! VDDSOC2PLL_AI_ADDR_AUDIO - VDDSOC2PLL_AI_ADDR_AUDIO
  4378. */
  4379. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AI_ADDR_AUDIO_MASK)
  4380. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_MASK (0x100U)
  4381. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_SHIFT (8U)
  4382. /*! VDDSOC2PLL_AITOGGLE_AUDIO - VDDSOC2PLL_AITOGGLE_AUDIO
  4383. */
  4384. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_AUDIO_MASK)
  4385. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_MASK (0x200U)
  4386. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_SHIFT (9U)
  4387. /*! VDDSOC2PLL_AITOGGLE_DONE_AUDIO - VDDSOC2PLL_AITOGGLE_DONE_AUDIO
  4388. */
  4389. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AITOGGLE_DONE_AUDIO_MASK)
  4390. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_MASK (0x10000U)
  4391. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_SHIFT (16U)
  4392. /*! VDDSOC2PLL_AIRWB_AUDIO - VDDSOC_AIRWB
  4393. */
  4394. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_AUDIO_VDDSOC2PLL_AIRWB_AUDIO_MASK)
  4395. /*! @} */
  4396. /*! @name VDDSOC2PLL_AI_WDATA_AUDIO - VDDSOC_AI_WDATA_AUDIO_REGISTER */
  4397. /*! @{ */
  4398. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_MASK (0xFFFFFFFFU)
  4399. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_SHIFT (0U)
  4400. /*! VDDSOC2PLL_AI_WDATA_AUDIO - VDDSOC2PLL_AI_WDATA_AUDIO
  4401. */
  4402. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_WDATA_AUDIO_VDDSOC2PLL_AI_WDATA_AUDIO_MASK)
  4403. /*! @} */
  4404. /*! @name VDDSOC2PLL_AI_RDATA_AUDIO - VDDSOC2PLL_AI_RDATA_REGISTER */
  4405. /*! @{ */
  4406. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_MASK (0xFFFFFFFFU)
  4407. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_SHIFT (0U)
  4408. /*! VDDSOC2PLL_AI_RDATA_AUDIO - VDDSOC2PLL_AI_RDATA_AUDIO
  4409. */
  4410. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_RDATA_AUDIO_VDDSOC2PLL_AI_RDATA_AUDIO_MASK)
  4411. /*! @} */
  4412. /*! @name VDDSOC2PLL_AI_CTRL_VIDEO - VDDSOC2PLL_AI_CTRL_VIDEO_REGISTER */
  4413. /*! @{ */
  4414. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_MASK (0xFFU)
  4415. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_SHIFT (0U)
  4416. /*! VDDSOC2PLL_AIADDR_VIDEO - VDDSOC2PLL_AIADDR_VIDEO
  4417. */
  4418. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIADDR_VIDEO_MASK)
  4419. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_MASK (0x100U)
  4420. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_SHIFT (8U)
  4421. /*! VDDSOC2PLL_AITOGGLE_VIDEO - VDDSOC2PLL_AITOGGLE_VIDEO
  4422. */
  4423. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_VIDEO_MASK)
  4424. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_MASK (0x200U)
  4425. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_SHIFT (9U)
  4426. /*! VDDSOC2PLL_AITOGGLE_DONE_VIDEO - VDDSOC2PLL_AITOGGLE_DONE_VIDEO
  4427. */
  4428. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AITOGGLE_DONE_VIDEO_MASK)
  4429. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_MASK (0x10000U)
  4430. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_SHIFT (16U)
  4431. /*! VDDSOC2PLL_AIRWB_VIDEO - VDDSOC2PLL_AIRWB_VIDEO
  4432. */
  4433. #define ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_CTRL_VIDEO_VDDSOC2PLL_AIRWB_VIDEO_MASK)
  4434. /*! @} */
  4435. /*! @name VDDSOC2PLL_AI_WDATA_VIDEO - VDDSOC2PLL_AI_WDATA_VIDEO_REGISTER */
  4436. /*! @{ */
  4437. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_MASK (0xFFFFFFFFU)
  4438. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_SHIFT (0U)
  4439. /*! VDDSOC2PLL_AI_WDATA_VIDEO - VDDSOC2PLL_AI_WDATA_VIDEO
  4440. */
  4441. #define ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_WDATA_VIDEO_VDDSOC2PLL_AI_WDATA_VIDEO_MASK)
  4442. /*! @} */
  4443. /*! @name VDDSOC2PLL_AI_RDATA_VIDEO - VDDSOC2PLL_AI_RDATA_VIDEO_REGISTER */
  4444. /*! @{ */
  4445. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_MASK (0xFFFFFFFFU)
  4446. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_SHIFT (0U)
  4447. /*! VDDSOC2PLL_AI_RDATA_VIDEO - VDDSOC2PLL_AI_RDATA_VIDEO
  4448. */
  4449. #define ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_SHIFT)) & ANADIG_MISC_VDDSOC2PLL_AI_RDATA_VIDEO_VDDSOC2PLL_AI_RDATA_VIDEO_MASK)
  4450. /*! @} */
  4451. /*! @name VDDLPSR_AI_CTRL - VDDSOC_AI_CTRL_REGISTER */
  4452. /*! @{ */
  4453. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_MASK (0xFFU)
  4454. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_SHIFT (0U)
  4455. /*! VDDLPSR_AI_ADDR - VDDLPSR_AI_ADDR
  4456. */
  4457. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_SHIFT)) & ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AI_ADDR_MASK)
  4458. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_MASK (0x10000U)
  4459. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_SHIFT (16U)
  4460. /*! VDDLPSR_AIRWB - VDDLPSR_AIRWB
  4461. */
  4462. #define ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_SHIFT)) & ANADIG_MISC_VDDLPSR_AI_CTRL_VDDLPSR_AIRWB_MASK)
  4463. /*! @} */
  4464. /*! @name VDDLPSR_AI_WDATA - VDDLPSR_AI_WDATA_REGISTER */
  4465. /*! @{ */
  4466. #define ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_MASK (0xFFFFFFFFU)
  4467. #define ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_SHIFT (0U)
  4468. /*! VDDLPSR_AI_WDATA - VDD_LPSR_AI_WDATA
  4469. */
  4470. #define ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_SHIFT)) & ANADIG_MISC_VDDLPSR_AI_WDATA_VDDLPSR_AI_WDATA_MASK)
  4471. /*! @} */
  4472. /*! @name VDDLPSR_AI_RDATA_REFTOP - VDDLPSR_AI_RDATA_REFTOP_REGISTER */
  4473. /*! @{ */
  4474. #define ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_MASK (0xFFFFFFFFU)
  4475. #define ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_SHIFT (0U)
  4476. /*! VDDLPSR_AI_RDATA_REFTOP - VDDLPSR_AI_RDATA_REFTOP
  4477. */
  4478. #define ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_SHIFT)) & ANADIG_MISC_VDDLPSR_AI_RDATA_REFTOP_VDDLPSR_AI_RDATA_REFTOP_MASK)
  4479. /*! @} */
  4480. /*! @name VDDLPSR_AI_RDATA_TMPSNS - VDDLPSR_AI_RDATA_TMPSNS_REGISTER */
  4481. /*! @{ */
  4482. #define ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_MASK (0xFFFFFFFFU)
  4483. #define ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_SHIFT (0U)
  4484. /*! VDDLPSR_AI_RDATA_TMPSNS - VDDLPSR_AI_RDATA_TMPSNS
  4485. */
  4486. #define ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_SHIFT)) & ANADIG_MISC_VDDLPSR_AI_RDATA_TMPSNS_VDDLPSR_AI_RDATA_TMPSNS_MASK)
  4487. /*! @} */
  4488. /*! @name VDDLPSR_AI400M_CTRL - VDDLPSR_AI400M_CTRL_REGISTER */
  4489. /*! @{ */
  4490. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_MASK (0xFFU)
  4491. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_SHIFT (0U)
  4492. /*! VDDLPSR_AI400M_ADDR - VDDLPSR_AI400M_ADDR
  4493. */
  4494. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_ADDR_MASK)
  4495. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_MASK (0x100U)
  4496. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_SHIFT (8U)
  4497. /*! VDDLPSR_AITOGGLE_400M - VDDLPSR_AITOGGLE_400M
  4498. */
  4499. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_400M_MASK)
  4500. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_MASK (0x200U)
  4501. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_SHIFT (9U)
  4502. /*! VDDLPSR_AITOGGLE_DONE_400M - VDDLPSR_AITOGGLE_DONE_400M
  4503. */
  4504. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AITOGGLE_DONE_400M_MASK)
  4505. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_MASK (0x10000U)
  4506. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_SHIFT (16U)
  4507. /*! VDDLPSR_AI400M_RWB - VDDLPSR_AI400M_RWB
  4508. */
  4509. #define ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_CTRL_VDDLPSR_AI400M_RWB_MASK)
  4510. /*! @} */
  4511. /*! @name VDDLPSR_AI400M_WDATA - VDDLPSR_AI400M_WDATA_REGISTER */
  4512. /*! @{ */
  4513. #define ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_MASK (0xFFFFFFFFU)
  4514. #define ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_SHIFT (0U)
  4515. /*! VDDLPSR_AI400M_WDATA - VDDLPSR_AI400M_WDATA
  4516. */
  4517. #define ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_WDATA_VDDLPSR_AI400M_WDATA_MASK)
  4518. /*! @} */
  4519. /*! @name VDDLPSR_AI400M_RDATA - VDDLPSR_AI400M_RDATA_REGISTER */
  4520. /*! @{ */
  4521. #define ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_MASK (0xFFFFFFFFU)
  4522. #define ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_SHIFT (0U)
  4523. /*! VDDLPSR_AI400M_RDATA - VDDLPSR_AI400M_RDATA
  4524. */
  4525. #define ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_SHIFT)) & ANADIG_MISC_VDDLPSR_AI400M_RDATA_VDDLPSR_AI400M_RDATA_MASK)
  4526. /*! @} */
  4527. /*!
  4528. * @}
  4529. */ /* end of group ANADIG_MISC_Register_Masks */
  4530. /* ANADIG_MISC - Peripheral instance base addresses */
  4531. /** Peripheral ANADIG_MISC base address */
  4532. #define ANADIG_MISC_BASE (0x40C84000u)
  4533. /** Peripheral ANADIG_MISC base pointer */
  4534. #define ANADIG_MISC ((ANADIG_MISC_Type *)ANADIG_MISC_BASE)
  4535. /** Array initializer of ANADIG_MISC peripheral base addresses */
  4536. #define ANADIG_MISC_BASE_ADDRS { ANADIG_MISC_BASE }
  4537. /** Array initializer of ANADIG_MISC peripheral base pointers */
  4538. #define ANADIG_MISC_BASE_PTRS { ANADIG_MISC }
  4539. /*!
  4540. * @}
  4541. */ /* end of group ANADIG_MISC_Peripheral_Access_Layer */
  4542. /* ----------------------------------------------------------------------------
  4543. -- ANADIG_OSC Peripheral Access Layer
  4544. ---------------------------------------------------------------------------- */
  4545. /*!
  4546. * @addtogroup ANADIG_OSC_Peripheral_Access_Layer ANADIG_OSC Peripheral Access Layer
  4547. * @{
  4548. */
  4549. /** ANADIG_OSC - Register Layout Typedef */
  4550. typedef struct {
  4551. uint8_t RESERVED_0[16];
  4552. __IO uint32_t OSC_48M_CTRL; /**< 48MHz RCOSC Control Register, offset: 0x10 */
  4553. uint8_t RESERVED_1[12];
  4554. __IO uint32_t OSC_24M_CTRL; /**< 24MHz OSC Control Register, offset: 0x20 */
  4555. uint8_t RESERVED_2[28];
  4556. __I uint32_t OSC_400M_CTRL0; /**< 400MHz RCOSC Control0 Register, offset: 0x40 */
  4557. uint8_t RESERVED_3[12];
  4558. __IO uint32_t OSC_400M_CTRL1; /**< 400MHz RCOSC Control1 Register, offset: 0x50 */
  4559. uint8_t RESERVED_4[12];
  4560. __IO uint32_t OSC_400M_CTRL2; /**< 400MHz RCOSC Control2 Register, offset: 0x60 */
  4561. uint8_t RESERVED_5[92];
  4562. __IO uint32_t OSC_16M_CTRL; /**< 16MHz RCOSC Control Register, offset: 0xC0 */
  4563. } ANADIG_OSC_Type;
  4564. /* ----------------------------------------------------------------------------
  4565. -- ANADIG_OSC Register Masks
  4566. ---------------------------------------------------------------------------- */
  4567. /*!
  4568. * @addtogroup ANADIG_OSC_Register_Masks ANADIG_OSC Register Masks
  4569. * @{
  4570. */
  4571. /*! @name OSC_48M_CTRL - 48MHz RCOSC Control Register */
  4572. /*! @{ */
  4573. #define ANADIG_OSC_OSC_48M_CTRL_TEN_MASK (0x2U)
  4574. #define ANADIG_OSC_OSC_48M_CTRL_TEN_SHIFT (1U)
  4575. /*! TEN - 48MHz RCOSC Enable
  4576. * 0b0..Power down
  4577. * 0b1..Power up
  4578. */
  4579. #define ANADIG_OSC_OSC_48M_CTRL_TEN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_48M_CTRL_TEN_SHIFT)) & ANADIG_OSC_OSC_48M_CTRL_TEN_MASK)
  4580. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_MASK (0x1000000U)
  4581. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_SHIFT (24U)
  4582. /*! RC_48M_DIV2_EN - RCOSC_48M_DIV2 Enable
  4583. * 0b0..Disable
  4584. * 0b1..Enable
  4585. */
  4586. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_SHIFT)) & ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_EN_MASK)
  4587. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_MASK (0x40000000U)
  4588. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_SHIFT (30U)
  4589. /*! RC_48M_DIV2_CONTROL_MODE - RCOSC_48M_DIV2 Control Mode
  4590. * 0b0..Software mode (default)
  4591. * 0b1..GPC mode (Setpoint)
  4592. */
  4593. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_SHIFT)) & ANADIG_OSC_OSC_48M_CTRL_RC_48M_DIV2_CONTROL_MODE_MASK)
  4594. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_MASK (0x80000000U)
  4595. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_SHIFT (31U)
  4596. /*! RC_48M_CONTROL_MODE - 48MHz RCOSC Control Mode
  4597. * 0b0..Software mode (default)
  4598. * 0b1..GPC mode (Setpoint)
  4599. */
  4600. #define ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_SHIFT)) & ANADIG_OSC_OSC_48M_CTRL_RC_48M_CONTROL_MODE_MASK)
  4601. /*! @} */
  4602. /*! @name OSC_24M_CTRL - 24MHz OSC Control Register */
  4603. /*! @{ */
  4604. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_MASK (0x1U)
  4605. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_SHIFT (0U)
  4606. /*! BYPASS_CLK - 24MHz OSC Bypass Clock
  4607. */
  4608. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_BYPASS_CLK_MASK)
  4609. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_MASK (0x2U)
  4610. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_SHIFT (1U)
  4611. /*! BYPASS_EN - 24MHz OSC Bypass Enable
  4612. * 0b0..Disable
  4613. * 0b1..Enable
  4614. */
  4615. #define ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_BYPASS_EN_MASK)
  4616. #define ANADIG_OSC_OSC_24M_CTRL_LP_EN_MASK (0x4U)
  4617. #define ANADIG_OSC_OSC_24M_CTRL_LP_EN_SHIFT (2U)
  4618. /*! LP_EN - 24MHz OSC Low-Power Mode Enable
  4619. * 0b0..High Gain mode (HP)
  4620. * 0b1..Low-power mode (LP)
  4621. */
  4622. #define ANADIG_OSC_OSC_24M_CTRL_LP_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_LP_EN_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_LP_EN_MASK)
  4623. #define ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_MASK (0x8U)
  4624. #define ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_SHIFT (3U)
  4625. /*! OSC_COMP_MODE - 24MHz OSC Comparator Mode
  4626. * 0b0..Single-ended mode (default)
  4627. * 0b1..Differential mode (test mode)
  4628. */
  4629. #define ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_OSC_COMP_MODE_MASK)
  4630. #define ANADIG_OSC_OSC_24M_CTRL_OSC_EN_MASK (0x10U)
  4631. #define ANADIG_OSC_OSC_24M_CTRL_OSC_EN_SHIFT (4U)
  4632. /*! OSC_EN - 24MHz OSC Enable
  4633. * 0b0..Disable
  4634. * 0b1..Enable
  4635. */
  4636. #define ANADIG_OSC_OSC_24M_CTRL_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_OSC_EN_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_OSC_EN_MASK)
  4637. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_MASK (0x80U)
  4638. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_SHIFT (7U)
  4639. /*! OSC_24M_GATE - 24MHz OSC Gate Control
  4640. * 0b0..Not Gated
  4641. * 0b1..Gated
  4642. */
  4643. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_OSC_24M_GATE_MASK)
  4644. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_MASK (0x40000000U)
  4645. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_SHIFT (30U)
  4646. /*! OSC_24M_STABLE - 24MHz OSC Stable
  4647. * 0b0..Not Stable
  4648. * 0b1..Stable
  4649. */
  4650. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_OSC_24M_STABLE_MASK)
  4651. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_MASK (0x80000000U)
  4652. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_SHIFT (31U)
  4653. /*! OSC_24M_CONTROL_MODE - 24MHz OSC Control Mode
  4654. * 0b0..Software mode (default)
  4655. * 0b1..GPC mode (Setpoint)
  4656. */
  4657. #define ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_SHIFT)) & ANADIG_OSC_OSC_24M_CTRL_OSC_24M_CONTROL_MODE_MASK)
  4658. /*! @} */
  4659. /*! @name OSC_400M_CTRL0 - 400MHz RCOSC Control0 Register */
  4660. /*! @{ */
  4661. #define ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_MASK (0x80000000U)
  4662. #define ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_SHIFT (31U)
  4663. /*! OSC400M_AI_BUSY - 400MHz OSC AI BUSY
  4664. */
  4665. #define ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL0_OSC400M_AI_BUSY_MASK)
  4666. /*! @} */
  4667. /*! @name OSC_400M_CTRL1 - 400MHz RCOSC Control1 Register */
  4668. /*! @{ */
  4669. #define ANADIG_OSC_OSC_400M_CTRL1_PWD_MASK (0x1U)
  4670. #define ANADIG_OSC_OSC_400M_CTRL1_PWD_SHIFT (0U)
  4671. /*! PWD - Power down control for 400MHz RCOSC
  4672. * 0b0..No Power down
  4673. * 0b1..Power down
  4674. */
  4675. #define ANADIG_OSC_OSC_400M_CTRL1_PWD(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL1_PWD_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL1_PWD_MASK)
  4676. #define ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_MASK (0x2U)
  4677. #define ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_SHIFT (1U)
  4678. /*! CLKGATE_400MEG - Clock gate control for 400MHz RCOSC
  4679. * 0b0..Not Gated
  4680. * 0b1..Gated
  4681. */
  4682. #define ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL1_CLKGATE_400MEG_MASK)
  4683. #define ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_MASK (0x80000000U)
  4684. #define ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_SHIFT (31U)
  4685. /*! RC_400M_CONTROL_MODE - 400MHz RCOSC Control mode
  4686. * 0b0..Software mode (default)
  4687. * 0b1..GPC mode (Setpoint)
  4688. */
  4689. #define ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL1_RC_400M_CONTROL_MODE_MASK)
  4690. /*! @} */
  4691. /*! @name OSC_400M_CTRL2 - 400MHz RCOSC Control2 Register */
  4692. /*! @{ */
  4693. #define ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_MASK (0x1U)
  4694. #define ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_SHIFT (0U)
  4695. /*! ENABLE_CLK - Clock enable
  4696. * 0b0..Clock is disabled before entering GPC mode
  4697. * 0b1..Clock is enabled before entering GPC mode
  4698. */
  4699. #define ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL2_ENABLE_CLK_MASK)
  4700. #define ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_MASK (0x400U)
  4701. #define ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_SHIFT (10U)
  4702. /*! TUNE_BYP - Bypass tuning logic
  4703. * 0b0..Use the output of tuning logic to run the oscillator
  4704. * 0b1..Bypass the tuning logic and use the programmed OSC_TUNE_VAL to run the oscillator
  4705. */
  4706. #define ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL2_TUNE_BYP_MASK)
  4707. #define ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_MASK (0xFF000000U)
  4708. #define ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_SHIFT (24U)
  4709. /*! OSC_TUNE_VAL - Oscillator Tune Value
  4710. */
  4711. #define ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_SHIFT)) & ANADIG_OSC_OSC_400M_CTRL2_OSC_TUNE_VAL_MASK)
  4712. /*! @} */
  4713. /*! @name OSC_16M_CTRL - 16MHz RCOSC Control Register */
  4714. /*! @{ */
  4715. #define ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_MASK (0x2U)
  4716. #define ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_SHIFT (1U)
  4717. /*! EN_IRC4M16M - Enable Clock Output
  4718. * 0b0..Disable
  4719. * 0b1..Enable
  4720. */
  4721. #define ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_SHIFT)) & ANADIG_OSC_OSC_16M_CTRL_EN_IRC4M16M_MASK)
  4722. #define ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_MASK (0x8U)
  4723. #define ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_SHIFT (3U)
  4724. /*! EN_POWER_SAVE - Power Save Enable
  4725. * 0b0..Disable
  4726. * 0b1..Enable
  4727. */
  4728. #define ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_SHIFT)) & ANADIG_OSC_OSC_16M_CTRL_EN_POWER_SAVE_MASK)
  4729. #define ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_MASK (0x100U)
  4730. #define ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_SHIFT (8U)
  4731. /*! SOURCE_SEL_16M - Source select
  4732. * 0b0..16MHz Oscillator
  4733. * 0b1..24MHz Oscillator
  4734. */
  4735. #define ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_SHIFT)) & ANADIG_OSC_OSC_16M_CTRL_SOURCE_SEL_16M_MASK)
  4736. #define ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_MASK (0x80000000U)
  4737. #define ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_SHIFT (31U)
  4738. /*! RC_16M_CONTROL_MODE - Control Mode for 16MHz Oscillator
  4739. * 0b0..Software mode (default)
  4740. * 0b1..GPC mode (Setpoint)
  4741. */
  4742. #define ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_SHIFT)) & ANADIG_OSC_OSC_16M_CTRL_RC_16M_CONTROL_MODE_MASK)
  4743. /*! @} */
  4744. /*!
  4745. * @}
  4746. */ /* end of group ANADIG_OSC_Register_Masks */
  4747. /* ANADIG_OSC - Peripheral instance base addresses */
  4748. /** Peripheral ANADIG_OSC base address */
  4749. #define ANADIG_OSC_BASE (0x40C84000u)
  4750. /** Peripheral ANADIG_OSC base pointer */
  4751. #define ANADIG_OSC ((ANADIG_OSC_Type *)ANADIG_OSC_BASE)
  4752. /** Array initializer of ANADIG_OSC peripheral base addresses */
  4753. #define ANADIG_OSC_BASE_ADDRS { ANADIG_OSC_BASE }
  4754. /** Array initializer of ANADIG_OSC peripheral base pointers */
  4755. #define ANADIG_OSC_BASE_PTRS { ANADIG_OSC }
  4756. /*!
  4757. * @}
  4758. */ /* end of group ANADIG_OSC_Peripheral_Access_Layer */
  4759. /* ----------------------------------------------------------------------------
  4760. -- ANADIG_PLL Peripheral Access Layer
  4761. ---------------------------------------------------------------------------- */
  4762. /*!
  4763. * @addtogroup ANADIG_PLL_Peripheral_Access_Layer ANADIG_PLL Peripheral Access Layer
  4764. * @{
  4765. */
  4766. /** ANADIG_PLL - Register Layout Typedef */
  4767. typedef struct {
  4768. uint8_t RESERVED_0[512];
  4769. __IO uint32_t ARM_PLL_CTRL; /**< ARM_PLL_CTRL_REGISTER, offset: 0x200 */
  4770. uint8_t RESERVED_1[12];
  4771. __IO uint32_t SYS_PLL3_CTRL; /**< SYS_PLL3_CTRL_REGISTER, offset: 0x210 */
  4772. uint8_t RESERVED_2[12];
  4773. __IO uint32_t SYS_PLL3_UPDATE; /**< SYS_PLL3_UPDATE_REGISTER, offset: 0x220 */
  4774. uint8_t RESERVED_3[12];
  4775. __IO uint32_t SYS_PLL3_PFD; /**< SYS_PLL3_PFD_REGISTER, offset: 0x230 */
  4776. uint8_t RESERVED_4[12];
  4777. __IO uint32_t SYS_PLL2_CTRL; /**< SYS_PLL2_CTRL_REGISTER, offset: 0x240 */
  4778. uint8_t RESERVED_5[12];
  4779. __IO uint32_t SYS_PLL2_UPDATE; /**< SYS_PLL2_UPDATE_REGISTER, offset: 0x250 */
  4780. uint8_t RESERVED_6[12];
  4781. __IO uint32_t SYS_PLL2_SS; /**< SYS_PLL2_SS_REGISTER, offset: 0x260 */
  4782. uint8_t RESERVED_7[12];
  4783. __IO uint32_t SYS_PLL2_PFD; /**< SYS_PLL2_PFD_REGISTER, offset: 0x270 */
  4784. uint8_t RESERVED_8[44];
  4785. __IO uint32_t SYS_PLL2_MFD; /**< SYS_PLL2_MFD_REGISTER, offset: 0x2A0 */
  4786. uint8_t RESERVED_9[12];
  4787. __IO uint32_t SYS_PLL1_SS; /**< SYS_PLL1_SS_REGISTER, offset: 0x2B0 */
  4788. uint8_t RESERVED_10[12];
  4789. __IO uint32_t SYS_PLL1_CTRL; /**< SYS_PLL1_CTRL_REGISTER, offset: 0x2C0 */
  4790. uint8_t RESERVED_11[12];
  4791. __IO uint32_t SYS_PLL1_DENOMINATOR; /**< SYS_PLL1_DENOMINATOR_REGISTER, offset: 0x2D0 */
  4792. uint8_t RESERVED_12[12];
  4793. __IO uint32_t SYS_PLL1_NUMERATOR; /**< SYS_PLL1_NUMERATOR_REGISTER, offset: 0x2E0 */
  4794. uint8_t RESERVED_13[12];
  4795. __IO uint32_t SYS_PLL1_DIV_SELECT; /**< SYS_PLL1_DIV_SELECT_REGISTER, offset: 0x2F0 */
  4796. uint8_t RESERVED_14[12];
  4797. __IO uint32_t PLL_AUDIO_CTRL; /**< PLL_AUDIO_CTRL_REGISTER, offset: 0x300 */
  4798. uint8_t RESERVED_15[12];
  4799. __IO uint32_t PLL_AUDIO_SS; /**< PLL_AUDIO_SS_REGISTER, offset: 0x310 */
  4800. uint8_t RESERVED_16[12];
  4801. __IO uint32_t PLL_AUDIO_DENOMINATOR; /**< PLL_AUDIO_DENOMINATOR_REGISTER, offset: 0x320 */
  4802. uint8_t RESERVED_17[12];
  4803. __IO uint32_t PLL_AUDIO_NUMERATOR; /**< PLL_AUDIO_NUMERATOR_REGISTER, offset: 0x330 */
  4804. uint8_t RESERVED_18[12];
  4805. __IO uint32_t PLL_AUDIO_DIV_SELECT; /**< PLL_AUDIO_DIV_SELECT_REGISTER, offset: 0x340 */
  4806. uint8_t RESERVED_19[12];
  4807. __IO uint32_t PLL_VIDEO_CTRL; /**< PLL_VIDEO_CTRL_REGISTER, offset: 0x350 */
  4808. uint8_t RESERVED_20[12];
  4809. __IO uint32_t PLL_VIDEO_SS; /**< PLL_VIDEO_SS_REGISTER, offset: 0x360 */
  4810. uint8_t RESERVED_21[12];
  4811. __IO uint32_t PLL_VIDEO_DENOMINATOR; /**< PLL_VIDEO_DENOMINATOR_REGISTER, offset: 0x370 */
  4812. uint8_t RESERVED_22[12];
  4813. __IO uint32_t PLL_VIDEO_NUMERATOR; /**< PLL_VIDEO_NUMERATOR_REGISTER, offset: 0x380 */
  4814. uint8_t RESERVED_23[12];
  4815. __IO uint32_t PLL_VIDEO_DIV_SELECT; /**< PLL_VIDEO_DIV_SELECT_REGISTER, offset: 0x390 */
  4816. } ANADIG_PLL_Type;
  4817. /* ----------------------------------------------------------------------------
  4818. -- ANADIG_PLL Register Masks
  4819. ---------------------------------------------------------------------------- */
  4820. /*!
  4821. * @addtogroup ANADIG_PLL_Register_Masks ANADIG_PLL Register Masks
  4822. * @{
  4823. */
  4824. /*! @name ARM_PLL_CTRL - ARM_PLL_CTRL_REGISTER */
  4825. /*! @{ */
  4826. #define ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_MASK (0xFFU)
  4827. #define ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_SHIFT (0U)
  4828. /*! DIV_SELECT - DIV_SELECT
  4829. */
  4830. #define ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_DIV_SELECT_MASK)
  4831. #define ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_MASK (0x1000U)
  4832. #define ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_SHIFT (12U)
  4833. /*! HOLD_RING_OFF - PLL Start up initialization
  4834. * 0b0..Normal operation
  4835. * 0b1..Initialize PLL start up
  4836. */
  4837. #define ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_HOLD_RING_OFF_MASK)
  4838. #define ANADIG_PLL_ARM_PLL_CTRL_POWERUP_MASK (0x2000U)
  4839. #define ANADIG_PLL_ARM_PLL_CTRL_POWERUP_SHIFT (13U)
  4840. /*! POWERUP - Powers up the PLL.
  4841. * 0b1..Power Up the PLL
  4842. * 0b0..Power down the PLL
  4843. */
  4844. #define ANADIG_PLL_ARM_PLL_CTRL_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_POWERUP_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_POWERUP_MASK)
  4845. #define ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_MASK (0x4000U)
  4846. #define ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_SHIFT (14U)
  4847. /*! ENABLE_CLK - Enable the clock output.
  4848. * 0b0..Disable the clock
  4849. * 0b1..Enable the clock
  4850. */
  4851. #define ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_ENABLE_CLK_MASK)
  4852. #define ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_MASK (0x18000U)
  4853. #define ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_SHIFT (15U)
  4854. /*! POST_DIV_SEL - POST_DIV_SEL
  4855. * 0b00..Divide by 2
  4856. * 0b01..Divide by 4
  4857. * 0b10..Divide by 8
  4858. * 0b11..Divide by 1
  4859. */
  4860. #define ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_POST_DIV_SEL_MASK)
  4861. #define ANADIG_PLL_ARM_PLL_CTRL_BYPASS_MASK (0x20000U)
  4862. #define ANADIG_PLL_ARM_PLL_CTRL_BYPASS_SHIFT (17U)
  4863. /*! BYPASS - Bypass the pll.
  4864. * 0b1..Bypass Mode
  4865. * 0b0..Function mode
  4866. */
  4867. #define ANADIG_PLL_ARM_PLL_CTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_BYPASS_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_BYPASS_MASK)
  4868. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_MASK (0x20000000U)
  4869. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_SHIFT (29U)
  4870. /*! ARM_PLL_STABLE - ARM_PLL_STABLE
  4871. * 0b1..ARM PLL is stable
  4872. * 0b0..ARM PLL is not stable
  4873. */
  4874. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_STABLE_MASK)
  4875. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_MASK (0x40000000U)
  4876. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_SHIFT (30U)
  4877. /*! ARM_PLL_GATE - ARM_PLL_GATE
  4878. * 0b1..Clock is gated
  4879. * 0b0..Clock is not gated
  4880. */
  4881. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_GATE_MASK)
  4882. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_MASK (0x80000000U)
  4883. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_SHIFT (31U)
  4884. /*! ARM_PLL_CONTROL_MODE - pll_arm_control_mode
  4885. * 0b0..Software Mode (Default)
  4886. * 0b1..GPC Mode
  4887. */
  4888. #define ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_SHIFT)) & ANADIG_PLL_ARM_PLL_CTRL_ARM_PLL_CONTROL_MODE_MASK)
  4889. /*! @} */
  4890. /*! @name SYS_PLL3_CTRL - SYS_PLL3_CTRL_REGISTER */
  4891. /*! @{ */
  4892. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_MASK (0x8U)
  4893. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_SHIFT (3U)
  4894. /*! SYS_PLL3_DIV2 - SYS PLL3 DIV2 gate
  4895. */
  4896. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_MASK)
  4897. #define ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_MASK (0x10U)
  4898. #define ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_SHIFT (4U)
  4899. /*! PLL_REG_EN - Enable Internal PLL Regulator
  4900. */
  4901. #define ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_PLL_REG_EN_MASK)
  4902. #define ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_MASK (0x800U)
  4903. #define ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_SHIFT (11U)
  4904. /*! HOLD_RING_OFF - PLL Start up initialization
  4905. * 0b0..Normal operation
  4906. * 0b1..Initialize PLL start up
  4907. */
  4908. #define ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_HOLD_RING_OFF_MASK)
  4909. #define ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_MASK (0x2000U)
  4910. #define ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_SHIFT (13U)
  4911. /*! ENABLE_CLK - Enable the clock output.
  4912. * 0b0..Disable the clock
  4913. * 0b1..Enable the clock
  4914. */
  4915. #define ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_ENABLE_CLK_MASK)
  4916. #define ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_MASK (0x10000U)
  4917. #define ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_SHIFT (16U)
  4918. /*! BYPASS - BYPASS
  4919. * 0b1..Bypass Mode
  4920. * 0b0..Function mode
  4921. */
  4922. #define ANADIG_PLL_SYS_PLL3_CTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_BYPASS_MASK)
  4923. #define ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_MASK (0x200000U)
  4924. #define ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_SHIFT (21U)
  4925. /*! POWERUP - Powers up the PLL.
  4926. * 0b1..Power Up the PLL
  4927. * 0b0..Power down the PLL
  4928. */
  4929. #define ANADIG_PLL_SYS_PLL3_CTRL_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_POWERUP_MASK)
  4930. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_MASK (0x10000000U)
  4931. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_SHIFT (28U)
  4932. /*! SYS_PLL3_DIV2_CONTROL_MODE - SYS_PLL3_DIV2_CONTROL_MODE
  4933. * 0b0..Software Mode (Default)
  4934. * 0b1..GPC Mode
  4935. */
  4936. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_DIV2_CONTROL_MODE_MASK)
  4937. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_MASK (0x20000000U)
  4938. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_SHIFT (29U)
  4939. /*! SYS_PLL3_STABLE - SYS_PLL3_STABLE
  4940. */
  4941. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_STABLE_MASK)
  4942. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_MASK (0x40000000U)
  4943. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_SHIFT (30U)
  4944. /*! SYS_PLL3_GATE - SYS_PLL3_GATE
  4945. * 0b1..Clock is gated
  4946. * 0b0..Clock is not gated
  4947. */
  4948. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_GATE_MASK)
  4949. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_MASK (0x80000000U)
  4950. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_SHIFT (31U)
  4951. /*! SYS_PLL3_CONTROL_MODE - SYS_PLL3_control_mode
  4952. * 0b0..Software Mode (Default)
  4953. * 0b1..GPC Mode
  4954. */
  4955. #define ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_CTRL_SYS_PLL3_CONTROL_MODE_MASK)
  4956. /*! @} */
  4957. /*! @name SYS_PLL3_UPDATE - SYS_PLL3_UPDATE_REGISTER */
  4958. /*! @{ */
  4959. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_MASK (0x2U)
  4960. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_SHIFT (1U)
  4961. /*! PFD0_UPDATE - PFD0_OVERRIDE
  4962. */
  4963. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_UPDATE_MASK)
  4964. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_MASK (0x4U)
  4965. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_SHIFT (2U)
  4966. /*! PFD1_UPDATE - PFD1_OVERRIDE
  4967. */
  4968. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_UPDATE_MASK)
  4969. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_MASK (0x8U)
  4970. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_SHIFT (3U)
  4971. /*! PFD2_UPDATE - PFD2_OVERRIDE
  4972. */
  4973. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD2_UPDATE_MASK)
  4974. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_MASK (0x10U)
  4975. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_SHIFT (4U)
  4976. /*! PFD3_UPDATE - PFD3_UPDATE
  4977. */
  4978. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_UPDATE_MASK)
  4979. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_MASK (0x20U)
  4980. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_SHIFT (5U)
  4981. /*! PFD0_CONTROL_MODE - pfd0_control_mode
  4982. * 0b0..Software Mode (Default)
  4983. * 0b1..GPC Mode
  4984. */
  4985. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD0_CONTROL_MODE_MASK)
  4986. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_MASK (0x40U)
  4987. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_SHIFT (6U)
  4988. /*! PFD1_CONTROL_MODE - pfd1_control_mode
  4989. * 0b0..Software Mode (Default)
  4990. * 0b1..GPC Mode
  4991. */
  4992. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD1_CONTROL_MODE_MASK)
  4993. #define ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_MASK (0x80U)
  4994. #define ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_SHIFT (7U)
  4995. /*! PDF2_CONTROL_MODE - pdf2_control_mode
  4996. * 0b0..Software Mode (Default)
  4997. * 0b1..GPC Mode
  4998. */
  4999. #define ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PDF2_CONTROL_MODE_MASK)
  5000. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_MASK (0x100U)
  5001. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_SHIFT (8U)
  5002. /*! PFD3_CONTROL_MODE - pfd3_control_mode
  5003. * 0b0..Software Mode (Default)
  5004. * 0b1..GPC Mode
  5005. */
  5006. #define ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL3_UPDATE_PFD3_CONTROL_MODE_MASK)
  5007. /*! @} */
  5008. /*! @name SYS_PLL3_PFD - SYS_PLL3_PFD_REGISTER */
  5009. /*! @{ */
  5010. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_MASK (0x3FU)
  5011. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_SHIFT (0U)
  5012. /*! PFD0_FRAC - PFD0_FRAC
  5013. */
  5014. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD0_FRAC_MASK)
  5015. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_MASK (0x40U)
  5016. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_SHIFT (6U)
  5017. /*! PFD0_STABLE - PFD0_STABLE
  5018. */
  5019. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD0_STABLE_MASK)
  5020. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_MASK (0x80U)
  5021. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_SHIFT (7U)
  5022. /*! PFD0_DIV1_CLKGATE - PFD0_DIV1_CLKGATE
  5023. * 0b1..Fractional divider clock (reference ref_pfd0) is off (power savings
  5024. * 0b0..ref_pfd0 fractional divider clock is enabled
  5025. */
  5026. #define ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD0_DIV1_CLKGATE_MASK)
  5027. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_MASK (0x3F00U)
  5028. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_SHIFT (8U)
  5029. /*! PFD1_FRAC - PFD1_FRAC
  5030. */
  5031. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD1_FRAC_MASK)
  5032. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_MASK (0x4000U)
  5033. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_SHIFT (14U)
  5034. /*! PFD1_STABLE - PFD1_STABLE
  5035. */
  5036. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD1_STABLE_MASK)
  5037. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_MASK (0x8000U)
  5038. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_SHIFT (15U)
  5039. /*! PFD1_DIV1_CLKGATE - PFD1_DIV1_CLKGATE
  5040. * 0b1..Fractional divider clock (reference ref_pfd1) is off (power savings)
  5041. * 0b0..ref_pfd1 fractional divider clock is enabled
  5042. */
  5043. #define ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD1_DIV1_CLKGATE_MASK)
  5044. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_MASK (0x3F0000U)
  5045. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_SHIFT (16U)
  5046. /*! PFD2_FRAC - PFD2_FRAC
  5047. */
  5048. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD2_FRAC_MASK)
  5049. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_MASK (0x400000U)
  5050. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_SHIFT (22U)
  5051. /*! PFD2_STABLE - PFD2_STABLE
  5052. */
  5053. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD2_STABLE_MASK)
  5054. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_MASK (0x800000U)
  5055. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_SHIFT (23U)
  5056. /*! PFD2_DIV1_CLKGATE - PFD2_DIV1_CLKGATE
  5057. * 0b1..Fractional divider clock (reference ref_pfd2) is off (power savings)
  5058. * 0b0..ref_pfd2 fractional divider clock is enabled
  5059. */
  5060. #define ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD2_DIV1_CLKGATE_MASK)
  5061. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_MASK (0x3F000000U)
  5062. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_SHIFT (24U)
  5063. /*! PFD3_FRAC - PFD3_FRAC
  5064. */
  5065. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD3_FRAC_MASK)
  5066. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_MASK (0x40000000U)
  5067. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_SHIFT (30U)
  5068. /*! PFD3_STABLE - PFD3_STABLE
  5069. */
  5070. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD3_STABLE_MASK)
  5071. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_MASK (0x80000000U)
  5072. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_SHIFT (31U)
  5073. /*! PFD3_DIV1_CLKGATE - PFD3_DIV1_CLKGATE
  5074. * 0b1..Fractional divider clock (reference ref_pfd3) is off (power savings)
  5075. * 0b0..ref_pfd3 fractional divider clock is enabled
  5076. */
  5077. #define ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL3_PFD_PFD3_DIV1_CLKGATE_MASK)
  5078. /*! @} */
  5079. /*! @name SYS_PLL2_CTRL - SYS_PLL2_CTRL_REGISTER */
  5080. /*! @{ */
  5081. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_MASK (0x8U)
  5082. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_SHIFT (3U)
  5083. /*! PLL_REG_EN - Enable Internal PLL Regulator
  5084. */
  5085. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_PLL_REG_EN_MASK)
  5086. #define ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_MASK (0x800U)
  5087. #define ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_SHIFT (11U)
  5088. /*! HOLD_RING_OFF - PLL Start up initialization
  5089. * 0b0..Normal operation
  5090. * 0b1..Initialize PLL start up
  5091. */
  5092. #define ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_HOLD_RING_OFF_MASK)
  5093. #define ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_MASK (0x2000U)
  5094. #define ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_SHIFT (13U)
  5095. /*! ENABLE_CLK - Enable the clock output.
  5096. * 0b0..Disable the clock
  5097. * 0b1..Enable the clock
  5098. */
  5099. #define ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_ENABLE_CLK_MASK)
  5100. #define ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_MASK (0x10000U)
  5101. #define ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_SHIFT (16U)
  5102. /*! BYPASS - Bypass the pll.
  5103. * 0b1..Bypass Mode
  5104. * 0b0..Function mode
  5105. */
  5106. #define ANADIG_PLL_SYS_PLL2_CTRL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_BYPASS_MASK)
  5107. #define ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_MASK (0x20000U)
  5108. #define ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_SHIFT (17U)
  5109. /*! DITHER_ENABLE - DITHER_ENABLE
  5110. * 0b0..Disable Dither
  5111. * 0b1..Enable Dither
  5112. */
  5113. #define ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_DITHER_ENABLE_MASK)
  5114. #define ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_MASK (0x40000U)
  5115. #define ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_SHIFT (18U)
  5116. /*! PFD_OFFSET_EN - PFD_OFFSET_EN
  5117. */
  5118. #define ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_PFD_OFFSET_EN_MASK)
  5119. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_MASK (0x80000U)
  5120. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_SHIFT (19U)
  5121. /*! PLL_DDR_OVERRIDE - PLL_DDR_OVERRIDE
  5122. */
  5123. #define ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_PLL_DDR_OVERRIDE_MASK)
  5124. #define ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_MASK (0x800000U)
  5125. #define ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_SHIFT (23U)
  5126. /*! POWERUP - Powers up the PLL.
  5127. * 0b1..Power Up the PLL
  5128. * 0b0..Power down the PLL
  5129. */
  5130. #define ANADIG_PLL_SYS_PLL2_CTRL_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_POWERUP_MASK)
  5131. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_MASK (0x20000000U)
  5132. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_SHIFT (29U)
  5133. /*! SYS_PLL2_STABLE - SYS_PLL2_STABLE
  5134. */
  5135. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_STABLE_MASK)
  5136. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_MASK (0x40000000U)
  5137. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_SHIFT (30U)
  5138. /*! SYS_PLL2_GATE - SYS_PLL2_GATE
  5139. * 0b1..Clock is gated
  5140. * 0b0..Clock is not gated
  5141. */
  5142. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_GATE_MASK)
  5143. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_MASK (0x80000000U)
  5144. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_SHIFT (31U)
  5145. /*! SYS_PLL2_CONTROL_MODE - SYS_PLL2_control_mode
  5146. * 0b0..Software Mode (Default)
  5147. * 0b1..GPC Mode
  5148. */
  5149. #define ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL2_CTRL_SYS_PLL2_CONTROL_MODE_MASK)
  5150. /*! @} */
  5151. /*! @name SYS_PLL2_UPDATE - SYS_PLL2_UPDATE_REGISTER */
  5152. /*! @{ */
  5153. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_MASK (0x2U)
  5154. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_SHIFT (1U)
  5155. /*! PFD0_UPDATE - PFD0_UPDATE
  5156. */
  5157. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_UPDATE_MASK)
  5158. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_MASK (0x4U)
  5159. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_SHIFT (2U)
  5160. /*! PFD1_UPDATE - PFD1_UPDATE
  5161. */
  5162. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_UPDATE_MASK)
  5163. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_MASK (0x8U)
  5164. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_SHIFT (3U)
  5165. /*! PFD2_UPDATE - PFD2_UPDATE
  5166. */
  5167. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_UPDATE_MASK)
  5168. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_MASK (0x10U)
  5169. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_SHIFT (4U)
  5170. /*! PFD3_UPDATE - PFD3_UPDATE
  5171. */
  5172. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_UPDATE_MASK)
  5173. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_MASK (0x20U)
  5174. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_SHIFT (5U)
  5175. /*! PFD0_CONTROL_MODE - pfd0_control_mode
  5176. * 0b0..Software Mode (Default)
  5177. * 0b1..GPC Mode
  5178. */
  5179. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD0_CONTROL_MODE_MASK)
  5180. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_MASK (0x40U)
  5181. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_SHIFT (6U)
  5182. /*! PFD1_CONTROL_MODE - pfd1_control_mode
  5183. * 0b0..Software Mode (Default)
  5184. * 0b1..GPC Mode
  5185. */
  5186. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD1_CONTROL_MODE_MASK)
  5187. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_MASK (0x80U)
  5188. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_SHIFT (7U)
  5189. /*! PFD2_CONTROL_MODE - pfd2_control_mode
  5190. * 0b0..Software Mode (Default)
  5191. * 0b1..GPC Mode
  5192. */
  5193. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD2_CONTROL_MODE_MASK)
  5194. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_MASK (0x100U)
  5195. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_SHIFT (8U)
  5196. /*! PFD3_CONTROL_MODE - pfd3_control_mode
  5197. * 0b0..Software Mode (Default)
  5198. * 0b1..GPC Mode
  5199. */
  5200. #define ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL2_UPDATE_PFD3_CONTROL_MODE_MASK)
  5201. /*! @} */
  5202. /*! @name SYS_PLL2_SS - SYS_PLL2_SS_REGISTER */
  5203. /*! @{ */
  5204. #define ANADIG_PLL_SYS_PLL2_SS_STEP_MASK (0x7FFFU)
  5205. #define ANADIG_PLL_SYS_PLL2_SS_STEP_SHIFT (0U)
  5206. /*! STEP - STEP
  5207. */
  5208. #define ANADIG_PLL_SYS_PLL2_SS_STEP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_SS_STEP_SHIFT)) & ANADIG_PLL_SYS_PLL2_SS_STEP_MASK)
  5209. #define ANADIG_PLL_SYS_PLL2_SS_ENABLE_MASK (0x8000U)
  5210. #define ANADIG_PLL_SYS_PLL2_SS_ENABLE_SHIFT (15U)
  5211. /*! ENABLE - ENABLE
  5212. * 0b1..Enable Spread Spectrum
  5213. * 0b0..Disable Spread Spectrum
  5214. */
  5215. #define ANADIG_PLL_SYS_PLL2_SS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_SS_ENABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_SS_ENABLE_MASK)
  5216. #define ANADIG_PLL_SYS_PLL2_SS_STOP_MASK (0xFFFF0000U)
  5217. #define ANADIG_PLL_SYS_PLL2_SS_STOP_SHIFT (16U)
  5218. /*! STOP - STOP
  5219. */
  5220. #define ANADIG_PLL_SYS_PLL2_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_SS_STOP_SHIFT)) & ANADIG_PLL_SYS_PLL2_SS_STOP_MASK)
  5221. /*! @} */
  5222. /*! @name SYS_PLL2_PFD - SYS_PLL2_PFD_REGISTER */
  5223. /*! @{ */
  5224. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_MASK (0x3FU)
  5225. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_SHIFT (0U)
  5226. /*! PFD0_FRAC - PFD0_FRAC
  5227. */
  5228. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD0_FRAC_MASK)
  5229. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_MASK (0x40U)
  5230. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_SHIFT (6U)
  5231. /*! PFD0_STABLE - PFD0_STABLE
  5232. */
  5233. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD0_STABLE_MASK)
  5234. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_MASK (0x80U)
  5235. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_SHIFT (7U)
  5236. /*! PFD0_DIV1_CLKGATE - PFD0_DIV1_CLKGATE
  5237. */
  5238. #define ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD0_DIV1_CLKGATE_MASK)
  5239. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_MASK (0x3F00U)
  5240. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_SHIFT (8U)
  5241. /*! PFD1_FRAC - PFD1_FRAC
  5242. */
  5243. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD1_FRAC_MASK)
  5244. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_MASK (0x4000U)
  5245. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_SHIFT (14U)
  5246. /*! PFD1_STABLE - PFD1_STABLE
  5247. */
  5248. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD1_STABLE_MASK)
  5249. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_MASK (0x8000U)
  5250. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_SHIFT (15U)
  5251. /*! PFD1_DIV1_CLKGATE - PFD1_DIV1_CLKGATE
  5252. */
  5253. #define ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD1_DIV1_CLKGATE_MASK)
  5254. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_MASK (0x3F0000U)
  5255. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_SHIFT (16U)
  5256. /*! PFD2_FRAC - PFD2_FRAC
  5257. */
  5258. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD2_FRAC_MASK)
  5259. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_MASK (0x400000U)
  5260. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_SHIFT (22U)
  5261. /*! PFD2_STABLE - PFD2_STABLE
  5262. */
  5263. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD2_STABLE_MASK)
  5264. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_MASK (0x800000U)
  5265. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_SHIFT (23U)
  5266. /*! PFD2_DIV1_CLKGATE - PFD2_DIV1_CLKGATE
  5267. */
  5268. #define ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD2_DIV1_CLKGATE_MASK)
  5269. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_MASK (0x3F000000U)
  5270. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_SHIFT (24U)
  5271. /*! PFD3_FRAC - PFD3_FRAC
  5272. */
  5273. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD3_FRAC_MASK)
  5274. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_MASK (0x40000000U)
  5275. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_SHIFT (30U)
  5276. /*! PFD3_STABLE - PFD3_STABLE
  5277. */
  5278. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD3_STABLE_MASK)
  5279. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_MASK (0x80000000U)
  5280. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_SHIFT (31U)
  5281. /*! PFD3_DIV1_CLKGATE - PFD3_DIV1_CLKGATE
  5282. */
  5283. #define ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_SHIFT)) & ANADIG_PLL_SYS_PLL2_PFD_PFD3_DIV1_CLKGATE_MASK)
  5284. /*! @} */
  5285. /*! @name SYS_PLL2_MFD - SYS_PLL2_MFD_REGISTER */
  5286. /*! @{ */
  5287. #define ANADIG_PLL_SYS_PLL2_MFD_MFD_MASK (0x3FFFFFFFU)
  5288. #define ANADIG_PLL_SYS_PLL2_MFD_MFD_SHIFT (0U)
  5289. /*! MFD - Denominator
  5290. */
  5291. #define ANADIG_PLL_SYS_PLL2_MFD_MFD(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL2_MFD_MFD_SHIFT)) & ANADIG_PLL_SYS_PLL2_MFD_MFD_MASK)
  5292. /*! @} */
  5293. /*! @name SYS_PLL1_SS - SYS_PLL1_SS_REGISTER */
  5294. /*! @{ */
  5295. #define ANADIG_PLL_SYS_PLL1_SS_STEP_MASK (0x7FFFU)
  5296. #define ANADIG_PLL_SYS_PLL1_SS_STEP_SHIFT (0U)
  5297. /*! STEP - STEP
  5298. */
  5299. #define ANADIG_PLL_SYS_PLL1_SS_STEP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_SS_STEP_SHIFT)) & ANADIG_PLL_SYS_PLL1_SS_STEP_MASK)
  5300. #define ANADIG_PLL_SYS_PLL1_SS_ENABLE_MASK (0x8000U)
  5301. #define ANADIG_PLL_SYS_PLL1_SS_ENABLE_SHIFT (15U)
  5302. /*! ENABLE - ENABLE
  5303. * 0b1..Enable Spread Spectrum
  5304. * 0b0..Disable Spread Spectrum
  5305. */
  5306. #define ANADIG_PLL_SYS_PLL1_SS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_SS_ENABLE_SHIFT)) & ANADIG_PLL_SYS_PLL1_SS_ENABLE_MASK)
  5307. #define ANADIG_PLL_SYS_PLL1_SS_STOP_MASK (0xFFFF0000U)
  5308. #define ANADIG_PLL_SYS_PLL1_SS_STOP_SHIFT (16U)
  5309. /*! STOP - STOP
  5310. */
  5311. #define ANADIG_PLL_SYS_PLL1_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_SS_STOP_SHIFT)) & ANADIG_PLL_SYS_PLL1_SS_STOP_MASK)
  5312. /*! @} */
  5313. /*! @name SYS_PLL1_CTRL - SYS_PLL1_CTRL_REGISTER */
  5314. /*! @{ */
  5315. #define ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_MASK (0x2000U)
  5316. #define ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_SHIFT (13U)
  5317. /*! ENABLE_CLK - ENABLE_CLK
  5318. */
  5319. #define ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_ENABLE_CLK_MASK)
  5320. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_MASK (0x4000U)
  5321. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_SHIFT (14U)
  5322. /*! SYS_PLL1_GATE - SYS_PLL1_GATE
  5323. * 0b1..Gate the output
  5324. * 0b0..No gate
  5325. */
  5326. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_GATE_MASK)
  5327. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_MASK (0x2000000U)
  5328. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_SHIFT (25U)
  5329. /*! SYS_PLL1_DIV2 - SYS_PLL1_DIV2
  5330. */
  5331. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_MASK)
  5332. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_MASK (0x4000000U)
  5333. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_SHIFT (26U)
  5334. /*! SYS_PLL1_DIV5 - SYS_PLL1_DIV5
  5335. */
  5336. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_MASK)
  5337. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_MASK (0x8000000U)
  5338. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_SHIFT (27U)
  5339. /*! SYS_PLL1_DIV5_CONTROL_MODE - SYS_PLL1_DIV5_CONTROL_MODE
  5340. * 0b0..Software Mode (Default)
  5341. * 0b1..GPC Mode
  5342. */
  5343. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV5_CONTROL_MODE_MASK)
  5344. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_MASK (0x10000000U)
  5345. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_SHIFT (28U)
  5346. /*! SYS_PLL1_DIV2_CONTROL_MODE - SYS_PLL1_DIV2_CONTROL_MODE
  5347. * 0b0..Software Mode (Default)
  5348. * 0b1..GPC Mode
  5349. */
  5350. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_DIV2_CONTROL_MODE_MASK)
  5351. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_MASK (0x20000000U)
  5352. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_SHIFT (29U)
  5353. /*! SYS_PLL1_STABLE - SYS_PLL1_STABLE
  5354. */
  5355. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_STABLE_MASK)
  5356. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_MASK (0x40000000U)
  5357. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_SHIFT (30U)
  5358. /*! SYS_PLL1_AI_BUSY - SYS_PLL1_AI_BUSY
  5359. */
  5360. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_AI_BUSY_MASK)
  5361. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_MASK (0x80000000U)
  5362. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_SHIFT (31U)
  5363. /*! SYS_PLL1_CONTROL_MODE - SYS_PLL1_CONTROL_MODE
  5364. * 0b0..Software Mode (Default)
  5365. * 0b1..GPC Mode
  5366. */
  5367. #define ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_SHIFT)) & ANADIG_PLL_SYS_PLL1_CTRL_SYS_PLL1_CONTROL_MODE_MASK)
  5368. /*! @} */
  5369. /*! @name SYS_PLL1_DENOMINATOR - SYS_PLL1_DENOMINATOR_REGISTER */
  5370. /*! @{ */
  5371. #define ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5372. #define ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_SHIFT (0U)
  5373. /*! DENOM - DENOM
  5374. */
  5375. #define ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_SHIFT)) & ANADIG_PLL_SYS_PLL1_DENOMINATOR_DENOM_MASK)
  5376. /*! @} */
  5377. /*! @name SYS_PLL1_NUMERATOR - SYS_PLL1_NUMERATOR_REGISTER */
  5378. /*! @{ */
  5379. #define ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5380. #define ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_SHIFT (0U)
  5381. /*! NUM - NUM
  5382. */
  5383. #define ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_SHIFT)) & ANADIG_PLL_SYS_PLL1_NUMERATOR_NUM_MASK)
  5384. /*! @} */
  5385. /*! @name SYS_PLL1_DIV_SELECT - SYS_PLL1_DIV_SELECT_REGISTER */
  5386. /*! @{ */
  5387. #define ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_MASK (0x7FU)
  5388. #define ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_SHIFT (0U)
  5389. /*! DIV_SELECT - DIV_SELECT
  5390. */
  5391. #define ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_SHIFT)) & ANADIG_PLL_SYS_PLL1_DIV_SELECT_DIV_SELECT_MASK)
  5392. /*! @} */
  5393. /*! @name PLL_AUDIO_CTRL - PLL_AUDIO_CTRL_REGISTER */
  5394. /*! @{ */
  5395. #define ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_MASK (0x2000U)
  5396. #define ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_SHIFT (13U)
  5397. /*! ENABLE_CLK - ENABLE_CLK
  5398. */
  5399. #define ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_PLL_AUDIO_CTRL_ENABLE_CLK_MASK)
  5400. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_MASK (0x4000U)
  5401. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_SHIFT (14U)
  5402. /*! PLL_AUDIO_GATE - PLL_AUDIO_GATE
  5403. * 0b1..Gate the output
  5404. * 0b0..No gate
  5405. */
  5406. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_SHIFT)) & ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_GATE_MASK)
  5407. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_MASK (0x20000000U)
  5408. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_SHIFT (29U)
  5409. /*! PLL_AUDIO_STABLE - PLL_AUDIO_STABLE
  5410. */
  5411. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_SHIFT)) & ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_STABLE_MASK)
  5412. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_MASK (0x40000000U)
  5413. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_SHIFT (30U)
  5414. /*! PLL_AUDIO_AI_BUSY - pll_audio_ai_busy
  5415. */
  5416. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_SHIFT)) & ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_AI_BUSY_MASK)
  5417. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_MASK (0x80000000U)
  5418. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_SHIFT (31U)
  5419. /*! PLL_AUDIO_CONTROL_MODE - pll_audio_control_mode
  5420. * 0b0..Software Mode (Default)
  5421. * 0b1..GPC Mode
  5422. */
  5423. #define ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_SHIFT)) & ANADIG_PLL_PLL_AUDIO_CTRL_PLL_AUDIO_CONTROL_MODE_MASK)
  5424. /*! @} */
  5425. /*! @name PLL_AUDIO_SS - PLL_AUDIO_SS_REGISTER */
  5426. /*! @{ */
  5427. #define ANADIG_PLL_PLL_AUDIO_SS_STEP_MASK (0x7FFFU)
  5428. #define ANADIG_PLL_PLL_AUDIO_SS_STEP_SHIFT (0U)
  5429. /*! STEP - STEP
  5430. */
  5431. #define ANADIG_PLL_PLL_AUDIO_SS_STEP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_SS_STEP_SHIFT)) & ANADIG_PLL_PLL_AUDIO_SS_STEP_MASK)
  5432. #define ANADIG_PLL_PLL_AUDIO_SS_ENABLE_MASK (0x8000U)
  5433. #define ANADIG_PLL_PLL_AUDIO_SS_ENABLE_SHIFT (15U)
  5434. /*! ENABLE - ENABLE
  5435. * 0b1..Enable Spread Spectrum
  5436. * 0b0..Disable Spread Spectrum
  5437. */
  5438. #define ANADIG_PLL_PLL_AUDIO_SS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_SS_ENABLE_SHIFT)) & ANADIG_PLL_PLL_AUDIO_SS_ENABLE_MASK)
  5439. #define ANADIG_PLL_PLL_AUDIO_SS_STOP_MASK (0xFFFF0000U)
  5440. #define ANADIG_PLL_PLL_AUDIO_SS_STOP_SHIFT (16U)
  5441. /*! STOP - STOP
  5442. */
  5443. #define ANADIG_PLL_PLL_AUDIO_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_SS_STOP_SHIFT)) & ANADIG_PLL_PLL_AUDIO_SS_STOP_MASK)
  5444. /*! @} */
  5445. /*! @name PLL_AUDIO_DENOMINATOR - PLL_AUDIO_DENOMINATOR_REGISTER */
  5446. /*! @{ */
  5447. #define ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5448. #define ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_SHIFT (0U)
  5449. /*! DENOM - DENOM
  5450. */
  5451. #define ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_SHIFT)) & ANADIG_PLL_PLL_AUDIO_DENOMINATOR_DENOM_MASK)
  5452. /*! @} */
  5453. /*! @name PLL_AUDIO_NUMERATOR - PLL_AUDIO_NUMERATOR_REGISTER */
  5454. /*! @{ */
  5455. #define ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5456. #define ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_SHIFT (0U)
  5457. /*! NUM - NUM
  5458. */
  5459. #define ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_SHIFT)) & ANADIG_PLL_PLL_AUDIO_NUMERATOR_NUM_MASK)
  5460. /*! @} */
  5461. /*! @name PLL_AUDIO_DIV_SELECT - PLL_AUDIO_DIV_SELECT_REGISTER */
  5462. /*! @{ */
  5463. #define ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_MASK (0x7FU)
  5464. #define ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_SHIFT (0U)
  5465. /*! PLL_AUDIO_DIV_SELECT - PLL_AUDIO_DIV_SELECT
  5466. */
  5467. #define ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_SHIFT)) & ANADIG_PLL_PLL_AUDIO_DIV_SELECT_PLL_AUDIO_DIV_SELECT_MASK)
  5468. /*! @} */
  5469. /*! @name PLL_VIDEO_CTRL - PLL_VIDEO_CTRL_REGISTER */
  5470. /*! @{ */
  5471. #define ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_MASK (0x2000U)
  5472. #define ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_SHIFT (13U)
  5473. /*! ENABLE_CLK - ENABLE_CLK
  5474. */
  5475. #define ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_ENABLE_CLK_MASK)
  5476. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_MASK (0x4000U)
  5477. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_SHIFT (14U)
  5478. /*! PLL_VIDEO_GATE - PLL_VIDEO_GATE
  5479. * 0b1..Gate the output
  5480. * 0b0..No gate
  5481. */
  5482. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_GATE_MASK)
  5483. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_MASK (0x1000000U)
  5484. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_SHIFT (24U)
  5485. /*! PLL_VIDEO_COUNTER_CLR - pll_video_counter_clr
  5486. */
  5487. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_COUNTER_CLR_MASK)
  5488. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_MASK (0x20000000U)
  5489. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_SHIFT (29U)
  5490. /*! PLL_VIDEO_STABLE - PLL_VIDEO_STABLE
  5491. */
  5492. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_STABLE_MASK)
  5493. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_MASK (0x40000000U)
  5494. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_SHIFT (30U)
  5495. /*! PLL_VIDEO_AI_BUSY - pll_video_ai_busy
  5496. */
  5497. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_AI_BUSY_MASK)
  5498. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_MASK (0x80000000U)
  5499. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_SHIFT (31U)
  5500. /*! PLL_VIDEO_CONTROL_MODE - pll_video_control_mode
  5501. * 0b0..Software Mode (Default)
  5502. * 0b1..GPC Mode
  5503. */
  5504. #define ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_SHIFT)) & ANADIG_PLL_PLL_VIDEO_CTRL_PLL_VIDEO_CONTROL_MODE_MASK)
  5505. /*! @} */
  5506. /*! @name PLL_VIDEO_SS - PLL_VIDEO_SS_REGISTER */
  5507. /*! @{ */
  5508. #define ANADIG_PLL_PLL_VIDEO_SS_STEP_MASK (0x7FFFU)
  5509. #define ANADIG_PLL_PLL_VIDEO_SS_STEP_SHIFT (0U)
  5510. /*! STEP - STEP
  5511. */
  5512. #define ANADIG_PLL_PLL_VIDEO_SS_STEP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_SS_STEP_SHIFT)) & ANADIG_PLL_PLL_VIDEO_SS_STEP_MASK)
  5513. #define ANADIG_PLL_PLL_VIDEO_SS_ENABLE_MASK (0x8000U)
  5514. #define ANADIG_PLL_PLL_VIDEO_SS_ENABLE_SHIFT (15U)
  5515. /*! ENABLE - ENABLE
  5516. * 0b1..Enable Spread Spectrum
  5517. * 0b0..Disable Spread Spectrum
  5518. */
  5519. #define ANADIG_PLL_PLL_VIDEO_SS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_SS_ENABLE_SHIFT)) & ANADIG_PLL_PLL_VIDEO_SS_ENABLE_MASK)
  5520. #define ANADIG_PLL_PLL_VIDEO_SS_STOP_MASK (0xFFFF0000U)
  5521. #define ANADIG_PLL_PLL_VIDEO_SS_STOP_SHIFT (16U)
  5522. /*! STOP - STOP
  5523. */
  5524. #define ANADIG_PLL_PLL_VIDEO_SS_STOP(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_SS_STOP_SHIFT)) & ANADIG_PLL_PLL_VIDEO_SS_STOP_MASK)
  5525. /*! @} */
  5526. /*! @name PLL_VIDEO_DENOMINATOR - PLL_VIDEO_DENOMINATOR_REGISTER */
  5527. /*! @{ */
  5528. #define ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  5529. #define ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_SHIFT (0U)
  5530. /*! DENOM - DENOM
  5531. */
  5532. #define ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_SHIFT)) & ANADIG_PLL_PLL_VIDEO_DENOMINATOR_DENOM_MASK)
  5533. /*! @} */
  5534. /*! @name PLL_VIDEO_NUMERATOR - PLL_VIDEO_NUMERATOR_REGISTER */
  5535. /*! @{ */
  5536. #define ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  5537. #define ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_SHIFT (0U)
  5538. /*! NUM - NUM
  5539. */
  5540. #define ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_SHIFT)) & ANADIG_PLL_PLL_VIDEO_NUMERATOR_NUM_MASK)
  5541. /*! @} */
  5542. /*! @name PLL_VIDEO_DIV_SELECT - PLL_VIDEO_DIV_SELECT_REGISTER */
  5543. /*! @{ */
  5544. #define ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_MASK (0x7FU)
  5545. #define ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_SHIFT (0U)
  5546. /*! DIV_SELECT - DIV_SELECT
  5547. */
  5548. #define ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_SHIFT)) & ANADIG_PLL_PLL_VIDEO_DIV_SELECT_DIV_SELECT_MASK)
  5549. /*! @} */
  5550. /*!
  5551. * @}
  5552. */ /* end of group ANADIG_PLL_Register_Masks */
  5553. /* ANADIG_PLL - Peripheral instance base addresses */
  5554. /** Peripheral ANADIG_PLL base address */
  5555. #define ANADIG_PLL_BASE (0x40C84000u)
  5556. /** Peripheral ANADIG_PLL base pointer */
  5557. #define ANADIG_PLL ((ANADIG_PLL_Type *)ANADIG_PLL_BASE)
  5558. /** Array initializer of ANADIG_PLL peripheral base addresses */
  5559. #define ANADIG_PLL_BASE_ADDRS { ANADIG_PLL_BASE }
  5560. /** Array initializer of ANADIG_PLL peripheral base pointers */
  5561. #define ANADIG_PLL_BASE_PTRS { ANADIG_PLL }
  5562. /*!
  5563. * @}
  5564. */ /* end of group ANADIG_PLL_Peripheral_Access_Layer */
  5565. /* ----------------------------------------------------------------------------
  5566. -- ANADIG_PMU Peripheral Access Layer
  5567. ---------------------------------------------------------------------------- */
  5568. /*!
  5569. * @addtogroup ANADIG_PMU_Peripheral_Access_Layer ANADIG_PMU Peripheral Access Layer
  5570. * @{
  5571. */
  5572. /** ANADIG_PMU - Register Layout Typedef */
  5573. typedef struct {
  5574. uint8_t RESERVED_0[1280];
  5575. __IO uint32_t PMU_LDO_PLL; /**< PMU_LDO_PLL_REGISTER, offset: 0x500 */
  5576. uint8_t RESERVED_1[76];
  5577. __IO uint32_t PMU_BIAS_CTRL; /**< PMU_BIAS_CTRL_REGISTER, offset: 0x550 */
  5578. uint8_t RESERVED_2[12];
  5579. __IO uint32_t PMU_BIAS_CTRL2; /**< PMU_BIAS_CTRL2_REGISTER, offset: 0x560 */
  5580. uint8_t RESERVED_3[12];
  5581. __IO uint32_t PMU_REF_CTRL; /**< PMU_REF_CTRL_REGISTER, offset: 0x570 */
  5582. uint8_t RESERVED_4[12];
  5583. __IO uint32_t PMU_POWER_DETECT_CTRL; /**< PMU_POWER_DETECT_CTRL_REGISTER, offset: 0x580 */
  5584. uint8_t RESERVED_5[124];
  5585. __IO uint32_t LDO_PLL_ENABLE_SP; /**< LDO_PLL_ENABLE_SP_REGISTER, offset: 0x600 */
  5586. uint8_t RESERVED_6[12];
  5587. __IO uint32_t LDO_LPSR_ANA_ENABLE_SP; /**< LDO_LPSR_ANA_ENABLE_SP_REGISTER, offset: 0x610 */
  5588. uint8_t RESERVED_7[12];
  5589. __IO uint32_t LDO_LPSR_ANA_LP_MODE_SP; /**< LDO_LPSR_ANA_LP_MODE_SP_REGISTER, offset: 0x620 */
  5590. uint8_t RESERVED_8[12];
  5591. __IO uint32_t LDO_LPSR_ANA_TRACKING_EN_SP; /**< LDO_LPSR_ANA_TRACKING_EN_SP_REGISTER, offset: 0x630 */
  5592. uint8_t RESERVED_9[12];
  5593. __IO uint32_t LDO_LPSR_ANA_BYPASS_EN_SP; /**< LDO_LPSR_ANA_BYPASS_EN_SP_REGISTER, offset: 0x640 */
  5594. uint8_t RESERVED_10[12];
  5595. __IO uint32_t LDO_LPSR_ANA_STBY_EN_SP; /**< LDO_LPSR_ANA_STBY_EN_SP_REGISTER, offset: 0x650 */
  5596. uint8_t RESERVED_11[12];
  5597. __IO uint32_t LDO_LPSR_DIG_ENABLE_SP; /**< LDO_LPSR_DIG_ENABLE_SP_REGISTER, offset: 0x660 */
  5598. uint8_t RESERVED_12[12];
  5599. __IO uint32_t LDO_LPSR_DIG_TRG_SP0; /**< LDO_LPSR_DIG_TRG_SP0_REGISTER, offset: 0x670 */
  5600. uint8_t RESERVED_13[12];
  5601. __IO uint32_t LDO_LPSR_DIG_TRG_SP1; /**< LDO_LPSR_DIG_TRG_SP1_REGISTER, offset: 0x680 */
  5602. uint8_t RESERVED_14[12];
  5603. __IO uint32_t LDO_LPSR_DIG_TRG_SP2; /**< LDO_LPSR_DIG_TRG_SP2_REGISTER, offset: 0x690 */
  5604. uint8_t RESERVED_15[12];
  5605. __IO uint32_t LDO_LPSR_DIG_TRG_SP3; /**< LDO_LPSR_DIG_TRG_SP3_REGISTER, offset: 0x6A0 */
  5606. uint8_t RESERVED_16[12];
  5607. __IO uint32_t LDO_LPSR_DIG_LP_MODE_SP; /**< LDO_LPSR_DIG_LP_MODE_SP_REGISTER, offset: 0x6B0 */
  5608. uint8_t RESERVED_17[12];
  5609. __IO uint32_t LDO_LPSR_DIG_TRACKING_EN_SP; /**< LDO_LPSR_DIG_TRACKING_EN_SP_REGISTER, offset: 0x6C0 */
  5610. uint8_t RESERVED_18[12];
  5611. __IO uint32_t LDO_LPSR_DIG_BYPASS_EN_SP; /**< LDO_LPSR_DIG_BYPASS_EN_SP_REGISTER, offset: 0x6D0 */
  5612. uint8_t RESERVED_19[12];
  5613. __IO uint32_t LDO_LPSR_DIG_STBY_EN_SP; /**< LDO_LPSR_DIG_STBY_EN_SP_REGISTER, offset: 0x6E0 */
  5614. uint8_t RESERVED_20[12];
  5615. __IO uint32_t BANDGAP_ENABLE_SP; /**< BANDGAP_ENABLE_SP_REGISTER, offset: 0x6F0 */
  5616. uint8_t RESERVED_21[12];
  5617. __IO uint32_t FBB_M7_ENABLE_SP; /**< FBB_M7_ENABLE_SP_REGISTER, offset: 0x700 */
  5618. uint8_t RESERVED_22[12];
  5619. __IO uint32_t RBB_SOC_ENABLE_SP; /**< RBB_SOC_ENABLE_SP_REGISTER, offset: 0x710 */
  5620. uint8_t RESERVED_23[12];
  5621. __IO uint32_t RBB_LPSR_ENABLE_SP; /**< RBB_LPSR_ENABLE_SP_REGISTER, offset: 0x720 */
  5622. uint8_t RESERVED_24[12];
  5623. __IO uint32_t BANDGAP_STBY_EN_SP; /**< BANDGAP_STBY_EN_SP_REGISTER, offset: 0x730 */
  5624. uint8_t RESERVED_25[12];
  5625. __IO uint32_t PLL_LDO_STBY_EN_SP; /**< PLL_LDO_STBY_EN_SP_REGISTER, offset: 0x740 */
  5626. uint8_t RESERVED_26[12];
  5627. __IO uint32_t FBB_M7_STBY_EN_SP; /**< FBB_M7_STBY_EN_SP_REGISTER, offset: 0x750 */
  5628. uint8_t RESERVED_27[12];
  5629. __IO uint32_t RBB_SOC_STBY_EN_SP; /**< RBB_SOC_STBY_EN_SP_REGISTER, offset: 0x760 */
  5630. uint8_t RESERVED_28[12];
  5631. __IO uint32_t RBB_LPSR_STBY_EN_SP; /**< RBB_LPSR_STBY_EN_SP_REGISTER, offset: 0x770 */
  5632. uint8_t RESERVED_29[12];
  5633. __IO uint32_t FBB_M7_CONFIGURE; /**< FBB_M7_CONFIGURE_REGISTER, offset: 0x780 */
  5634. uint8_t RESERVED_30[12];
  5635. __IO uint32_t RBB_LPSR_CONFIGURE; /**< RBB_LPSR_CONFIGURE_REGISTER, offset: 0x790 */
  5636. uint8_t RESERVED_31[12];
  5637. __IO uint32_t RBB_SOC_CONFIGURE; /**< RBB_SOC_CONFIGURE_REGISTER, offset: 0x7A0 */
  5638. uint8_t RESERVED_32[12];
  5639. __I uint32_t REFTOP_OTP_TRIM_VALUE; /**< REFTOP_OTP_TRIM_VALUE_REGISTER, offset: 0x7B0 */
  5640. uint8_t RESERVED_33[28];
  5641. __I uint32_t LPSR_1P8_LDO_OTP_TRIM_VALUE; /**< LPSR_1P8_LDO_OTP_TRIM_VALUE_REGISTER, offset: 0x7D0 */
  5642. } ANADIG_PMU_Type;
  5643. /* ----------------------------------------------------------------------------
  5644. -- ANADIG_PMU Register Masks
  5645. ---------------------------------------------------------------------------- */
  5646. /*!
  5647. * @addtogroup ANADIG_PMU_Register_Masks ANADIG_PMU Register Masks
  5648. * @{
  5649. */
  5650. /*! @name PMU_LDO_PLL - PMU_LDO_PLL_REGISTER */
  5651. /*! @{ */
  5652. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_MASK (0x1U)
  5653. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_SHIFT (0U)
  5654. /*! LDO_PLL_ENABLE - LDO_PLL_ENABLE
  5655. */
  5656. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_SHIFT)) & ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_ENABLE_MASK)
  5657. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_MASK (0x2U)
  5658. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_SHIFT (1U)
  5659. /*! LDO_PLL_CONTROL_MODE - LDO_PLL_CONTROL_MODE
  5660. * 0b0..SW Control
  5661. * 0b1..HW Control
  5662. */
  5663. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_SHIFT)) & ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_CONTROL_MODE_MASK)
  5664. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_MASK (0x10000U)
  5665. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_SHIFT (16U)
  5666. /*! LDO_PLL_AI_TOGGLE - ldo_pll_ai_toggle
  5667. */
  5668. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_SHIFT)) & ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_TOGGLE_MASK)
  5669. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_MASK (0x40000000U)
  5670. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_SHIFT (30U)
  5671. /*! LDO_PLL_AI_BUSY - ldo_pll_busy
  5672. */
  5673. #define ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_SHIFT)) & ANADIG_PMU_PMU_LDO_PLL_LDO_PLL_AI_BUSY_MASK)
  5674. /*! @} */
  5675. /*! @name PMU_BIAS_CTRL - PMU_BIAS_CTRL_REGISTER */
  5676. /*! @{ */
  5677. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_MASK (0x1FFFU)
  5678. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_SHIFT (0U)
  5679. /*! WB_CFG_1P8 - wb_cfg_1p8
  5680. */
  5681. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL_WB_CFG_1P8_MASK)
  5682. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_MASK (0x4000U)
  5683. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_SHIFT (14U)
  5684. /*! WB_VDD_SEL_1P8 - wb_vdd_sel_1p8
  5685. * 0b0..VDD_LV1
  5686. * 0b1..VDD_LV2
  5687. */
  5688. #define ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL_WB_VDD_SEL_1P8_MASK)
  5689. /*! @} */
  5690. /*! @name PMU_BIAS_CTRL2 - PMU_BIAS_CTRL2_REGISTER */
  5691. /*! @{ */
  5692. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_MASK (0x3FEU)
  5693. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_SHIFT (1U)
  5694. /*! WB_TST_MD - TMOD_wb_tst_md_1p8
  5695. */
  5696. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_MD_MASK)
  5697. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_MASK (0x1C00U)
  5698. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_SHIFT (10U)
  5699. /*! WB_PWR_SW_EN_1P8 - MODSEL_wb_tst_md_1p8
  5700. * 0b001..No BB
  5701. * 0b010..BB
  5702. * 0b100..BB
  5703. */
  5704. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_PWR_SW_EN_1P8_MASK)
  5705. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_MASK (0x1FE000U)
  5706. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_SHIFT (13U)
  5707. /*! WB_ADJ_1P8 - wb_adj_1p8
  5708. * 0b00000000..Cref= 0fF Cspl= 0fF DeltaC= 0fF
  5709. * 0b00000001..Cref= 0fF Cspl= 30fF DeltaC= -30fF
  5710. * 0b00000010..Cref= 0fF Cspl= 43fF DeltaC= -43fF
  5711. * 0b00000011..Cref= 0fF Cspl= 62fF DeltaC=-62fF
  5712. * 0b00000100..Cref= 0fF Cspl=105fF DeltaC=-105fF
  5713. * 0b00000101..Cref= 30fF Cspl= 0fF DeltaC= 30fF
  5714. * 0b00000110..Cref= 30fF Cspl= 43fF DeltaC= -12fF
  5715. * 0b00000111..Cref= 30fF Cspl=105fF DeltaC= -75fF
  5716. * 0b00001000..Cref= 43fF Cspl= 0fF DeltaC= 43fF
  5717. * 0b00001001..Cref= 43fF Cspl= 30fF DeltaC= 13fF
  5718. * 0b00001010..Cref= 43fF Cspl= 62fF DeltaC= -19fF
  5719. * 0b00001011..Cref= 62fF Cspl= 0fF DeltaC= 62fF
  5720. * 0b00001100..Cref= 62fF Cspl= 43fF DeltaC= 19fF
  5721. * 0b00001101..Cref=105fF Cspl= 0fF DeltaC= 105fF
  5722. * 0b00001110..Cref=105fF Cspl=30fF DeltaC= 75fF
  5723. * 0b00001111..Cref=0fF Cspl=0fF DeltaC= 0fF
  5724. */
  5725. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_ADJ_1P8_MASK)
  5726. #define ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_MASK (0x200000U)
  5727. #define ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_SHIFT (21U)
  5728. /*! FBB_M7_CONTROL_MODE - FBB_M7_CONTROL_MODE
  5729. * 0b0..SW Control
  5730. * 0b1..HW Control
  5731. */
  5732. #define ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_FBB_M7_CONTROL_MODE_MASK)
  5733. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_MASK (0x400000U)
  5734. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_SHIFT (22U)
  5735. /*! RBB_SOC_CONTROL_MODE - RBB_SOC_CONTROL_MODE
  5736. * 0b0..SW Control
  5737. * 0b1..HW Control
  5738. */
  5739. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_RBB_SOC_CONTROL_MODE_MASK)
  5740. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_MASK (0x800000U)
  5741. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_SHIFT (23U)
  5742. /*! RBB_LPSR_CONTROL_MODE - RBB_LPSR_CONTROL_MODE
  5743. * 0b0..SW Control
  5744. * 0b1..HW Control
  5745. */
  5746. #define ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_RBB_LPSR_CONTROL_MODE_MASK)
  5747. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_MASK (0x1000000U)
  5748. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_SHIFT (24U)
  5749. /*! WB_EN - wb_en
  5750. */
  5751. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_EN_MASK)
  5752. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_MASK (0x2000000U)
  5753. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_SHIFT (25U)
  5754. /*! WB_TST_DIG_OUT - Digital output
  5755. */
  5756. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_TST_DIG_OUT_MASK)
  5757. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_MASK (0x4000000U)
  5758. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_SHIFT (26U)
  5759. /*! WB_OK - Digital Output pin.
  5760. */
  5761. #define ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_SHIFT)) & ANADIG_PMU_PMU_BIAS_CTRL2_WB_OK_MASK)
  5762. /*! @} */
  5763. /*! @name PMU_REF_CTRL - PMU_REF_CTRL_REGISTER */
  5764. /*! @{ */
  5765. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_MASK (0x1U)
  5766. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_SHIFT (0U)
  5767. /*! REF_AI_TOGGLE - ref_ai_toggle
  5768. */
  5769. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_SHIFT)) & ANADIG_PMU_PMU_REF_CTRL_REF_AI_TOGGLE_MASK)
  5770. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_MASK (0x2U)
  5771. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_SHIFT (1U)
  5772. /*! REF_AI_BUSY - ref_ai_busy
  5773. */
  5774. #define ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_SHIFT)) & ANADIG_PMU_PMU_REF_CTRL_REF_AI_BUSY_MASK)
  5775. #define ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_MASK (0x4U)
  5776. #define ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_SHIFT (2U)
  5777. /*! REF_ENABLE - REF_ENABLE
  5778. */
  5779. #define ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_SHIFT)) & ANADIG_PMU_PMU_REF_CTRL_REF_ENABLE_MASK)
  5780. #define ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_MASK (0x8U)
  5781. #define ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_SHIFT (3U)
  5782. /*! REF_CONTROL_MODE - REF_CONTROL_MODE
  5783. * 0b0..SW Control
  5784. * 0b1..HW Control
  5785. */
  5786. #define ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_SHIFT)) & ANADIG_PMU_PMU_REF_CTRL_REF_CONTROL_MODE_MASK)
  5787. #define ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_MASK (0x10U)
  5788. #define ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_SHIFT (4U)
  5789. /*! EN_PLL_VOL_REF_BUFFER - en_pll_vol_ref_buffer
  5790. */
  5791. #define ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_SHIFT)) & ANADIG_PMU_PMU_REF_CTRL_EN_PLL_VOL_REF_BUFFER_MASK)
  5792. /*! @} */
  5793. /*! @name PMU_POWER_DETECT_CTRL - PMU_POWER_DETECT_CTRL_REGISTER */
  5794. /*! @{ */
  5795. #define ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_MASK (0x100U)
  5796. #define ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_SHIFT (8U)
  5797. /*! CKGB_LPSR1P0 - ckgb_lpsr1p0
  5798. */
  5799. #define ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_SHIFT)) & ANADIG_PMU_PMU_POWER_DETECT_CTRL_CKGB_LPSR1P0_MASK)
  5800. /*! @} */
  5801. /*! @name LDO_PLL_ENABLE_SP - LDO_PLL_ENABLE_SP_REGISTER */
  5802. /*! @{ */
  5803. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  5804. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  5805. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  5806. * 0b0..ON
  5807. * 0b1..OFF
  5808. */
  5809. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  5810. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  5811. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  5812. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  5813. * 0b0..ON
  5814. * 0b1..OFF
  5815. */
  5816. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  5817. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  5818. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  5819. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  5820. * 0b0..ON
  5821. * 0b1..OFF
  5822. */
  5823. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  5824. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  5825. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  5826. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  5827. * 0b0..ON
  5828. * 0b1..OFF
  5829. */
  5830. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  5831. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  5832. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  5833. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  5834. * 0b0..ON
  5835. * 0b1..OFF
  5836. */
  5837. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  5838. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  5839. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  5840. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  5841. * 0b0..ON
  5842. * 0b1..OFF
  5843. */
  5844. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  5845. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  5846. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  5847. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  5848. * 0b0..ON
  5849. * 0b1..OFF
  5850. */
  5851. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  5852. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  5853. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  5854. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  5855. * 0b0..ON
  5856. * 0b1..OFF
  5857. */
  5858. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  5859. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  5860. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  5861. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  5862. * 0b0..ON
  5863. * 0b1..OFF
  5864. */
  5865. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  5866. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  5867. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  5868. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  5869. * 0b0..ON
  5870. * 0b1..OFF
  5871. */
  5872. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  5873. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  5874. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  5875. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  5876. * 0b0..ON
  5877. * 0b1..OFF
  5878. */
  5879. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  5880. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  5881. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  5882. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  5883. * 0b0..ON
  5884. * 0b1..OFF
  5885. */
  5886. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  5887. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  5888. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  5889. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  5890. * 0b0..ON
  5891. * 0b1..OFF
  5892. */
  5893. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  5894. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  5895. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  5896. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  5897. * 0b0..ON
  5898. * 0b1..OFF
  5899. */
  5900. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  5901. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  5902. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  5903. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  5904. * 0b0..ON
  5905. * 0b1..OFF
  5906. */
  5907. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  5908. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  5909. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  5910. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  5911. * 0b0..ON
  5912. * 0b1..OFF
  5913. */
  5914. #define ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_PLL_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  5915. /*! @} */
  5916. /*! @name LDO_LPSR_ANA_ENABLE_SP - LDO_LPSR_ANA_ENABLE_SP_REGISTER */
  5917. /*! @{ */
  5918. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  5919. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  5920. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  5921. * 0b0..ON
  5922. * 0b1..OFF
  5923. */
  5924. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  5925. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  5926. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  5927. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  5928. * 0b0..ON
  5929. * 0b1..OFF
  5930. */
  5931. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  5932. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  5933. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  5934. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  5935. * 0b0..ON
  5936. * 0b1..OFF
  5937. */
  5938. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  5939. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  5940. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  5941. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  5942. * 0b0..ON
  5943. * 0b1..OFF
  5944. */
  5945. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  5946. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  5947. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  5948. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  5949. * 0b0..ON
  5950. * 0b1..OFF
  5951. */
  5952. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  5953. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  5954. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  5955. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  5956. * 0b0..ON
  5957. * 0b1..OFF
  5958. */
  5959. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  5960. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  5961. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  5962. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  5963. * 0b0..ON
  5964. * 0b1..OFF
  5965. */
  5966. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  5967. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  5968. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  5969. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  5970. * 0b0..ON
  5971. * 0b1..OFF
  5972. */
  5973. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  5974. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  5975. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  5976. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  5977. * 0b0..ON
  5978. * 0b1..OFF
  5979. */
  5980. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  5981. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  5982. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  5983. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  5984. * 0b0..ON
  5985. * 0b1..OFF
  5986. */
  5987. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  5988. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  5989. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  5990. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  5991. * 0b0..ON
  5992. * 0b1..OFF
  5993. */
  5994. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  5995. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  5996. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  5997. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  5998. * 0b0..ON
  5999. * 0b1..OFF
  6000. */
  6001. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  6002. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  6003. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  6004. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  6005. * 0b0..ON
  6006. * 0b1..OFF
  6007. */
  6008. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  6009. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  6010. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  6011. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  6012. * 0b0..ON
  6013. * 0b1..OFF
  6014. */
  6015. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  6016. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  6017. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  6018. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  6019. * 0b0..ON
  6020. * 0b1..OFF
  6021. */
  6022. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  6023. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  6024. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  6025. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  6026. * 0b0..ON
  6027. * 0b1..OFF
  6028. */
  6029. #define ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  6030. /*! @} */
  6031. /*! @name LDO_LPSR_ANA_LP_MODE_SP - LDO_LPSR_ANA_LP_MODE_SP_REGISTER */
  6032. /*! @{ */
  6033. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_MASK (0x1U)
  6034. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT (0U)
  6035. /*! LP_MODE_SETPOINT0 - LP_MODE_SETPOINT0
  6036. * 0b0..LP
  6037. * 0b1..HP
  6038. */
  6039. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT0_MASK)
  6040. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_MASK (0x2U)
  6041. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT (1U)
  6042. /*! LP_MODE_SETPOINT1 - LP_MODE_SETPOINT1
  6043. * 0b0..LP
  6044. * 0b1..HP
  6045. */
  6046. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPOINT1_MASK)
  6047. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_MASK (0x4U)
  6048. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_SHIFT (2U)
  6049. /*! LP_MODE_SETPONIT2 - LP_MODE_SETPOINT2
  6050. * 0b0..LP
  6051. * 0b1..HP
  6052. */
  6053. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT2_MASK)
  6054. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_MASK (0x8U)
  6055. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_SHIFT (3U)
  6056. /*! LP_MODE_SETPONIT3 - LP_MODE_SETPOINT3
  6057. * 0b0..LP
  6058. * 0b1..HP
  6059. */
  6060. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT3_MASK)
  6061. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_MASK (0x10U)
  6062. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_SHIFT (4U)
  6063. /*! LP_MODE_SETPONIT4 - LP_MODE_SETPOINT4
  6064. * 0b0..LP
  6065. * 0b1..HP
  6066. */
  6067. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT4_MASK)
  6068. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_MASK (0x20U)
  6069. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_SHIFT (5U)
  6070. /*! LP_MODE_SETPONIT5 - LP_MODE_SETPOINT5
  6071. * 0b0..LP
  6072. * 0b1..HP
  6073. */
  6074. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT5_MASK)
  6075. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_MASK (0x40U)
  6076. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_SHIFT (6U)
  6077. /*! LP_MODE_SETPONIT6 - LP_MODE_SETPOINT6
  6078. * 0b0..LP
  6079. * 0b1..HP
  6080. */
  6081. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT6_MASK)
  6082. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_MASK (0x80U)
  6083. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_SHIFT (7U)
  6084. /*! LP_MODE_SETPONIT7 - LP_MODE_SETPOINT7
  6085. * 0b0..LP
  6086. * 0b1..HP
  6087. */
  6088. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT7_MASK)
  6089. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_MASK (0x100U)
  6090. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_SHIFT (8U)
  6091. /*! LP_MODE_SETPONIT8 - LP_MODE_SETPOINT8
  6092. * 0b0..LP
  6093. * 0b1..HP
  6094. */
  6095. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT8_MASK)
  6096. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_MASK (0x200U)
  6097. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_SHIFT (9U)
  6098. /*! LP_MODE_SETPONIT9 - LP_MODE_SETPOINT9
  6099. * 0b0..LP
  6100. * 0b1..HP
  6101. */
  6102. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT9_MASK)
  6103. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_MASK (0x400U)
  6104. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_SHIFT (10U)
  6105. /*! LP_MODE_SETPONIT10 - LP_MODE_SETPOINT10
  6106. * 0b0..LP
  6107. * 0b1..HP
  6108. */
  6109. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT10_MASK)
  6110. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_MASK (0x800U)
  6111. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_SHIFT (11U)
  6112. /*! LP_MODE_SETPONIT11 - LP_MODE_SETPOINT11
  6113. * 0b0..LP
  6114. * 0b1..HP
  6115. */
  6116. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT11_MASK)
  6117. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_MASK (0x1000U)
  6118. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_SHIFT (12U)
  6119. /*! LP_MODE_SETPONIT12 - LP_MODE_SETPOINT12
  6120. * 0b0..LP
  6121. * 0b1..HP
  6122. */
  6123. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT12_MASK)
  6124. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_MASK (0x2000U)
  6125. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_SHIFT (13U)
  6126. /*! LP_MODE_SETPONIT13 - LP_MODE_SETPOINT13
  6127. * 0b0..LP
  6128. * 0b1..HP
  6129. */
  6130. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT13_MASK)
  6131. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_MASK (0x4000U)
  6132. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_SHIFT (14U)
  6133. /*! LP_MODE_SETPONIT14 - LP_MODE_SETPOINT14
  6134. * 0b0..LP
  6135. * 0b1..HP
  6136. */
  6137. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT14_MASK)
  6138. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_MASK (0x8000U)
  6139. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_SHIFT (15U)
  6140. /*! LP_MODE_SETPONIT15 - LP_MODE_SETPOINT15
  6141. * 0b0..LP
  6142. * 0b1..HP
  6143. */
  6144. #define ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_LP_MODE_SP_LP_MODE_SETPONIT15_MASK)
  6145. /*! @} */
  6146. /*! @name LDO_LPSR_ANA_TRACKING_EN_SP - LDO_LPSR_ANA_TRACKING_EN_SP_REGISTER */
  6147. /*! @{ */
  6148. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK (0x1U)
  6149. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT (0U)
  6150. /*! TRACKING_EN_SETPOINT0 - TRACKING_EN_SETPOINT0
  6151. * 0b0..Disabled
  6152. * 0b1..Enabled
  6153. */
  6154. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK)
  6155. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK (0x2U)
  6156. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT (1U)
  6157. /*! TRACKING_EN_SETPOINT1 - TRACKING_EN_SETPOINT1
  6158. * 0b0..Disabled
  6159. * 0b1..Enabled
  6160. */
  6161. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK)
  6162. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK (0x4U)
  6163. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT (2U)
  6164. /*! TRACKING_EN_SETPOINT2 - TRACKING_EN_SETPOINT2
  6165. * 0b0..Disabled
  6166. * 0b1..Enabled
  6167. */
  6168. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK)
  6169. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK (0x8U)
  6170. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT (3U)
  6171. /*! TRACKING_EN_SETPOINT3 - TRACKING_EN_SETPOINT3
  6172. * 0b0..Disabled
  6173. * 0b1..Enabled
  6174. */
  6175. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK)
  6176. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK (0x10U)
  6177. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT (4U)
  6178. /*! TRACKING_EN_SETPOINT4 - TRACKING_EN_SETPOINT4
  6179. * 0b0..Disabled
  6180. * 0b1..Enabled
  6181. */
  6182. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK)
  6183. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK (0x20U)
  6184. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT (5U)
  6185. /*! TRACKING_EN_SETPOINT5 - TRACKING_EN_SETPOINT5
  6186. * 0b0..Disabled
  6187. * 0b1..Enabled
  6188. */
  6189. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK)
  6190. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK (0x40U)
  6191. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT (6U)
  6192. /*! TRACKING_EN_SETPOINT6 - TRACKING_EN_SETPOINT6
  6193. * 0b0..Disabled
  6194. * 0b1..Enabled
  6195. */
  6196. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK)
  6197. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK (0x80U)
  6198. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT (7U)
  6199. /*! TRACKING_EN_SETPOINT7 - TRACKING_EN_SETPOINT7
  6200. * 0b0..Disabled
  6201. * 0b1..Enabled
  6202. */
  6203. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK)
  6204. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK (0x100U)
  6205. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT (8U)
  6206. /*! TRACKING_EN_SETPOINT8 - TRACKING_EN_SETPOINT8
  6207. * 0b0..Disabled
  6208. * 0b1..Enabled
  6209. */
  6210. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK)
  6211. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK (0x200U)
  6212. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT (9U)
  6213. /*! TRACKING_EN_SETPOINT9 - TRACKING_EN_SETPOINT9
  6214. * 0b0..Disabled
  6215. * 0b1..Enabled
  6216. */
  6217. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK)
  6218. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK (0x400U)
  6219. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT (10U)
  6220. /*! TRACKING_EN_SETPOINT10 - TRACKING_EN_SETPOINT10
  6221. * 0b0..Disabled
  6222. * 0b1..Enabled
  6223. */
  6224. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK)
  6225. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK (0x800U)
  6226. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT (11U)
  6227. /*! TRACKING_EN_SETPOINT11 - TRACKING_EN_SETPOINT11
  6228. * 0b0..Disabled
  6229. * 0b1..Enabled
  6230. */
  6231. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK)
  6232. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK (0x1000U)
  6233. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT (12U)
  6234. /*! TRACKING_EN_SETPOINT12 - TRACKING_EN_SETPOINT12
  6235. * 0b0..Disabled
  6236. * 0b1..Enabled
  6237. */
  6238. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK)
  6239. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK (0x2000U)
  6240. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT (13U)
  6241. /*! TRACKING_EN_SETPOINT13 - TRACKING_EN_SETPOINT13
  6242. * 0b0..Disabled
  6243. * 0b1..Enabled
  6244. */
  6245. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK)
  6246. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK (0x4000U)
  6247. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT (14U)
  6248. /*! TRACKING_EN_SETPOINT14 - TRACKING_EN_SETPOINT14
  6249. * 0b0..Disabled
  6250. * 0b1..Enabled
  6251. */
  6252. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK)
  6253. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK (0x8000U)
  6254. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT (15U)
  6255. /*! TRACKING_EN_SETPOINT15 - TRACKING_EN_SETPOINT15
  6256. * 0b0..Disabled
  6257. * 0b1..Enabled
  6258. */
  6259. #define ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK)
  6260. /*! @} */
  6261. /*! @name LDO_LPSR_ANA_BYPASS_EN_SP - LDO_LPSR_ANA_BYPASS_EN_SP_REGISTER */
  6262. /*! @{ */
  6263. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK (0x1U)
  6264. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT (0U)
  6265. /*! BYPASS_EN_SETPOINT0 - BYPASS_EN_SETPOINT0
  6266. * 0b0..Disabled
  6267. * 0b1..Enabled
  6268. */
  6269. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK)
  6270. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK (0x2U)
  6271. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT (1U)
  6272. /*! BYPASS_EN_SETPOINT1 - BYPASS_EN_SETPOINT1
  6273. * 0b0..Disabled
  6274. * 0b1..Enabled
  6275. */
  6276. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK)
  6277. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK (0x4U)
  6278. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT (2U)
  6279. /*! BYPASS_EN_SETPOINT2 - BYPASS_EN_SETPOINT2
  6280. * 0b0..Disabled
  6281. * 0b1..Enabled
  6282. */
  6283. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK)
  6284. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK (0x8U)
  6285. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT (3U)
  6286. /*! BYPASS_EN_SETPOINT3 - BYPASS_EN_SETPOINT3
  6287. * 0b0..Disabled
  6288. * 0b1..Enabled
  6289. */
  6290. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK)
  6291. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK (0x10U)
  6292. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT (4U)
  6293. /*! BYPASS_EN_SETPOINT4 - BYPASS_EN_SETPOINT4
  6294. * 0b0..Disabled
  6295. * 0b1..Enabled
  6296. */
  6297. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK)
  6298. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK (0x20U)
  6299. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT (5U)
  6300. /*! BYPASS_EN_SETPOINT5 - BYPASS_EN_SETPOINT5
  6301. * 0b0..Disabled
  6302. * 0b1..Enabled
  6303. */
  6304. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK)
  6305. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK (0x40U)
  6306. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT (6U)
  6307. /*! BYPASS_EN_SETPOINT6 - BYPASS_EN_SETPOINT6
  6308. * 0b0..Disabled
  6309. * 0b1..Enabled
  6310. */
  6311. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK)
  6312. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK (0x80U)
  6313. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT (7U)
  6314. /*! BYPASS_EN_SETPOINT7 - BYPASS_EN_SETPOINT7
  6315. * 0b0..Disabled
  6316. * 0b1..Enabled
  6317. */
  6318. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK)
  6319. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK (0x100U)
  6320. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT (8U)
  6321. /*! BYPASS_EN_SETPOINT8 - BYPASS_EN_SETPOINT
  6322. * 0b0..Disabled
  6323. * 0b1..Enabled
  6324. */
  6325. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK)
  6326. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK (0x200U)
  6327. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT (9U)
  6328. /*! BYPASS_EN_SETPOINT9 - BYPASS_EN_SETPOINT9
  6329. * 0b0..Disabled
  6330. * 0b1..Enabled
  6331. */
  6332. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK)
  6333. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK (0x400U)
  6334. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT (10U)
  6335. /*! BYPASS_EN_SETPOINT10 - BYPASS_EN_SETPOINT10
  6336. * 0b0..Disabled
  6337. * 0b1..Enabled
  6338. */
  6339. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK)
  6340. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK (0x800U)
  6341. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT (11U)
  6342. /*! BYPASS_EN_SETPOINT11 - BYPASS_EN_SETPOINT11
  6343. * 0b0..Disabled
  6344. * 0b1..Enabled
  6345. */
  6346. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK)
  6347. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK (0x1000U)
  6348. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT (12U)
  6349. /*! BYPASS_EN_SETPOINT12 - BYPASS_EN_SETPOINT12
  6350. * 0b0..Disabled
  6351. * 0b1..Enabled
  6352. */
  6353. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK)
  6354. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK (0x2000U)
  6355. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT (13U)
  6356. /*! BYPASS_EN_SETPOINT13 - BYPASS_EN_SETPOINT13
  6357. * 0b0..Disabled
  6358. * 0b1..Enabled
  6359. */
  6360. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK)
  6361. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK (0x4000U)
  6362. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT (14U)
  6363. /*! BYPASS_EN_SETPOINT14 - BYPASS_EN_SETPOINT14
  6364. * 0b0..Disabled
  6365. * 0b1..Enabled
  6366. */
  6367. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK)
  6368. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK (0x8000U)
  6369. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT (15U)
  6370. /*! BYPASS_EN_SETPOINT15 - BYPASS_EN_SETPOINT15
  6371. * 0b0..Disabled
  6372. * 0b1..Enabled
  6373. */
  6374. #define ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK)
  6375. /*! @} */
  6376. /*! @name LDO_LPSR_ANA_STBY_EN_SP - LDO_LPSR_ANA_STBY_EN_SP_REGISTER */
  6377. /*! @{ */
  6378. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  6379. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  6380. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT0
  6381. * 0b0..Disabled
  6382. * 0b1..Enabled
  6383. */
  6384. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  6385. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  6386. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  6387. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT1
  6388. * 0b0..Disabled
  6389. * 0b1..Enabled
  6390. */
  6391. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  6392. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  6393. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  6394. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT2
  6395. * 0b0..Disabled
  6396. * 0b1..Enabled
  6397. */
  6398. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  6399. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  6400. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  6401. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT3
  6402. * 0b0..Disabled
  6403. * 0b1..Enabled
  6404. */
  6405. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  6406. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  6407. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  6408. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT4
  6409. * 0b0..Disabled
  6410. * 0b1..Enabled
  6411. */
  6412. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  6413. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  6414. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  6415. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT5
  6416. * 0b0..Disabled
  6417. * 0b1..Enabled
  6418. */
  6419. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  6420. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  6421. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  6422. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT6
  6423. * 0b0..Disabled
  6424. * 0b1..Enabled
  6425. */
  6426. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  6427. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  6428. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  6429. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT7
  6430. * 0b0..Disabled
  6431. * 0b1..Enabled
  6432. */
  6433. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  6434. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  6435. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  6436. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT8
  6437. * 0b0..Disabled
  6438. * 0b1..Enabled
  6439. */
  6440. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  6441. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  6442. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  6443. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT9
  6444. * 0b0..Disabled
  6445. * 0b1..Enabled
  6446. */
  6447. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  6448. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  6449. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  6450. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT10
  6451. * 0b0..Disabled
  6452. * 0b1..Enabled
  6453. */
  6454. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  6455. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  6456. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  6457. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT11
  6458. * 0b0..Disabled
  6459. * 0b1..Enabled
  6460. */
  6461. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  6462. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  6463. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  6464. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT12
  6465. * 0b0..Disabled
  6466. * 0b1..Enabled
  6467. */
  6468. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  6469. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  6470. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  6471. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT13
  6472. * 0b0..Disabled
  6473. * 0b1..Enabled
  6474. */
  6475. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  6476. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  6477. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  6478. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT14
  6479. * 0b0..Disabled
  6480. * 0b1..Enabled
  6481. */
  6482. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  6483. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  6484. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  6485. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT15
  6486. * 0b0..Disabled
  6487. * 0b1..Enabled
  6488. */
  6489. #define ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_ANA_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  6490. /*! @} */
  6491. /*! @name LDO_LPSR_DIG_ENABLE_SP - LDO_LPSR_DIG_ENABLE_SP_REGISTER */
  6492. /*! @{ */
  6493. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  6494. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  6495. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  6496. * 0b0..ON
  6497. * 0b1..OFF
  6498. */
  6499. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  6500. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  6501. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  6502. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  6503. * 0b0..ON
  6504. * 0b1..OFF
  6505. */
  6506. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  6507. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  6508. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  6509. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  6510. * 0b0..ON
  6511. * 0b1..OFF
  6512. */
  6513. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  6514. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  6515. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  6516. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  6517. * 0b0..ON
  6518. * 0b1..OFF
  6519. */
  6520. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  6521. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  6522. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  6523. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  6524. * 0b0..ON
  6525. * 0b1..OFF
  6526. */
  6527. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  6528. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  6529. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  6530. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  6531. * 0b0..ON
  6532. * 0b1..OFF
  6533. */
  6534. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  6535. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  6536. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  6537. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  6538. * 0b0..ON
  6539. * 0b1..OFF
  6540. */
  6541. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  6542. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  6543. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  6544. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  6545. * 0b0..ON
  6546. * 0b1..OFF
  6547. */
  6548. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  6549. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  6550. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  6551. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  6552. * 0b0..ON
  6553. * 0b1..OFF
  6554. */
  6555. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  6556. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  6557. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  6558. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  6559. * 0b0..ON
  6560. * 0b1..OFF
  6561. */
  6562. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  6563. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  6564. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  6565. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  6566. * 0b0..ON
  6567. * 0b1..OFF
  6568. */
  6569. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  6570. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  6571. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  6572. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  6573. * 0b0..ON
  6574. * 0b1..OFF
  6575. */
  6576. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  6577. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  6578. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  6579. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  6580. * 0b0..ON
  6581. * 0b1..OFF
  6582. */
  6583. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  6584. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  6585. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  6586. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  6587. * 0b0..ON
  6588. * 0b1..OFF
  6589. */
  6590. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  6591. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  6592. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  6593. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  6594. * 0b0..ON
  6595. * 0b1..OFF
  6596. */
  6597. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  6598. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  6599. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  6600. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  6601. * 0b0..ON
  6602. * 0b1..OFF
  6603. */
  6604. #define ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  6605. /*! @} */
  6606. /*! @name LDO_LPSR_DIG_TRG_SP0 - LDO_LPSR_DIG_TRG_SP0_REGISTER */
  6607. /*! @{ */
  6608. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_MASK (0xFFU)
  6609. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_SHIFT (0U)
  6610. /*! VOLTAGE_SETPOINT0 - VOLTAGE_SETPOINT0
  6611. */
  6612. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT0_MASK)
  6613. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_MASK (0xFF00U)
  6614. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_SHIFT (8U)
  6615. /*! VOLTAGE_SETPOINT1 - VOLTAGE_SETPOINT1
  6616. */
  6617. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT1_MASK)
  6618. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_MASK (0xFF0000U)
  6619. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_SHIFT (16U)
  6620. /*! VOLTAGE_SETPOINT2 - VOLTAGE_SETPOINT2
  6621. */
  6622. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT2_MASK)
  6623. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_MASK (0xFF000000U)
  6624. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_SHIFT (24U)
  6625. /*! VOLTAGE_SETPOINT3 - VOLTAGE_SETPOINT3
  6626. */
  6627. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP0_VOLTAGE_SETPOINT3_MASK)
  6628. /*! @} */
  6629. /*! @name LDO_LPSR_DIG_TRG_SP1 - LDO_LPSR_DIG_TRG_SP1_REGISTER */
  6630. /*! @{ */
  6631. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_MASK (0xFFU)
  6632. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_SHIFT (0U)
  6633. /*! VOLTAGE_SETPOINT4 - VOLTAGE_SETPOINT4
  6634. */
  6635. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT4_MASK)
  6636. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_MASK (0xFF00U)
  6637. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_SHIFT (8U)
  6638. /*! VOLTAGE_SETPOINT5 - VOLTAGE_SETPOINT5
  6639. */
  6640. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT5_MASK)
  6641. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_MASK (0xFF0000U)
  6642. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_SHIFT (16U)
  6643. /*! VOLTAGE_SETPOINT6 - VOLTAGE_SETPOINT6
  6644. */
  6645. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT6_MASK)
  6646. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_MASK (0xFF000000U)
  6647. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_SHIFT (24U)
  6648. /*! VOLTAGE_SETPOINT7 - VOLTAGE_SETPOINT7
  6649. */
  6650. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP1_VOLTAGE_SETPOINT7_MASK)
  6651. /*! @} */
  6652. /*! @name LDO_LPSR_DIG_TRG_SP2 - LDO_LPSR_DIG_TRG_SP2_REGISTER */
  6653. /*! @{ */
  6654. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_MASK (0xFFU)
  6655. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_SHIFT (0U)
  6656. /*! VOLTAGE_SETPOINT8 - VOLTAGE_SETPOINT8
  6657. */
  6658. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT8_MASK)
  6659. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_MASK (0xFF00U)
  6660. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_SHIFT (8U)
  6661. /*! VOLTAGE_SETPOINT9 - VOLTAGE_SETPOINT9
  6662. */
  6663. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT9_MASK)
  6664. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_MASK (0xFF0000U)
  6665. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_SHIFT (16U)
  6666. /*! VOLTAGE_SETPOINT10 - VOLTAGE_SETPOINT10
  6667. */
  6668. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT10_MASK)
  6669. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_MASK (0xFF000000U)
  6670. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_SHIFT (24U)
  6671. /*! VOLTAGE_SETPOINT11 - VOLTAGE_SETPOINT11
  6672. */
  6673. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP2_VOLTAGE_SETPOINT11_MASK)
  6674. /*! @} */
  6675. /*! @name LDO_LPSR_DIG_TRG_SP3 - LDO_LPSR_DIG_TRG_SP3_REGISTER */
  6676. /*! @{ */
  6677. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_MASK (0xFFU)
  6678. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_SHIFT (0U)
  6679. /*! VOLTAGE_SETPOINT12 - VOLTAGE_SETPOINT12
  6680. */
  6681. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT12_MASK)
  6682. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_MASK (0xFF00U)
  6683. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_SHIFT (8U)
  6684. /*! VOLTAGE_SETPOINT13 - VOLTAGE_SETPOINT13
  6685. */
  6686. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT13_MASK)
  6687. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_MASK (0xFF0000U)
  6688. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_SHIFT (16U)
  6689. /*! VOLTAGE_SETPOINT14 - VOLTAGE_SETPOINT14
  6690. */
  6691. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT14_MASK)
  6692. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_MASK (0xFF000000U)
  6693. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_SHIFT (24U)
  6694. /*! VOLTAGE_SETPOINT15 - VOLTAGE_SETPOINT15
  6695. */
  6696. #define ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRG_SP3_VOLTAGE_SETPOINT15_MASK)
  6697. /*! @} */
  6698. /*! @name LDO_LPSR_DIG_LP_MODE_SP - LDO_LPSR_DIG_LP_MODE_SP_REGISTER */
  6699. /*! @{ */
  6700. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_MASK (0x1U)
  6701. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT (0U)
  6702. /*! LP_MODE_SETPOINT0 - LP_MODE_SETPOINT0
  6703. * 0b0..LP
  6704. * 0b1..HP
  6705. */
  6706. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT0_MASK)
  6707. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_MASK (0x2U)
  6708. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT (1U)
  6709. /*! LP_MODE_SETPOINT1 - LP_MODE_SETPOINT1
  6710. * 0b0..LP
  6711. * 0b1..HP
  6712. */
  6713. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT1_MASK)
  6714. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_MASK (0x4U)
  6715. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_SHIFT (2U)
  6716. /*! LP_MODE_SETPOINT2 - LP_MODE_SETPOINT2
  6717. * 0b0..LP
  6718. * 0b1..HP
  6719. */
  6720. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT2_MASK)
  6721. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_MASK (0x8U)
  6722. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_SHIFT (3U)
  6723. /*! LP_MODE_SETPOINT3 - LP_MODE_SETPOINT3
  6724. * 0b0..LP
  6725. * 0b1..HP
  6726. */
  6727. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT3_MASK)
  6728. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_MASK (0x10U)
  6729. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_SHIFT (4U)
  6730. /*! LP_MODE_SETPOINT4 - LP_MODE_SETPOINT4
  6731. * 0b0..LP
  6732. * 0b1..HP
  6733. */
  6734. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT4_MASK)
  6735. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_MASK (0x20U)
  6736. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_SHIFT (5U)
  6737. /*! LP_MODE_SETPOINT5 - LP_MODE_SETPOINT5
  6738. * 0b0..LP
  6739. * 0b1..HP
  6740. */
  6741. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT5_MASK)
  6742. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_MASK (0x40U)
  6743. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_SHIFT (6U)
  6744. /*! LP_MODE_SETPOINT6 - LP_MODE_SETPOINT6
  6745. * 0b0..LP
  6746. * 0b1..HP
  6747. */
  6748. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT6_MASK)
  6749. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_MASK (0x80U)
  6750. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_SHIFT (7U)
  6751. /*! LP_MODE_SETPOINT7 - LP_MODE_SETPOINT7
  6752. * 0b0..LP
  6753. * 0b1..HP
  6754. */
  6755. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT7_MASK)
  6756. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_MASK (0x100U)
  6757. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_SHIFT (8U)
  6758. /*! LP_MODE_SETPOINT8 - LP_MODE_SETPOINT8
  6759. * 0b0..LP
  6760. * 0b1..HP
  6761. */
  6762. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT8_MASK)
  6763. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_MASK (0x200U)
  6764. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_SHIFT (9U)
  6765. /*! LP_MODE_SETPOINT9 - LP_MODE_SETPOINT9
  6766. * 0b0..LP
  6767. * 0b1..HP
  6768. */
  6769. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT9_MASK)
  6770. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_MASK (0x400U)
  6771. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_SHIFT (10U)
  6772. /*! LP_MODE_SETPOINT10 - LP_MODE_SETPOINT10
  6773. * 0b0..LP
  6774. * 0b1..HP
  6775. */
  6776. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT10_MASK)
  6777. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_MASK (0x800U)
  6778. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_SHIFT (11U)
  6779. /*! LP_MODE_SETPOINT11 - LP_MODE_SETPOINT11
  6780. * 0b0..LP
  6781. * 0b1..HP
  6782. */
  6783. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT11_MASK)
  6784. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_MASK (0x1000U)
  6785. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_SHIFT (12U)
  6786. /*! LP_MODE_SETPOINT12 - LP_MODE_SETPOINT12
  6787. * 0b0..LP
  6788. * 0b1..HP
  6789. */
  6790. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT12_MASK)
  6791. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_MASK (0x2000U)
  6792. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_SHIFT (13U)
  6793. /*! LP_MODE_SETPOINT13 - LP_MODE_SETPOINT13
  6794. * 0b0..LP
  6795. * 0b1..HP
  6796. */
  6797. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT13_MASK)
  6798. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_MASK (0x4000U)
  6799. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_SHIFT (14U)
  6800. /*! LP_MODE_SETPOINT14 - LP_MODE_SETPOINT14
  6801. * 0b0..LP
  6802. * 0b1..HP
  6803. */
  6804. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT14_MASK)
  6805. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_MASK (0x8000U)
  6806. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_SHIFT (15U)
  6807. /*! LP_MODE_SETPOINT15 - LP_MODE_SETPOINT15
  6808. * 0b0..LP
  6809. * 0b1..HP
  6810. */
  6811. #define ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_LP_MODE_SP_LP_MODE_SETPOINT15_MASK)
  6812. /*! @} */
  6813. /*! @name LDO_LPSR_DIG_TRACKING_EN_SP - LDO_LPSR_DIG_TRACKING_EN_SP_REGISTER */
  6814. /*! @{ */
  6815. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK (0x1U)
  6816. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT (0U)
  6817. /*! TRACKING_EN_SETPOINT0 - TRACKING_EN_SETPOINT0
  6818. * 0b0..Disabled
  6819. * 0b1..Enabled
  6820. */
  6821. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT0_MASK)
  6822. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK (0x2U)
  6823. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT (1U)
  6824. /*! TRACKING_EN_SETPOINT1 - TRACKING_EN_SETPOINT1
  6825. * 0b0..Disabled
  6826. * 0b1..Enabled
  6827. */
  6828. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT1_MASK)
  6829. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK (0x4U)
  6830. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT (2U)
  6831. /*! TRACKING_EN_SETPOINT2 - TRACKING_EN_SETPOINT2
  6832. * 0b0..Disabled
  6833. * 0b1..Enabled
  6834. */
  6835. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT2_MASK)
  6836. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK (0x8U)
  6837. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT (3U)
  6838. /*! TRACKING_EN_SETPOINT3 - TRACKING_EN_SETPOINT3
  6839. * 0b0..Disabled
  6840. * 0b1..Enabled
  6841. */
  6842. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT3_MASK)
  6843. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK (0x10U)
  6844. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT (4U)
  6845. /*! TRACKING_EN_SETPOINT4 - TRACKING_EN_SETPOINT4
  6846. * 0b0..Disabled
  6847. * 0b1..Enabled
  6848. */
  6849. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT4_MASK)
  6850. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK (0x20U)
  6851. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT (5U)
  6852. /*! TRACKING_EN_SETPOINT5 - TRACKING_EN_SETPOINT5
  6853. * 0b0..Disabled
  6854. * 0b1..Enabled
  6855. */
  6856. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT5_MASK)
  6857. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK (0x40U)
  6858. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT (6U)
  6859. /*! TRACKING_EN_SETPOINT6 - TRACKING_EN_SETPOINT6
  6860. * 0b0..Disabled
  6861. * 0b1..Enabled
  6862. */
  6863. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT6_MASK)
  6864. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK (0x80U)
  6865. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT (7U)
  6866. /*! TRACKING_EN_SETPOINT7 - TRACKING_EN_SETPOINT7
  6867. * 0b0..Disabled
  6868. * 0b1..Enabled
  6869. */
  6870. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT7_MASK)
  6871. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK (0x100U)
  6872. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT (8U)
  6873. /*! TRACKING_EN_SETPOINT8 - TRACKING_EN_SETPOINT8
  6874. * 0b0..Disabled
  6875. * 0b1..Enabled
  6876. */
  6877. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT8_MASK)
  6878. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK (0x200U)
  6879. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT (9U)
  6880. /*! TRACKING_EN_SETPOINT9 - TRACKING_EN_SETPOINT9
  6881. * 0b0..Disabled
  6882. * 0b1..Enabled
  6883. */
  6884. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT9_MASK)
  6885. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK (0x400U)
  6886. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT (10U)
  6887. /*! TRACKING_EN_SETPOINT10 - TRACKING_EN_SETPOINT10
  6888. * 0b0..Disabled
  6889. * 0b1..Enabled
  6890. */
  6891. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT10_MASK)
  6892. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK (0x800U)
  6893. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT (11U)
  6894. /*! TRACKING_EN_SETPOINT11 - TRACKING_EN_SETPOINT11
  6895. * 0b0..Disabled
  6896. * 0b1..Enabled
  6897. */
  6898. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT11_MASK)
  6899. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK (0x1000U)
  6900. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT (12U)
  6901. /*! TRACKING_EN_SETPOINT12 - TRACKING_EN_SETPOINT12
  6902. * 0b0..Disabled
  6903. * 0b1..Enabled
  6904. */
  6905. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT12_MASK)
  6906. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK (0x2000U)
  6907. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT (13U)
  6908. /*! TRACKING_EN_SETPOINT13 - TRACKING_EN_SETPOINT13
  6909. * 0b0..Disabled
  6910. * 0b1..Enabled
  6911. */
  6912. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT13_MASK)
  6913. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK (0x4000U)
  6914. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT (14U)
  6915. /*! TRACKING_EN_SETPOINT14 - TRACKING_EN_SETPOINT14
  6916. * 0b0..Disabled
  6917. * 0b1..Enabled
  6918. */
  6919. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT14_MASK)
  6920. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK (0x8000U)
  6921. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT (15U)
  6922. /*! TRACKING_EN_SETPOINT15 - TRACKING_EN_SETPOINT15
  6923. * 0b0..Disabled
  6924. * 0b1..Enabled
  6925. */
  6926. #define ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_TRACKING_EN_SP_TRACKING_EN_SETPOINT15_MASK)
  6927. /*! @} */
  6928. /*! @name LDO_LPSR_DIG_BYPASS_EN_SP - LDO_LPSR_DIG_BYPASS_EN_SP_REGISTER */
  6929. /*! @{ */
  6930. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK (0x1U)
  6931. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT (0U)
  6932. /*! BYPASS_EN_SETPOINT0 - BYPASS_EN_SETPOINT0
  6933. * 0b0..Disabled
  6934. * 0b1..Enabled
  6935. */
  6936. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT0_MASK)
  6937. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK (0x2U)
  6938. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT (1U)
  6939. /*! BYPASS_EN_SETPOINT1 - BYPASS_EN_SETPOINT1
  6940. * 0b0..Disabled
  6941. * 0b1..Enabled
  6942. */
  6943. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT1_MASK)
  6944. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK (0x4U)
  6945. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT (2U)
  6946. /*! BYPASS_EN_SETPOINT2 - BYPASS_EN_SETPOINT2
  6947. * 0b0..Disabled
  6948. * 0b1..Enabled
  6949. */
  6950. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT2_MASK)
  6951. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK (0x8U)
  6952. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT (3U)
  6953. /*! BYPASS_EN_SETPOINT3 - BYPASS_EN_SETPOINT3
  6954. * 0b0..Disabled
  6955. * 0b1..Enabled
  6956. */
  6957. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT3_MASK)
  6958. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK (0x10U)
  6959. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT (4U)
  6960. /*! BYPASS_EN_SETPOINT4 - BYPASS_EN_SETPOINT4
  6961. * 0b0..Disabled
  6962. * 0b1..Enabled
  6963. */
  6964. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT4_MASK)
  6965. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK (0x20U)
  6966. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT (5U)
  6967. /*! BYPASS_EN_SETPOINT5 - BYPASS_EN_SETPOINT5
  6968. * 0b0..Disabled
  6969. * 0b1..Enabled
  6970. */
  6971. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT5_MASK)
  6972. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK (0x40U)
  6973. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT (6U)
  6974. /*! BYPASS_EN_SETPOINT6 - BYPASS_EN_SETPOINT6
  6975. * 0b0..Disabled
  6976. * 0b1..Enabled
  6977. */
  6978. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT6_MASK)
  6979. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK (0x80U)
  6980. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT (7U)
  6981. /*! BYPASS_EN_SETPOINT7 - BYPASS_EN_SETPOINT7
  6982. * 0b0..Disabled
  6983. * 0b1..Enabled
  6984. */
  6985. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT7_MASK)
  6986. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK (0x100U)
  6987. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT (8U)
  6988. /*! BYPASS_EN_SETPOINT8 - BYPASS_EN_SETPOINT8
  6989. * 0b0..Disabled
  6990. * 0b1..Enabled
  6991. */
  6992. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT8_MASK)
  6993. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK (0x200U)
  6994. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT (9U)
  6995. /*! BYPASS_EN_SETPOINT9 - BYPASS_EN_SETPOINT9
  6996. * 0b0..Disabled
  6997. * 0b1..Enabled
  6998. */
  6999. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT9_MASK)
  7000. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK (0x400U)
  7001. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT (10U)
  7002. /*! BYPASS_EN_SETPOINT10 - BYPASS_EN_SETPOINT10
  7003. * 0b0..Disabled
  7004. * 0b1..Enabled
  7005. */
  7006. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT10_MASK)
  7007. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK (0x800U)
  7008. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT (11U)
  7009. /*! BYPASS_EN_SETPOINT11 - BYPASS_EN_SETPOINT11
  7010. * 0b0..Disabled
  7011. * 0b1..Enabled
  7012. */
  7013. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT11_MASK)
  7014. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK (0x1000U)
  7015. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT (12U)
  7016. /*! BYPASS_EN_SETPOINT12 - BYPASS_EN_SETPOINT12
  7017. * 0b0..Disabled
  7018. * 0b1..Enabled
  7019. */
  7020. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT12_MASK)
  7021. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK (0x2000U)
  7022. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT (13U)
  7023. /*! BYPASS_EN_SETPOINT13 - BYPASS_EN_SETPOINT13
  7024. * 0b0..Disabled
  7025. * 0b1..Enabled
  7026. */
  7027. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT13_MASK)
  7028. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK (0x4000U)
  7029. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT (14U)
  7030. /*! BYPASS_EN_SETPOINT14 - BYPASS_EN_SETPOINT14
  7031. * 0b0..Disabled
  7032. * 0b1..Enabled
  7033. */
  7034. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT14_MASK)
  7035. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK (0x8000U)
  7036. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT (15U)
  7037. /*! BYPASS_EN_SETPOINT15 - BYPASS_EN_SETPOINT15
  7038. * 0b0..Disabled
  7039. * 0b1..Enabled
  7040. */
  7041. #define ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_BYPASS_EN_SP_BYPASS_EN_SETPOINT15_MASK)
  7042. /*! @} */
  7043. /*! @name LDO_LPSR_DIG_STBY_EN_SP - LDO_LPSR_DIG_STBY_EN_SP_REGISTER */
  7044. /*! @{ */
  7045. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7046. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7047. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT0
  7048. * 0b0..Disabled
  7049. * 0b1..Enabled
  7050. */
  7051. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  7052. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7053. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7054. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT1
  7055. * 0b0..Disabled
  7056. * 0b1..Enabled
  7057. */
  7058. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  7059. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7060. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7061. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT2
  7062. * 0b0..Disabled
  7063. * 0b1..Enabled
  7064. */
  7065. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  7066. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7067. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7068. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT3
  7069. * 0b0..Disabled
  7070. * 0b1..Enabled
  7071. */
  7072. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  7073. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7074. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7075. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT4
  7076. * 0b0..Disabled
  7077. * 0b1..Enabled
  7078. */
  7079. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  7080. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7081. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7082. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT5
  7083. * 0b0..Disabled
  7084. * 0b1..Enabled
  7085. */
  7086. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  7087. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7088. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7089. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT6
  7090. * 0b0..Disabled
  7091. * 0b1..Enabled
  7092. */
  7093. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  7094. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7095. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7096. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT7
  7097. * 0b0..Disabled
  7098. * 0b1..Enabled
  7099. */
  7100. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  7101. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7102. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7103. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT8
  7104. * 0b0..Disabled
  7105. * 0b1..Enabled
  7106. */
  7107. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  7108. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7109. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7110. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT9
  7111. * 0b0..Disabled
  7112. * 0b1..Enabled
  7113. */
  7114. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  7115. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7116. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7117. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT10
  7118. * 0b0..Disabled
  7119. * 0b1..Enabled
  7120. */
  7121. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  7122. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7123. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7124. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT11
  7125. * 0b0..Disabled
  7126. * 0b1..Enabled
  7127. */
  7128. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  7129. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7130. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7131. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT12
  7132. * 0b0..Disabled
  7133. * 0b1..Enabled
  7134. */
  7135. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  7136. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7137. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7138. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT13
  7139. * 0b0..Disabled
  7140. * 0b1..Enabled
  7141. */
  7142. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  7143. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7144. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7145. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT14
  7146. * 0b0..Disabled
  7147. * 0b1..Enabled
  7148. */
  7149. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  7150. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7151. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7152. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT15
  7153. * 0b0..Disabled
  7154. * 0b1..Enabled
  7155. */
  7156. #define ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_LDO_LPSR_DIG_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  7157. /*! @} */
  7158. /*! @name BANDGAP_ENABLE_SP - BANDGAP_ENABLE_SP_REGISTER */
  7159. /*! @{ */
  7160. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7161. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7162. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7163. * 0b0..ON
  7164. * 0b1..OFF
  7165. */
  7166. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  7167. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7168. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7169. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7170. * 0b0..ON
  7171. * 0b1..OFF
  7172. */
  7173. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  7174. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7175. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7176. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7177. * 0b0..ON
  7178. * 0b1..OFF
  7179. */
  7180. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  7181. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7182. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7183. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7184. * 0b0..ON
  7185. * 0b1..OFF
  7186. */
  7187. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  7188. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7189. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7190. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7191. * 0b0..ON
  7192. * 0b1..OFF
  7193. */
  7194. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  7195. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7196. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7197. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7198. * 0b0..ON
  7199. * 0b1..OFF
  7200. */
  7201. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  7202. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7203. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7204. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT5
  7205. * 0b0..ON
  7206. * 0b1..OFF
  7207. */
  7208. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  7209. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7210. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7211. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7212. * 0b0..ON
  7213. * 0b1..OFF
  7214. */
  7215. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  7216. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7217. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7218. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7219. * 0b0..ON
  7220. * 0b1..OFF
  7221. */
  7222. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  7223. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7224. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7225. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7226. * 0b0..ON
  7227. * 0b1..OFF
  7228. */
  7229. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  7230. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7231. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7232. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7233. * 0b0..ON
  7234. * 0b1..OFF
  7235. */
  7236. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  7237. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7238. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7239. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7240. * 0b0..ON
  7241. * 0b1..OFF
  7242. */
  7243. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  7244. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7245. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7246. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7247. * 0b0..ON
  7248. * 0b1..OFF
  7249. */
  7250. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  7251. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7252. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7253. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7254. * 0b0..ON
  7255. * 0b1..OFF
  7256. */
  7257. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  7258. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7259. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7260. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7261. * 0b0..ON
  7262. * 0b1..OFF
  7263. */
  7264. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  7265. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7266. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7267. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7268. * 0b0..ON
  7269. * 0b1..OFF
  7270. */
  7271. #define ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_BANDGAP_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  7272. /*! @} */
  7273. /*! @name FBB_M7_ENABLE_SP - FBB_M7_ENABLE_SP_REGISTER */
  7274. /*! @{ */
  7275. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7276. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7277. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7278. * 0b0..ON
  7279. * 0b1..OFF
  7280. */
  7281. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  7282. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7283. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7284. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7285. * 0b0..ON
  7286. * 0b1..OFF
  7287. */
  7288. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  7289. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7290. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7291. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7292. * 0b0..ON
  7293. * 0b1..OFF
  7294. */
  7295. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  7296. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7297. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7298. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7299. * 0b0..ON
  7300. * 0b1..OFF
  7301. */
  7302. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  7303. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7304. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7305. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7306. * 0b0..ON
  7307. * 0b1..OFF
  7308. */
  7309. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  7310. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7311. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7312. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7313. * 0b0..ON
  7314. * 0b1..OFF
  7315. */
  7316. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  7317. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7318. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7319. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7320. * 0b0..ON
  7321. * 0b1..OFF
  7322. */
  7323. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  7324. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7325. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7326. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7327. * 0b0..ON
  7328. * 0b1..OFF
  7329. */
  7330. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  7331. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7332. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7333. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7334. * 0b0..ON
  7335. * 0b1..OFF
  7336. */
  7337. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  7338. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7339. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7340. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7341. * 0b0..ON
  7342. * 0b1..OFF
  7343. */
  7344. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  7345. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7346. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7347. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7348. * 0b0..ON
  7349. * 0b1..OFF
  7350. */
  7351. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  7352. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7353. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7354. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7355. * 0b0..ON
  7356. * 0b1..OFF
  7357. */
  7358. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  7359. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7360. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7361. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7362. * 0b0..ON
  7363. * 0b1..OFF
  7364. */
  7365. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  7366. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7367. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7368. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7369. * 0b0..ON
  7370. * 0b1..OFF
  7371. */
  7372. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  7373. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7374. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7375. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7376. * 0b0..ON
  7377. * 0b1..OFF
  7378. */
  7379. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  7380. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7381. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7382. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7383. * 0b0..ON
  7384. * 0b1..OFF
  7385. */
  7386. #define ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_FBB_M7_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  7387. /*! @} */
  7388. /*! @name RBB_SOC_ENABLE_SP - RBB_SOC_ENABLE_SP_REGISTER */
  7389. /*! @{ */
  7390. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7391. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7392. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7393. * 0b0..ON
  7394. * 0b1..OFF
  7395. */
  7396. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  7397. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7398. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7399. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7400. * 0b0..ON
  7401. * 0b1..OFF
  7402. */
  7403. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  7404. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7405. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7406. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7407. * 0b0..ON
  7408. * 0b1..OFF
  7409. */
  7410. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  7411. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7412. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7413. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7414. * 0b0..ON
  7415. * 0b1..OFF
  7416. */
  7417. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  7418. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7419. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7420. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7421. * 0b0..ON
  7422. * 0b1..OFF
  7423. */
  7424. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  7425. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7426. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7427. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7428. * 0b0..ON
  7429. * 0b1..OFF
  7430. */
  7431. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  7432. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7433. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7434. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7435. * 0b0..ON
  7436. * 0b1..OFF
  7437. */
  7438. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  7439. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7440. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7441. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7442. * 0b0..ON
  7443. * 0b1..OFF
  7444. */
  7445. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  7446. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7447. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7448. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7449. * 0b0..ON
  7450. * 0b1..OFF
  7451. */
  7452. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  7453. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7454. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7455. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7456. * 0b0..ON
  7457. * 0b1..OFF
  7458. */
  7459. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  7460. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7461. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7462. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7463. * 0b0..ON
  7464. * 0b1..OFF
  7465. */
  7466. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  7467. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7468. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7469. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7470. * 0b0..ON
  7471. * 0b1..OFF
  7472. */
  7473. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  7474. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7475. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7476. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7477. * 0b0..ON
  7478. * 0b1..OFF
  7479. */
  7480. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  7481. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7482. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7483. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7484. * 0b0..ON
  7485. * 0b1..OFF
  7486. */
  7487. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  7488. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7489. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7490. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7491. * 0b0..ON
  7492. * 0b1..OFF
  7493. */
  7494. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  7495. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7496. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7497. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7498. * 0b0..ON
  7499. * 0b1..OFF
  7500. */
  7501. #define ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_RBB_SOC_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  7502. /*! @} */
  7503. /*! @name RBB_LPSR_ENABLE_SP - RBB_LPSR_ENABLE_SP_REGISTER */
  7504. /*! @{ */
  7505. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_MASK (0x1U)
  7506. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT (0U)
  7507. /*! ON_OFF_SETPOINT0 - ON_OFF_SETPOINT0
  7508. * 0b0..ON
  7509. * 0b1..OFF
  7510. */
  7511. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT0_MASK)
  7512. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_MASK (0x2U)
  7513. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT (1U)
  7514. /*! ON_OFF_SETPOINT1 - ON_OFF_SETPOINT1
  7515. * 0b0..ON
  7516. * 0b1..OFF
  7517. */
  7518. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT1_MASK)
  7519. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_MASK (0x4U)
  7520. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT (2U)
  7521. /*! ON_OFF_SETPOINT2 - ON_OFF_SETPOINT2
  7522. * 0b0..ON
  7523. * 0b1..OFF
  7524. */
  7525. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT2_MASK)
  7526. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_MASK (0x8U)
  7527. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT (3U)
  7528. /*! ON_OFF_SETPOINT3 - ON_OFF_SETPOINT3
  7529. * 0b0..ON
  7530. * 0b1..OFF
  7531. */
  7532. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT3_MASK)
  7533. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_MASK (0x10U)
  7534. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT (4U)
  7535. /*! ON_OFF_SETPOINT4 - ON_OFF_SETPOINT4
  7536. * 0b0..ON
  7537. * 0b1..OFF
  7538. */
  7539. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT4_MASK)
  7540. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_MASK (0x20U)
  7541. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT (5U)
  7542. /*! ON_OFF_SETPOINT5 - ON_OFF_SETPOINT5
  7543. * 0b0..ON
  7544. * 0b1..OFF
  7545. */
  7546. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT5_MASK)
  7547. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_MASK (0x40U)
  7548. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT (6U)
  7549. /*! ON_OFF_SETPOINT6 - ON_OFF_SETPOINT6
  7550. * 0b0..ON
  7551. * 0b1..OFF
  7552. */
  7553. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT6_MASK)
  7554. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_MASK (0x80U)
  7555. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT (7U)
  7556. /*! ON_OFF_SETPOINT7 - ON_OFF_SETPOINT7
  7557. * 0b0..ON
  7558. * 0b1..OFF
  7559. */
  7560. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT7_MASK)
  7561. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_MASK (0x100U)
  7562. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT (8U)
  7563. /*! ON_OFF_SETPOINT8 - ON_OFF_SETPOINT8
  7564. * 0b0..ON
  7565. * 0b1..OFF
  7566. */
  7567. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT8_MASK)
  7568. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_MASK (0x200U)
  7569. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT (9U)
  7570. /*! ON_OFF_SETPOINT9 - ON_OFF_SETPOINT9
  7571. * 0b0..ON
  7572. * 0b1..OFF
  7573. */
  7574. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT9_MASK)
  7575. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_MASK (0x400U)
  7576. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT (10U)
  7577. /*! ON_OFF_SETPOINT10 - ON_OFF_SETPOINT10
  7578. * 0b0..ON
  7579. * 0b1..OFF
  7580. */
  7581. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT10_MASK)
  7582. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_MASK (0x800U)
  7583. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT (11U)
  7584. /*! ON_OFF_SETPOINT11 - ON_OFF_SETPOINT11
  7585. * 0b0..ON
  7586. * 0b1..OFF
  7587. */
  7588. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT11_MASK)
  7589. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_MASK (0x1000U)
  7590. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT (12U)
  7591. /*! ON_OFF_SETPOINT12 - ON_OFF_SETPOINT12
  7592. * 0b0..ON
  7593. * 0b1..OFF
  7594. */
  7595. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT12_MASK)
  7596. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_MASK (0x2000U)
  7597. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT (13U)
  7598. /*! ON_OFF_SETPOINT13 - ON_OFF_SETPOINT13
  7599. * 0b0..ON
  7600. * 0b1..OFF
  7601. */
  7602. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT13_MASK)
  7603. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_MASK (0x4000U)
  7604. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT (14U)
  7605. /*! ON_OFF_SETPOINT14 - ON_OFF_SETPOINT14
  7606. * 0b0..ON
  7607. * 0b1..OFF
  7608. */
  7609. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT14_MASK)
  7610. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_MASK (0x8000U)
  7611. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT (15U)
  7612. /*! ON_OFF_SETPOINT15 - ON_OFF_SETPOINT15
  7613. * 0b0..ON
  7614. * 0b1..OFF
  7615. */
  7616. #define ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_SHIFT)) & ANADIG_PMU_RBB_LPSR_ENABLE_SP_ON_OFF_SETPOINT15_MASK)
  7617. /*! @} */
  7618. /*! @name BANDGAP_STBY_EN_SP - BANDGAP_STBY_EN_SP_REGISTER */
  7619. /*! @{ */
  7620. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7621. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7622. /*! STBY_EN_SETPOINT0 - STBY_EN_SETPOINT
  7623. * 0b0..Disabled
  7624. * 0b1..Enabled
  7625. */
  7626. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  7627. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7628. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7629. /*! STBY_EN_SETPOINT1 - STBY_EN_SETPOINT
  7630. * 0b0..Disabled
  7631. * 0b1..Enabled
  7632. */
  7633. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  7634. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7635. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7636. /*! STBY_EN_SETPOINT2 - STBY_EN_SETPOINT
  7637. * 0b0..Disabled
  7638. * 0b1..Enabled
  7639. */
  7640. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  7641. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7642. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7643. /*! STBY_EN_SETPOINT3 - STBY_EN_SETPOINT
  7644. * 0b0..Disabled
  7645. * 0b1..Enabled
  7646. */
  7647. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  7648. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7649. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7650. /*! STBY_EN_SETPOINT4 - STBY_EN_SETPOINT
  7651. * 0b0..Disabled
  7652. * 0b1..Enabled
  7653. */
  7654. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  7655. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7656. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7657. /*! STBY_EN_SETPOINT5 - STBY_EN_SETPOINT
  7658. * 0b0..Disabled
  7659. * 0b1..Enabled
  7660. */
  7661. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  7662. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7663. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7664. /*! STBY_EN_SETPOINT6 - STBY_EN_SETPOINT
  7665. * 0b0..Disabled
  7666. * 0b1..Enabled
  7667. */
  7668. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  7669. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7670. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7671. /*! STBY_EN_SETPOINT7 - STBY_EN_SETPOINT
  7672. * 0b0..Disabled
  7673. * 0b1..Enabled
  7674. */
  7675. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  7676. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7677. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7678. /*! STBY_EN_SETPOINT8 - STBY_EN_SETPOINT
  7679. * 0b0..Disabled
  7680. * 0b1..Enabled
  7681. */
  7682. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  7683. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7684. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7685. /*! STBY_EN_SETPOINT9 - STBY_EN_SETPOINT
  7686. * 0b0..Disabled
  7687. * 0b1..Enabled
  7688. */
  7689. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  7690. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7691. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7692. /*! STBY_EN_SETPOINT10 - STBY_EN_SETPOINT
  7693. * 0b0..Disabled
  7694. * 0b1..Enabled
  7695. */
  7696. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  7697. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7698. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7699. /*! STBY_EN_SETPOINT11 - STBY_EN_SETPOINT
  7700. * 0b0..Disabled
  7701. * 0b1..Enabled
  7702. */
  7703. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  7704. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7705. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7706. /*! STBY_EN_SETPOINT12 - STBY_EN_SETPOINT
  7707. * 0b0..Disabled
  7708. * 0b1..Enabled
  7709. */
  7710. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  7711. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7712. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7713. /*! STBY_EN_SETPOINT13 - STBY_EN_SETPOINT
  7714. * 0b0..Disabled
  7715. * 0b1..Enabled
  7716. */
  7717. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  7718. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7719. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7720. /*! STBY_EN_SETPOINT14 - STBY_EN_SETPOINT
  7721. * 0b0..Disabled
  7722. * 0b1..Enabled
  7723. */
  7724. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  7725. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7726. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7727. /*! STBY_EN_SETPOINT15 - STBY_EN_SETPOINT
  7728. * 0b0..Disabled
  7729. * 0b1..Enabled
  7730. */
  7731. #define ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_BANDGAP_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  7732. /*! @} */
  7733. /*! @name PLL_LDO_STBY_EN_SP - PLL_LDO_STBY_EN_SP_REGISTER */
  7734. /*! @{ */
  7735. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7736. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7737. /*! STBY_EN_SETPOINT0 - Standby mode
  7738. * 0b0..Disabled
  7739. * 0b1..Enabled
  7740. */
  7741. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  7742. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7743. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7744. /*! STBY_EN_SETPOINT1 - Standby mode
  7745. * 0b0..Disabled
  7746. * 0b1..Enabled
  7747. */
  7748. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  7749. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7750. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7751. /*! STBY_EN_SETPOINT2 - Standby mode
  7752. * 0b0..Disabled
  7753. * 0b1..Enabled
  7754. */
  7755. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  7756. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7757. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7758. /*! STBY_EN_SETPOINT3 - Standby mode
  7759. * 0b0..Disabled
  7760. * 0b1..Enabled
  7761. */
  7762. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  7763. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7764. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7765. /*! STBY_EN_SETPOINT4 - Standby mode
  7766. * 0b0..Disabled
  7767. * 0b1..Enabled
  7768. */
  7769. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  7770. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7771. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7772. /*! STBY_EN_SETPOINT5 - Standby mode
  7773. * 0b0..Disabled
  7774. * 0b1..Enabled
  7775. */
  7776. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  7777. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7778. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7779. /*! STBY_EN_SETPOINT6 - Standby mode
  7780. * 0b0..Disabled
  7781. * 0b1..Enabled
  7782. */
  7783. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  7784. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7785. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7786. /*! STBY_EN_SETPOINT7 - Standby mode
  7787. * 0b0..Disabled
  7788. * 0b1..Enabled
  7789. */
  7790. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  7791. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7792. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7793. /*! STBY_EN_SETPOINT8 - Standby mode
  7794. * 0b0..Disabled
  7795. * 0b1..Enabled
  7796. */
  7797. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  7798. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7799. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7800. /*! STBY_EN_SETPOINT9 - Standby mode
  7801. * 0b0..Disabled
  7802. * 0b1..Enabled
  7803. */
  7804. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  7805. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7806. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7807. /*! STBY_EN_SETPOINT10 - Standby mode
  7808. * 0b0..Disabled
  7809. * 0b1..Enabled
  7810. */
  7811. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  7812. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7813. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7814. /*! STBY_EN_SETPOINT11 - Standby mode
  7815. * 0b0..Disabled
  7816. * 0b1..Enabled
  7817. */
  7818. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  7819. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7820. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7821. /*! STBY_EN_SETPOINT12 - Standby mode
  7822. * 0b0..Disabled
  7823. * 0b1..Enabled
  7824. */
  7825. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  7826. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7827. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7828. /*! STBY_EN_SETPOINT13 - Standby mode
  7829. * 0b0..Disabled
  7830. * 0b1..Enabled
  7831. */
  7832. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  7833. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7834. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7835. /*! STBY_EN_SETPOINT14 - Standby mode
  7836. * 0b0..Disabled
  7837. * 0b1..Enabled
  7838. */
  7839. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  7840. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7841. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7842. /*! STBY_EN_SETPOINT15 - Standby mode
  7843. * 0b0..Disabled
  7844. * 0b1..Enabled
  7845. */
  7846. #define ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_PLL_LDO_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  7847. /*! @} */
  7848. /*! @name FBB_M7_STBY_EN_SP - FBB_M7_STBY_EN_SP_REGISTER */
  7849. /*! @{ */
  7850. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7851. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7852. /*! STBY_EN_SETPOINT0 - Standby mode
  7853. * 0b0..Disabled
  7854. * 0b1..Enabled
  7855. */
  7856. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  7857. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7858. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7859. /*! STBY_EN_SETPOINT1 - Standby mode
  7860. * 0b0..Disabled
  7861. * 0b1..Enabled
  7862. */
  7863. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  7864. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7865. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7866. /*! STBY_EN_SETPOINT2 - Standby mode
  7867. * 0b0..Disabled
  7868. * 0b1..Enabled
  7869. */
  7870. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  7871. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7872. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7873. /*! STBY_EN_SETPOINT3 - Standby mode
  7874. * 0b0..Disabled
  7875. * 0b1..Enabled
  7876. */
  7877. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  7878. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7879. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7880. /*! STBY_EN_SETPOINT4 - Standby mode
  7881. * 0b0..Disabled
  7882. * 0b1..Enabled
  7883. */
  7884. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  7885. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  7886. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  7887. /*! STBY_EN_SETPOINT5 - Standby mode
  7888. * 0b0..Disabled
  7889. * 0b1..Enabled
  7890. */
  7891. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  7892. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  7893. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  7894. /*! STBY_EN_SETPOINT6 - Standby mode
  7895. * 0b0..Disabled
  7896. * 0b1..Enabled
  7897. */
  7898. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  7899. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  7900. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  7901. /*! STBY_EN_SETPOINT7 - Standby mode
  7902. * 0b0..Disabled
  7903. * 0b1..Enabled
  7904. */
  7905. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  7906. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  7907. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  7908. /*! STBY_EN_SETPOINT8 - Standby mode
  7909. * 0b0..Disabled
  7910. * 0b1..Enabled
  7911. */
  7912. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  7913. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  7914. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  7915. /*! STBY_EN_SETPOINT9 - Standby mode
  7916. * 0b0..Disabled
  7917. * 0b1..Enabled
  7918. */
  7919. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  7920. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  7921. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  7922. /*! STBY_EN_SETPOINT10 - Standby mode
  7923. * 0b0..Disabled
  7924. * 0b1..Enabled
  7925. */
  7926. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  7927. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  7928. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  7929. /*! STBY_EN_SETPOINT11 - Standby mode
  7930. * 0b0..Disabled
  7931. * 0b1..Enabled
  7932. */
  7933. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  7934. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  7935. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  7936. /*! STBY_EN_SETPOINT12 - Standby mode
  7937. * 0b0..Disabled
  7938. * 0b1..Enabled
  7939. */
  7940. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  7941. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  7942. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  7943. /*! STBY_EN_SETPOINT13 - Standby mode
  7944. * 0b0..Disabled
  7945. * 0b1..Enabled
  7946. */
  7947. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  7948. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  7949. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  7950. /*! STBY_EN_SETPOINT14 - Standby mode
  7951. * 0b0..Disabled
  7952. * 0b1..Enabled
  7953. */
  7954. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  7955. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  7956. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  7957. /*! STBY_EN_SETPOINT15 - Standby mode
  7958. * 0b0..Disabled
  7959. * 0b1..Enabled
  7960. */
  7961. #define ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_FBB_M7_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  7962. /*! @} */
  7963. /*! @name RBB_SOC_STBY_EN_SP - RBB_SOC_STBY_EN_SP_REGISTER */
  7964. /*! @{ */
  7965. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  7966. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  7967. /*! STBY_EN_SETPOINT0 - Standby mode
  7968. * 0b0..Disabled
  7969. * 0b1..Enabled
  7970. */
  7971. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  7972. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  7973. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  7974. /*! STBY_EN_SETPOINT1 - Standby mode
  7975. * 0b0..Disabled
  7976. * 0b1..Enabled
  7977. */
  7978. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  7979. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  7980. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  7981. /*! STBY_EN_SETPOINT2 - Standby mode
  7982. * 0b0..Disabled
  7983. * 0b1..Enabled
  7984. */
  7985. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  7986. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  7987. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  7988. /*! STBY_EN_SETPOINT3 - Standby mode
  7989. * 0b0..Disabled
  7990. * 0b1..Enabled
  7991. */
  7992. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  7993. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  7994. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  7995. /*! STBY_EN_SETPOINT4 - Standby mode
  7996. * 0b0..Disabled
  7997. * 0b1..Enabled
  7998. */
  7999. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  8000. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  8001. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  8002. /*! STBY_EN_SETPOINT5 - Standby mode
  8003. * 0b0..Disabled
  8004. * 0b1..Enabled
  8005. */
  8006. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  8007. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  8008. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  8009. /*! STBY_EN_SETPOINT6 - Standby mode
  8010. * 0b0..Disabled
  8011. * 0b1..Enabled
  8012. */
  8013. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  8014. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  8015. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  8016. /*! STBY_EN_SETPOINT7 - Standby mode
  8017. * 0b0..Disabled
  8018. * 0b1..Enabled
  8019. */
  8020. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  8021. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  8022. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  8023. /*! STBY_EN_SETPOINT8 - Standby mode
  8024. * 0b0..Disabled
  8025. * 0b1..Enabled
  8026. */
  8027. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  8028. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  8029. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  8030. /*! STBY_EN_SETPOINT9 - Standby mode
  8031. * 0b0..Disabled
  8032. * 0b1..Enabled
  8033. */
  8034. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  8035. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  8036. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  8037. /*! STBY_EN_SETPOINT10 - Standby mode
  8038. * 0b0..Disabled
  8039. * 0b1..Enabled
  8040. */
  8041. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  8042. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  8043. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  8044. /*! STBY_EN_SETPOINT11 - Standby mode
  8045. * 0b0..Disabled
  8046. * 0b1..Enabled
  8047. */
  8048. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  8049. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  8050. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  8051. /*! STBY_EN_SETPOINT12 - Standby mode
  8052. * 0b0..Disabled
  8053. * 0b1..Enabled
  8054. */
  8055. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  8056. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  8057. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  8058. /*! STBY_EN_SETPOINT13 - Standby mode
  8059. * 0b0..Disabled
  8060. * 0b1..Enabled
  8061. */
  8062. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  8063. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  8064. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  8065. /*! STBY_EN_SETPOINT14 - Standby mode
  8066. * 0b0..Disabled
  8067. * 0b1..Enabled
  8068. */
  8069. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  8070. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  8071. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  8072. /*! STBY_EN_SETPOINT15 - Standby mode
  8073. * 0b0..Disabled
  8074. * 0b1..Enabled
  8075. */
  8076. #define ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_RBB_SOC_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  8077. /*! @} */
  8078. /*! @name RBB_LPSR_STBY_EN_SP - RBB_LPSR_STBY_EN_SP_REGISTER */
  8079. /*! @{ */
  8080. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_MASK (0x1U)
  8081. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT (0U)
  8082. /*! STBY_EN_SETPOINT0 - Standby mode
  8083. * 0b0..Disabled
  8084. * 0b1..Enabled
  8085. */
  8086. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT0_MASK)
  8087. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_MASK (0x2U)
  8088. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT (1U)
  8089. /*! STBY_EN_SETPOINT1 - Standby mode
  8090. * 0b0..Disabled
  8091. * 0b1..Enabled
  8092. */
  8093. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT1_MASK)
  8094. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_MASK (0x4U)
  8095. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT (2U)
  8096. /*! STBY_EN_SETPOINT2 - Standby mode
  8097. * 0b0..Disabled
  8098. * 0b1..Enabled
  8099. */
  8100. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT2_MASK)
  8101. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_MASK (0x8U)
  8102. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT (3U)
  8103. /*! STBY_EN_SETPOINT3 - Standby mode
  8104. * 0b0..Disabled
  8105. * 0b1..Enabled
  8106. */
  8107. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT3_MASK)
  8108. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_MASK (0x10U)
  8109. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT (4U)
  8110. /*! STBY_EN_SETPOINT4 - Standby mode
  8111. * 0b0..Disabled
  8112. * 0b1..Enabled
  8113. */
  8114. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT4_MASK)
  8115. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_MASK (0x20U)
  8116. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT (5U)
  8117. /*! STBY_EN_SETPOINT5 - Standby mode
  8118. * 0b0..Disabled
  8119. * 0b1..Enabled
  8120. */
  8121. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT5_MASK)
  8122. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_MASK (0x40U)
  8123. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT (6U)
  8124. /*! STBY_EN_SETPOINT6 - Standby mode
  8125. * 0b0..Disabled
  8126. * 0b1..Enabled
  8127. */
  8128. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT6_MASK)
  8129. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_MASK (0x80U)
  8130. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT (7U)
  8131. /*! STBY_EN_SETPOINT7 - Standby mode
  8132. * 0b0..Disabled
  8133. * 0b1..Enabled
  8134. */
  8135. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT7_MASK)
  8136. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_MASK (0x100U)
  8137. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT (8U)
  8138. /*! STBY_EN_SETPOINT8 - Standby mode
  8139. * 0b0..Disabled
  8140. * 0b1..Enabled
  8141. */
  8142. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT8_MASK)
  8143. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_MASK (0x200U)
  8144. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT (9U)
  8145. /*! STBY_EN_SETPOINT9 - Standby mode
  8146. * 0b0..Disabled
  8147. * 0b1..Enabled
  8148. */
  8149. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT9_MASK)
  8150. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_MASK (0x400U)
  8151. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT (10U)
  8152. /*! STBY_EN_SETPOINT10 - Standby mode
  8153. * 0b0..Disabled
  8154. * 0b1..Enabled
  8155. */
  8156. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT10_MASK)
  8157. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_MASK (0x800U)
  8158. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT (11U)
  8159. /*! STBY_EN_SETPOINT11 - Standby mode
  8160. * 0b0..Disabled
  8161. * 0b1..Enabled
  8162. */
  8163. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT11_MASK)
  8164. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_MASK (0x1000U)
  8165. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT (12U)
  8166. /*! STBY_EN_SETPOINT12 - Standby mode
  8167. * 0b0..Disabled
  8168. * 0b1..Enabled
  8169. */
  8170. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT12_MASK)
  8171. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_MASK (0x2000U)
  8172. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT (13U)
  8173. /*! STBY_EN_SETPOINT13 - Standby mode
  8174. * 0b0..Disabled
  8175. * 0b1..Enabled
  8176. */
  8177. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT13_MASK)
  8178. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_MASK (0x4000U)
  8179. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT (14U)
  8180. /*! STBY_EN_SETPOINT14 - Standby mode
  8181. * 0b0..Disabled
  8182. * 0b1..Enabled
  8183. */
  8184. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT14_MASK)
  8185. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_MASK (0x8000U)
  8186. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT (15U)
  8187. /*! STBY_EN_SETPOINT15 - Standby mode
  8188. * 0b0..Disabled
  8189. * 0b1..Enabled
  8190. */
  8191. #define ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_SHIFT)) & ANADIG_PMU_RBB_LPSR_STBY_EN_SP_STBY_EN_SETPOINT15_MASK)
  8192. /*! @} */
  8193. /*! @name FBB_M7_CONFIGURE - FBB_M7_CONFIGURE_REGISTER */
  8194. /*! @{ */
  8195. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8196. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8197. /*! WB_CFG_PW - wb_cfg_pw
  8198. */
  8199. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_SHIFT)) & ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_PW_MASK)
  8200. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8201. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8202. /*! WB_CFG_NW - wb_cfg_nw
  8203. */
  8204. #define ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_SHIFT)) & ANADIG_PMU_FBB_M7_CONFIGURE_WB_CFG_NW_MASK)
  8205. #define ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8206. #define ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8207. /*! OSCILLATOR_BITS - oscillator_bits
  8208. */
  8209. #define ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_SHIFT)) & ANADIG_PMU_FBB_M7_CONFIGURE_OSCILLATOR_BITS_MASK)
  8210. #define ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8211. #define ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8212. /*! REGULATOR_STRENGTH - regulator_strength
  8213. */
  8214. #define ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_SHIFT)) & ANADIG_PMU_FBB_M7_CONFIGURE_REGULATOR_STRENGTH_MASK)
  8215. /*! @} */
  8216. /*! @name RBB_LPSR_CONFIGURE - RBB_LPSR_CONFIGURE_REGISTER */
  8217. /*! @{ */
  8218. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8219. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8220. /*! WB_CFG_PW - wb_cfg_pw
  8221. */
  8222. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_SHIFT)) & ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_PW_MASK)
  8223. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8224. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8225. /*! WB_CFG_NW - wb_cfg_nw
  8226. */
  8227. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_SHIFT)) & ANADIG_PMU_RBB_LPSR_CONFIGURE_WB_CFG_NW_MASK)
  8228. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8229. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8230. /*! OSCILLATOR_BITS - oscillator_bits
  8231. */
  8232. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_SHIFT)) & ANADIG_PMU_RBB_LPSR_CONFIGURE_OSCILLATOR_BITS_MASK)
  8233. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8234. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8235. /*! REGULATOR_STRENGTH - regulator_strength
  8236. */
  8237. #define ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_SHIFT)) & ANADIG_PMU_RBB_LPSR_CONFIGURE_REGULATOR_STRENGTH_MASK)
  8238. /*! @} */
  8239. /*! @name RBB_SOC_CONFIGURE - RBB_SOC_CONFIGURE_REGISTER */
  8240. /*! @{ */
  8241. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_MASK (0xFU)
  8242. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_SHIFT (0U)
  8243. /*! WB_CFG_PW - wb_cfg_pw
  8244. */
  8245. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_SHIFT)) & ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_PW_MASK)
  8246. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_MASK (0xF0U)
  8247. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_SHIFT (4U)
  8248. /*! WB_CFG_NW - wb_cfg_nw
  8249. */
  8250. #define ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_SHIFT)) & ANADIG_PMU_RBB_SOC_CONFIGURE_WB_CFG_NW_MASK)
  8251. #define ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_MASK (0x700U)
  8252. #define ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_SHIFT (8U)
  8253. /*! OSCILLATOR_BITS - oscillator_bits
  8254. */
  8255. #define ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_SHIFT)) & ANADIG_PMU_RBB_SOC_CONFIGURE_OSCILLATOR_BITS_MASK)
  8256. #define ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_MASK (0x3800U)
  8257. #define ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_SHIFT (11U)
  8258. /*! REGULATOR_STRENGTH - regulator_strength
  8259. */
  8260. #define ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_SHIFT)) & ANADIG_PMU_RBB_SOC_CONFIGURE_REGULATOR_STRENGTH_MASK)
  8261. /*! @} */
  8262. /*! @name REFTOP_OTP_TRIM_VALUE - REFTOP_OTP_TRIM_VALUE_REGISTER */
  8263. /*! @{ */
  8264. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_MASK (0x7U)
  8265. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_SHIFT (0U)
  8266. /*! REFTOP_IBZTCADJ - REFTOP_IBZTCADJ
  8267. */
  8268. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_SHIFT)) & ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_IBZTCADJ_MASK)
  8269. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_MASK (0x38U)
  8270. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_SHIFT (3U)
  8271. /*! REFTOP_VBGADJ - REFTOP_VBGADJ
  8272. */
  8273. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_SHIFT)) & ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_VBGADJ_MASK)
  8274. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_MASK (0x40U)
  8275. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_SHIFT (6U)
  8276. /*! REFTOP_TRIM_EN - REFTOP_TRIM_EN
  8277. */
  8278. #define ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_SHIFT)) & ANADIG_PMU_REFTOP_OTP_TRIM_VALUE_REFTOP_TRIM_EN_MASK)
  8279. /*! @} */
  8280. /*! @name LPSR_1P8_LDO_OTP_TRIM_VALUE - LPSR_1P8_LDO_OTP_TRIM_VALUE_REGISTER */
  8281. /*! @{ */
  8282. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_MASK (0x3U)
  8283. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_SHIFT (0U)
  8284. /*! LPSR_LDO_1P8_TRIM - LPSR_LDO_1P8_TRIM
  8285. */
  8286. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_SHIFT)) & ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_MASK)
  8287. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_MASK (0x4U)
  8288. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_SHIFT (2U)
  8289. /*! LPSR_LDO_1P8_TRIM_EN - LPSR_LDO_1P8_TRIM_EN
  8290. */
  8291. #define ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_SHIFT)) & ANADIG_PMU_LPSR_1P8_LDO_OTP_TRIM_VALUE_LPSR_LDO_1P8_TRIM_EN_MASK)
  8292. /*! @} */
  8293. /*!
  8294. * @}
  8295. */ /* end of group ANADIG_PMU_Register_Masks */
  8296. /* ANADIG_PMU - Peripheral instance base addresses */
  8297. /** Peripheral ANADIG_PMU base address */
  8298. #define ANADIG_PMU_BASE (0x40C84000u)
  8299. /** Peripheral ANADIG_PMU base pointer */
  8300. #define ANADIG_PMU ((ANADIG_PMU_Type *)ANADIG_PMU_BASE)
  8301. /** Array initializer of ANADIG_PMU peripheral base addresses */
  8302. #define ANADIG_PMU_BASE_ADDRS { ANADIG_PMU_BASE }
  8303. /** Array initializer of ANADIG_PMU peripheral base pointers */
  8304. #define ANADIG_PMU_BASE_PTRS { ANADIG_PMU }
  8305. /*!
  8306. * @}
  8307. */ /* end of group ANADIG_PMU_Peripheral_Access_Layer */
  8308. /* ----------------------------------------------------------------------------
  8309. -- ANADIG_TEMPSENSOR Peripheral Access Layer
  8310. ---------------------------------------------------------------------------- */
  8311. /*!
  8312. * @addtogroup ANADIG_TEMPSENSOR_Peripheral_Access_Layer ANADIG_TEMPSENSOR Peripheral Access Layer
  8313. * @{
  8314. */
  8315. /** ANADIG_TEMPSENSOR - Register Layout Typedef */
  8316. typedef struct {
  8317. uint8_t RESERVED_0[1024];
  8318. __IO uint32_t TEMPSENSOR; /**< Tempsensor Register, offset: 0x400 */
  8319. uint8_t RESERVED_1[44];
  8320. __I uint32_t TEMPSNS_OTP_TRIM_VALUE; /**< TEMPSNS_OTP_TRIM_VALUE_REGISTER, offset: 0x430 */
  8321. } ANADIG_TEMPSENSOR_Type;
  8322. /* ----------------------------------------------------------------------------
  8323. -- ANADIG_TEMPSENSOR Register Masks
  8324. ---------------------------------------------------------------------------- */
  8325. /*!
  8326. * @addtogroup ANADIG_TEMPSENSOR_Register_Masks ANADIG_TEMPSENSOR Register Masks
  8327. * @{
  8328. */
  8329. /*! @name TEMPSENSOR - Tempsensor Register */
  8330. /*! @{ */
  8331. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_MASK (0x8000U)
  8332. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_SHIFT (15U)
  8333. /*! TEMPSNS_AI_TOGGLE - AI toggle
  8334. */
  8335. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_SHIFT)) & ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_TOGGLE_MASK)
  8336. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_MASK (0x10000U)
  8337. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_SHIFT (16U)
  8338. /*! TEMPSNS_AI_BUSY - AI Busy monitor
  8339. */
  8340. #define ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_SHIFT)) & ANADIG_TEMPSENSOR_TEMPSENSOR_TEMPSNS_AI_BUSY_MASK)
  8341. /*! @} */
  8342. /*! @name TEMPSNS_OTP_TRIM_VALUE - TEMPSNS_OTP_TRIM_VALUE_REGISTER */
  8343. /*! @{ */
  8344. #define ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_MASK (0x3FFC00U)
  8345. #define ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_SHIFT (10U)
  8346. /*! TEMPSNS_TEMP_VAL - Temperature Value at 25C
  8347. */
  8348. #define ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_SHIFT)) & ANADIG_TEMPSENSOR_TEMPSNS_OTP_TRIM_VALUE_TEMPSNS_TEMP_VAL_MASK)
  8349. /*! @} */
  8350. /*!
  8351. * @}
  8352. */ /* end of group ANADIG_TEMPSENSOR_Register_Masks */
  8353. /* ANADIG_TEMPSENSOR - Peripheral instance base addresses */
  8354. /** Peripheral ANADIG_TEMPSENSOR base address */
  8355. #define ANADIG_TEMPSENSOR_BASE (0x40C84000u)
  8356. /** Peripheral ANADIG_TEMPSENSOR base pointer */
  8357. #define ANADIG_TEMPSENSOR ((ANADIG_TEMPSENSOR_Type *)ANADIG_TEMPSENSOR_BASE)
  8358. /** Array initializer of ANADIG_TEMPSENSOR peripheral base addresses */
  8359. #define ANADIG_TEMPSENSOR_BASE_ADDRS { ANADIG_TEMPSENSOR_BASE }
  8360. /** Array initializer of ANADIG_TEMPSENSOR peripheral base pointers */
  8361. #define ANADIG_TEMPSENSOR_BASE_PTRS { ANADIG_TEMPSENSOR }
  8362. /*!
  8363. * @}
  8364. */ /* end of group ANADIG_TEMPSENSOR_Peripheral_Access_Layer */
  8365. /* ----------------------------------------------------------------------------
  8366. -- AOI Peripheral Access Layer
  8367. ---------------------------------------------------------------------------- */
  8368. /*!
  8369. * @addtogroup AOI_Peripheral_Access_Layer AOI Peripheral Access Layer
  8370. * @{
  8371. */
  8372. /** AOI - Register Layout Typedef */
  8373. typedef struct {
  8374. struct { /* offset: 0x0, array step: 0x4 */
  8375. __IO uint16_t BFCRT01; /**< Boolean Function Term 0 and 1 Configuration Register for EVENTn, array offset: 0x0, array step: 0x4 */
  8376. __IO uint16_t BFCRT23; /**< Boolean Function Term 2 and 3 Configuration Register for EVENTn, array offset: 0x2, array step: 0x4 */
  8377. } BFCRT[4];
  8378. } AOI_Type;
  8379. /* ----------------------------------------------------------------------------
  8380. -- AOI Register Masks
  8381. ---------------------------------------------------------------------------- */
  8382. /*!
  8383. * @addtogroup AOI_Register_Masks AOI Register Masks
  8384. * @{
  8385. */
  8386. /*! @name BFCRT01 - Boolean Function Term 0 and 1 Configuration Register for EVENTn */
  8387. /*! @{ */
  8388. #define AOI_BFCRT01_PT1_DC_MASK (0x3U)
  8389. #define AOI_BFCRT01_PT1_DC_SHIFT (0U)
  8390. /*! PT1_DC - Product term 1, D input configuration
  8391. * 0b00..Force the D input in this product term to a logical zero
  8392. * 0b01..Pass the D input in this product term
  8393. * 0b10..Complement the D input in this product term
  8394. * 0b11..Force the D input in this product term to a logical one
  8395. */
  8396. #define AOI_BFCRT01_PT1_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_DC_SHIFT)) & AOI_BFCRT01_PT1_DC_MASK)
  8397. #define AOI_BFCRT01_PT1_CC_MASK (0xCU)
  8398. #define AOI_BFCRT01_PT1_CC_SHIFT (2U)
  8399. /*! PT1_CC - Product term 1, C input configuration
  8400. * 0b00..Force the C input in this product term to a logical zero
  8401. * 0b01..Pass the C input in this product term
  8402. * 0b10..Complement the C input in this product term
  8403. * 0b11..Force the C input in this product term to a logical one
  8404. */
  8405. #define AOI_BFCRT01_PT1_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_CC_SHIFT)) & AOI_BFCRT01_PT1_CC_MASK)
  8406. #define AOI_BFCRT01_PT1_BC_MASK (0x30U)
  8407. #define AOI_BFCRT01_PT1_BC_SHIFT (4U)
  8408. /*! PT1_BC - Product term 1, B input configuration
  8409. * 0b00..Force the B input in this product term to a logical zero
  8410. * 0b01..Pass the B input in this product term
  8411. * 0b10..Complement the B input in this product term
  8412. * 0b11..Force the B input in this product term to a logical one
  8413. */
  8414. #define AOI_BFCRT01_PT1_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_BC_SHIFT)) & AOI_BFCRT01_PT1_BC_MASK)
  8415. #define AOI_BFCRT01_PT1_AC_MASK (0xC0U)
  8416. #define AOI_BFCRT01_PT1_AC_SHIFT (6U)
  8417. /*! PT1_AC - Product term 1, A input configuration
  8418. * 0b00..Force the A input in this product term to a logical zero
  8419. * 0b01..Pass the A input in this product term
  8420. * 0b10..Complement the A input in this product term
  8421. * 0b11..Force the A input in this product term to a logical one
  8422. */
  8423. #define AOI_BFCRT01_PT1_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT1_AC_SHIFT)) & AOI_BFCRT01_PT1_AC_MASK)
  8424. #define AOI_BFCRT01_PT0_DC_MASK (0x300U)
  8425. #define AOI_BFCRT01_PT0_DC_SHIFT (8U)
  8426. /*! PT0_DC - Product term 0, D input configuration
  8427. * 0b00..Force the D input in this product term to a logical zero
  8428. * 0b01..Pass the D input in this product term
  8429. * 0b10..Complement the D input in this product term
  8430. * 0b11..Force the D input in this product term to a logical one
  8431. */
  8432. #define AOI_BFCRT01_PT0_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_DC_SHIFT)) & AOI_BFCRT01_PT0_DC_MASK)
  8433. #define AOI_BFCRT01_PT0_CC_MASK (0xC00U)
  8434. #define AOI_BFCRT01_PT0_CC_SHIFT (10U)
  8435. /*! PT0_CC - Product term 0, C input configuration
  8436. * 0b00..Force the C input in this product term to a logical zero
  8437. * 0b01..Pass the C input in this product term
  8438. * 0b10..Complement the C input in this product term
  8439. * 0b11..Force the C input in this product term to a logical one
  8440. */
  8441. #define AOI_BFCRT01_PT0_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_CC_SHIFT)) & AOI_BFCRT01_PT0_CC_MASK)
  8442. #define AOI_BFCRT01_PT0_BC_MASK (0x3000U)
  8443. #define AOI_BFCRT01_PT0_BC_SHIFT (12U)
  8444. /*! PT0_BC - Product term 0, B input configuration
  8445. * 0b00..Force the B input in this product term to a logical zero
  8446. * 0b01..Pass the B input in this product term
  8447. * 0b10..Complement the B input in this product term
  8448. * 0b11..Force the B input in this product term to a logical one
  8449. */
  8450. #define AOI_BFCRT01_PT0_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_BC_SHIFT)) & AOI_BFCRT01_PT0_BC_MASK)
  8451. #define AOI_BFCRT01_PT0_AC_MASK (0xC000U)
  8452. #define AOI_BFCRT01_PT0_AC_SHIFT (14U)
  8453. /*! PT0_AC - Product term 0, A input configuration
  8454. * 0b00..Force the A input in this product term to a logical zero
  8455. * 0b01..Pass the A input in this product term
  8456. * 0b10..Complement the A input in this product term
  8457. * 0b11..Force the A input in this product term to a logical one
  8458. */
  8459. #define AOI_BFCRT01_PT0_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT01_PT0_AC_SHIFT)) & AOI_BFCRT01_PT0_AC_MASK)
  8460. /*! @} */
  8461. /* The count of AOI_BFCRT01 */
  8462. #define AOI_BFCRT01_COUNT (4U)
  8463. /*! @name BFCRT23 - Boolean Function Term 2 and 3 Configuration Register for EVENTn */
  8464. /*! @{ */
  8465. #define AOI_BFCRT23_PT3_DC_MASK (0x3U)
  8466. #define AOI_BFCRT23_PT3_DC_SHIFT (0U)
  8467. /*! PT3_DC - Product term 3, D input configuration
  8468. * 0b00..Force the D input in this product term to a logical zero
  8469. * 0b01..Pass the D input in this product term
  8470. * 0b10..Complement the D input in this product term
  8471. * 0b11..Force the D input in this product term to a logical one
  8472. */
  8473. #define AOI_BFCRT23_PT3_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_DC_SHIFT)) & AOI_BFCRT23_PT3_DC_MASK)
  8474. #define AOI_BFCRT23_PT3_CC_MASK (0xCU)
  8475. #define AOI_BFCRT23_PT3_CC_SHIFT (2U)
  8476. /*! PT3_CC - Product term 3, C input configuration
  8477. * 0b00..Force the C input in this product term to a logical zero
  8478. * 0b01..Pass the C input in this product term
  8479. * 0b10..Complement the C input in this product term
  8480. * 0b11..Force the C input in this product term to a logical one
  8481. */
  8482. #define AOI_BFCRT23_PT3_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_CC_SHIFT)) & AOI_BFCRT23_PT3_CC_MASK)
  8483. #define AOI_BFCRT23_PT3_BC_MASK (0x30U)
  8484. #define AOI_BFCRT23_PT3_BC_SHIFT (4U)
  8485. /*! PT3_BC - Product term 3, B input configuration
  8486. * 0b00..Force the B input in this product term to a logical zero
  8487. * 0b01..Pass the B input in this product term
  8488. * 0b10..Complement the B input in this product term
  8489. * 0b11..Force the B input in this product term to a logical one
  8490. */
  8491. #define AOI_BFCRT23_PT3_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_BC_SHIFT)) & AOI_BFCRT23_PT3_BC_MASK)
  8492. #define AOI_BFCRT23_PT3_AC_MASK (0xC0U)
  8493. #define AOI_BFCRT23_PT3_AC_SHIFT (6U)
  8494. /*! PT3_AC - Product term 3, A input configuration
  8495. * 0b00..Force the A input in this product term to a logical zero
  8496. * 0b01..Pass the A input in this product term
  8497. * 0b10..Complement the A input in this product term
  8498. * 0b11..Force the A input in this product term to a logical one
  8499. */
  8500. #define AOI_BFCRT23_PT3_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT3_AC_SHIFT)) & AOI_BFCRT23_PT3_AC_MASK)
  8501. #define AOI_BFCRT23_PT2_DC_MASK (0x300U)
  8502. #define AOI_BFCRT23_PT2_DC_SHIFT (8U)
  8503. /*! PT2_DC - Product term 2, D input configuration
  8504. * 0b00..Force the D input in this product term to a logical zero
  8505. * 0b01..Pass the D input in this product term
  8506. * 0b10..Complement the D input in this product term
  8507. * 0b11..Force the D input in this product term to a logical one
  8508. */
  8509. #define AOI_BFCRT23_PT2_DC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_DC_SHIFT)) & AOI_BFCRT23_PT2_DC_MASK)
  8510. #define AOI_BFCRT23_PT2_CC_MASK (0xC00U)
  8511. #define AOI_BFCRT23_PT2_CC_SHIFT (10U)
  8512. /*! PT2_CC - Product term 2, C input configuration
  8513. * 0b00..Force the C input in this product term to a logical zero
  8514. * 0b01..Pass the C input in this product term
  8515. * 0b10..Complement the C input in this product term
  8516. * 0b11..Force the C input in this product term to a logical one
  8517. */
  8518. #define AOI_BFCRT23_PT2_CC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_CC_SHIFT)) & AOI_BFCRT23_PT2_CC_MASK)
  8519. #define AOI_BFCRT23_PT2_BC_MASK (0x3000U)
  8520. #define AOI_BFCRT23_PT2_BC_SHIFT (12U)
  8521. /*! PT2_BC - Product term 2, B input configuration
  8522. * 0b00..Force the B input in this product term to a logical zero
  8523. * 0b01..Pass the B input in this product term
  8524. * 0b10..Complement the B input in this product term
  8525. * 0b11..Force the B input in this product term to a logical one
  8526. */
  8527. #define AOI_BFCRT23_PT2_BC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_BC_SHIFT)) & AOI_BFCRT23_PT2_BC_MASK)
  8528. #define AOI_BFCRT23_PT2_AC_MASK (0xC000U)
  8529. #define AOI_BFCRT23_PT2_AC_SHIFT (14U)
  8530. /*! PT2_AC - Product term 2, A input configuration
  8531. * 0b00..Force the A input in this product term to a logical zero
  8532. * 0b01..Pass the A input in this product term
  8533. * 0b10..Complement the A input in this product term
  8534. * 0b11..Force the A input in this product term to a logical one
  8535. */
  8536. #define AOI_BFCRT23_PT2_AC(x) (((uint16_t)(((uint16_t)(x)) << AOI_BFCRT23_PT2_AC_SHIFT)) & AOI_BFCRT23_PT2_AC_MASK)
  8537. /*! @} */
  8538. /* The count of AOI_BFCRT23 */
  8539. #define AOI_BFCRT23_COUNT (4U)
  8540. /*!
  8541. * @}
  8542. */ /* end of group AOI_Register_Masks */
  8543. /* AOI - Peripheral instance base addresses */
  8544. /** Peripheral AOI1 base address */
  8545. #define AOI1_BASE (0x400B8000u)
  8546. /** Peripheral AOI1 base pointer */
  8547. #define AOI1 ((AOI_Type *)AOI1_BASE)
  8548. /** Peripheral AOI2 base address */
  8549. #define AOI2_BASE (0x400BC000u)
  8550. /** Peripheral AOI2 base pointer */
  8551. #define AOI2 ((AOI_Type *)AOI2_BASE)
  8552. /** Array initializer of AOI peripheral base addresses */
  8553. #define AOI_BASE_ADDRS { 0u, AOI1_BASE, AOI2_BASE }
  8554. /** Array initializer of AOI peripheral base pointers */
  8555. #define AOI_BASE_PTRS { (AOI_Type *)0u, AOI1, AOI2 }
  8556. /*!
  8557. * @}
  8558. */ /* end of group AOI_Peripheral_Access_Layer */
  8559. /* ----------------------------------------------------------------------------
  8560. -- ASRC Peripheral Access Layer
  8561. ---------------------------------------------------------------------------- */
  8562. /*!
  8563. * @addtogroup ASRC_Peripheral_Access_Layer ASRC Peripheral Access Layer
  8564. * @{
  8565. */
  8566. /** ASRC - Register Layout Typedef */
  8567. typedef struct {
  8568. __IO uint32_t ASRCTR; /**< ASRC Control Register, offset: 0x0 */
  8569. __IO uint32_t ASRIER; /**< ASRC Interrupt Enable Register, offset: 0x4 */
  8570. uint8_t RESERVED_0[4];
  8571. __IO uint32_t ASRCNCR; /**< ASRC Channel Number Configuration Register, offset: 0xC */
  8572. __IO uint32_t ASRCFG; /**< ASRC Filter Configuration Status Register, offset: 0x10 */
  8573. __IO uint32_t ASRCSR; /**< ASRC Clock Source Register, offset: 0x14 */
  8574. __IO uint32_t ASRCDR1; /**< ASRC Clock Divider Register 1, offset: 0x18 */
  8575. __IO uint32_t ASRCDR2; /**< ASRC Clock Divider Register 2, offset: 0x1C */
  8576. __I uint32_t ASRSTR; /**< ASRC Status Register, offset: 0x20 */
  8577. uint8_t RESERVED_1[28];
  8578. __IO uint32_t ASRPM[5]; /**< ASRC Parameter Register n, array offset: 0x40, array step: 0x4 */
  8579. __IO uint32_t ASRTFR1; /**< ASRC Task Queue FIFO Register 1, offset: 0x54 */
  8580. uint8_t RESERVED_2[4];
  8581. __IO uint32_t ASRCCR; /**< ASRC Channel Counter Register, offset: 0x5C */
  8582. __O uint32_t ASRDIA; /**< ASRC Data Input Register for Pair x, offset: 0x60 */
  8583. __I uint32_t ASRDOA; /**< ASRC Data Output Register for Pair x, offset: 0x64 */
  8584. __O uint32_t ASRDIB; /**< ASRC Data Input Register for Pair x, offset: 0x68 */
  8585. __I uint32_t ASRDOB; /**< ASRC Data Output Register for Pair x, offset: 0x6C */
  8586. __O uint32_t ASRDIC; /**< ASRC Data Input Register for Pair x, offset: 0x70 */
  8587. __I uint32_t ASRDOC; /**< ASRC Data Output Register for Pair x, offset: 0x74 */
  8588. uint8_t RESERVED_3[8];
  8589. __IO uint32_t ASRIDRHA; /**< ASRC Ideal Ratio for Pair A-High Part, offset: 0x80 */
  8590. __IO uint32_t ASRIDRLA; /**< ASRC Ideal Ratio for Pair A -Low Part, offset: 0x84 */
  8591. __IO uint32_t ASRIDRHB; /**< ASRC Ideal Ratio for Pair B-High Part, offset: 0x88 */
  8592. __IO uint32_t ASRIDRLB; /**< ASRC Ideal Ratio for Pair B-Low Part, offset: 0x8C */
  8593. __IO uint32_t ASRIDRHC; /**< ASRC Ideal Ratio for Pair C-High Part, offset: 0x90 */
  8594. __IO uint32_t ASRIDRLC; /**< ASRC Ideal Ratio for Pair C-Low Part, offset: 0x94 */
  8595. __IO uint32_t ASR76K; /**< ASRC 76 kHz Period in terms of ASRC processing clock, offset: 0x98 */
  8596. __IO uint32_t ASR56K; /**< ASRC 56 kHz Period in terms of ASRC processing clock, offset: 0x9C */
  8597. __IO uint32_t ASRMCRA; /**< ASRC Misc Control Register for Pair A, offset: 0xA0 */
  8598. __I uint32_t ASRFSTA; /**< ASRC FIFO Status Register for Pair A, offset: 0xA4 */
  8599. __IO uint32_t ASRMCRB; /**< ASRC Misc Control Register for Pair B, offset: 0xA8 */
  8600. __I uint32_t ASRFSTB; /**< ASRC FIFO Status Register for Pair B, offset: 0xAC */
  8601. __IO uint32_t ASRMCRC; /**< ASRC Misc Control Register for Pair C, offset: 0xB0 */
  8602. __I uint32_t ASRFSTC; /**< ASRC FIFO Status Register for Pair C, offset: 0xB4 */
  8603. uint8_t RESERVED_4[8];
  8604. __IO uint32_t ASRMCR1[3]; /**< ASRC Misc Control Register 1 for Pair X, array offset: 0xC0, array step: 0x4 */
  8605. } ASRC_Type;
  8606. /* ----------------------------------------------------------------------------
  8607. -- ASRC Register Masks
  8608. ---------------------------------------------------------------------------- */
  8609. /*!
  8610. * @addtogroup ASRC_Register_Masks ASRC Register Masks
  8611. * @{
  8612. */
  8613. /*! @name ASRCTR - ASRC Control Register */
  8614. /*! @{ */
  8615. #define ASRC_ASRCTR_ASRCEN_MASK (0x1U)
  8616. #define ASRC_ASRCTR_ASRCEN_SHIFT (0U)
  8617. /*! ASRCEN - ASRCEN
  8618. * 0b0..operation of ASRC disabled
  8619. * 0b1..operation ASRC is enabled
  8620. */
  8621. #define ASRC_ASRCTR_ASRCEN(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASRCEN_SHIFT)) & ASRC_ASRCTR_ASRCEN_MASK)
  8622. #define ASRC_ASRCTR_ASREA_MASK (0x2U)
  8623. #define ASRC_ASRCTR_ASREA_SHIFT (1U)
  8624. /*! ASREA - ASREA
  8625. * 0b0..operation of conversion A is disabled
  8626. * 0b1..operation of conversion A is enabled
  8627. */
  8628. #define ASRC_ASRCTR_ASREA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREA_SHIFT)) & ASRC_ASRCTR_ASREA_MASK)
  8629. #define ASRC_ASRCTR_ASREB_MASK (0x4U)
  8630. #define ASRC_ASRCTR_ASREB_SHIFT (2U)
  8631. /*! ASREB - ASREB
  8632. * 0b0..operation of conversion B is disabled
  8633. * 0b1..operation of conversion B is enabled
  8634. */
  8635. #define ASRC_ASRCTR_ASREB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREB_SHIFT)) & ASRC_ASRCTR_ASREB_MASK)
  8636. #define ASRC_ASRCTR_ASREC_MASK (0x8U)
  8637. #define ASRC_ASRCTR_ASREC_SHIFT (3U)
  8638. /*! ASREC - ASREC
  8639. * 0b0..operation of conversion C is disabled
  8640. * 0b1..operation of conversion C is enabled
  8641. */
  8642. #define ASRC_ASRCTR_ASREC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ASREC_SHIFT)) & ASRC_ASRCTR_ASREC_MASK)
  8643. #define ASRC_ASRCTR_SRST_MASK (0x10U)
  8644. #define ASRC_ASRCTR_SRST_SHIFT (4U)
  8645. /*! SRST - SRST
  8646. * 0b0..ASRC Software reset cleared
  8647. * 0b1..ASRC Software reset generated. NOTE: This is a self-clear bit
  8648. */
  8649. #define ASRC_ASRCTR_SRST(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_SRST_SHIFT)) & ASRC_ASRCTR_SRST_MASK)
  8650. #define ASRC_ASRCTR_IDRA_MASK (0x2000U)
  8651. #define ASRC_ASRCTR_IDRA_SHIFT (13U)
  8652. /*! IDRA - IDRA
  8653. * 0b0..ASRC internal measured ratio is used
  8654. * 0b1..Ideal ratio from the interface register ASRIDRHA, ASRIDRLA is used
  8655. */
  8656. #define ASRC_ASRCTR_IDRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRA_SHIFT)) & ASRC_ASRCTR_IDRA_MASK)
  8657. #define ASRC_ASRCTR_USRA_MASK (0x4000U)
  8658. #define ASRC_ASRCTR_USRA_SHIFT (14U)
  8659. /*! USRA - USRA
  8660. * 0b1..Use ratio as the input to ASRC for pair A
  8661. * 0b0..Do not use ratio as the input to ASRC for pair A
  8662. */
  8663. #define ASRC_ASRCTR_USRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRA_SHIFT)) & ASRC_ASRCTR_USRA_MASK)
  8664. #define ASRC_ASRCTR_IDRB_MASK (0x8000U)
  8665. #define ASRC_ASRCTR_IDRB_SHIFT (15U)
  8666. /*! IDRB - IDRB
  8667. * 0b0..ASRC internal measured ratio is used
  8668. * 0b1..Ideal ratio from the interface register ASRIDRHB, ASRIDRLB is used
  8669. */
  8670. #define ASRC_ASRCTR_IDRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRB_SHIFT)) & ASRC_ASRCTR_IDRB_MASK)
  8671. #define ASRC_ASRCTR_USRB_MASK (0x10000U)
  8672. #define ASRC_ASRCTR_USRB_SHIFT (16U)
  8673. /*! USRB - USRB
  8674. * 0b1..Use ratio as the input to ASRC for pair B
  8675. * 0b0..Do not use ratio as the input to ASRC for pair B
  8676. */
  8677. #define ASRC_ASRCTR_USRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRB_SHIFT)) & ASRC_ASRCTR_USRB_MASK)
  8678. #define ASRC_ASRCTR_IDRC_MASK (0x20000U)
  8679. #define ASRC_ASRCTR_IDRC_SHIFT (17U)
  8680. /*! IDRC - IDRC
  8681. * 0b0..ASRC internal measured ratio is used
  8682. * 0b1..Ideal ratio from the interface register ASRIDRHC, ASRIDRLC is used
  8683. */
  8684. #define ASRC_ASRCTR_IDRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_IDRC_SHIFT)) & ASRC_ASRCTR_IDRC_MASK)
  8685. #define ASRC_ASRCTR_USRC_MASK (0x40000U)
  8686. #define ASRC_ASRCTR_USRC_SHIFT (18U)
  8687. /*! USRC - USRC
  8688. * 0b1..Use ratio as the input to ASRC for pair C
  8689. * 0b0..Do not use ratio as the input to ASRC for pair C
  8690. */
  8691. #define ASRC_ASRCTR_USRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_USRC_SHIFT)) & ASRC_ASRCTR_USRC_MASK)
  8692. #define ASRC_ASRCTR_ATSA_MASK (0x100000U)
  8693. #define ASRC_ASRCTR_ATSA_SHIFT (20U)
  8694. /*! ATSA - ATSA
  8695. * 0b1..Pair A automatically updates its pre-processing and post-processing options
  8696. * 0b0..Pair A does not automatically update its pre-processing and post-processing options
  8697. */
  8698. #define ASRC_ASRCTR_ATSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSA_SHIFT)) & ASRC_ASRCTR_ATSA_MASK)
  8699. #define ASRC_ASRCTR_ATSB_MASK (0x200000U)
  8700. #define ASRC_ASRCTR_ATSB_SHIFT (21U)
  8701. /*! ATSB - ATSB
  8702. * 0b1..Pair B automatically updates its pre-processing and post-processing options
  8703. * 0b0..Pair B does not automatically update its pre-processing and post-processing options
  8704. */
  8705. #define ASRC_ASRCTR_ATSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSB_SHIFT)) & ASRC_ASRCTR_ATSB_MASK)
  8706. #define ASRC_ASRCTR_ATSC_MASK (0x400000U)
  8707. #define ASRC_ASRCTR_ATSC_SHIFT (22U)
  8708. /*! ATSC - ATSC
  8709. * 0b1..Pair C automatically updates its pre-processing and post-processing options
  8710. * 0b0..Pair C does not automatically update its pre-processing and post-processing options
  8711. */
  8712. #define ASRC_ASRCTR_ATSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCTR_ATSC_SHIFT)) & ASRC_ASRCTR_ATSC_MASK)
  8713. /*! @} */
  8714. /*! @name ASRIER - ASRC Interrupt Enable Register */
  8715. /*! @{ */
  8716. #define ASRC_ASRIER_ADIEA_MASK (0x1U)
  8717. #define ASRC_ASRIER_ADIEA_SHIFT (0U)
  8718. /*! ADIEA - ADIEA
  8719. * 0b1..interrupt enabled
  8720. * 0b0..interrupt disabled
  8721. */
  8722. #define ASRC_ASRIER_ADIEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEA_SHIFT)) & ASRC_ASRIER_ADIEA_MASK)
  8723. #define ASRC_ASRIER_ADIEB_MASK (0x2U)
  8724. #define ASRC_ASRIER_ADIEB_SHIFT (1U)
  8725. /*! ADIEB - ADIEB
  8726. * 0b1..interrupt enabled
  8727. * 0b0..interrupt disabled
  8728. */
  8729. #define ASRC_ASRIER_ADIEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEB_SHIFT)) & ASRC_ASRIER_ADIEB_MASK)
  8730. #define ASRC_ASRIER_ADIEC_MASK (0x4U)
  8731. #define ASRC_ASRIER_ADIEC_SHIFT (2U)
  8732. /*! ADIEC - ADIEC
  8733. * 0b1..interrupt enabled
  8734. * 0b0..interrupt disabled
  8735. */
  8736. #define ASRC_ASRIER_ADIEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADIEC_SHIFT)) & ASRC_ASRIER_ADIEC_MASK)
  8737. #define ASRC_ASRIER_ADOEA_MASK (0x8U)
  8738. #define ASRC_ASRIER_ADOEA_SHIFT (3U)
  8739. /*! ADOEA - ADOEA
  8740. * 0b1..interrupt enabled
  8741. * 0b0..interrupt disabled
  8742. */
  8743. #define ASRC_ASRIER_ADOEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEA_SHIFT)) & ASRC_ASRIER_ADOEA_MASK)
  8744. #define ASRC_ASRIER_ADOEB_MASK (0x10U)
  8745. #define ASRC_ASRIER_ADOEB_SHIFT (4U)
  8746. /*! ADOEB - ADOEB
  8747. * 0b1..interrupt enabled
  8748. * 0b0..interrupt disabled
  8749. */
  8750. #define ASRC_ASRIER_ADOEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEB_SHIFT)) & ASRC_ASRIER_ADOEB_MASK)
  8751. #define ASRC_ASRIER_ADOEC_MASK (0x20U)
  8752. #define ASRC_ASRIER_ADOEC_SHIFT (5U)
  8753. /*! ADOEC - ADOEC
  8754. * 0b1..interrupt enabled
  8755. * 0b0..interrupt disabled
  8756. */
  8757. #define ASRC_ASRIER_ADOEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_ADOEC_SHIFT)) & ASRC_ASRIER_ADOEC_MASK)
  8758. #define ASRC_ASRIER_AOLIE_MASK (0x40U)
  8759. #define ASRC_ASRIER_AOLIE_SHIFT (6U)
  8760. /*! AOLIE - AOLIE
  8761. * 0b1..interrupt enabled
  8762. * 0b0..interrupt disabled
  8763. */
  8764. #define ASRC_ASRIER_AOLIE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_AOLIE_SHIFT)) & ASRC_ASRIER_AOLIE_MASK)
  8765. #define ASRC_ASRIER_AFPWE_MASK (0x80U)
  8766. #define ASRC_ASRIER_AFPWE_SHIFT (7U)
  8767. /*! AFPWE - AFPWE
  8768. * 0b1..interrupt enabled
  8769. * 0b0..interrupt disabled
  8770. */
  8771. #define ASRC_ASRIER_AFPWE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIER_AFPWE_SHIFT)) & ASRC_ASRIER_AFPWE_MASK)
  8772. /*! @} */
  8773. /*! @name ASRCNCR - ASRC Channel Number Configuration Register */
  8774. /*! @{ */
  8775. #define ASRC_ASRCNCR_ANCA_MASK (0xFU)
  8776. #define ASRC_ASRCNCR_ANCA_SHIFT (0U)
  8777. /*! ANCA - ANCA
  8778. * 0b0000..0 channels in A (Pair A is disabled)
  8779. * 0b0001..1 channel in A
  8780. * 0b0010..2 channels in A
  8781. * 0b0011..3 channels in A
  8782. * 0b0100..4 channels in A
  8783. * 0b0101..5 channels in A
  8784. * 0b0110..6 channels in A
  8785. * 0b0111..7 channels in A
  8786. * 0b1000..8 channels in A
  8787. * 0b1001..9 channels in A
  8788. * 0b1010..10 channels in A
  8789. * 0b1011-0b1111..Should not be used.
  8790. */
  8791. #define ASRC_ASRCNCR_ANCA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCA_SHIFT)) & ASRC_ASRCNCR_ANCA_MASK)
  8792. #define ASRC_ASRCNCR_ANCB_MASK (0xF0U)
  8793. #define ASRC_ASRCNCR_ANCB_SHIFT (4U)
  8794. /*! ANCB - ANCB
  8795. * 0b0000..0 channels in B (Pair B is disabled)
  8796. * 0b0001..1 channel in B
  8797. * 0b0010..2 channels in B
  8798. * 0b0011..3 channels in B
  8799. * 0b0100..4 channels in B
  8800. * 0b0101..5 channels in B
  8801. * 0b0110..6 channels in B
  8802. * 0b0111..7 channels in B
  8803. * 0b1000..8 channels in B
  8804. * 0b1001..9 channels in B
  8805. * 0b1010..10 channels in B
  8806. * 0b1011-0b1111..Should not be used.
  8807. */
  8808. #define ASRC_ASRCNCR_ANCB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCB_SHIFT)) & ASRC_ASRCNCR_ANCB_MASK)
  8809. #define ASRC_ASRCNCR_ANCC_MASK (0xF00U)
  8810. #define ASRC_ASRCNCR_ANCC_SHIFT (8U)
  8811. /*! ANCC - ANCC
  8812. * 0b0000..0 channels in C (Pair C is disabled)
  8813. * 0b0001..1 channel in C
  8814. * 0b0010..2 channels in C
  8815. * 0b0011..3 channels in C
  8816. * 0b0100..4 channels in C
  8817. * 0b0101..5 channels in C
  8818. * 0b0110..6 channels in C
  8819. * 0b0111..7 channels in C
  8820. * 0b1000..8 channels in C
  8821. * 0b1001..9 channels in C
  8822. * 0b1010..10 channels in C
  8823. * 0b1011-0b1111..Should not be used.
  8824. */
  8825. #define ASRC_ASRCNCR_ANCC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCNCR_ANCC_SHIFT)) & ASRC_ASRCNCR_ANCC_MASK)
  8826. /*! @} */
  8827. /*! @name ASRCFG - ASRC Filter Configuration Status Register */
  8828. /*! @{ */
  8829. #define ASRC_ASRCFG_PREMODA_MASK (0xC0U)
  8830. #define ASRC_ASRCFG_PREMODA_SHIFT (6U)
  8831. /*! PREMODA - PREMODA
  8832. * 0b00..Select Upsampling-by-2
  8833. * 0b01..Select Direct-Connection
  8834. * 0b10..Select Downsampling-by-2
  8835. * 0b11..Select passthrough mode. In this case, POSTMODA[1:0] have no use.
  8836. */
  8837. #define ASRC_ASRCFG_PREMODA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODA_SHIFT)) & ASRC_ASRCFG_PREMODA_MASK)
  8838. #define ASRC_ASRCFG_POSTMODA_MASK (0x300U)
  8839. #define ASRC_ASRCFG_POSTMODA_SHIFT (8U)
  8840. /*! POSTMODA - POSTMODA
  8841. * 0b00..Select Upsampling-by-2
  8842. * 0b01..Select Direct-Connection
  8843. * 0b10..Select Downsampling-by-2
  8844. * 0b11..Reserved.
  8845. */
  8846. #define ASRC_ASRCFG_POSTMODA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODA_SHIFT)) & ASRC_ASRCFG_POSTMODA_MASK)
  8847. #define ASRC_ASRCFG_PREMODB_MASK (0xC00U)
  8848. #define ASRC_ASRCFG_PREMODB_SHIFT (10U)
  8849. /*! PREMODB - PREMODB
  8850. * 0b00..Select Upsampling-by-2
  8851. * 0b01..Select Direct-Connection
  8852. * 0b10..Select Downsampling-by-2
  8853. * 0b11..Select passthrough mode. In this case, POSTMODB[1:0] have no use.
  8854. */
  8855. #define ASRC_ASRCFG_PREMODB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODB_SHIFT)) & ASRC_ASRCFG_PREMODB_MASK)
  8856. #define ASRC_ASRCFG_POSTMODB_MASK (0x3000U)
  8857. #define ASRC_ASRCFG_POSTMODB_SHIFT (12U)
  8858. /*! POSTMODB - POSTMODB
  8859. * 0b00..Select Upsampling-by-2
  8860. * 0b01..Select Direct-Connection
  8861. * 0b10..Select Downsampling-by-2
  8862. * 0b11..Reserved.
  8863. */
  8864. #define ASRC_ASRCFG_POSTMODB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODB_SHIFT)) & ASRC_ASRCFG_POSTMODB_MASK)
  8865. #define ASRC_ASRCFG_PREMODC_MASK (0xC000U)
  8866. #define ASRC_ASRCFG_PREMODC_SHIFT (14U)
  8867. /*! PREMODC - PREMODC
  8868. * 0b00..Select Upsampling-by-2
  8869. * 0b01..Select Direct-Connection
  8870. * 0b10..Select Downsampling-by-2
  8871. * 0b11..Select passthrough mode. In this case, POSTMODC[1:0] have no use.
  8872. */
  8873. #define ASRC_ASRCFG_PREMODC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_PREMODC_SHIFT)) & ASRC_ASRCFG_PREMODC_MASK)
  8874. #define ASRC_ASRCFG_POSTMODC_MASK (0x30000U)
  8875. #define ASRC_ASRCFG_POSTMODC_SHIFT (16U)
  8876. /*! POSTMODC - POSTMODC
  8877. * 0b00..Select Upsampling-by-2 as defined in Signal Processing Flow.
  8878. * 0b01..Select Direct-Connection as defined in Signal Processing Flow.
  8879. * 0b10..Select Downsampling-by-2 as defined in Signal Processing Flow.
  8880. * 0b11..Reserved.
  8881. */
  8882. #define ASRC_ASRCFG_POSTMODC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_POSTMODC_SHIFT)) & ASRC_ASRCFG_POSTMODC_MASK)
  8883. #define ASRC_ASRCFG_NDPRA_MASK (0x40000U)
  8884. #define ASRC_ASRCFG_NDPRA_SHIFT (18U)
  8885. /*! NDPRA - NDPRA
  8886. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8887. * 0b1..Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
  8888. */
  8889. #define ASRC_ASRCFG_NDPRA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRA_SHIFT)) & ASRC_ASRCFG_NDPRA_MASK)
  8890. #define ASRC_ASRCFG_NDPRB_MASK (0x80000U)
  8891. #define ASRC_ASRCFG_NDPRB_SHIFT (19U)
  8892. /*! NDPRB - NDPRB
  8893. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8894. * 0b1..Don't use default parameters for RAM-stored parameter. Use the parameters already stored in RAM.
  8895. */
  8896. #define ASRC_ASRCFG_NDPRB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRB_SHIFT)) & ASRC_ASRCFG_NDPRB_MASK)
  8897. #define ASRC_ASRCFG_NDPRC_MASK (0x100000U)
  8898. #define ASRC_ASRCFG_NDPRC_SHIFT (20U)
  8899. /*! NDPRC - NDPRC
  8900. * 0b0..Use default parameters for RAM-stored parameters. Override any parameters already in RAM.
  8901. * 0b1..Don't use default parameters for RAM-stored parameters. Use the parameters already stored in RAM.
  8902. */
  8903. #define ASRC_ASRCFG_NDPRC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_NDPRC_SHIFT)) & ASRC_ASRCFG_NDPRC_MASK)
  8904. #define ASRC_ASRCFG_INIRQA_MASK (0x200000U)
  8905. #define ASRC_ASRCFG_INIRQA_SHIFT (21U)
  8906. /*! INIRQA - INIRQA
  8907. * 0b0..Initialization for Conversion Pair A not served
  8908. * 0b1..Initialization for Conversion Pair A served
  8909. */
  8910. #define ASRC_ASRCFG_INIRQA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQA_SHIFT)) & ASRC_ASRCFG_INIRQA_MASK)
  8911. #define ASRC_ASRCFG_INIRQB_MASK (0x400000U)
  8912. #define ASRC_ASRCFG_INIRQB_SHIFT (22U)
  8913. /*! INIRQB - INIRQB
  8914. * 0b0..Initialization for Conversion Pair B not served
  8915. * 0b1..Initialization for Conversion Pair B served
  8916. */
  8917. #define ASRC_ASRCFG_INIRQB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQB_SHIFT)) & ASRC_ASRCFG_INIRQB_MASK)
  8918. #define ASRC_ASRCFG_INIRQC_MASK (0x800000U)
  8919. #define ASRC_ASRCFG_INIRQC_SHIFT (23U)
  8920. /*! INIRQC - INIRQC
  8921. * 0b0..Initialization for Conversion Pair C not served
  8922. * 0b1..Initialization for Conversion Pair C served
  8923. */
  8924. #define ASRC_ASRCFG_INIRQC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCFG_INIRQC_SHIFT)) & ASRC_ASRCFG_INIRQC_MASK)
  8925. /*! @} */
  8926. /*! @name ASRCSR - ASRC Clock Source Register */
  8927. /*! @{ */
  8928. #define ASRC_ASRCSR_AICSA_MASK (0xFU)
  8929. #define ASRC_ASRCSR_AICSA_SHIFT (0U)
  8930. /*! AICSA - AICSA
  8931. * 0b0000..bit clock 0
  8932. * 0b0001..bit clock 1
  8933. * 0b0010..bit clock 2
  8934. * 0b0011..bit clock 3
  8935. * 0b0100..bit clock 4
  8936. * 0b0101..bit clock 5
  8937. * 0b0110..bit clock 6
  8938. * 0b0111..bit clock 7
  8939. * 0b1000..bit clock 8
  8940. * 0b1001..bit clock 9
  8941. * 0b1010..bit clock A
  8942. * 0b1011..bit clock B
  8943. * 0b1100..bit clock C
  8944. * 0b1101..bit clock D
  8945. * 0b1110..bit clock E
  8946. * 0b1111..clock disabled, connected to zero
  8947. */
  8948. #define ASRC_ASRCSR_AICSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSA_SHIFT)) & ASRC_ASRCSR_AICSA_MASK)
  8949. #define ASRC_ASRCSR_AICSB_MASK (0xF0U)
  8950. #define ASRC_ASRCSR_AICSB_SHIFT (4U)
  8951. /*! AICSB - AICSB
  8952. * 0b0000..bit clock 0
  8953. * 0b0001..bit clock 1
  8954. * 0b0010..bit clock 2
  8955. * 0b0011..bit clock 3
  8956. * 0b0100..bit clock 4
  8957. * 0b0101..bit clock 5
  8958. * 0b0110..bit clock 6
  8959. * 0b0111..bit clock 7
  8960. * 0b1000..bit clock 8
  8961. * 0b1001..bit clock 9
  8962. * 0b1010..bit clock A
  8963. * 0b1011..bit clock B
  8964. * 0b1100..bit clock C
  8965. * 0b1101..bit clock D
  8966. * 0b1110..bit clock E
  8967. * 0b1111..clock disabled, connected to zero
  8968. */
  8969. #define ASRC_ASRCSR_AICSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSB_SHIFT)) & ASRC_ASRCSR_AICSB_MASK)
  8970. #define ASRC_ASRCSR_AICSC_MASK (0xF00U)
  8971. #define ASRC_ASRCSR_AICSC_SHIFT (8U)
  8972. /*! AICSC - AICSC
  8973. * 0b0000..bit clock 0
  8974. * 0b0001..bit clock 1
  8975. * 0b0010..bit clock 2
  8976. * 0b0011..bit clock 3
  8977. * 0b0100..bit clock 4
  8978. * 0b0101..bit clock 5
  8979. * 0b0110..bit clock 6
  8980. * 0b0111..bit clock 7
  8981. * 0b1000..bit clock 8
  8982. * 0b1001..bit clock 9
  8983. * 0b1010..bit clock A
  8984. * 0b1011..bit clock B
  8985. * 0b1100..bit clock C
  8986. * 0b1101..bit clock D
  8987. * 0b1110..bit clock E
  8988. * 0b1111..clock disabled, connected to zero
  8989. */
  8990. #define ASRC_ASRCSR_AICSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AICSC_SHIFT)) & ASRC_ASRCSR_AICSC_MASK)
  8991. #define ASRC_ASRCSR_AOCSA_MASK (0xF000U)
  8992. #define ASRC_ASRCSR_AOCSA_SHIFT (12U)
  8993. /*! AOCSA - AOCSA
  8994. * 0b0000..bit clock 0
  8995. * 0b0001..bit clock 1
  8996. * 0b0010..bit clock 2
  8997. * 0b0011..bit clock 3
  8998. * 0b0100..bit clock 4
  8999. * 0b0101..bit clock 5
  9000. * 0b0110..bit clock 6
  9001. * 0b0111..bit clock 7
  9002. * 0b1000..bit clock 8
  9003. * 0b1001..bit clock 9
  9004. * 0b1010..bit clock A
  9005. * 0b1011..bit clock B
  9006. * 0b1100..bit clock C
  9007. * 0b1101..bit clock D
  9008. * 0b1110..bit clock E
  9009. * 0b1111..clock disabled, connected to zero
  9010. */
  9011. #define ASRC_ASRCSR_AOCSA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSA_SHIFT)) & ASRC_ASRCSR_AOCSA_MASK)
  9012. #define ASRC_ASRCSR_AOCSB_MASK (0xF0000U)
  9013. #define ASRC_ASRCSR_AOCSB_SHIFT (16U)
  9014. /*! AOCSB - AOCSB
  9015. * 0b0000..bit clock 0
  9016. * 0b0001..bit clock 1
  9017. * 0b0010..bit clock 2
  9018. * 0b0011..bit clock 3
  9019. * 0b0100..bit clock 4
  9020. * 0b0101..bit clock 5
  9021. * 0b0110..bit clock 6
  9022. * 0b0111..bit clock 7
  9023. * 0b1000..bit clock 8
  9024. * 0b1001..bit clock 9
  9025. * 0b1010..bit clock A
  9026. * 0b1011..bit clock B
  9027. * 0b1100..bit clock C
  9028. * 0b1101..bit clock D
  9029. * 0b1110..bit clock E
  9030. * 0b1111..clock disabled, connected to zero
  9031. */
  9032. #define ASRC_ASRCSR_AOCSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSB_SHIFT)) & ASRC_ASRCSR_AOCSB_MASK)
  9033. #define ASRC_ASRCSR_AOCSC_MASK (0xF00000U)
  9034. #define ASRC_ASRCSR_AOCSC_SHIFT (20U)
  9035. /*! AOCSC - AOCSC
  9036. * 0b0000..bit clock 0
  9037. * 0b0001..bit clock 1
  9038. * 0b0010..bit clock 2
  9039. * 0b0011..bit clock 3
  9040. * 0b0100..bit clock 4
  9041. * 0b0101..bit clock 5
  9042. * 0b0110..bit clock 6
  9043. * 0b0111..bit clock 7
  9044. * 0b1000..bit clock 8
  9045. * 0b1001..bit clock 9
  9046. * 0b1010..bit clock A
  9047. * 0b1011..bit clock B
  9048. * 0b1100..bit clock C
  9049. * 0b1101..bit clock D
  9050. * 0b1110..bit clock E
  9051. * 0b1111..clock disabled, connected to zero
  9052. */
  9053. #define ASRC_ASRCSR_AOCSC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCSR_AOCSC_SHIFT)) & ASRC_ASRCSR_AOCSC_MASK)
  9054. /*! @} */
  9055. /*! @name ASRCDR1 - ASRC Clock Divider Register 1 */
  9056. /*! @{ */
  9057. #define ASRC_ASRCDR1_AICPA_MASK (0x7U)
  9058. #define ASRC_ASRCDR1_AICPA_SHIFT (0U)
  9059. /*! AICPA - AICPA
  9060. */
  9061. #define ASRC_ASRCDR1_AICPA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICPA_SHIFT)) & ASRC_ASRCDR1_AICPA_MASK)
  9062. #define ASRC_ASRCDR1_AICDA_MASK (0x38U)
  9063. #define ASRC_ASRCDR1_AICDA_SHIFT (3U)
  9064. /*! AICDA - AICDA
  9065. */
  9066. #define ASRC_ASRCDR1_AICDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICDA_SHIFT)) & ASRC_ASRCDR1_AICDA_MASK)
  9067. #define ASRC_ASRCDR1_AICPB_MASK (0x1C0U)
  9068. #define ASRC_ASRCDR1_AICPB_SHIFT (6U)
  9069. /*! AICPB - AICPB
  9070. */
  9071. #define ASRC_ASRCDR1_AICPB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICPB_SHIFT)) & ASRC_ASRCDR1_AICPB_MASK)
  9072. #define ASRC_ASRCDR1_AICDB_MASK (0xE00U)
  9073. #define ASRC_ASRCDR1_AICDB_SHIFT (9U)
  9074. /*! AICDB - AICDB
  9075. */
  9076. #define ASRC_ASRCDR1_AICDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AICDB_SHIFT)) & ASRC_ASRCDR1_AICDB_MASK)
  9077. #define ASRC_ASRCDR1_AOCPA_MASK (0x7000U)
  9078. #define ASRC_ASRCDR1_AOCPA_SHIFT (12U)
  9079. /*! AOCPA - AOCPA
  9080. */
  9081. #define ASRC_ASRCDR1_AOCPA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCPA_SHIFT)) & ASRC_ASRCDR1_AOCPA_MASK)
  9082. #define ASRC_ASRCDR1_AOCDA_MASK (0x38000U)
  9083. #define ASRC_ASRCDR1_AOCDA_SHIFT (15U)
  9084. /*! AOCDA - AOCDA
  9085. */
  9086. #define ASRC_ASRCDR1_AOCDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCDA_SHIFT)) & ASRC_ASRCDR1_AOCDA_MASK)
  9087. #define ASRC_ASRCDR1_AOCPB_MASK (0x1C0000U)
  9088. #define ASRC_ASRCDR1_AOCPB_SHIFT (18U)
  9089. /*! AOCPB - AOCPB
  9090. */
  9091. #define ASRC_ASRCDR1_AOCPB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCPB_SHIFT)) & ASRC_ASRCDR1_AOCPB_MASK)
  9092. #define ASRC_ASRCDR1_AOCDB_MASK (0xE00000U)
  9093. #define ASRC_ASRCDR1_AOCDB_SHIFT (21U)
  9094. /*! AOCDB - AOCDB
  9095. */
  9096. #define ASRC_ASRCDR1_AOCDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR1_AOCDB_SHIFT)) & ASRC_ASRCDR1_AOCDB_MASK)
  9097. /*! @} */
  9098. /*! @name ASRCDR2 - ASRC Clock Divider Register 2 */
  9099. /*! @{ */
  9100. #define ASRC_ASRCDR2_AICPC_MASK (0x7U)
  9101. #define ASRC_ASRCDR2_AICPC_SHIFT (0U)
  9102. /*! AICPC - AICPC
  9103. */
  9104. #define ASRC_ASRCDR2_AICPC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AICPC_SHIFT)) & ASRC_ASRCDR2_AICPC_MASK)
  9105. #define ASRC_ASRCDR2_AICDC_MASK (0x38U)
  9106. #define ASRC_ASRCDR2_AICDC_SHIFT (3U)
  9107. /*! AICDC - AICDC
  9108. */
  9109. #define ASRC_ASRCDR2_AICDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AICDC_SHIFT)) & ASRC_ASRCDR2_AICDC_MASK)
  9110. #define ASRC_ASRCDR2_AOCPC_MASK (0x1C0U)
  9111. #define ASRC_ASRCDR2_AOCPC_SHIFT (6U)
  9112. /*! AOCPC - AOCPC
  9113. */
  9114. #define ASRC_ASRCDR2_AOCPC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AOCPC_SHIFT)) & ASRC_ASRCDR2_AOCPC_MASK)
  9115. #define ASRC_ASRCDR2_AOCDC_MASK (0xE00U)
  9116. #define ASRC_ASRCDR2_AOCDC_SHIFT (9U)
  9117. /*! AOCDC - AOCDC
  9118. */
  9119. #define ASRC_ASRCDR2_AOCDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCDR2_AOCDC_SHIFT)) & ASRC_ASRCDR2_AOCDC_MASK)
  9120. /*! @} */
  9121. /*! @name ASRSTR - ASRC Status Register */
  9122. /*! @{ */
  9123. #define ASRC_ASRSTR_AIDEA_MASK (0x1U)
  9124. #define ASRC_ASRSTR_AIDEA_SHIFT (0U)
  9125. /*! AIDEA - AIDEA
  9126. * 0b1..When AIDEA is set, the ASRC generates data input A interrupt request to the processor if ASRIER[AIDEA] = 1
  9127. * 0b0..The threshold has been met and no data input A interrupt is generated
  9128. */
  9129. #define ASRC_ASRSTR_AIDEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEA_SHIFT)) & ASRC_ASRSTR_AIDEA_MASK)
  9130. #define ASRC_ASRSTR_AIDEB_MASK (0x2U)
  9131. #define ASRC_ASRSTR_AIDEB_SHIFT (1U)
  9132. /*! AIDEB - AIDEB
  9133. * 0b1..When AIDEB is set, the ASRC generates data input B interrupt request to the processor if ASRIER[AIDEB] = 1
  9134. * 0b0..The threshold has been met and no data input B interrupt is generated
  9135. */
  9136. #define ASRC_ASRSTR_AIDEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEB_SHIFT)) & ASRC_ASRSTR_AIDEB_MASK)
  9137. #define ASRC_ASRSTR_AIDEC_MASK (0x4U)
  9138. #define ASRC_ASRSTR_AIDEC_SHIFT (2U)
  9139. /*! AIDEC - AIDEC
  9140. * 0b1..When AIDEC is set, the ASRC generates data input C interrupt request to the processor if ASRIER[AIDEC] = 1
  9141. * 0b0..The threshold has been met and no data input C interrupt is generated
  9142. */
  9143. #define ASRC_ASRSTR_AIDEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDEC_SHIFT)) & ASRC_ASRSTR_AIDEC_MASK)
  9144. #define ASRC_ASRSTR_AODFA_MASK (0x8U)
  9145. #define ASRC_ASRSTR_AODFA_SHIFT (3U)
  9146. /*! AODFA - AODFA
  9147. * 0b1..When AODFA is set, the ASRC generates data output A interrupt request to the processor if ASRIER[ADOEA] = 1
  9148. * 0b0..The threshold has not yet been met and no data output A interrupt is generated
  9149. */
  9150. #define ASRC_ASRSTR_AODFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFA_SHIFT)) & ASRC_ASRSTR_AODFA_MASK)
  9151. #define ASRC_ASRSTR_AODFB_MASK (0x10U)
  9152. #define ASRC_ASRSTR_AODFB_SHIFT (4U)
  9153. /*! AODFB - AODFB
  9154. * 0b1..When AODFB is set, the ASRC generates data output B interrupt request to the processor if ASRIER[ADOEB] = 1
  9155. * 0b0..The threshold has not yet been met and no data output B interrupt is generated
  9156. */
  9157. #define ASRC_ASRSTR_AODFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFB_SHIFT)) & ASRC_ASRSTR_AODFB_MASK)
  9158. #define ASRC_ASRSTR_AODFC_MASK (0x20U)
  9159. #define ASRC_ASRSTR_AODFC_SHIFT (5U)
  9160. /*! AODFC - AODFC
  9161. * 0b1..When AODFC is set, the ASRC generates data output C interrupt request to the processor if ASRIER[ADOEC] = 1
  9162. * 0b0..The threshold has not yet been met and no data output C interrupt is generated
  9163. */
  9164. #define ASRC_ASRSTR_AODFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODFC_SHIFT)) & ASRC_ASRSTR_AODFC_MASK)
  9165. #define ASRC_ASRSTR_AOLE_MASK (0x40U)
  9166. #define ASRC_ASRSTR_AOLE_SHIFT (6U)
  9167. /*! AOLE - AOLE
  9168. * 0b1..Task rate is too high
  9169. * 0b0..No overload
  9170. */
  9171. #define ASRC_ASRSTR_AOLE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOLE_SHIFT)) & ASRC_ASRSTR_AOLE_MASK)
  9172. #define ASRC_ASRSTR_FPWT_MASK (0x80U)
  9173. #define ASRC_ASRSTR_FPWT_SHIFT (7U)
  9174. /*! FPWT - FPWT
  9175. * 0b0..ASRC is not in wait state
  9176. * 0b1..ASRC is in wait state
  9177. */
  9178. #define ASRC_ASRSTR_FPWT(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_FPWT_SHIFT)) & ASRC_ASRSTR_FPWT_MASK)
  9179. #define ASRC_ASRSTR_AIDUA_MASK (0x100U)
  9180. #define ASRC_ASRSTR_AIDUA_SHIFT (8U)
  9181. /*! AIDUA - AIDUA
  9182. * 0b0..No Underflow in Input data buffer A
  9183. * 0b1..Underflow in Input data buffer A
  9184. */
  9185. #define ASRC_ASRSTR_AIDUA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUA_SHIFT)) & ASRC_ASRSTR_AIDUA_MASK)
  9186. #define ASRC_ASRSTR_AIDUB_MASK (0x200U)
  9187. #define ASRC_ASRSTR_AIDUB_SHIFT (9U)
  9188. /*! AIDUB - AIDUB
  9189. * 0b0..No Underflow in Input data buffer B
  9190. * 0b1..Underflow in Input data buffer B
  9191. */
  9192. #define ASRC_ASRSTR_AIDUB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUB_SHIFT)) & ASRC_ASRSTR_AIDUB_MASK)
  9193. #define ASRC_ASRSTR_AIDUC_MASK (0x400U)
  9194. #define ASRC_ASRSTR_AIDUC_SHIFT (10U)
  9195. /*! AIDUC - AIDUC
  9196. * 0b0..No Underflow in Input data buffer C
  9197. * 0b1..Underflow in Input data buffer C
  9198. */
  9199. #define ASRC_ASRSTR_AIDUC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIDUC_SHIFT)) & ASRC_ASRSTR_AIDUC_MASK)
  9200. #define ASRC_ASRSTR_AODOA_MASK (0x800U)
  9201. #define ASRC_ASRSTR_AODOA_SHIFT (11U)
  9202. /*! AODOA - AODOA
  9203. * 0b0..No Overflow in Output data buffer A
  9204. * 0b1..Overflow in Output data buffer A
  9205. */
  9206. #define ASRC_ASRSTR_AODOA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOA_SHIFT)) & ASRC_ASRSTR_AODOA_MASK)
  9207. #define ASRC_ASRSTR_AODOB_MASK (0x1000U)
  9208. #define ASRC_ASRSTR_AODOB_SHIFT (12U)
  9209. /*! AODOB - AODOB
  9210. * 0b0..No Overflow in Output data buffer B
  9211. * 0b1..Overflow in Output data buffer B
  9212. */
  9213. #define ASRC_ASRSTR_AODOB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOB_SHIFT)) & ASRC_ASRSTR_AODOB_MASK)
  9214. #define ASRC_ASRSTR_AODOC_MASK (0x2000U)
  9215. #define ASRC_ASRSTR_AODOC_SHIFT (13U)
  9216. /*! AODOC - AODOC
  9217. * 0b0..No Overflow in Output data buffer C
  9218. * 0b1..Overflow in Output data buffer C
  9219. */
  9220. #define ASRC_ASRSTR_AODOC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AODOC_SHIFT)) & ASRC_ASRSTR_AODOC_MASK)
  9221. #define ASRC_ASRSTR_AIOLA_MASK (0x4000U)
  9222. #define ASRC_ASRSTR_AIOLA_SHIFT (14U)
  9223. /*! AIOLA - AIOLA
  9224. * 0b0..Pair A input task is not oveloaded
  9225. * 0b1..Pair A input task is oveloaded
  9226. */
  9227. #define ASRC_ASRSTR_AIOLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLA_SHIFT)) & ASRC_ASRSTR_AIOLA_MASK)
  9228. #define ASRC_ASRSTR_AIOLB_MASK (0x8000U)
  9229. #define ASRC_ASRSTR_AIOLB_SHIFT (15U)
  9230. /*! AIOLB - AIOLB
  9231. * 0b0..Pair B input task is not oveloaded
  9232. * 0b1..Pair B input task is oveloaded
  9233. */
  9234. #define ASRC_ASRSTR_AIOLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLB_SHIFT)) & ASRC_ASRSTR_AIOLB_MASK)
  9235. #define ASRC_ASRSTR_AIOLC_MASK (0x10000U)
  9236. #define ASRC_ASRSTR_AIOLC_SHIFT (16U)
  9237. /*! AIOLC - AIOLC
  9238. * 0b0..Pair C input task is not oveloaded
  9239. * 0b1..Pair C input task is oveloaded
  9240. */
  9241. #define ASRC_ASRSTR_AIOLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AIOLC_SHIFT)) & ASRC_ASRSTR_AIOLC_MASK)
  9242. #define ASRC_ASRSTR_AOOLA_MASK (0x20000U)
  9243. #define ASRC_ASRSTR_AOOLA_SHIFT (17U)
  9244. /*! AOOLA - AOOLA
  9245. * 0b0..Pair A output task is not oveloaded
  9246. * 0b1..Pair A output task is oveloaded
  9247. */
  9248. #define ASRC_ASRSTR_AOOLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLA_SHIFT)) & ASRC_ASRSTR_AOOLA_MASK)
  9249. #define ASRC_ASRSTR_AOOLB_MASK (0x40000U)
  9250. #define ASRC_ASRSTR_AOOLB_SHIFT (18U)
  9251. /*! AOOLB - AOOLB
  9252. * 0b0..Pair B output task is not oveloaded
  9253. * 0b1..Pair B output task is oveloaded
  9254. */
  9255. #define ASRC_ASRSTR_AOOLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLB_SHIFT)) & ASRC_ASRSTR_AOOLB_MASK)
  9256. #define ASRC_ASRSTR_AOOLC_MASK (0x80000U)
  9257. #define ASRC_ASRSTR_AOOLC_SHIFT (19U)
  9258. /*! AOOLC - AOOLC
  9259. * 0b0..Pair C output task is not oveloaded
  9260. * 0b1..Pair C output task is oveloaded
  9261. */
  9262. #define ASRC_ASRSTR_AOOLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_AOOLC_SHIFT)) & ASRC_ASRSTR_AOOLC_MASK)
  9263. #define ASRC_ASRSTR_ATQOL_MASK (0x100000U)
  9264. #define ASRC_ASRSTR_ATQOL_SHIFT (20U)
  9265. /*! ATQOL - ATQOL
  9266. * 0b0..Task queue FIFO logic is not oveloaded
  9267. * 0b1..Task queue FIFO logic is oveloaded
  9268. */
  9269. #define ASRC_ASRSTR_ATQOL(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_ATQOL_SHIFT)) & ASRC_ASRSTR_ATQOL_MASK)
  9270. #define ASRC_ASRSTR_DSLCNT_MASK (0x200000U)
  9271. #define ASRC_ASRSTR_DSLCNT_SHIFT (21U)
  9272. /*! DSLCNT - DSLCNT
  9273. * 0b0..New DSL counter information is in the process of storage into the internal ASRC FIFO
  9274. * 0b1..New DSL counter information is stored in the internal ASRC FIFO
  9275. */
  9276. #define ASRC_ASRSTR_DSLCNT(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRSTR_DSLCNT_SHIFT)) & ASRC_ASRSTR_DSLCNT_MASK)
  9277. /*! @} */
  9278. /*! @name ASRPM - ASRC Parameter Register n */
  9279. /*! @{ */
  9280. #define ASRC_ASRPM_PARAMETER_VALUE_MASK (0xFFFFFFU)
  9281. #define ASRC_ASRPM_PARAMETER_VALUE_SHIFT (0U)
  9282. /*! PARAMETER_VALUE - PARAMETER_VALUE
  9283. */
  9284. #define ASRC_ASRPM_PARAMETER_VALUE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRPM_PARAMETER_VALUE_SHIFT)) & ASRC_ASRPM_PARAMETER_VALUE_MASK)
  9285. /*! @} */
  9286. /* The count of ASRC_ASRPM */
  9287. #define ASRC_ASRPM_COUNT (5U)
  9288. /*! @name ASRTFR1 - ASRC Task Queue FIFO Register 1 */
  9289. /*! @{ */
  9290. #define ASRC_ASRTFR1_TF_BASE_MASK (0x1FC0U)
  9291. #define ASRC_ASRTFR1_TF_BASE_SHIFT (6U)
  9292. /*! TF_BASE - TF_BASE
  9293. */
  9294. #define ASRC_ASRTFR1_TF_BASE(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRTFR1_TF_BASE_SHIFT)) & ASRC_ASRTFR1_TF_BASE_MASK)
  9295. #define ASRC_ASRTFR1_TF_FILL_MASK (0xFE000U)
  9296. #define ASRC_ASRTFR1_TF_FILL_SHIFT (13U)
  9297. /*! TF_FILL - TF_FILL
  9298. */
  9299. #define ASRC_ASRTFR1_TF_FILL(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRTFR1_TF_FILL_SHIFT)) & ASRC_ASRTFR1_TF_FILL_MASK)
  9300. /*! @} */
  9301. /*! @name ASRCCR - ASRC Channel Counter Register */
  9302. /*! @{ */
  9303. #define ASRC_ASRCCR_ACIA_MASK (0xFU)
  9304. #define ASRC_ASRCCR_ACIA_SHIFT (0U)
  9305. /*! ACIA - ACIA
  9306. */
  9307. #define ASRC_ASRCCR_ACIA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIA_SHIFT)) & ASRC_ASRCCR_ACIA_MASK)
  9308. #define ASRC_ASRCCR_ACIB_MASK (0xF0U)
  9309. #define ASRC_ASRCCR_ACIB_SHIFT (4U)
  9310. /*! ACIB - ACIB
  9311. */
  9312. #define ASRC_ASRCCR_ACIB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIB_SHIFT)) & ASRC_ASRCCR_ACIB_MASK)
  9313. #define ASRC_ASRCCR_ACIC_MASK (0xF00U)
  9314. #define ASRC_ASRCCR_ACIC_SHIFT (8U)
  9315. /*! ACIC - ACIC
  9316. */
  9317. #define ASRC_ASRCCR_ACIC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACIC_SHIFT)) & ASRC_ASRCCR_ACIC_MASK)
  9318. #define ASRC_ASRCCR_ACOA_MASK (0xF000U)
  9319. #define ASRC_ASRCCR_ACOA_SHIFT (12U)
  9320. /*! ACOA - ACOA
  9321. */
  9322. #define ASRC_ASRCCR_ACOA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOA_SHIFT)) & ASRC_ASRCCR_ACOA_MASK)
  9323. #define ASRC_ASRCCR_ACOB_MASK (0xF0000U)
  9324. #define ASRC_ASRCCR_ACOB_SHIFT (16U)
  9325. /*! ACOB - ACOB
  9326. */
  9327. #define ASRC_ASRCCR_ACOB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOB_SHIFT)) & ASRC_ASRCCR_ACOB_MASK)
  9328. #define ASRC_ASRCCR_ACOC_MASK (0xF00000U)
  9329. #define ASRC_ASRCCR_ACOC_SHIFT (20U)
  9330. /*! ACOC - ACOC
  9331. */
  9332. #define ASRC_ASRCCR_ACOC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRCCR_ACOC_SHIFT)) & ASRC_ASRCCR_ACOC_MASK)
  9333. /*! @} */
  9334. /*! @name ASRDIA - ASRC Data Input Register for Pair x */
  9335. /*! @{ */
  9336. #define ASRC_ASRDIA_DATA_MASK (0xFFFFFFU)
  9337. #define ASRC_ASRDIA_DATA_SHIFT (0U)
  9338. /*! DATA - DATA
  9339. */
  9340. #define ASRC_ASRDIA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIA_DATA_SHIFT)) & ASRC_ASRDIA_DATA_MASK)
  9341. /*! @} */
  9342. /*! @name ASRDOA - ASRC Data Output Register for Pair x */
  9343. /*! @{ */
  9344. #define ASRC_ASRDOA_DATA_MASK (0xFFFFFFU)
  9345. #define ASRC_ASRDOA_DATA_SHIFT (0U)
  9346. /*! DATA - DATA
  9347. */
  9348. #define ASRC_ASRDOA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOA_DATA_SHIFT)) & ASRC_ASRDOA_DATA_MASK)
  9349. /*! @} */
  9350. /*! @name ASRDIB - ASRC Data Input Register for Pair x */
  9351. /*! @{ */
  9352. #define ASRC_ASRDIB_DATA_MASK (0xFFFFFFU)
  9353. #define ASRC_ASRDIB_DATA_SHIFT (0U)
  9354. /*! DATA - DATA
  9355. */
  9356. #define ASRC_ASRDIB_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIB_DATA_SHIFT)) & ASRC_ASRDIB_DATA_MASK)
  9357. /*! @} */
  9358. /*! @name ASRDOB - ASRC Data Output Register for Pair x */
  9359. /*! @{ */
  9360. #define ASRC_ASRDOB_DATA_MASK (0xFFFFFFU)
  9361. #define ASRC_ASRDOB_DATA_SHIFT (0U)
  9362. /*! DATA - DATA
  9363. */
  9364. #define ASRC_ASRDOB_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOB_DATA_SHIFT)) & ASRC_ASRDOB_DATA_MASK)
  9365. /*! @} */
  9366. /*! @name ASRDIC - ASRC Data Input Register for Pair x */
  9367. /*! @{ */
  9368. #define ASRC_ASRDIC_DATA_MASK (0xFFFFFFU)
  9369. #define ASRC_ASRDIC_DATA_SHIFT (0U)
  9370. /*! DATA - DATA
  9371. */
  9372. #define ASRC_ASRDIC_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDIC_DATA_SHIFT)) & ASRC_ASRDIC_DATA_MASK)
  9373. /*! @} */
  9374. /*! @name ASRDOC - ASRC Data Output Register for Pair x */
  9375. /*! @{ */
  9376. #define ASRC_ASRDOC_DATA_MASK (0xFFFFFFU)
  9377. #define ASRC_ASRDOC_DATA_SHIFT (0U)
  9378. /*! DATA - DATA
  9379. */
  9380. #define ASRC_ASRDOC_DATA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRDOC_DATA_SHIFT)) & ASRC_ASRDOC_DATA_MASK)
  9381. /*! @} */
  9382. /*! @name ASRIDRHA - ASRC Ideal Ratio for Pair A-High Part */
  9383. /*! @{ */
  9384. #define ASRC_ASRIDRHA_IDRATIOA_H_MASK (0xFFU)
  9385. #define ASRC_ASRIDRHA_IDRATIOA_H_SHIFT (0U)
  9386. /*! IDRATIOA_H - IDRATIOA_H
  9387. */
  9388. #define ASRC_ASRIDRHA_IDRATIOA_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHA_IDRATIOA_H_SHIFT)) & ASRC_ASRIDRHA_IDRATIOA_H_MASK)
  9389. /*! @} */
  9390. /*! @name ASRIDRLA - ASRC Ideal Ratio for Pair A -Low Part */
  9391. /*! @{ */
  9392. #define ASRC_ASRIDRLA_IDRATIOA_L_MASK (0xFFFFFFU)
  9393. #define ASRC_ASRIDRLA_IDRATIOA_L_SHIFT (0U)
  9394. /*! IDRATIOA_L - IDRATIOA_L
  9395. */
  9396. #define ASRC_ASRIDRLA_IDRATIOA_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLA_IDRATIOA_L_SHIFT)) & ASRC_ASRIDRLA_IDRATIOA_L_MASK)
  9397. /*! @} */
  9398. /*! @name ASRIDRHB - ASRC Ideal Ratio for Pair B-High Part */
  9399. /*! @{ */
  9400. #define ASRC_ASRIDRHB_IDRATIOB_H_MASK (0xFFU)
  9401. #define ASRC_ASRIDRHB_IDRATIOB_H_SHIFT (0U)
  9402. /*! IDRATIOB_H - IDRATIOB_H
  9403. */
  9404. #define ASRC_ASRIDRHB_IDRATIOB_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHB_IDRATIOB_H_SHIFT)) & ASRC_ASRIDRHB_IDRATIOB_H_MASK)
  9405. /*! @} */
  9406. /*! @name ASRIDRLB - ASRC Ideal Ratio for Pair B-Low Part */
  9407. /*! @{ */
  9408. #define ASRC_ASRIDRLB_IDRATIOB_L_MASK (0xFFFFFFU)
  9409. #define ASRC_ASRIDRLB_IDRATIOB_L_SHIFT (0U)
  9410. /*! IDRATIOB_L - IDRATIOB_L
  9411. */
  9412. #define ASRC_ASRIDRLB_IDRATIOB_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLB_IDRATIOB_L_SHIFT)) & ASRC_ASRIDRLB_IDRATIOB_L_MASK)
  9413. /*! @} */
  9414. /*! @name ASRIDRHC - ASRC Ideal Ratio for Pair C-High Part */
  9415. /*! @{ */
  9416. #define ASRC_ASRIDRHC_IDRATIOC_H_MASK (0xFFU)
  9417. #define ASRC_ASRIDRHC_IDRATIOC_H_SHIFT (0U)
  9418. /*! IDRATIOC_H - IDRATIOC_H
  9419. */
  9420. #define ASRC_ASRIDRHC_IDRATIOC_H(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRHC_IDRATIOC_H_SHIFT)) & ASRC_ASRIDRHC_IDRATIOC_H_MASK)
  9421. /*! @} */
  9422. /*! @name ASRIDRLC - ASRC Ideal Ratio for Pair C-Low Part */
  9423. /*! @{ */
  9424. #define ASRC_ASRIDRLC_IDRATIOC_L_MASK (0xFFFFFFU)
  9425. #define ASRC_ASRIDRLC_IDRATIOC_L_SHIFT (0U)
  9426. /*! IDRATIOC_L - IDRATIOC_L
  9427. */
  9428. #define ASRC_ASRIDRLC_IDRATIOC_L(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRIDRLC_IDRATIOC_L_SHIFT)) & ASRC_ASRIDRLC_IDRATIOC_L_MASK)
  9429. /*! @} */
  9430. /*! @name ASR76K - ASRC 76 kHz Period in terms of ASRC processing clock */
  9431. /*! @{ */
  9432. #define ASRC_ASR76K_ASR76K_MASK (0x1FFFFU)
  9433. #define ASRC_ASR76K_ASR76K_SHIFT (0U)
  9434. /*! ASR76K - ASR76K
  9435. */
  9436. #define ASRC_ASR76K_ASR76K(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASR76K_ASR76K_SHIFT)) & ASRC_ASR76K_ASR76K_MASK)
  9437. /*! @} */
  9438. /*! @name ASR56K - ASRC 56 kHz Period in terms of ASRC processing clock */
  9439. /*! @{ */
  9440. #define ASRC_ASR56K_ASR56K_MASK (0x1FFFFU)
  9441. #define ASRC_ASR56K_ASR56K_SHIFT (0U)
  9442. /*! ASR56K - ASR56K
  9443. */
  9444. #define ASRC_ASR56K_ASR56K(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASR56K_ASR56K_SHIFT)) & ASRC_ASR56K_ASR56K_MASK)
  9445. /*! @} */
  9446. /*! @name ASRMCRA - ASRC Misc Control Register for Pair A */
  9447. /*! @{ */
  9448. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA_MASK (0x3FU)
  9449. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA_SHIFT (0U)
  9450. /*! INFIFO_THRESHOLDA - INFIFO_THRESHOLDA
  9451. */
  9452. #define ASRC_ASRMCRA_INFIFO_THRESHOLDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_INFIFO_THRESHOLDA_SHIFT)) & ASRC_ASRMCRA_INFIFO_THRESHOLDA_MASK)
  9453. #define ASRC_ASRMCRA_RSYNOFA_MASK (0x400U)
  9454. #define ASRC_ASRMCRA_RSYNOFA_SHIFT (10U)
  9455. /*! RSYNOFA - RSYNOFA
  9456. * 0b1..Force ASRCCR[ACOA]=0
  9457. * 0b0..Do not touch ASRCCR[ACOA]
  9458. */
  9459. #define ASRC_ASRMCRA_RSYNOFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_RSYNOFA_SHIFT)) & ASRC_ASRMCRA_RSYNOFA_MASK)
  9460. #define ASRC_ASRMCRA_RSYNIFA_MASK (0x800U)
  9461. #define ASRC_ASRMCRA_RSYNIFA_SHIFT (11U)
  9462. /*! RSYNIFA - RSYNIFA
  9463. * 0b1..Force ASRCCR[ACIA]=0
  9464. * 0b0..Do not touch ASRCCR[ACIA]
  9465. */
  9466. #define ASRC_ASRMCRA_RSYNIFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_RSYNIFA_SHIFT)) & ASRC_ASRMCRA_RSYNIFA_MASK)
  9467. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_MASK (0x3F000U)
  9468. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_SHIFT (12U)
  9469. /*! OUTFIFO_THRESHOLDA - OUTFIFO_THRESHOLDA
  9470. */
  9471. #define ASRC_ASRMCRA_OUTFIFO_THRESHOLDA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_SHIFT)) & ASRC_ASRMCRA_OUTFIFO_THRESHOLDA_MASK)
  9472. #define ASRC_ASRMCRA_BYPASSPOLYA_MASK (0x100000U)
  9473. #define ASRC_ASRMCRA_BYPASSPOLYA_SHIFT (20U)
  9474. /*! BYPASSPOLYA - BYPASSPOLYA
  9475. * 0b1..Bypass polyphase filtering.
  9476. * 0b0..Don't bypass polyphase filtering.
  9477. */
  9478. #define ASRC_ASRMCRA_BYPASSPOLYA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_BYPASSPOLYA_SHIFT)) & ASRC_ASRMCRA_BYPASSPOLYA_MASK)
  9479. #define ASRC_ASRMCRA_BUFSTALLA_MASK (0x200000U)
  9480. #define ASRC_ASRMCRA_BUFSTALLA_SHIFT (21U)
  9481. /*! BUFSTALLA - BUFSTALLA
  9482. * 0b1..Stall Pair A conversion in case of near empty/full FIFO conditions.
  9483. * 0b0..Don't stall Pair A conversion even in case of near empty/full FIFO conditions.
  9484. */
  9485. #define ASRC_ASRMCRA_BUFSTALLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_BUFSTALLA_SHIFT)) & ASRC_ASRMCRA_BUFSTALLA_MASK)
  9486. #define ASRC_ASRMCRA_EXTTHRSHA_MASK (0x400000U)
  9487. #define ASRC_ASRMCRA_EXTTHRSHA_SHIFT (22U)
  9488. /*! EXTTHRSHA - EXTTHRSHA
  9489. * 0b1..Use external defined thresholds.
  9490. * 0b0..Use default thresholds.
  9491. */
  9492. #define ASRC_ASRMCRA_EXTTHRSHA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_EXTTHRSHA_SHIFT)) & ASRC_ASRMCRA_EXTTHRSHA_MASK)
  9493. #define ASRC_ASRMCRA_ZEROBUFA_MASK (0x800000U)
  9494. #define ASRC_ASRMCRA_ZEROBUFA_SHIFT (23U)
  9495. /*! ZEROBUFA - ZEROBUFA
  9496. * 0b1..Don't zeroize the buffer
  9497. * 0b0..Zeroize the buffer
  9498. */
  9499. #define ASRC_ASRMCRA_ZEROBUFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRA_ZEROBUFA_SHIFT)) & ASRC_ASRMCRA_ZEROBUFA_MASK)
  9500. /*! @} */
  9501. /*! @name ASRFSTA - ASRC FIFO Status Register for Pair A */
  9502. /*! @{ */
  9503. #define ASRC_ASRFSTA_INFIFO_FILLA_MASK (0x7FU)
  9504. #define ASRC_ASRFSTA_INFIFO_FILLA_SHIFT (0U)
  9505. /*! INFIFO_FILLA - INFIFO_FILLA
  9506. */
  9507. #define ASRC_ASRFSTA_INFIFO_FILLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_INFIFO_FILLA_SHIFT)) & ASRC_ASRFSTA_INFIFO_FILLA_MASK)
  9508. #define ASRC_ASRFSTA_IAEA_MASK (0x800U)
  9509. #define ASRC_ASRFSTA_IAEA_SHIFT (11U)
  9510. /*! IAEA - IAEA
  9511. * 0b1..Input FIFO is near empty for Pair A
  9512. * 0b0..Input FIFO is not near empty for Pair A
  9513. */
  9514. #define ASRC_ASRFSTA_IAEA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_IAEA_SHIFT)) & ASRC_ASRFSTA_IAEA_MASK)
  9515. #define ASRC_ASRFSTA_OUTFIFO_FILLA_MASK (0x7F000U)
  9516. #define ASRC_ASRFSTA_OUTFIFO_FILLA_SHIFT (12U)
  9517. /*! OUTFIFO_FILLA - OUTFIFO_FILLA
  9518. */
  9519. #define ASRC_ASRFSTA_OUTFIFO_FILLA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_OUTFIFO_FILLA_SHIFT)) & ASRC_ASRFSTA_OUTFIFO_FILLA_MASK)
  9520. #define ASRC_ASRFSTA_OAFA_MASK (0x800000U)
  9521. #define ASRC_ASRFSTA_OAFA_SHIFT (23U)
  9522. /*! OAFA - OAFA
  9523. * 0b1..Output FIFO is near full for Pair A
  9524. * 0b0..Output FIFO is not near full for Pair A
  9525. */
  9526. #define ASRC_ASRFSTA_OAFA(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTA_OAFA_SHIFT)) & ASRC_ASRFSTA_OAFA_MASK)
  9527. /*! @} */
  9528. /*! @name ASRMCRB - ASRC Misc Control Register for Pair B */
  9529. /*! @{ */
  9530. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB_MASK (0x3FU)
  9531. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB_SHIFT (0U)
  9532. /*! INFIFO_THRESHOLDB - INFIFO_THRESHOLDB
  9533. */
  9534. #define ASRC_ASRMCRB_INFIFO_THRESHOLDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_INFIFO_THRESHOLDB_SHIFT)) & ASRC_ASRMCRB_INFIFO_THRESHOLDB_MASK)
  9535. #define ASRC_ASRMCRB_RSYNOFB_MASK (0x400U)
  9536. #define ASRC_ASRMCRB_RSYNOFB_SHIFT (10U)
  9537. /*! RSYNOFB - RSYNOFB
  9538. * 0b1..Force ASRCCR[ACOB]=0
  9539. * 0b0..Do not touch ASRCCR[ACOB]
  9540. */
  9541. #define ASRC_ASRMCRB_RSYNOFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_RSYNOFB_SHIFT)) & ASRC_ASRMCRB_RSYNOFB_MASK)
  9542. #define ASRC_ASRMCRB_RSYNIFB_MASK (0x800U)
  9543. #define ASRC_ASRMCRB_RSYNIFB_SHIFT (11U)
  9544. /*! RSYNIFB - RSYNIFB
  9545. * 0b1..Force ASRCCR[ACIB]=0
  9546. * 0b0..Do not touch ASRCCR[ACIB]
  9547. */
  9548. #define ASRC_ASRMCRB_RSYNIFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_RSYNIFB_SHIFT)) & ASRC_ASRMCRB_RSYNIFB_MASK)
  9549. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_MASK (0x3F000U)
  9550. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_SHIFT (12U)
  9551. /*! OUTFIFO_THRESHOLDB - OUTFIFO_THRESHOLDB
  9552. */
  9553. #define ASRC_ASRMCRB_OUTFIFO_THRESHOLDB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_SHIFT)) & ASRC_ASRMCRB_OUTFIFO_THRESHOLDB_MASK)
  9554. #define ASRC_ASRMCRB_BYPASSPOLYB_MASK (0x100000U)
  9555. #define ASRC_ASRMCRB_BYPASSPOLYB_SHIFT (20U)
  9556. /*! BYPASSPOLYB - BYPASSPOLYB
  9557. * 0b1..Bypass polyphase filtering.
  9558. * 0b0..Don't bypass polyphase filtering.
  9559. */
  9560. #define ASRC_ASRMCRB_BYPASSPOLYB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_BYPASSPOLYB_SHIFT)) & ASRC_ASRMCRB_BYPASSPOLYB_MASK)
  9561. #define ASRC_ASRMCRB_BUFSTALLB_MASK (0x200000U)
  9562. #define ASRC_ASRMCRB_BUFSTALLB_SHIFT (21U)
  9563. /*! BUFSTALLB - BUFSTALLB
  9564. * 0b1..Stall Pair B conversion in case of near empty/full FIFO conditions.
  9565. * 0b0..Don't stall Pair B conversion even in case of near empty/full FIFO conditions.
  9566. */
  9567. #define ASRC_ASRMCRB_BUFSTALLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_BUFSTALLB_SHIFT)) & ASRC_ASRMCRB_BUFSTALLB_MASK)
  9568. #define ASRC_ASRMCRB_EXTTHRSHB_MASK (0x400000U)
  9569. #define ASRC_ASRMCRB_EXTTHRSHB_SHIFT (22U)
  9570. /*! EXTTHRSHB - EXTTHRSHB
  9571. * 0b1..Use external defined thresholds.
  9572. * 0b0..Use default thresholds.
  9573. */
  9574. #define ASRC_ASRMCRB_EXTTHRSHB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_EXTTHRSHB_SHIFT)) & ASRC_ASRMCRB_EXTTHRSHB_MASK)
  9575. #define ASRC_ASRMCRB_ZEROBUFB_MASK (0x800000U)
  9576. #define ASRC_ASRMCRB_ZEROBUFB_SHIFT (23U)
  9577. /*! ZEROBUFB - ZEROBUFB
  9578. * 0b1..Don't zeroize the buffer
  9579. * 0b0..Zeroize the buffer
  9580. */
  9581. #define ASRC_ASRMCRB_ZEROBUFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRB_ZEROBUFB_SHIFT)) & ASRC_ASRMCRB_ZEROBUFB_MASK)
  9582. /*! @} */
  9583. /*! @name ASRFSTB - ASRC FIFO Status Register for Pair B */
  9584. /*! @{ */
  9585. #define ASRC_ASRFSTB_INFIFO_FILLB_MASK (0x7FU)
  9586. #define ASRC_ASRFSTB_INFIFO_FILLB_SHIFT (0U)
  9587. /*! INFIFO_FILLB - INFIFO_FILLB
  9588. */
  9589. #define ASRC_ASRFSTB_INFIFO_FILLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_INFIFO_FILLB_SHIFT)) & ASRC_ASRFSTB_INFIFO_FILLB_MASK)
  9590. #define ASRC_ASRFSTB_IAEB_MASK (0x800U)
  9591. #define ASRC_ASRFSTB_IAEB_SHIFT (11U)
  9592. /*! IAEB - IAEB
  9593. * 0b1..Input FIFO is near empty for Pair B
  9594. * 0b0..Input FIFO is not near empty for Pair B
  9595. */
  9596. #define ASRC_ASRFSTB_IAEB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_IAEB_SHIFT)) & ASRC_ASRFSTB_IAEB_MASK)
  9597. #define ASRC_ASRFSTB_OUTFIFO_FILLB_MASK (0x7F000U)
  9598. #define ASRC_ASRFSTB_OUTFIFO_FILLB_SHIFT (12U)
  9599. /*! OUTFIFO_FILLB - OUTFIFO_FILLB
  9600. */
  9601. #define ASRC_ASRFSTB_OUTFIFO_FILLB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_OUTFIFO_FILLB_SHIFT)) & ASRC_ASRFSTB_OUTFIFO_FILLB_MASK)
  9602. #define ASRC_ASRFSTB_OAFB_MASK (0x800000U)
  9603. #define ASRC_ASRFSTB_OAFB_SHIFT (23U)
  9604. /*! OAFB - OAFB
  9605. * 0b1..Output FIFO is near full for Pair B
  9606. * 0b0..Output FIFO is not near full for Pair B
  9607. */
  9608. #define ASRC_ASRFSTB_OAFB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTB_OAFB_SHIFT)) & ASRC_ASRFSTB_OAFB_MASK)
  9609. /*! @} */
  9610. /*! @name ASRMCRC - ASRC Misc Control Register for Pair C */
  9611. /*! @{ */
  9612. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC_MASK (0x3FU)
  9613. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC_SHIFT (0U)
  9614. /*! INFIFO_THRESHOLDC - INFIFO_THRESHOLDC
  9615. */
  9616. #define ASRC_ASRMCRC_INFIFO_THRESHOLDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_INFIFO_THRESHOLDC_SHIFT)) & ASRC_ASRMCRC_INFIFO_THRESHOLDC_MASK)
  9617. #define ASRC_ASRMCRC_RSYNOFC_MASK (0x400U)
  9618. #define ASRC_ASRMCRC_RSYNOFC_SHIFT (10U)
  9619. /*! RSYNOFC - RSYNOFC
  9620. * 0b1..Force ASRCCR[ACOC]=0
  9621. * 0b0..Do not touch ASRCCR[ACOC]
  9622. */
  9623. #define ASRC_ASRMCRC_RSYNOFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_RSYNOFC_SHIFT)) & ASRC_ASRMCRC_RSYNOFC_MASK)
  9624. #define ASRC_ASRMCRC_RSYNIFC_MASK (0x800U)
  9625. #define ASRC_ASRMCRC_RSYNIFC_SHIFT (11U)
  9626. /*! RSYNIFC - RSYNIFC
  9627. * 0b1..Force ASRCCR[ACIC]=0
  9628. * 0b0..Do not touch ASRCCR[ACIC]
  9629. */
  9630. #define ASRC_ASRMCRC_RSYNIFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_RSYNIFC_SHIFT)) & ASRC_ASRMCRC_RSYNIFC_MASK)
  9631. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_MASK (0x3F000U)
  9632. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_SHIFT (12U)
  9633. /*! OUTFIFO_THRESHOLDC - OUTFIFO_THRESHOLDC
  9634. */
  9635. #define ASRC_ASRMCRC_OUTFIFO_THRESHOLDC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_SHIFT)) & ASRC_ASRMCRC_OUTFIFO_THRESHOLDC_MASK)
  9636. #define ASRC_ASRMCRC_BYPASSPOLYC_MASK (0x100000U)
  9637. #define ASRC_ASRMCRC_BYPASSPOLYC_SHIFT (20U)
  9638. /*! BYPASSPOLYC - BYPASSPOLYC
  9639. * 0b1..Bypass polyphase filtering.
  9640. * 0b0..Don't bypass polyphase filtering.
  9641. */
  9642. #define ASRC_ASRMCRC_BYPASSPOLYC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_BYPASSPOLYC_SHIFT)) & ASRC_ASRMCRC_BYPASSPOLYC_MASK)
  9643. #define ASRC_ASRMCRC_BUFSTALLC_MASK (0x200000U)
  9644. #define ASRC_ASRMCRC_BUFSTALLC_SHIFT (21U)
  9645. /*! BUFSTALLC - BUFSTALLC
  9646. * 0b1..Stall Pair C conversion in case of near empty/full FIFO conditions.
  9647. * 0b0..Don't stall Pair C conversion even in case of near empty/full FIFO conditions.
  9648. */
  9649. #define ASRC_ASRMCRC_BUFSTALLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_BUFSTALLC_SHIFT)) & ASRC_ASRMCRC_BUFSTALLC_MASK)
  9650. #define ASRC_ASRMCRC_EXTTHRSHC_MASK (0x400000U)
  9651. #define ASRC_ASRMCRC_EXTTHRSHC_SHIFT (22U)
  9652. /*! EXTTHRSHC - EXTTHRSHC
  9653. * 0b1..Use external defined thresholds.
  9654. * 0b0..Use default thresholds.
  9655. */
  9656. #define ASRC_ASRMCRC_EXTTHRSHC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_EXTTHRSHC_SHIFT)) & ASRC_ASRMCRC_EXTTHRSHC_MASK)
  9657. #define ASRC_ASRMCRC_ZEROBUFC_MASK (0x800000U)
  9658. #define ASRC_ASRMCRC_ZEROBUFC_SHIFT (23U)
  9659. /*! ZEROBUFC - ZEROBUFC
  9660. * 0b1..Don't zeroize the buffer
  9661. * 0b0..Zeroize the buffer
  9662. */
  9663. #define ASRC_ASRMCRC_ZEROBUFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCRC_ZEROBUFC_SHIFT)) & ASRC_ASRMCRC_ZEROBUFC_MASK)
  9664. /*! @} */
  9665. /*! @name ASRFSTC - ASRC FIFO Status Register for Pair C */
  9666. /*! @{ */
  9667. #define ASRC_ASRFSTC_INFIFO_FILLC_MASK (0x7FU)
  9668. #define ASRC_ASRFSTC_INFIFO_FILLC_SHIFT (0U)
  9669. /*! INFIFO_FILLC - INFIFO_FILLC
  9670. */
  9671. #define ASRC_ASRFSTC_INFIFO_FILLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_INFIFO_FILLC_SHIFT)) & ASRC_ASRFSTC_INFIFO_FILLC_MASK)
  9672. #define ASRC_ASRFSTC_IAEC_MASK (0x800U)
  9673. #define ASRC_ASRFSTC_IAEC_SHIFT (11U)
  9674. /*! IAEC - IAEC
  9675. * 0b1..Input FIFO is near empty for Pair C
  9676. * 0b0..Input FIFO is not near empty for Pair C
  9677. */
  9678. #define ASRC_ASRFSTC_IAEC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_IAEC_SHIFT)) & ASRC_ASRFSTC_IAEC_MASK)
  9679. #define ASRC_ASRFSTC_OUTFIFO_FILLC_MASK (0x7F000U)
  9680. #define ASRC_ASRFSTC_OUTFIFO_FILLC_SHIFT (12U)
  9681. /*! OUTFIFO_FILLC - OUTFIFO_FILLC
  9682. */
  9683. #define ASRC_ASRFSTC_OUTFIFO_FILLC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_OUTFIFO_FILLC_SHIFT)) & ASRC_ASRFSTC_OUTFIFO_FILLC_MASK)
  9684. #define ASRC_ASRFSTC_OAFC_MASK (0x800000U)
  9685. #define ASRC_ASRFSTC_OAFC_SHIFT (23U)
  9686. /*! OAFC - OAFC
  9687. * 0b1..Output FIFO is near full for Pair C
  9688. * 0b0..Output FIFO is not near full for Pair C
  9689. */
  9690. #define ASRC_ASRFSTC_OAFC(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRFSTC_OAFC_SHIFT)) & ASRC_ASRFSTC_OAFC_MASK)
  9691. /*! @} */
  9692. /*! @name ASRMCR1 - ASRC Misc Control Register 1 for Pair X */
  9693. /*! @{ */
  9694. #define ASRC_ASRMCR1_OW16_MASK (0x1U)
  9695. #define ASRC_ASRMCR1_OW16_SHIFT (0U)
  9696. /*! OW16 - OW16
  9697. * 0b1..16-bit output data
  9698. * 0b0..24-bit output data.
  9699. */
  9700. #define ASRC_ASRMCR1_OW16(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OW16_SHIFT)) & ASRC_ASRMCR1_OW16_MASK)
  9701. #define ASRC_ASRMCR1_OSGN_MASK (0x2U)
  9702. #define ASRC_ASRMCR1_OSGN_SHIFT (1U)
  9703. /*! OSGN - OSGN
  9704. * 0b1..Sign extension.
  9705. * 0b0..No sign extension.
  9706. */
  9707. #define ASRC_ASRMCR1_OSGN(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OSGN_SHIFT)) & ASRC_ASRMCR1_OSGN_MASK)
  9708. #define ASRC_ASRMCR1_OMSB_MASK (0x4U)
  9709. #define ASRC_ASRMCR1_OMSB_SHIFT (2U)
  9710. /*! OMSB - OMSB
  9711. * 0b1..MSB aligned.
  9712. * 0b0..LSB aligned.
  9713. */
  9714. #define ASRC_ASRMCR1_OMSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_OMSB_SHIFT)) & ASRC_ASRMCR1_OMSB_MASK)
  9715. #define ASRC_ASRMCR1_IMSB_MASK (0x100U)
  9716. #define ASRC_ASRMCR1_IMSB_SHIFT (8U)
  9717. /*! IMSB - IMSB
  9718. * 0b1..MSB aligned.
  9719. * 0b0..LSB aligned.
  9720. */
  9721. #define ASRC_ASRMCR1_IMSB(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_IMSB_SHIFT)) & ASRC_ASRMCR1_IMSB_MASK)
  9722. #define ASRC_ASRMCR1_IWD_MASK (0x600U)
  9723. #define ASRC_ASRMCR1_IWD_SHIFT (9U)
  9724. /*! IWD - IWD
  9725. * 0b00..24-bit audio data.
  9726. * 0b01..16-bit audio data.
  9727. * 0b10..8-bit audio data.
  9728. * 0b11..Reserved.
  9729. */
  9730. #define ASRC_ASRMCR1_IWD(x) (((uint32_t)(((uint32_t)(x)) << ASRC_ASRMCR1_IWD_SHIFT)) & ASRC_ASRMCR1_IWD_MASK)
  9731. /*! @} */
  9732. /* The count of ASRC_ASRMCR1 */
  9733. #define ASRC_ASRMCR1_COUNT (3U)
  9734. /*!
  9735. * @}
  9736. */ /* end of group ASRC_Register_Masks */
  9737. /* ASRC - Peripheral instance base addresses */
  9738. /** Peripheral ASRC base address */
  9739. #define ASRC_BASE (0x40414000u)
  9740. /** Peripheral ASRC base pointer */
  9741. #define ASRC ((ASRC_Type *)ASRC_BASE)
  9742. /** Array initializer of ASRC peripheral base addresses */
  9743. #define ASRC_BASE_ADDRS { ASRC_BASE }
  9744. /** Array initializer of ASRC peripheral base pointers */
  9745. #define ASRC_BASE_PTRS { ASRC }
  9746. /** Interrupt vectors for the ASRC peripheral type */
  9747. #define ASRC_IRQS { ASRC_IRQn }
  9748. /*!
  9749. * @}
  9750. */ /* end of group ASRC_Peripheral_Access_Layer */
  9751. /* ----------------------------------------------------------------------------
  9752. -- AUDIO_PLL Peripheral Access Layer
  9753. ---------------------------------------------------------------------------- */
  9754. /*!
  9755. * @addtogroup AUDIO_PLL_Peripheral_Access_Layer AUDIO_PLL Peripheral Access Layer
  9756. * @{
  9757. */
  9758. /** AUDIO_PLL - Register Layout Typedef */
  9759. typedef struct {
  9760. struct { /* offset: 0x0 */
  9761. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  9762. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  9763. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  9764. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  9765. } CTRL0;
  9766. struct { /* offset: 0x10 */
  9767. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  9768. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  9769. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  9770. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  9771. } SPREAD_SPECTRUM;
  9772. struct { /* offset: 0x20 */
  9773. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  9774. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  9775. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  9776. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  9777. } NUMERATOR;
  9778. struct { /* offset: 0x30 */
  9779. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  9780. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  9781. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  9782. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  9783. } DENOMINATOR;
  9784. } AUDIO_PLL_Type;
  9785. /* ----------------------------------------------------------------------------
  9786. -- AUDIO_PLL Register Masks
  9787. ---------------------------------------------------------------------------- */
  9788. /*!
  9789. * @addtogroup AUDIO_PLL_Register_Masks AUDIO_PLL Register Masks
  9790. * @{
  9791. */
  9792. /*! @name CTRL0 - Fractional PLL Control Register */
  9793. /*! @{ */
  9794. #define AUDIO_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  9795. #define AUDIO_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  9796. /*! DIV_SELECT - DIV_SELECT
  9797. */
  9798. #define AUDIO_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_DIV_SELECT_SHIFT)) & AUDIO_PLL_CTRL0_DIV_SELECT_MASK)
  9799. #define AUDIO_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  9800. #define AUDIO_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  9801. /*! ENABLE_ALT - ENABLE_ALT
  9802. * 0b0..Disable the alternate clock output
  9803. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  9804. */
  9805. #define AUDIO_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_ENABLE_ALT_SHIFT)) & AUDIO_PLL_CTRL0_ENABLE_ALT_MASK)
  9806. #define AUDIO_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  9807. #define AUDIO_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  9808. /*! HOLD_RING_OFF - PLL Start up initialization
  9809. * 0b0..Normal operation
  9810. * 0b1..Initialize PLL start up
  9811. */
  9812. #define AUDIO_PLL_CTRL0_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_HOLD_RING_OFF_SHIFT)) & AUDIO_PLL_CTRL0_HOLD_RING_OFF_MASK)
  9813. #define AUDIO_PLL_CTRL0_POWERUP_MASK (0x4000U)
  9814. #define AUDIO_PLL_CTRL0_POWERUP_SHIFT (14U)
  9815. /*! POWERUP - POWERUP
  9816. * 0b1..Power Up the PLL
  9817. * 0b0..Power down the PLL
  9818. */
  9819. #define AUDIO_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_POWERUP_SHIFT)) & AUDIO_PLL_CTRL0_POWERUP_MASK)
  9820. #define AUDIO_PLL_CTRL0_ENABLE_MASK (0x8000U)
  9821. #define AUDIO_PLL_CTRL0_ENABLE_SHIFT (15U)
  9822. /*! ENABLE - ENABLE
  9823. * 0b1..Enable the clock output
  9824. * 0b0..Disable the clock output
  9825. */
  9826. #define AUDIO_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_ENABLE_SHIFT)) & AUDIO_PLL_CTRL0_ENABLE_MASK)
  9827. #define AUDIO_PLL_CTRL0_BYPASS_MASK (0x10000U)
  9828. #define AUDIO_PLL_CTRL0_BYPASS_SHIFT (16U)
  9829. /*! BYPASS - BYPASS
  9830. * 0b1..Bypass the PLL
  9831. * 0b0..No Bypass
  9832. */
  9833. #define AUDIO_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BYPASS_SHIFT)) & AUDIO_PLL_CTRL0_BYPASS_MASK)
  9834. #define AUDIO_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  9835. #define AUDIO_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  9836. /*! DITHER_EN - DITHER_EN
  9837. * 0b0..Disable Dither
  9838. * 0b1..Enable Dither
  9839. */
  9840. #define AUDIO_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_DITHER_EN_SHIFT)) & AUDIO_PLL_CTRL0_DITHER_EN_MASK)
  9841. #define AUDIO_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  9842. #define AUDIO_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  9843. /*! BIAS_TRIM - BIAS_TRIM
  9844. */
  9845. #define AUDIO_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BIAS_TRIM_SHIFT)) & AUDIO_PLL_CTRL0_BIAS_TRIM_MASK)
  9846. #define AUDIO_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  9847. #define AUDIO_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  9848. /*! PLL_REG_EN - PLL_REG_EN
  9849. */
  9850. #define AUDIO_PLL_CTRL0_PLL_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_PLL_REG_EN_SHIFT)) & AUDIO_PLL_CTRL0_PLL_REG_EN_MASK)
  9851. #define AUDIO_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  9852. #define AUDIO_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  9853. /*! POST_DIV_SEL - Post Divide Select
  9854. * 0b000..Divide by 1
  9855. * 0b001..Divide by 2
  9856. * 0b010..Divide by 4
  9857. * 0b011..Divide by 8
  9858. * 0b100..Divide by 16
  9859. * 0b101..Divide by 32
  9860. */
  9861. #define AUDIO_PLL_CTRL0_POST_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_POST_DIV_SEL_SHIFT)) & AUDIO_PLL_CTRL0_POST_DIV_SEL_MASK)
  9862. #define AUDIO_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  9863. #define AUDIO_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  9864. /*! BIAS_SELECT - BIAS_SELECT
  9865. * 0b0..Used in SoCs with a bias current of 10uA
  9866. * 0b1..Used in SoCs with a bias current of 2uA
  9867. */
  9868. #define AUDIO_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_CTRL0_BIAS_SELECT_SHIFT)) & AUDIO_PLL_CTRL0_BIAS_SELECT_MASK)
  9869. /*! @} */
  9870. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  9871. /*! @{ */
  9872. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  9873. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  9874. /*! STEP - Step
  9875. */
  9876. #define AUDIO_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_STEP_MASK)
  9877. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  9878. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  9879. /*! ENABLE - Enable
  9880. */
  9881. #define AUDIO_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  9882. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  9883. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  9884. /*! STOP - Stop
  9885. */
  9886. #define AUDIO_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & AUDIO_PLL_SPREAD_SPECTRUM_STOP_MASK)
  9887. /*! @} */
  9888. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  9889. /*! @{ */
  9890. #define AUDIO_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  9891. #define AUDIO_PLL_NUMERATOR_NUM_SHIFT (0U)
  9892. /*! NUM - Numerator
  9893. */
  9894. #define AUDIO_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_NUMERATOR_NUM_SHIFT)) & AUDIO_PLL_NUMERATOR_NUM_MASK)
  9895. /*! @} */
  9896. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  9897. /*! @{ */
  9898. #define AUDIO_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  9899. #define AUDIO_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  9900. /*! DENOM - Denominator
  9901. */
  9902. #define AUDIO_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << AUDIO_PLL_DENOMINATOR_DENOM_SHIFT)) & AUDIO_PLL_DENOMINATOR_DENOM_MASK)
  9903. /*! @} */
  9904. /*!
  9905. * @}
  9906. */ /* end of group AUDIO_PLL_Register_Masks */
  9907. /* AUDIO_PLL - Peripheral instance base addresses */
  9908. /** Peripheral AUDIO_PLL base address */
  9909. #define AUDIO_PLL_BASE (0u)
  9910. /** Peripheral AUDIO_PLL base pointer */
  9911. #define AUDIO_PLL ((AUDIO_PLL_Type *)AUDIO_PLL_BASE)
  9912. /** Array initializer of AUDIO_PLL peripheral base addresses */
  9913. #define AUDIO_PLL_BASE_ADDRS { AUDIO_PLL_BASE }
  9914. /** Array initializer of AUDIO_PLL peripheral base pointers */
  9915. #define AUDIO_PLL_BASE_PTRS { AUDIO_PLL }
  9916. /*!
  9917. * @}
  9918. */ /* end of group AUDIO_PLL_Peripheral_Access_Layer */
  9919. /* ----------------------------------------------------------------------------
  9920. -- CAAM Peripheral Access Layer
  9921. ---------------------------------------------------------------------------- */
  9922. /*!
  9923. * @addtogroup CAAM_Peripheral_Access_Layer CAAM Peripheral Access Layer
  9924. * @{
  9925. */
  9926. /** CAAM - Register Layout Typedef */
  9927. typedef struct {
  9928. uint8_t RESERVED_0[4];
  9929. __IO uint32_t MCFGR; /**< Master Configuration Register, offset: 0x4 */
  9930. __IO uint32_t PAGE0_SDID; /**< Page 0 SDID Register, offset: 0x8 */
  9931. __IO uint32_t SCFGR; /**< Security Configuration Register, offset: 0xC */
  9932. struct { /* offset: 0x10, array step: 0x8 */
  9933. __IO uint32_t JRDID_MS; /**< Job Ring 0 DID Register - most significant half..Job Ring 3 DID Register - most significant half, array offset: 0x10, array step: 0x8 */
  9934. __IO uint32_t JRDID_LS; /**< Job Ring 0 DID Register - least significant half..Job Ring 3 DID Register - least significant half, array offset: 0x14, array step: 0x8 */
  9935. } JRADID[4];
  9936. uint8_t RESERVED_1[40];
  9937. __IO uint32_t DEBUGCTL; /**< Debug Control Register, offset: 0x58 */
  9938. __IO uint32_t JRSTARTR; /**< Job Ring Start Register, offset: 0x5C */
  9939. __IO uint32_t RTIC_OWN; /**< RTIC OWN Register, offset: 0x60 */
  9940. struct { /* offset: 0x64, array step: 0x8 */
  9941. __IO uint32_t RTIC_DID; /**< RTIC DID Register for Block A..RTIC DID Register for Block D, array offset: 0x64, array step: 0x8 */
  9942. uint8_t RESERVED_0[4];
  9943. } RTICADID[4];
  9944. uint8_t RESERVED_2[16];
  9945. __IO uint32_t DECORSR; /**< DECO Request Source Register, offset: 0x94 */
  9946. uint8_t RESERVED_3[4];
  9947. __IO uint32_t DECORR; /**< DECO Request Register, offset: 0x9C */
  9948. struct { /* offset: 0xA0, array step: 0x8 */
  9949. __IO uint32_t DECODID_MS; /**< DECO0 DID Register - most significant half, array offset: 0xA0, array step: 0x8 */
  9950. __IO uint32_t DECODID_LS; /**< DECO0 DID Register - least significant half, array offset: 0xA4, array step: 0x8 */
  9951. } DECONDID[1];
  9952. uint8_t RESERVED_4[120];
  9953. __IO uint32_t DAR; /**< DECO Availability Register, offset: 0x120 */
  9954. __O uint32_t DRR; /**< DECO Reset Register, offset: 0x124 */
  9955. uint8_t RESERVED_5[92];
  9956. struct { /* offset: 0x184, array step: 0x8 */
  9957. __IO uint32_t JRSMVBAR; /**< Job Ring 0 Secure Memory Virtual Base Address Register..Job Ring 3 Secure Memory Virtual Base Address Register, array offset: 0x184, array step: 0x8 */
  9958. uint8_t RESERVED_0[4];
  9959. } JRNSMVBAR[4];
  9960. uint8_t RESERVED_6[124];
  9961. __IO uint32_t PBSL; /**< Peak Bandwidth Smoothing Limit Register, offset: 0x220 */
  9962. uint8_t RESERVED_7[28];
  9963. struct { /* offset: 0x240, array step: 0x10 */
  9964. __I uint32_t DMA_AIDL_MAP_MS; /**< DMA0_AIDL_MAP_MS, array offset: 0x240, array step: 0x10 */
  9965. __I uint32_t DMA_AIDL_MAP_LS; /**< DMA0_AIDL_MAP_LS, array offset: 0x244, array step: 0x10 */
  9966. __I uint32_t DMA_AIDM_MAP_MS; /**< DMA0_AIDM_MAP_MS, array offset: 0x248, array step: 0x10 */
  9967. __I uint32_t DMA_AIDM_MAP_LS; /**< DMA0_AIDM_MAP_LS, array offset: 0x24C, array step: 0x10 */
  9968. } AID_CNTS[1];
  9969. __I uint32_t DMA0_AID_ENB; /**< DMA0 AXI ID Enable Register, offset: 0x250 */
  9970. uint8_t RESERVED_8[12];
  9971. __IO uint64_t DMA0_ARD_TC; /**< DMA0 AXI Read Timing Check Register, offset: 0x260 */
  9972. uint8_t RESERVED_9[4];
  9973. __IO uint32_t DMA0_ARD_LAT; /**< DMA0 Read Timing Check Latency Register, offset: 0x26C */
  9974. __IO uint64_t DMA0_AWR_TC; /**< DMA0 AXI Write Timing Check Register, offset: 0x270 */
  9975. uint8_t RESERVED_10[4];
  9976. __IO uint32_t DMA0_AWR_LAT; /**< DMA0 Write Timing Check Latency Register, offset: 0x27C */
  9977. uint8_t RESERVED_11[128];
  9978. __IO uint8_t MPPKR[64]; /**< Manufacturing Protection Private Key Register, array offset: 0x300, array step: 0x1 */
  9979. uint8_t RESERVED_12[64];
  9980. __IO uint8_t MPMR[32]; /**< Manufacturing Protection Message Register, array offset: 0x380, array step: 0x1 */
  9981. uint8_t RESERVED_13[32];
  9982. __I uint8_t MPTESTR[32]; /**< Manufacturing Protection Test Register, array offset: 0x3C0, array step: 0x1 */
  9983. uint8_t RESERVED_14[24];
  9984. __I uint32_t MPECC; /**< Manufacturing Protection ECC Register, offset: 0x3F8 */
  9985. uint8_t RESERVED_15[4];
  9986. __IO uint32_t JDKEKR[8]; /**< Job Descriptor Key Encryption Key Register, array offset: 0x400, array step: 0x4 */
  9987. __IO uint32_t TDKEKR[8]; /**< Trusted Descriptor Key Encryption Key Register, array offset: 0x420, array step: 0x4 */
  9988. __IO uint32_t TDSKR[8]; /**< Trusted Descriptor Signing Key Register, array offset: 0x440, array step: 0x4 */
  9989. uint8_t RESERVED_16[128];
  9990. __IO uint64_t SKNR; /**< Secure Key Nonce Register, offset: 0x4E0 */
  9991. uint8_t RESERVED_17[36];
  9992. __I uint32_t DMA_STA; /**< DMA Status Register, offset: 0x50C */
  9993. __I uint32_t DMA_X_AID_7_4_MAP; /**< DMA_X_AID_7_4_MAP, offset: 0x510 */
  9994. __I uint32_t DMA_X_AID_3_0_MAP; /**< DMA_X_AID_3_0_MAP, offset: 0x514 */
  9995. __I uint32_t DMA_X_AID_15_12_MAP; /**< DMA_X_AID_15_12_MAP, offset: 0x518 */
  9996. __I uint32_t DMA_X_AID_11_8_MAP; /**< DMA_X_AID_11_8_MAP, offset: 0x51C */
  9997. uint8_t RESERVED_18[4];
  9998. __I uint32_t DMA_X_AID_15_0_EN; /**< DMA_X AXI ID Map Enable Register, offset: 0x524 */
  9999. uint8_t RESERVED_19[8];
  10000. __IO uint32_t DMA_X_ARTC_CTL; /**< DMA_X AXI Read Timing Check Control Register, offset: 0x530 */
  10001. __IO uint32_t DMA_X_ARTC_LC; /**< DMA_X AXI Read Timing Check Late Count Register, offset: 0x534 */
  10002. __IO uint32_t DMA_X_ARTC_SC; /**< DMA_X AXI Read Timing Check Sample Count Register, offset: 0x538 */
  10003. __IO uint32_t DMA_X_ARTC_LAT; /**< DMA_X Read Timing Check Latency Register, offset: 0x53C */
  10004. __IO uint32_t DMA_X_AWTC_CTL; /**< DMA_X AXI Write Timing Check Control Register, offset: 0x540 */
  10005. __IO uint32_t DMA_X_AWTC_LC; /**< DMA_X AXI Write Timing Check Late Count Register, offset: 0x544 */
  10006. __IO uint32_t DMA_X_AWTC_SC; /**< DMA_X AXI Write Timing Check Sample Count Register, offset: 0x548 */
  10007. __IO uint32_t DMA_X_AWTC_LAT; /**< DMA_X Write Timing Check Latency Register, offset: 0x54C */
  10008. uint8_t RESERVED_20[176];
  10009. __IO uint32_t RTMCTL; /**< RNG TRNG Miscellaneous Control Register, offset: 0x600 */
  10010. __IO uint32_t RTSCMISC; /**< RNG TRNG Statistical Check Miscellaneous Register, offset: 0x604 */
  10011. __IO uint32_t RTPKRRNG; /**< RNG TRNG Poker Range Register, offset: 0x608 */
  10012. union { /* offset: 0x60C */
  10013. __IO uint32_t RTPKRMAX; /**< RNG TRNG Poker Maximum Limit Register, offset: 0x60C */
  10014. __I uint32_t RTPKRSQ; /**< RNG TRNG Poker Square Calculation Result Register, offset: 0x60C */
  10015. };
  10016. __IO uint32_t RTSDCTL; /**< RNG TRNG Seed Control Register, offset: 0x610 */
  10017. union { /* offset: 0x614 */
  10018. __IO uint32_t RTSBLIM; /**< RNG TRNG Sparse Bit Limit Register, offset: 0x614 */
  10019. __I uint32_t RTTOTSAM; /**< RNG TRNG Total Samples Register, offset: 0x614 */
  10020. };
  10021. __IO uint32_t RTFRQMIN; /**< RNG TRNG Frequency Count Minimum Limit Register, offset: 0x618 */
  10022. union { /* offset: 0x61C */
  10023. struct { /* offset: 0x61C */
  10024. __I uint32_t RTFRQCNT; /**< RNG TRNG Frequency Count Register, offset: 0x61C */
  10025. __I uint32_t RTSCMC; /**< RNG TRNG Statistical Check Monobit Count Register, offset: 0x620 */
  10026. __I uint32_t RTSCR1C; /**< RNG TRNG Statistical Check Run Length 1 Count Register, offset: 0x624 */
  10027. __I uint32_t RTSCR2C; /**< RNG TRNG Statistical Check Run Length 2 Count Register, offset: 0x628 */
  10028. __I uint32_t RTSCR3C; /**< RNG TRNG Statistical Check Run Length 3 Count Register, offset: 0x62C */
  10029. __I uint32_t RTSCR4C; /**< RNG TRNG Statistical Check Run Length 4 Count Register, offset: 0x630 */
  10030. __I uint32_t RTSCR5C; /**< RNG TRNG Statistical Check Run Length 5 Count Register, offset: 0x634 */
  10031. __I uint32_t RTSCR6PC; /**< RNG TRNG Statistical Check Run Length 6+ Count Register, offset: 0x638 */
  10032. } COUNT;
  10033. struct { /* offset: 0x61C */
  10034. __IO uint32_t RTFRQMAX; /**< RNG TRNG Frequency Count Maximum Limit Register, offset: 0x61C */
  10035. __IO uint32_t RTSCML; /**< RNG TRNG Statistical Check Monobit Limit Register, offset: 0x620 */
  10036. __IO uint32_t RTSCR1L; /**< RNG TRNG Statistical Check Run Length 1 Limit Register, offset: 0x624 */
  10037. __IO uint32_t RTSCR2L; /**< RNG TRNG Statistical Check Run Length 2 Limit Register, offset: 0x628 */
  10038. __IO uint32_t RTSCR3L; /**< RNG TRNG Statistical Check Run Length 3 Limit Register, offset: 0x62C */
  10039. __IO uint32_t RTSCR4L; /**< RNG TRNG Statistical Check Run Length 4 Limit Register, offset: 0x630 */
  10040. __IO uint32_t RTSCR5L; /**< RNG TRNG Statistical Check Run Length 5 Limit Register, offset: 0x634 */
  10041. __IO uint32_t RTSCR6PL; /**< RNG TRNG Statistical Check Run Length 6+ Limit Register, offset: 0x638 */
  10042. } LIMIT;
  10043. };
  10044. __I uint32_t RTSTATUS; /**< RNG TRNG Status Register, offset: 0x63C */
  10045. __I uint32_t RTENT[16]; /**< RNG TRNG Entropy Read Register, array offset: 0x640, array step: 0x4 */
  10046. __I uint32_t RTPKRCNT10; /**< RNG TRNG Statistical Check Poker Count 1 and 0 Register, offset: 0x680 */
  10047. __I uint32_t RTPKRCNT32; /**< RNG TRNG Statistical Check Poker Count 3 and 2 Register, offset: 0x684 */
  10048. __I uint32_t RTPKRCNT54; /**< RNG TRNG Statistical Check Poker Count 5 and 4 Register, offset: 0x688 */
  10049. __I uint32_t RTPKRCNT76; /**< RNG TRNG Statistical Check Poker Count 7 and 6 Register, offset: 0x68C */
  10050. __I uint32_t RTPKRCNT98; /**< RNG TRNG Statistical Check Poker Count 9 and 8 Register, offset: 0x690 */
  10051. __I uint32_t RTPKRCNTBA; /**< RNG TRNG Statistical Check Poker Count B and A Register, offset: 0x694 */
  10052. __I uint32_t RTPKRCNTDC; /**< RNG TRNG Statistical Check Poker Count D and C Register, offset: 0x698 */
  10053. __I uint32_t RTPKRCNTFE; /**< RNG TRNG Statistical Check Poker Count F and E Register, offset: 0x69C */
  10054. uint8_t RESERVED_21[32];
  10055. __I uint32_t RDSTA; /**< RNG DRNG Status Register, offset: 0x6C0 */
  10056. uint8_t RESERVED_22[12];
  10057. __I uint32_t RDINT0; /**< RNG DRNG State Handle 0 Reseed Interval Register, offset: 0x6D0 */
  10058. __I uint32_t RDINT1; /**< RNG DRNG State Handle 1 Reseed Interval Register, offset: 0x6D4 */
  10059. uint8_t RESERVED_23[8];
  10060. __IO uint32_t RDHCNTL; /**< RNG DRNG Hash Control Register, offset: 0x6E0 */
  10061. __I uint32_t RDHDIG; /**< RNG DRNG Hash Digest Register, offset: 0x6E4 */
  10062. __O uint32_t RDHBUF; /**< RNG DRNG Hash Buffer Register, offset: 0x6E8 */
  10063. uint8_t RESERVED_24[788];
  10064. struct { /* offset: 0xA00, array step: 0x10 */
  10065. __I uint32_t PX_SDID_PG0; /**< Partition 0 SDID register..Partition 15 SDID register, array offset: 0xA00, array step: 0x10 */
  10066. __IO uint32_t PX_SMAPR_PG0; /**< Secure Memory Access Permissions register, array offset: 0xA04, array step: 0x10 */
  10067. __IO uint32_t PX_SMAG2_PG0; /**< Secure Memory Access Group Registers, array offset: 0xA08, array step: 0x10 */
  10068. __IO uint32_t PX_SMAG1_PG0; /**< Secure Memory Access Group Registers, array offset: 0xA0C, array step: 0x10 */
  10069. } PX_PG0[16];
  10070. __IO uint32_t REIS; /**< Recoverable Error Interrupt Status, offset: 0xB00 */
  10071. __IO uint32_t REIE; /**< Recoverable Error Interrupt Enable, offset: 0xB04 */
  10072. __I uint32_t REIF; /**< Recoverable Error Interrupt Force, offset: 0xB08 */
  10073. __IO uint32_t REIH; /**< Recoverable Error Interrupt Halt, offset: 0xB0C */
  10074. uint8_t RESERVED_25[192];
  10075. __IO uint32_t SMWPJRR[4]; /**< Secure Memory Write Protect Job Ring Register, array offset: 0xBD0, array step: 0x4 */
  10076. uint8_t RESERVED_26[4];
  10077. __O uint32_t SMCR_PG0; /**< Secure Memory Command Register, offset: 0xBE4 */
  10078. uint8_t RESERVED_27[4];
  10079. __I uint32_t SMCSR_PG0; /**< Secure Memory Command Status Register, offset: 0xBEC */
  10080. uint8_t RESERVED_28[8];
  10081. __I uint32_t CAAMVID_MS_TRAD; /**< CAAM Version ID Register, most-significant half, offset: 0xBF8 */
  10082. __I uint32_t CAAMVID_LS_TRAD; /**< CAAM Version ID Register, least-significant half, offset: 0xBFC */
  10083. struct { /* offset: 0xC00, array step: 0x20 */
  10084. __I uint64_t HT_JD_ADDR; /**< Holding Tank 0 Job Descriptor Address, array offset: 0xC00, array step: 0x20 */
  10085. __I uint64_t HT_SD_ADDR; /**< Holding Tank 0 Shared Descriptor Address, array offset: 0xC08, array step: 0x20 */
  10086. __I uint32_t HT_JQ_CTRL_MS; /**< Holding Tank 0 Job Queue Control, most-significant half, array offset: 0xC10, array step: 0x20 */
  10087. __I uint32_t HT_JQ_CTRL_LS; /**< Holding Tank 0 Job Queue Control, least-significant half, array offset: 0xC14, array step: 0x20 */
  10088. uint8_t RESERVED_0[4];
  10089. __I uint32_t HT_STATUS; /**< Holding Tank Status, array offset: 0xC1C, array step: 0x20 */
  10090. } HTA[1];
  10091. uint8_t RESERVED_29[4];
  10092. __IO uint32_t JQ_DEBUG_SEL; /**< Job Queue Debug Select Register, offset: 0xC24 */
  10093. uint8_t RESERVED_30[404];
  10094. __I uint32_t JRJIDU_LS; /**< Job Ring Job IDs in Use Register, least-significant half, offset: 0xDBC */
  10095. __I uint32_t JRJDJIFBC; /**< Job Ring Job-Done Job ID FIFO BC, offset: 0xDC0 */
  10096. __I uint32_t JRJDJIF; /**< Job Ring Job-Done Job ID FIFO, offset: 0xDC4 */
  10097. uint8_t RESERVED_31[28];
  10098. __I uint32_t JRJDS1; /**< Job Ring Job-Done Source 1, offset: 0xDE4 */
  10099. uint8_t RESERVED_32[24];
  10100. __I uint64_t JRJDDA[1]; /**< Job Ring Job-Done Descriptor Address 0 Register, array offset: 0xE00, array step: 0x8 */
  10101. uint8_t RESERVED_33[408];
  10102. __I uint32_t CRNR_MS; /**< CHA Revision Number Register, most-significant half, offset: 0xFA0 */
  10103. __I uint32_t CRNR_LS; /**< CHA Revision Number Register, least-significant half, offset: 0xFA4 */
  10104. __I uint32_t CTPR_MS; /**< Compile Time Parameters Register, most-significant half, offset: 0xFA8 */
  10105. __I uint32_t CTPR_LS; /**< Compile Time Parameters Register, least-significant half, offset: 0xFAC */
  10106. uint8_t RESERVED_34[4];
  10107. __I uint32_t SMSTA; /**< Secure Memory Status Register, offset: 0xFB4 */
  10108. uint8_t RESERVED_35[4];
  10109. __I uint32_t SMPO; /**< Secure Memory Partition Owners Register, offset: 0xFBC */
  10110. __I uint64_t FAR; /**< Fault Address Register, offset: 0xFC0 */
  10111. __I uint32_t FADID; /**< Fault Address DID Register, offset: 0xFC8 */
  10112. __I uint32_t FADR; /**< Fault Address Detail Register, offset: 0xFCC */
  10113. uint8_t RESERVED_36[4];
  10114. __I uint32_t CSTA; /**< CAAM Status Register, offset: 0xFD4 */
  10115. __I uint32_t SMVID_MS; /**< Secure Memory Version ID Register, most-significant half, offset: 0xFD8 */
  10116. __I uint32_t SMVID_LS; /**< Secure Memory Version ID Register, least-significant half, offset: 0xFDC */
  10117. __I uint32_t RVID; /**< RTIC Version ID Register, offset: 0xFE0 */
  10118. __I uint32_t CCBVID; /**< CHA Cluster Block Version ID Register, offset: 0xFE4 */
  10119. __I uint32_t CHAVID_MS; /**< CHA Version ID Register, most-significant half, offset: 0xFE8 */
  10120. __I uint32_t CHAVID_LS; /**< CHA Version ID Register, least-significant half, offset: 0xFEC */
  10121. __I uint32_t CHANUM_MS; /**< CHA Number Register, most-significant half, offset: 0xFF0 */
  10122. __I uint32_t CHANUM_LS; /**< CHA Number Register, least-significant half, offset: 0xFF4 */
  10123. __I uint32_t CAAMVID_MS; /**< CAAM Version ID Register, most-significant half, offset: 0xFF8 */
  10124. __I uint32_t CAAMVID_LS; /**< CAAM Version ID Register, least-significant half, offset: 0xFFC */
  10125. uint8_t RESERVED_37[61440];
  10126. struct { /* offset: 0x10000, array step: 0x10000 */
  10127. __IO uint64_t IRBAR_JR; /**< Input Ring Base Address Register for Job Ring 0..Input Ring Base Address Register for Job Ring 3, array offset: 0x10000, array step: 0x10000 */
  10128. uint8_t RESERVED_0[4];
  10129. __IO uint32_t IRSR_JR; /**< Input Ring Size Register for Job Ring 0..Input Ring Size Register for Job Ring 3, array offset: 0x1000C, array step: 0x10000 */
  10130. uint8_t RESERVED_1[4];
  10131. __IO uint32_t IRSAR_JR; /**< Input Ring Slots Available Register for Job Ring 0..Input Ring Slots Available Register for Job Ring 3, array offset: 0x10014, array step: 0x10000 */
  10132. uint8_t RESERVED_2[4];
  10133. __IO uint32_t IRJAR_JR; /**< Input Ring Jobs Added Register for Job Ring0..Input Ring Jobs Added Register for Job Ring3, array offset: 0x1001C, array step: 0x10000 */
  10134. __IO uint64_t ORBAR_JR; /**< Output Ring Base Address Register for Job Ring 0..Output Ring Base Address Register for Job Ring 3, array offset: 0x10020, array step: 0x10000 */
  10135. uint8_t RESERVED_3[4];
  10136. __IO uint32_t ORSR_JR; /**< Output Ring Size Register for Job Ring 0..Output Ring Size Register for Job Ring 3, array offset: 0x1002C, array step: 0x10000 */
  10137. uint8_t RESERVED_4[4];
  10138. __IO uint32_t ORJRR_JR; /**< Output Ring Jobs Removed Register for Job Ring 0..Output Ring Jobs Removed Register for Job Ring 3, array offset: 0x10034, array step: 0x10000 */
  10139. uint8_t RESERVED_5[4];
  10140. __IO uint32_t ORSFR_JR; /**< Output Ring Slots Full Register for Job Ring 0..Output Ring Slots Full Register for Job Ring 3, array offset: 0x1003C, array step: 0x10000 */
  10141. uint8_t RESERVED_6[4];
  10142. __I uint32_t JRSTAR_JR; /**< Job Ring Output Status Register for Job Ring 0..Job Ring Output Status Register for Job Ring 3, array offset: 0x10044, array step: 0x10000 */
  10143. uint8_t RESERVED_7[4];
  10144. __IO uint32_t JRINTR_JR; /**< Job Ring Interrupt Status Register for Job Ring 0..Job Ring Interrupt Status Register for Job Ring 3, array offset: 0x1004C, array step: 0x10000 */
  10145. __IO uint32_t JRCFGR_JR_MS; /**< Job Ring Configuration Register for Job Ring 0, most-significant half..Job Ring Configuration Register for Job Ring 3, most-significant half, array offset: 0x10050, array step: 0x10000 */
  10146. __IO uint32_t JRCFGR_JR_LS; /**< Job Ring Configuration Register for Job Ring 0, least-significant half..Job Ring Configuration Register for Job Ring 3, least-significant half, array offset: 0x10054, array step: 0x10000 */
  10147. uint8_t RESERVED_8[4];
  10148. __IO uint32_t IRRIR_JR; /**< Input Ring Read Index Register for Job Ring 0..Input Ring Read Index Register for Job Ring 3, array offset: 0x1005C, array step: 0x10000 */
  10149. uint8_t RESERVED_9[4];
  10150. __IO uint32_t ORWIR_JR; /**< Output Ring Write Index Register for Job Ring 0..Output Ring Write Index Register for Job Ring 3, array offset: 0x10064, array step: 0x10000 */
  10151. uint8_t RESERVED_10[4];
  10152. __O uint32_t JRCR_JR; /**< Job Ring Command Register for Job Ring 0..Job Ring Command Register for Job Ring 3, array offset: 0x1006C, array step: 0x10000 */
  10153. uint8_t RESERVED_11[1684];
  10154. __I uint32_t JRAAV; /**< Job Ring 0 Address-Array Valid Register..Job Ring 3 Address-Array Valid Register, array offset: 0x10704, array step: 0x10000 */
  10155. uint8_t RESERVED_12[248];
  10156. __I uint64_t JRAAA[4]; /**< Job Ring 0 Address-Array Address 0 Register..Job Ring 3 Address-Array Address 3 Register, array offset: 0x10800, array step: index*0x10000, index2*0x8 */
  10157. uint8_t RESERVED_13[480];
  10158. struct { /* offset: 0x10A00, array step: index*0x10000, index2*0x10 */
  10159. __I uint32_t PX_SDID_JR; /**< Partition 0 SDID register..Partition 15 SDID register, array offset: 0x10A00, array step: index*0x10000, index2*0x10 */
  10160. __IO uint32_t PX_SMAPR_JR; /**< Secure Memory Access Permissions register, array offset: 0x10A04, array step: index*0x10000, index2*0x10 */
  10161. __IO uint32_t PX_SMAG2_JR; /**< Secure Memory Access Group Registers, array offset: 0x10A08, array step: index*0x10000, index2*0x10 */
  10162. __IO uint32_t PX_SMAG1_JR; /**< Secure Memory Access Group Registers, array offset: 0x10A0C, array step: index*0x10000, index2*0x10 */
  10163. } PX_JR[16];
  10164. uint8_t RESERVED_14[228];
  10165. __O uint32_t SMCR_JR; /**< Secure Memory Command Register, array offset: 0x10BE4, array step: 0x10000 */
  10166. uint8_t RESERVED_15[4];
  10167. __I uint32_t SMCSR_JR; /**< Secure Memory Command Status Register, array offset: 0x10BEC, array step: 0x10000 */
  10168. uint8_t RESERVED_16[528];
  10169. __I uint32_t REIR0JR; /**< Recoverable Error Interrupt Record 0 for Job Ring 0..Recoverable Error Interrupt Record 0 for Job Ring 3, array offset: 0x10E00, array step: 0x10000 */
  10170. uint8_t RESERVED_17[4];
  10171. __I uint64_t REIR2JR; /**< Recoverable Error Interrupt Record 2 for Job Ring 0..Recoverable Error Interrupt Record 2 for Job Ring 3, array offset: 0x10E08, array step: 0x10000 */
  10172. __I uint32_t REIR4JR; /**< Recoverable Error Interrupt Record 4 for Job Ring 0..Recoverable Error Interrupt Record 4 for Job Ring 3, array offset: 0x10E10, array step: 0x10000 */
  10173. __I uint32_t REIR5JR; /**< Recoverable Error Interrupt Record 5 for Job Ring 0..Recoverable Error Interrupt Record 5 for Job Ring 3, array offset: 0x10E14, array step: 0x10000 */
  10174. uint8_t RESERVED_18[392];
  10175. __I uint32_t CRNR_MS_JR; /**< CHA Revision Number Register, most-significant half, array offset: 0x10FA0, array step: 0x10000 */
  10176. __I uint32_t CRNR_LS_JR; /**< CHA Revision Number Register, least-significant half, array offset: 0x10FA4, array step: 0x10000 */
  10177. __I uint32_t CTPR_MS_JR; /**< Compile Time Parameters Register, most-significant half, array offset: 0x10FA8, array step: 0x10000 */
  10178. __I uint32_t CTPR_LS_JR; /**< Compile Time Parameters Register, least-significant half, array offset: 0x10FAC, array step: 0x10000 */
  10179. uint8_t RESERVED_19[4];
  10180. __I uint32_t SMSTA_JR; /**< Secure Memory Status Register, array offset: 0x10FB4, array step: 0x10000 */
  10181. uint8_t RESERVED_20[4];
  10182. __I uint32_t SMPO_JR; /**< Secure Memory Partition Owners Register, array offset: 0x10FBC, array step: 0x10000 */
  10183. __I uint64_t FAR_JR; /**< Fault Address Register, array offset: 0x10FC0, array step: 0x10000 */
  10184. __I uint32_t FADID_JR; /**< Fault Address DID Register, array offset: 0x10FC8, array step: 0x10000 */
  10185. __I uint32_t FADR_JR; /**< Fault Address Detail Register, array offset: 0x10FCC, array step: 0x10000 */
  10186. uint8_t RESERVED_21[4];
  10187. __I uint32_t CSTA_JR; /**< CAAM Status Register, array offset: 0x10FD4, array step: 0x10000 */
  10188. __I uint32_t SMVID_MS_JR; /**< Secure Memory Version ID Register, most-significant half, array offset: 0x10FD8, array step: 0x10000 */
  10189. __I uint32_t SMVID_LS_JR; /**< Secure Memory Version ID Register, least-significant half, array offset: 0x10FDC, array step: 0x10000 */
  10190. __I uint32_t RVID_JR; /**< RTIC Version ID Register, array offset: 0x10FE0, array step: 0x10000 */
  10191. __I uint32_t CCBVID_JR; /**< CHA Cluster Block Version ID Register, array offset: 0x10FE4, array step: 0x10000 */
  10192. __I uint32_t CHAVID_MS_JR; /**< CHA Version ID Register, most-significant half, array offset: 0x10FE8, array step: 0x10000 */
  10193. __I uint32_t CHAVID_LS_JR; /**< CHA Version ID Register, least-significant half, array offset: 0x10FEC, array step: 0x10000 */
  10194. __I uint32_t CHANUM_MS_JR; /**< CHA Number Register, most-significant half, array offset: 0x10FF0, array step: 0x10000 */
  10195. __I uint32_t CHANUM_LS_JR; /**< CHA Number Register, least-significant half, array offset: 0x10FF4, array step: 0x10000 */
  10196. __I uint32_t CAAMVID_MS_JR; /**< CAAM Version ID Register, most-significant half, array offset: 0x10FF8, array step: 0x10000 */
  10197. __I uint32_t CAAMVID_LS_JR; /**< CAAM Version ID Register, least-significant half, array offset: 0x10FFC, array step: 0x10000 */
  10198. uint8_t RESERVED_22[61440];
  10199. } JOBRING[4];
  10200. uint8_t RESERVED_38[65540];
  10201. __I uint32_t RSTA; /**< RTIC Status Register, offset: 0x60004 */
  10202. uint8_t RESERVED_39[4];
  10203. __IO uint32_t RCMD; /**< RTIC Command Register, offset: 0x6000C */
  10204. uint8_t RESERVED_40[4];
  10205. __IO uint32_t RCTL; /**< RTIC Control Register, offset: 0x60014 */
  10206. uint8_t RESERVED_41[4];
  10207. __IO uint32_t RTHR; /**< RTIC Throttle Register, offset: 0x6001C */
  10208. uint8_t RESERVED_42[8];
  10209. __IO uint64_t RWDOG; /**< RTIC Watchdog Timer, offset: 0x60028 */
  10210. uint8_t RESERVED_43[4];
  10211. __IO uint32_t REND; /**< RTIC Endian Register, offset: 0x60034 */
  10212. uint8_t RESERVED_44[200];
  10213. struct { /* offset: 0x60100, array step: index*0x20, index2*0x10 */
  10214. __IO uint64_t RMA; /**< RTIC Memory Block A Address 0 Register..RTIC Memory Block D Address 1 Register, array offset: 0x60100, array step: index*0x20, index2*0x10 */
  10215. uint8_t RESERVED_0[4];
  10216. __IO uint32_t RML; /**< RTIC Memory Block A Length 0 Register..RTIC Memory Block D Length 1 Register, array offset: 0x6010C, array step: index*0x20, index2*0x10 */
  10217. } RM[4][2];
  10218. uint8_t RESERVED_45[128];
  10219. __IO uint32_t RMD[4][2][32]; /**< RTIC Memory Block A Big Endian Hash Result Word 0..RTIC Memory Block D Little Endian Hash Result Word 31, array offset: 0x60200, array step: index*0x100, index2*0x80, index3*0x4 */
  10220. uint8_t RESERVED_46[2048];
  10221. __I uint32_t REIR0RTIC; /**< Recoverable Error Interrupt Record 0 for RTIC, offset: 0x60E00 */
  10222. uint8_t RESERVED_47[4];
  10223. __I uint64_t REIR2RTIC; /**< Recoverable Error Interrupt Record 2 for RTIC, offset: 0x60E08 */
  10224. __I uint32_t REIR4RTIC; /**< Recoverable Error Interrupt Record 4 for RTIC, offset: 0x60E10 */
  10225. __I uint32_t REIR5RTIC; /**< Recoverable Error Interrupt Record 5 for RTIC, offset: 0x60E14 */
  10226. uint8_t RESERVED_48[392];
  10227. __I uint32_t CRNR_MS_RTIC; /**< CHA Revision Number Register, most-significant half, offset: 0x60FA0 */
  10228. __I uint32_t CRNR_LS_RTIC; /**< CHA Revision Number Register, least-significant half, offset: 0x60FA4 */
  10229. __I uint32_t CTPR_MS_RTIC; /**< Compile Time Parameters Register, most-significant half, offset: 0x60FA8 */
  10230. __I uint32_t CTPR_LS_RTIC; /**< Compile Time Parameters Register, least-significant half, offset: 0x60FAC */
  10231. uint8_t RESERVED_49[4];
  10232. __I uint32_t SMSTA_RTIC; /**< Secure Memory Status Register, offset: 0x60FB4 */
  10233. uint8_t RESERVED_50[8];
  10234. __I uint64_t FAR_RTIC; /**< Fault Address Register, offset: 0x60FC0 */
  10235. __I uint32_t FADID_RTIC; /**< Fault Address DID Register, offset: 0x60FC8 */
  10236. __I uint32_t FADR_RTIC; /**< Fault Address Detail Register, offset: 0x60FCC */
  10237. uint8_t RESERVED_51[4];
  10238. __I uint32_t CSTA_RTIC; /**< CAAM Status Register, offset: 0x60FD4 */
  10239. __I uint32_t SMVID_MS_RTIC; /**< Secure Memory Version ID Register, most-significant half, offset: 0x60FD8 */
  10240. __I uint32_t SMVID_LS_RTIC; /**< Secure Memory Version ID Register, least-significant half, offset: 0x60FDC */
  10241. __I uint32_t RVID_RTIC; /**< RTIC Version ID Register, offset: 0x60FE0 */
  10242. __I uint32_t CCBVID_RTIC; /**< CHA Cluster Block Version ID Register, offset: 0x60FE4 */
  10243. __I uint32_t CHAVID_MS_RTIC; /**< CHA Version ID Register, most-significant half, offset: 0x60FE8 */
  10244. __I uint32_t CHAVID_LS_RTIC; /**< CHA Version ID Register, least-significant half, offset: 0x60FEC */
  10245. __I uint32_t CHANUM_MS_RTIC; /**< CHA Number Register, most-significant half, offset: 0x60FF0 */
  10246. __I uint32_t CHANUM_LS_RTIC; /**< CHA Number Register, least-significant half, offset: 0x60FF4 */
  10247. __I uint32_t CAAMVID_MS_RTIC; /**< CAAM Version ID Register, most-significant half, offset: 0x60FF8 */
  10248. __I uint32_t CAAMVID_LS_RTIC; /**< CAAM Version ID Register, least-significant half, offset: 0x60FFC */
  10249. uint8_t RESERVED_52[126976];
  10250. struct { /* offset: 0x80000, array step: 0xE3C */
  10251. uint8_t RESERVED_0[4];
  10252. union { /* offset: 0x80004, array step: 0xE3C */
  10253. __IO uint32_t CC1MR; /**< CCB 0 Class 1 Mode Register Format for Non-Public Key Algorithms, array offset: 0x80004, array step: 0xE3C */
  10254. __IO uint32_t CC1MR_PK; /**< CCB 0 Class 1 Mode Register Format for Public Key Algorithms, array offset: 0x80004, array step: 0xE3C */
  10255. __IO uint32_t CC1MR_RNG; /**< CCB 0 Class 1 Mode Register Format for RNG4, array offset: 0x80004, array step: 0xE3C */
  10256. };
  10257. uint8_t RESERVED_1[4];
  10258. __IO uint32_t CC1KSR; /**< CCB 0 Class 1 Key Size Register, array offset: 0x8000C, array step: 0xE3C */
  10259. __IO uint64_t CC1DSR; /**< CCB 0 Class 1 Data Size Register, array offset: 0x80010, array step: 0xE3C */
  10260. uint8_t RESERVED_2[4];
  10261. __IO uint32_t CC1ICVSR; /**< CCB 0 Class 1 ICV Size Register, array offset: 0x8001C, array step: 0xE3C */
  10262. uint8_t RESERVED_3[20];
  10263. __O uint32_t CCCTRL; /**< CCB 0 CHA Control Register, array offset: 0x80034, array step: 0xE3C */
  10264. uint8_t RESERVED_4[4];
  10265. __IO uint32_t CICTL; /**< CCB 0 Interrupt Control Register, array offset: 0x8003C, array step: 0xE3C */
  10266. uint8_t RESERVED_5[4];
  10267. __O uint32_t CCWR; /**< CCB 0 Clear Written Register, array offset: 0x80044, array step: 0xE3C */
  10268. __I uint32_t CCSTA_MS; /**< CCB 0 Status and Error Register, most-significant half, array offset: 0x80048, array step: 0xE3C */
  10269. __I uint32_t CCSTA_LS; /**< CCB 0 Status and Error Register, least-significant half, array offset: 0x8004C, array step: 0xE3C */
  10270. uint8_t RESERVED_6[12];
  10271. __IO uint32_t CC1AADSZR; /**< CCB 0 Class 1 AAD Size Register, array offset: 0x8005C, array step: 0xE3C */
  10272. uint8_t RESERVED_7[4];
  10273. __IO uint32_t CC1IVSZR; /**< CCB 0 Class 1 IV Size Register, array offset: 0x80064, array step: 0xE3C */
  10274. uint8_t RESERVED_8[28];
  10275. __IO uint32_t CPKASZR; /**< PKHA A Size Register, array offset: 0x80084, array step: 0xE3C */
  10276. uint8_t RESERVED_9[4];
  10277. __IO uint32_t CPKBSZR; /**< PKHA B Size Register, array offset: 0x8008C, array step: 0xE3C */
  10278. uint8_t RESERVED_10[4];
  10279. __IO uint32_t CPKNSZR; /**< PKHA N Size Register, array offset: 0x80094, array step: 0xE3C */
  10280. uint8_t RESERVED_11[4];
  10281. __IO uint32_t CPKESZR; /**< PKHA E Size Register, array offset: 0x8009C, array step: 0xE3C */
  10282. uint8_t RESERVED_12[96];
  10283. __IO uint32_t CC1CTXR[16]; /**< CCB 0 Class 1 Context Register Word 0..CCB 0 Class 1 Context Register Word 15, array offset: 0x80100, array step: index*0xE3C, index2*0x4 */
  10284. uint8_t RESERVED_13[192];
  10285. __IO uint32_t CC1KR[8]; /**< CCB 0 Class 1 Key Registers Word 0..CCB 0 Class 1 Key Registers Word 7, array offset: 0x80200, array step: index*0xE3C, index2*0x4 */
  10286. uint8_t RESERVED_14[484];
  10287. __IO uint32_t CC2MR; /**< CCB 0 Class 2 Mode Register, array offset: 0x80404, array step: 0xE3C */
  10288. uint8_t RESERVED_15[4];
  10289. __IO uint32_t CC2KSR; /**< CCB 0 Class 2 Key Size Register, array offset: 0x8040C, array step: 0xE3C */
  10290. __IO uint64_t CC2DSR; /**< CCB 0 Class 2 Data Size Register, array offset: 0x80410, array step: 0xE3C */
  10291. uint8_t RESERVED_16[4];
  10292. __IO uint32_t CC2ICVSZR; /**< CCB 0 Class 2 ICV Size Register, array offset: 0x8041C, array step: 0xE3C */
  10293. uint8_t RESERVED_17[224];
  10294. __IO uint32_t CC2CTXR[18]; /**< CCB 0 Class 2 Context Register Word 0..CCB 0 Class 2 Context Register Word 17, array offset: 0x80500, array step: index*0xE3C, index2*0x4 */
  10295. uint8_t RESERVED_18[184];
  10296. __IO uint32_t CC2KEYR[32]; /**< CCB 0 Class 2 Key Register Word 0..CCB 0 Class 2 Key Register Word 31, array offset: 0x80600, array step: index*0xE3C, index2*0x4 */
  10297. uint8_t RESERVED_19[320];
  10298. __I uint32_t CFIFOSTA; /**< CCB 0 FIFO Status Register, array offset: 0x807C0, array step: 0xE3C */
  10299. uint8_t RESERVED_20[12];
  10300. union { /* offset: 0x807D0, array step: 0xE3C */
  10301. __O uint32_t CNFIFO; /**< CCB 0 iNformation FIFO When STYPE != 10b, array offset: 0x807D0, array step: 0xE3C */
  10302. __O uint32_t CNFIFO_2; /**< CCB 0 iNformation FIFO When STYPE == 10b, array offset: 0x807D0, array step: 0xE3C */
  10303. };
  10304. uint8_t RESERVED_21[12];
  10305. __O uint32_t CIFIFO; /**< CCB 0 Input Data FIFO, array offset: 0x807E0, array step: 0xE3C */
  10306. uint8_t RESERVED_22[12];
  10307. __I uint64_t COFIFO; /**< CCB 0 Output Data FIFO, array offset: 0x807F0, array step: 0xE3C */
  10308. uint8_t RESERVED_23[8];
  10309. __IO uint32_t DJQCR_MS; /**< DECO0 Job Queue Control Register, most-significant half, array offset: 0x80800, array step: 0xE3C */
  10310. __I uint32_t DJQCR_LS; /**< DECO0 Job Queue Control Register, least-significant half, array offset: 0x80804, array step: 0xE3C */
  10311. __I uint64_t DDAR; /**< DECO0 Descriptor Address Register, array offset: 0x80808, array step: 0xE3C */
  10312. __I uint32_t DOPSTA_MS; /**< DECO0 Operation Status Register, most-significant half, array offset: 0x80810, array step: 0xE3C */
  10313. __I uint32_t DOPSTA_LS; /**< DECO0 Operation Status Register, least-significant half, array offset: 0x80814, array step: 0xE3C */
  10314. uint8_t RESERVED_24[8];
  10315. __I uint32_t DPDIDSR; /**< DECO0 Primary DID Status Register, array offset: 0x80820, array step: 0xE3C */
  10316. __I uint32_t DODIDSR; /**< DECO0 Output DID Status Register, array offset: 0x80824, array step: 0xE3C */
  10317. uint8_t RESERVED_25[24];
  10318. struct { /* offset: 0x80840, array step: index*0xE3C, index2*0x8 */
  10319. __IO uint32_t DMTH_MS; /**< DECO0 Math Register 0_MS..DECO0 Math Register 3_MS, array offset: 0x80840, array step: index*0xE3C, index2*0x8 */
  10320. __IO uint32_t DMTH_LS; /**< DECO0 Math Register 0_LS..DECO0 Math Register 3_LS, array offset: 0x80844, array step: index*0xE3C, index2*0x8 */
  10321. } DDMTHB[4];
  10322. uint8_t RESERVED_26[32];
  10323. struct { /* offset: 0x80880, array step: index*0xE3C, index2*0x10 */
  10324. __IO uint32_t DGTR_0; /**< DECO0 Gather Table Register 0 Word 0, array offset: 0x80880, array step: index*0xE3C, index2*0x10 */
  10325. __IO uint32_t DGTR_1; /**< DECO0 Gather Table Register 0 Word 1, array offset: 0x80884, array step: index*0xE3C, index2*0x10 */
  10326. __IO uint32_t DGTR_2; /**< DECO0 Gather Table Register 0 Word 2, array offset: 0x80888, array step: index*0xE3C, index2*0x10 */
  10327. __IO uint32_t DGTR_3; /**< DECO0 Gather Table Register 0 Word 3, array offset: 0x8088C, array step: index*0xE3C, index2*0x10 */
  10328. } DDGTR[1];
  10329. uint8_t RESERVED_27[112];
  10330. struct { /* offset: 0x80900, array step: index*0xE3C, index2*0x10 */
  10331. __IO uint32_t DSTR_0; /**< DECO0 Scatter Table Register 0 Word 0, array offset: 0x80900, array step: index*0xE3C, index2*0x10 */
  10332. __IO uint32_t DSTR_1; /**< DECO0 Scatter Table Register 0 Word 1, array offset: 0x80904, array step: index*0xE3C, index2*0x10 */
  10333. __IO uint32_t DSTR_2; /**< DECO0 Scatter Table Register 0 Word 2, array offset: 0x80908, array step: index*0xE3C, index2*0x10 */
  10334. __IO uint32_t DSTR_3; /**< DECO0 Scatter Table Register 0 Word 3, array offset: 0x8090C, array step: index*0xE3C, index2*0x10 */
  10335. } DDSTR[1];
  10336. uint8_t RESERVED_28[240];
  10337. __IO uint32_t DDESB[64]; /**< DECO0 Descriptor Buffer Word 0..DECO0 Descriptor Buffer Word 63, array offset: 0x80A00, array step: index*0xE3C, index2*0x4 */
  10338. uint8_t RESERVED_29[768];
  10339. __I uint32_t DDJR; /**< DECO0 Debug Job Register, array offset: 0x80E00, array step: 0xE3C */
  10340. __I uint32_t DDDR; /**< DECO0 Debug DECO Register, array offset: 0x80E04, array step: 0xE3C */
  10341. __I uint64_t DDJP; /**< DECO0 Debug Job Pointer, array offset: 0x80E08, array step: 0xE3C */
  10342. __I uint64_t DSDP; /**< DECO0 Debug Shared Pointer, array offset: 0x80E10, array step: 0xE3C */
  10343. __I uint32_t DDDR_MS; /**< DECO0 Debug DID, most-significant half, array offset: 0x80E18, array step: 0xE3C */
  10344. __I uint32_t DDDR_LS; /**< DECO0 Debug DID, least-significant half, array offset: 0x80E1C, array step: 0xE3C */
  10345. __IO uint32_t SOL; /**< Sequence Output Length Register, array offset: 0x80E20, array step: 0xE3C */
  10346. __IO uint32_t VSOL; /**< Variable Sequence Output Length Register, array offset: 0x80E24, array step: 0xE3C */
  10347. __IO uint32_t SIL; /**< Sequence Input Length Register, array offset: 0x80E28, array step: 0xE3C */
  10348. __IO uint32_t VSIL; /**< Variable Sequence Input Length Register, array offset: 0x80E2C, array step: 0xE3C */
  10349. __IO uint32_t DPOVRD; /**< Protocol Override Register, array offset: 0x80E30, array step: 0xE3C */
  10350. __IO uint32_t UVSOL; /**< Variable Sequence Output Length Register; Upper 32 bits, array offset: 0x80E34, array step: 0xE3C */
  10351. __IO uint32_t UVSIL; /**< Variable Sequence Input Length Register; Upper 32 bits, array offset: 0x80E38, array step: 0xE3C */
  10352. } DC[1];
  10353. uint8_t RESERVED_53[356];
  10354. __I uint32_t CRNR_MS_DC01; /**< CHA Revision Number Register, most-significant half, offset: 0x80FA0 */
  10355. __I uint32_t CRNR_LS_DC01; /**< CHA Revision Number Register, least-significant half, offset: 0x80FA4 */
  10356. __I uint32_t CTPR_MS_DC01; /**< Compile Time Parameters Register, most-significant half, offset: 0x80FA8 */
  10357. __I uint32_t CTPR_LS_DC01; /**< Compile Time Parameters Register, least-significant half, offset: 0x80FAC */
  10358. uint8_t RESERVED_54[4];
  10359. __I uint32_t SMSTA_DC01; /**< Secure Memory Status Register, offset: 0x80FB4 */
  10360. uint8_t RESERVED_55[8];
  10361. __I uint64_t FAR_DC01; /**< Fault Address Register, offset: 0x80FC0 */
  10362. __I uint32_t FADID_DC01; /**< Fault Address DID Register, offset: 0x80FC8 */
  10363. __I uint32_t FADR_DC01; /**< Fault Address Detail Register, offset: 0x80FCC */
  10364. uint8_t RESERVED_56[4];
  10365. __I uint32_t CSTA_DC01; /**< CAAM Status Register, offset: 0x80FD4 */
  10366. __I uint32_t SMVID_MS_DC01; /**< Secure Memory Version ID Register, most-significant half, offset: 0x80FD8 */
  10367. __I uint32_t SMVID_LS_DC01; /**< Secure Memory Version ID Register, least-significant half, offset: 0x80FDC */
  10368. __I uint32_t RVID_DC01; /**< RTIC Version ID Register, offset: 0x80FE0 */
  10369. __I uint32_t CCBVID_DC01; /**< CHA Cluster Block Version ID Register, offset: 0x80FE4 */
  10370. __I uint32_t CHAVID_MS_DC01; /**< CHA Version ID Register, most-significant half, offset: 0x80FE8 */
  10371. __I uint32_t CHAVID_LS_DC01; /**< CHA Version ID Register, least-significant half, offset: 0x80FEC */
  10372. __I uint32_t CHANUM_MS_DC01; /**< CHA Number Register, most-significant half, offset: 0x80FF0 */
  10373. __I uint32_t CHANUM_LS_DC01; /**< CHA Number Register, least-significant half, offset: 0x80FF4 */
  10374. __I uint32_t CAAMVID_MS_DC01; /**< CAAM Version ID Register, most-significant half, offset: 0x80FF8 */
  10375. __I uint32_t CAAMVID_LS_DC01; /**< CAAM Version ID Register, least-significant half, offset: 0x80FFC */
  10376. } CAAM_Type;
  10377. /* ----------------------------------------------------------------------------
  10378. -- CAAM Register Masks
  10379. ---------------------------------------------------------------------------- */
  10380. /*!
  10381. * @addtogroup CAAM_Register_Masks CAAM Register Masks
  10382. * @{
  10383. */
  10384. /*! @name MCFGR - Master Configuration Register */
  10385. /*! @{ */
  10386. #define CAAM_MCFGR_NORMAL_BURST_MASK (0x1U)
  10387. #define CAAM_MCFGR_NORMAL_BURST_SHIFT (0U)
  10388. /*! NORMAL_BURST
  10389. * 0b0..Aligned 32 byte burst size target
  10390. * 0b1..Aligned 64 byte burst size target
  10391. */
  10392. #define CAAM_MCFGR_NORMAL_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_NORMAL_BURST_SHIFT)) & CAAM_MCFGR_NORMAL_BURST_MASK)
  10393. #define CAAM_MCFGR_LARGE_BURST_MASK (0x4U)
  10394. #define CAAM_MCFGR_LARGE_BURST_SHIFT (2U)
  10395. #define CAAM_MCFGR_LARGE_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_LARGE_BURST_SHIFT)) & CAAM_MCFGR_LARGE_BURST_MASK)
  10396. #define CAAM_MCFGR_AXIPIPE_MASK (0xF0U)
  10397. #define CAAM_MCFGR_AXIPIPE_SHIFT (4U)
  10398. #define CAAM_MCFGR_AXIPIPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_AXIPIPE_SHIFT)) & CAAM_MCFGR_AXIPIPE_MASK)
  10399. #define CAAM_MCFGR_AWCACHE_MASK (0xF00U)
  10400. #define CAAM_MCFGR_AWCACHE_SHIFT (8U)
  10401. #define CAAM_MCFGR_AWCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_AWCACHE_SHIFT)) & CAAM_MCFGR_AWCACHE_MASK)
  10402. #define CAAM_MCFGR_ARCACHE_MASK (0xF000U)
  10403. #define CAAM_MCFGR_ARCACHE_SHIFT (12U)
  10404. #define CAAM_MCFGR_ARCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_ARCACHE_SHIFT)) & CAAM_MCFGR_ARCACHE_MASK)
  10405. #define CAAM_MCFGR_PS_MASK (0x10000U)
  10406. #define CAAM_MCFGR_PS_SHIFT (16U)
  10407. /*! PS
  10408. * 0b0..Pointers fit in one 32-bit word (pointers are 32-bit addresses).
  10409. * 0b1..Pointers require two 32-bit words (pointers are 36-bit addresses).
  10410. */
  10411. #define CAAM_MCFGR_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_PS_SHIFT)) & CAAM_MCFGR_PS_MASK)
  10412. #define CAAM_MCFGR_DWT_MASK (0x80000U)
  10413. #define CAAM_MCFGR_DWT_SHIFT (19U)
  10414. #define CAAM_MCFGR_DWT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_DWT_SHIFT)) & CAAM_MCFGR_DWT_MASK)
  10415. #define CAAM_MCFGR_WRHD_MASK (0x8000000U)
  10416. #define CAAM_MCFGR_WRHD_SHIFT (27U)
  10417. #define CAAM_MCFGR_WRHD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WRHD_SHIFT)) & CAAM_MCFGR_WRHD_MASK)
  10418. #define CAAM_MCFGR_DMA_RST_MASK (0x10000000U)
  10419. #define CAAM_MCFGR_DMA_RST_SHIFT (28U)
  10420. #define CAAM_MCFGR_DMA_RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_DMA_RST_SHIFT)) & CAAM_MCFGR_DMA_RST_MASK)
  10421. #define CAAM_MCFGR_WDF_MASK (0x20000000U)
  10422. #define CAAM_MCFGR_WDF_SHIFT (29U)
  10423. #define CAAM_MCFGR_WDF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WDF_SHIFT)) & CAAM_MCFGR_WDF_MASK)
  10424. #define CAAM_MCFGR_WDE_MASK (0x40000000U)
  10425. #define CAAM_MCFGR_WDE_SHIFT (30U)
  10426. #define CAAM_MCFGR_WDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_WDE_SHIFT)) & CAAM_MCFGR_WDE_MASK)
  10427. #define CAAM_MCFGR_SWRST_MASK (0x80000000U)
  10428. #define CAAM_MCFGR_SWRST_SHIFT (31U)
  10429. #define CAAM_MCFGR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MCFGR_SWRST_SHIFT)) & CAAM_MCFGR_SWRST_MASK)
  10430. /*! @} */
  10431. /*! @name PAGE0_SDID - Page 0 SDID Register */
  10432. /*! @{ */
  10433. #define CAAM_PAGE0_SDID_SDID_MASK (0x7FFFU)
  10434. #define CAAM_PAGE0_SDID_SDID_SHIFT (0U)
  10435. #define CAAM_PAGE0_SDID_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PAGE0_SDID_SDID_SHIFT)) & CAAM_PAGE0_SDID_SDID_MASK)
  10436. /*! @} */
  10437. /*! @name SCFGR - Security Configuration Register */
  10438. /*! @{ */
  10439. #define CAAM_SCFGR_PRIBLOB_MASK (0x3U)
  10440. #define CAAM_SCFGR_PRIBLOB_SHIFT (0U)
  10441. /*! PRIBLOB
  10442. * 0b00..Private secure boot software blobs
  10443. * 0b01..Private provisioning type 1 blobs
  10444. * 0b10..Private provisioning type 2 blobs
  10445. * 0b11..Normal operation blobs
  10446. */
  10447. #define CAAM_SCFGR_PRIBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_PRIBLOB_SHIFT)) & CAAM_SCFGR_PRIBLOB_MASK)
  10448. #define CAAM_SCFGR_RNGSH0_MASK (0x200U)
  10449. #define CAAM_SCFGR_RNGSH0_SHIFT (9U)
  10450. /*! RNGSH0
  10451. * 0b0..When RNGSH0 is 0, RNG DRNG State Handle 0 can be instantiated in any mode. RNGSH0 is set to 0 only for testing.
  10452. * 0b1..When RNGSH0 is 1, RNG DRNG State Handle 0 cannot be instantiated in deterministic (test) mode. RNGSHO
  10453. * should be set to 1 before the RNG is instantiated. If it is currently instantiated in a deterministic mode,
  10454. * it will be un-instantiated. Once this bit has been written to a 1, it cannot be changed to a 0 until the
  10455. * next power on reset.
  10456. */
  10457. #define CAAM_SCFGR_RNGSH0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_RNGSH0_SHIFT)) & CAAM_SCFGR_RNGSH0_MASK)
  10458. #define CAAM_SCFGR_LCK_TRNG_MASK (0x800U)
  10459. #define CAAM_SCFGR_LCK_TRNG_SHIFT (11U)
  10460. #define CAAM_SCFGR_LCK_TRNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_LCK_TRNG_SHIFT)) & CAAM_SCFGR_LCK_TRNG_MASK)
  10461. #define CAAM_SCFGR_VIRT_EN_MASK (0x8000U)
  10462. #define CAAM_SCFGR_VIRT_EN_SHIFT (15U)
  10463. /*! VIRT_EN
  10464. * 0b0..Disable job ring virtualization
  10465. * 0b1..Enable job ring virtualization
  10466. */
  10467. #define CAAM_SCFGR_VIRT_EN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_VIRT_EN_SHIFT)) & CAAM_SCFGR_VIRT_EN_MASK)
  10468. #define CAAM_SCFGR_MPMRL_MASK (0x4000000U)
  10469. #define CAAM_SCFGR_MPMRL_SHIFT (26U)
  10470. #define CAAM_SCFGR_MPMRL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPMRL_SHIFT)) & CAAM_SCFGR_MPMRL_MASK)
  10471. #define CAAM_SCFGR_MPPKRC_MASK (0x8000000U)
  10472. #define CAAM_SCFGR_MPPKRC_SHIFT (27U)
  10473. #define CAAM_SCFGR_MPPKRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPPKRC_SHIFT)) & CAAM_SCFGR_MPPKRC_MASK)
  10474. #define CAAM_SCFGR_MPCURVE_MASK (0xF0000000U)
  10475. #define CAAM_SCFGR_MPCURVE_SHIFT (28U)
  10476. #define CAAM_SCFGR_MPCURVE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SCFGR_MPCURVE_SHIFT)) & CAAM_SCFGR_MPCURVE_MASK)
  10477. /*! @} */
  10478. /*! @name JRDID_MS - Job Ring 0 DID Register - most significant half..Job Ring 3 DID Register - most significant half */
  10479. /*! @{ */
  10480. #define CAAM_JRDID_MS_PRIM_DID_MASK (0xFU)
  10481. #define CAAM_JRDID_MS_PRIM_DID_SHIFT (0U)
  10482. #define CAAM_JRDID_MS_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_DID_SHIFT)) & CAAM_JRDID_MS_PRIM_DID_MASK)
  10483. #define CAAM_JRDID_MS_PRIM_TZ_MASK (0x10U)
  10484. #define CAAM_JRDID_MS_PRIM_TZ_SHIFT (4U)
  10485. #define CAAM_JRDID_MS_PRIM_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_TZ_SHIFT)) & CAAM_JRDID_MS_PRIM_TZ_MASK)
  10486. #define CAAM_JRDID_MS_SDID_MS_MASK (0x7FE0U)
  10487. #define CAAM_JRDID_MS_SDID_MS_SHIFT (5U)
  10488. #define CAAM_JRDID_MS_SDID_MS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_SDID_MS_SHIFT)) & CAAM_JRDID_MS_SDID_MS_MASK)
  10489. #define CAAM_JRDID_MS_TZ_OWN_MASK (0x8000U)
  10490. #define CAAM_JRDID_MS_TZ_OWN_SHIFT (15U)
  10491. #define CAAM_JRDID_MS_TZ_OWN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_TZ_OWN_SHIFT)) & CAAM_JRDID_MS_TZ_OWN_MASK)
  10492. #define CAAM_JRDID_MS_AMTD_MASK (0x10000U)
  10493. #define CAAM_JRDID_MS_AMTD_SHIFT (16U)
  10494. #define CAAM_JRDID_MS_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_AMTD_SHIFT)) & CAAM_JRDID_MS_AMTD_MASK)
  10495. #define CAAM_JRDID_MS_LAMTD_MASK (0x20000U)
  10496. #define CAAM_JRDID_MS_LAMTD_SHIFT (17U)
  10497. #define CAAM_JRDID_MS_LAMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_LAMTD_SHIFT)) & CAAM_JRDID_MS_LAMTD_MASK)
  10498. #define CAAM_JRDID_MS_PRIM_ICID_MASK (0x3FF80000U)
  10499. #define CAAM_JRDID_MS_PRIM_ICID_SHIFT (19U)
  10500. #define CAAM_JRDID_MS_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_PRIM_ICID_SHIFT)) & CAAM_JRDID_MS_PRIM_ICID_MASK)
  10501. #define CAAM_JRDID_MS_USE_OUT_MASK (0x40000000U)
  10502. #define CAAM_JRDID_MS_USE_OUT_SHIFT (30U)
  10503. #define CAAM_JRDID_MS_USE_OUT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_USE_OUT_SHIFT)) & CAAM_JRDID_MS_USE_OUT_MASK)
  10504. #define CAAM_JRDID_MS_LDID_MASK (0x80000000U)
  10505. #define CAAM_JRDID_MS_LDID_SHIFT (31U)
  10506. #define CAAM_JRDID_MS_LDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_MS_LDID_SHIFT)) & CAAM_JRDID_MS_LDID_MASK)
  10507. /*! @} */
  10508. /* The count of CAAM_JRDID_MS */
  10509. #define CAAM_JRDID_MS_COUNT (4U)
  10510. /*! @name JRDID_LS - Job Ring 0 DID Register - least significant half..Job Ring 3 DID Register - least significant half */
  10511. /*! @{ */
  10512. #define CAAM_JRDID_LS_OUT_DID_MASK (0xFU)
  10513. #define CAAM_JRDID_LS_OUT_DID_SHIFT (0U)
  10514. #define CAAM_JRDID_LS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_LS_OUT_DID_SHIFT)) & CAAM_JRDID_LS_OUT_DID_MASK)
  10515. #define CAAM_JRDID_LS_OUT_ICID_MASK (0x3FF80000U)
  10516. #define CAAM_JRDID_LS_OUT_ICID_SHIFT (19U)
  10517. #define CAAM_JRDID_LS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRDID_LS_OUT_ICID_SHIFT)) & CAAM_JRDID_LS_OUT_ICID_MASK)
  10518. /*! @} */
  10519. /* The count of CAAM_JRDID_LS */
  10520. #define CAAM_JRDID_LS_COUNT (4U)
  10521. /*! @name DEBUGCTL - Debug Control Register */
  10522. /*! @{ */
  10523. #define CAAM_DEBUGCTL_STOP_MASK (0x10000U)
  10524. #define CAAM_DEBUGCTL_STOP_SHIFT (16U)
  10525. #define CAAM_DEBUGCTL_STOP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DEBUGCTL_STOP_SHIFT)) & CAAM_DEBUGCTL_STOP_MASK)
  10526. #define CAAM_DEBUGCTL_STOP_ACK_MASK (0x20000U)
  10527. #define CAAM_DEBUGCTL_STOP_ACK_SHIFT (17U)
  10528. #define CAAM_DEBUGCTL_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DEBUGCTL_STOP_ACK_SHIFT)) & CAAM_DEBUGCTL_STOP_ACK_MASK)
  10529. /*! @} */
  10530. /*! @name JRSTARTR - Job Ring Start Register */
  10531. /*! @{ */
  10532. #define CAAM_JRSTARTR_Start_JR0_MASK (0x1U)
  10533. #define CAAM_JRSTARTR_Start_JR0_SHIFT (0U)
  10534. /*! Start_JR0
  10535. * 0b0..Stop Mode. The JR0DID register and the SMVBA register for Job Ring 0 can be written but the IRBAR, IRSR,
  10536. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 0 are NOT accessible. If Job Ring 0 is
  10537. * allocated to TrustZone SecureWorld (JR0DID[TZ]=1), the JR0DID and SMVBA register can be written only via a
  10538. * bus transaction that has ns=0.
  10539. * 0b1..Start Mode. The JR0DID register and the SMVBA register for Job Ring 0 CANNOT be written but the IRBAR,
  10540. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 0 ARE accessible. If Job Ring 0 is
  10541. * allocated to TrustZone SecureWorld (JR0DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10542. * ORJRR, ORSFR and JRSTAR registers for Job Ring 0 can be written only via a bus transaction that has ns=0.
  10543. */
  10544. #define CAAM_JRSTARTR_Start_JR0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR0_SHIFT)) & CAAM_JRSTARTR_Start_JR0_MASK)
  10545. #define CAAM_JRSTARTR_Start_JR1_MASK (0x2U)
  10546. #define CAAM_JRSTARTR_Start_JR1_SHIFT (1U)
  10547. /*! Start_JR1
  10548. * 0b0..Stop Mode. The JR1DID register and the SMVBA register for Job Ring 1 can be written but the IRBAR, IRSR,
  10549. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 1 are NOT accessible. If Job Ring 1 is
  10550. * allocated to TrustZone SecureWorld (JR1DID[TZ]=1), the JR1DID and SMVBA register can be written only via a
  10551. * bus transaction that has ns=0.
  10552. * 0b1..Start Mode. The JR1DID register and the SMVBA register for Job Ring 1 CANNOT be written but the IRBAR,
  10553. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 1 ARE accessible. If Job Ring 1 is
  10554. * allocated to TrustZone SecureWorld (JR1DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10555. * ORJRR, ORSFR and JRSTAR registers for Job Ring 1 can be written only via a bus transaction that has ns=0.
  10556. */
  10557. #define CAAM_JRSTARTR_Start_JR1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR1_SHIFT)) & CAAM_JRSTARTR_Start_JR1_MASK)
  10558. #define CAAM_JRSTARTR_Start_JR2_MASK (0x4U)
  10559. #define CAAM_JRSTARTR_Start_JR2_SHIFT (2U)
  10560. /*! Start_JR2
  10561. * 0b0..Stop Mode. The JR2DID register and the SMVBA register for Job Ring 2 can be written but the IRBAR, IRSR,
  10562. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 2 are NOT accessible. If Job Ring 2 is
  10563. * allocated to TrustZone SecureWorld (JR2DID[TZ]=1), the JR2DID and SMVBA register can be written only via a
  10564. * bus transaction that has ns=0.
  10565. * 0b1..Start Mode. The JR2DID register and the SMVBA register for Job Ring 2 CANNOT be written but the IRBAR,
  10566. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 2 ARE accessible. If Job Ring 2 is
  10567. * allocated to TrustZone SecureWorld (JR2DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10568. * ORJRR, ORSFR and JRSTAR registers for Job Ring 2 can be written only via a bus transaction that has ns=0.
  10569. */
  10570. #define CAAM_JRSTARTR_Start_JR2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR2_SHIFT)) & CAAM_JRSTARTR_Start_JR2_MASK)
  10571. #define CAAM_JRSTARTR_Start_JR3_MASK (0x8U)
  10572. #define CAAM_JRSTARTR_Start_JR3_SHIFT (3U)
  10573. /*! Start_JR3
  10574. * 0b0..Stop Mode. The JR3DID register and the SMVBA register for Job Ring 3 can be written but the IRBAR, IRSR,
  10575. * IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 3 are NOT accessible. If Job Ring 3 is
  10576. * allocated to TrustZone SecureWorld (JR3DID[TZ]=1), the JR3DID and SMVBA register can be written only via a
  10577. * bus transaction that has ns=0.
  10578. * 0b1..Start Mode. The JR3DID register and the SMVBA register for Job Ring 3 CANNOT be written but the IRBAR,
  10579. * IRSR, IRSAR, IRJAR, ORBAR, ORSR, ORJRR, ORSFR and JRSTAR for Job Ring 3 ARE accessible. If Job Ring 3 is
  10580. * allocated to TrustZone SecureWorld (JR3DID[TZ]=1), then the SMVBA, IRBAR, IRSR, IRSAR, IRJAR, ORBAR, ORSR,
  10581. * ORJRR, ORSFR and JRSTAR registers for Job Ring 3 can be written only via a bus transaction that has ns=0.
  10582. */
  10583. #define CAAM_JRSTARTR_Start_JR3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTARTR_Start_JR3_SHIFT)) & CAAM_JRSTARTR_Start_JR3_MASK)
  10584. /*! @} */
  10585. /*! @name RTIC_OWN - RTIC OWN Register */
  10586. /*! @{ */
  10587. #define CAAM_RTIC_OWN_ROWN_DID_MASK (0xFU)
  10588. #define CAAM_RTIC_OWN_ROWN_DID_SHIFT (0U)
  10589. /*! ROWN_DID - RTIC Owner's DID
  10590. */
  10591. #define CAAM_RTIC_OWN_ROWN_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_ROWN_DID_SHIFT)) & CAAM_RTIC_OWN_ROWN_DID_MASK)
  10592. #define CAAM_RTIC_OWN_ROWN_TZ_MASK (0x10U)
  10593. #define CAAM_RTIC_OWN_ROWN_TZ_SHIFT (4U)
  10594. #define CAAM_RTIC_OWN_ROWN_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_ROWN_TZ_SHIFT)) & CAAM_RTIC_OWN_ROWN_TZ_MASK)
  10595. #define CAAM_RTIC_OWN_LCK_MASK (0x80000000U)
  10596. #define CAAM_RTIC_OWN_LCK_SHIFT (31U)
  10597. #define CAAM_RTIC_OWN_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_OWN_LCK_SHIFT)) & CAAM_RTIC_OWN_LCK_MASK)
  10598. /*! @} */
  10599. /*! @name RTIC_DID - RTIC DID Register for Block A..RTIC DID Register for Block D */
  10600. /*! @{ */
  10601. #define CAAM_RTIC_DID_RTIC_DID_MASK (0xFU)
  10602. #define CAAM_RTIC_DID_RTIC_DID_SHIFT (0U)
  10603. #define CAAM_RTIC_DID_RTIC_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_DID_SHIFT)) & CAAM_RTIC_DID_RTIC_DID_MASK)
  10604. #define CAAM_RTIC_DID_RTIC_TZ_MASK (0x10U)
  10605. #define CAAM_RTIC_DID_RTIC_TZ_SHIFT (4U)
  10606. #define CAAM_RTIC_DID_RTIC_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_TZ_SHIFT)) & CAAM_RTIC_DID_RTIC_TZ_MASK)
  10607. #define CAAM_RTIC_DID_RTIC_ICID_MASK (0x3FF80000U)
  10608. #define CAAM_RTIC_DID_RTIC_ICID_SHIFT (19U)
  10609. #define CAAM_RTIC_DID_RTIC_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTIC_DID_RTIC_ICID_SHIFT)) & CAAM_RTIC_DID_RTIC_ICID_MASK)
  10610. /*! @} */
  10611. /* The count of CAAM_RTIC_DID */
  10612. #define CAAM_RTIC_DID_COUNT (4U)
  10613. /*! @name DECORSR - DECO Request Source Register */
  10614. /*! @{ */
  10615. #define CAAM_DECORSR_JR_MASK (0x3U)
  10616. #define CAAM_DECORSR_JR_SHIFT (0U)
  10617. #define CAAM_DECORSR_JR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORSR_JR_SHIFT)) & CAAM_DECORSR_JR_MASK)
  10618. #define CAAM_DECORSR_VALID_MASK (0x80000000U)
  10619. #define CAAM_DECORSR_VALID_SHIFT (31U)
  10620. #define CAAM_DECORSR_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORSR_VALID_SHIFT)) & CAAM_DECORSR_VALID_MASK)
  10621. /*! @} */
  10622. /*! @name DECORR - DECO Request Register */
  10623. /*! @{ */
  10624. #define CAAM_DECORR_RQD0_MASK (0x1U)
  10625. #define CAAM_DECORR_RQD0_SHIFT (0U)
  10626. #define CAAM_DECORR_RQD0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORR_RQD0_SHIFT)) & CAAM_DECORR_RQD0_MASK)
  10627. #define CAAM_DECORR_DEN0_MASK (0x10000U)
  10628. #define CAAM_DECORR_DEN0_SHIFT (16U)
  10629. #define CAAM_DECORR_DEN0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECORR_DEN0_SHIFT)) & CAAM_DECORR_DEN0_MASK)
  10630. /*! @} */
  10631. /*! @name DECODID_MS - DECO0 DID Register - most significant half */
  10632. /*! @{ */
  10633. #define CAAM_DECODID_MS_DPRIM_DID_MASK (0xFU)
  10634. #define CAAM_DECODID_MS_DPRIM_DID_SHIFT (0U)
  10635. /*! DPRIM_DID - DECO Owner
  10636. */
  10637. #define CAAM_DECODID_MS_DPRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_DPRIM_DID_SHIFT)) & CAAM_DECODID_MS_DPRIM_DID_MASK)
  10638. #define CAAM_DECODID_MS_D_NS_MASK (0x10U)
  10639. #define CAAM_DECODID_MS_D_NS_SHIFT (4U)
  10640. #define CAAM_DECODID_MS_D_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_D_NS_SHIFT)) & CAAM_DECODID_MS_D_NS_MASK)
  10641. #define CAAM_DECODID_MS_LCK_MASK (0x80000000U)
  10642. #define CAAM_DECODID_MS_LCK_SHIFT (31U)
  10643. #define CAAM_DECODID_MS_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_MS_LCK_SHIFT)) & CAAM_DECODID_MS_LCK_MASK)
  10644. /*! @} */
  10645. /* The count of CAAM_DECODID_MS */
  10646. #define CAAM_DECODID_MS_COUNT (1U)
  10647. /*! @name DECODID_LS - DECO0 DID Register - least significant half */
  10648. /*! @{ */
  10649. #define CAAM_DECODID_LS_DSEQ_DID_MASK (0xFU)
  10650. #define CAAM_DECODID_LS_DSEQ_DID_SHIFT (0U)
  10651. #define CAAM_DECODID_LS_DSEQ_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DSEQ_DID_SHIFT)) & CAAM_DECODID_LS_DSEQ_DID_MASK)
  10652. #define CAAM_DECODID_LS_DSEQ_NS_MASK (0x10U)
  10653. #define CAAM_DECODID_LS_DSEQ_NS_SHIFT (4U)
  10654. #define CAAM_DECODID_LS_DSEQ_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DSEQ_NS_SHIFT)) & CAAM_DECODID_LS_DSEQ_NS_MASK)
  10655. #define CAAM_DECODID_LS_DNSEQ_DID_MASK (0xF0000U)
  10656. #define CAAM_DECODID_LS_DNSEQ_DID_SHIFT (16U)
  10657. #define CAAM_DECODID_LS_DNSEQ_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DNSEQ_DID_SHIFT)) & CAAM_DECODID_LS_DNSEQ_DID_MASK)
  10658. #define CAAM_DECODID_LS_DNONSEQ_NS_MASK (0x100000U)
  10659. #define CAAM_DECODID_LS_DNONSEQ_NS_SHIFT (20U)
  10660. #define CAAM_DECODID_LS_DNONSEQ_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DECODID_LS_DNONSEQ_NS_SHIFT)) & CAAM_DECODID_LS_DNONSEQ_NS_MASK)
  10661. /*! @} */
  10662. /* The count of CAAM_DECODID_LS */
  10663. #define CAAM_DECODID_LS_COUNT (1U)
  10664. /*! @name DAR - DECO Availability Register */
  10665. /*! @{ */
  10666. #define CAAM_DAR_NYA0_MASK (0x1U)
  10667. #define CAAM_DAR_NYA0_SHIFT (0U)
  10668. #define CAAM_DAR_NYA0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DAR_NYA0_SHIFT)) & CAAM_DAR_NYA0_MASK)
  10669. /*! @} */
  10670. /*! @name DRR - DECO Reset Register */
  10671. /*! @{ */
  10672. #define CAAM_DRR_RST0_MASK (0x1U)
  10673. #define CAAM_DRR_RST0_SHIFT (0U)
  10674. #define CAAM_DRR_RST0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DRR_RST0_SHIFT)) & CAAM_DRR_RST0_MASK)
  10675. /*! @} */
  10676. /*! @name JRSMVBAR - Job Ring 0 Secure Memory Virtual Base Address Register..Job Ring 3 Secure Memory Virtual Base Address Register */
  10677. /*! @{ */
  10678. #define CAAM_JRSMVBAR_SMVBA_MASK (0xFFFFFFFFU)
  10679. #define CAAM_JRSMVBAR_SMVBA_SHIFT (0U)
  10680. #define CAAM_JRSMVBAR_SMVBA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSMVBAR_SMVBA_SHIFT)) & CAAM_JRSMVBAR_SMVBA_MASK)
  10681. /*! @} */
  10682. /* The count of CAAM_JRSMVBAR */
  10683. #define CAAM_JRSMVBAR_COUNT (4U)
  10684. /*! @name PBSL - Peak Bandwidth Smoothing Limit Register */
  10685. /*! @{ */
  10686. #define CAAM_PBSL_PBSL_MASK (0x7FU)
  10687. #define CAAM_PBSL_PBSL_SHIFT (0U)
  10688. #define CAAM_PBSL_PBSL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PBSL_PBSL_SHIFT)) & CAAM_PBSL_PBSL_MASK)
  10689. /*! @} */
  10690. /*! @name DMA_AIDL_MAP_MS - DMA0_AIDL_MAP_MS */
  10691. /*! @{ */
  10692. #define CAAM_DMA_AIDL_MAP_MS_AID4_BID_MASK (0xFFU)
  10693. #define CAAM_DMA_AIDL_MAP_MS_AID4_BID_SHIFT (0U)
  10694. #define CAAM_DMA_AIDL_MAP_MS_AID4_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_MS_AID4_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_MS_AID4_BID_MASK)
  10695. #define CAAM_DMA_AIDL_MAP_MS_AID5_BID_MASK (0xFF00U)
  10696. #define CAAM_DMA_AIDL_MAP_MS_AID5_BID_SHIFT (8U)
  10697. #define CAAM_DMA_AIDL_MAP_MS_AID5_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_MS_AID5_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_MS_AID5_BID_MASK)
  10698. #define CAAM_DMA_AIDL_MAP_MS_AID6_BID_MASK (0xFF0000U)
  10699. #define CAAM_DMA_AIDL_MAP_MS_AID6_BID_SHIFT (16U)
  10700. #define CAAM_DMA_AIDL_MAP_MS_AID6_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_MS_AID6_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_MS_AID6_BID_MASK)
  10701. #define CAAM_DMA_AIDL_MAP_MS_AID7_BID_MASK (0xFF000000U)
  10702. #define CAAM_DMA_AIDL_MAP_MS_AID7_BID_SHIFT (24U)
  10703. #define CAAM_DMA_AIDL_MAP_MS_AID7_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_MS_AID7_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_MS_AID7_BID_MASK)
  10704. /*! @} */
  10705. /* The count of CAAM_DMA_AIDL_MAP_MS */
  10706. #define CAAM_DMA_AIDL_MAP_MS_COUNT (1U)
  10707. /*! @name DMA_AIDL_MAP_LS - DMA0_AIDL_MAP_LS */
  10708. /*! @{ */
  10709. #define CAAM_DMA_AIDL_MAP_LS_AID0_BID_MASK (0xFFU)
  10710. #define CAAM_DMA_AIDL_MAP_LS_AID0_BID_SHIFT (0U)
  10711. #define CAAM_DMA_AIDL_MAP_LS_AID0_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_LS_AID0_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_LS_AID0_BID_MASK)
  10712. #define CAAM_DMA_AIDL_MAP_LS_AID1_BID_MASK (0xFF00U)
  10713. #define CAAM_DMA_AIDL_MAP_LS_AID1_BID_SHIFT (8U)
  10714. #define CAAM_DMA_AIDL_MAP_LS_AID1_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_LS_AID1_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_LS_AID1_BID_MASK)
  10715. #define CAAM_DMA_AIDL_MAP_LS_AID2_BID_MASK (0xFF0000U)
  10716. #define CAAM_DMA_AIDL_MAP_LS_AID2_BID_SHIFT (16U)
  10717. #define CAAM_DMA_AIDL_MAP_LS_AID2_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_LS_AID2_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_LS_AID2_BID_MASK)
  10718. #define CAAM_DMA_AIDL_MAP_LS_AID3_BID_MASK (0xFF000000U)
  10719. #define CAAM_DMA_AIDL_MAP_LS_AID3_BID_SHIFT (24U)
  10720. #define CAAM_DMA_AIDL_MAP_LS_AID3_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDL_MAP_LS_AID3_BID_SHIFT)) & CAAM_DMA_AIDL_MAP_LS_AID3_BID_MASK)
  10721. /*! @} */
  10722. /* The count of CAAM_DMA_AIDL_MAP_LS */
  10723. #define CAAM_DMA_AIDL_MAP_LS_COUNT (1U)
  10724. /*! @name DMA_AIDM_MAP_MS - DMA0_AIDM_MAP_MS */
  10725. /*! @{ */
  10726. #define CAAM_DMA_AIDM_MAP_MS_AID12_BID_MASK (0xFFU)
  10727. #define CAAM_DMA_AIDM_MAP_MS_AID12_BID_SHIFT (0U)
  10728. #define CAAM_DMA_AIDM_MAP_MS_AID12_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_MS_AID12_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_MS_AID12_BID_MASK)
  10729. #define CAAM_DMA_AIDM_MAP_MS_AID13_BID_MASK (0xFF00U)
  10730. #define CAAM_DMA_AIDM_MAP_MS_AID13_BID_SHIFT (8U)
  10731. #define CAAM_DMA_AIDM_MAP_MS_AID13_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_MS_AID13_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_MS_AID13_BID_MASK)
  10732. #define CAAM_DMA_AIDM_MAP_MS_AID14_BID_MASK (0xFF0000U)
  10733. #define CAAM_DMA_AIDM_MAP_MS_AID14_BID_SHIFT (16U)
  10734. #define CAAM_DMA_AIDM_MAP_MS_AID14_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_MS_AID14_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_MS_AID14_BID_MASK)
  10735. #define CAAM_DMA_AIDM_MAP_MS_AID15_BID_MASK (0xFF000000U)
  10736. #define CAAM_DMA_AIDM_MAP_MS_AID15_BID_SHIFT (24U)
  10737. #define CAAM_DMA_AIDM_MAP_MS_AID15_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_MS_AID15_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_MS_AID15_BID_MASK)
  10738. /*! @} */
  10739. /* The count of CAAM_DMA_AIDM_MAP_MS */
  10740. #define CAAM_DMA_AIDM_MAP_MS_COUNT (1U)
  10741. /*! @name DMA_AIDM_MAP_LS - DMA0_AIDM_MAP_LS */
  10742. /*! @{ */
  10743. #define CAAM_DMA_AIDM_MAP_LS_AID8_BID_MASK (0xFFU)
  10744. #define CAAM_DMA_AIDM_MAP_LS_AID8_BID_SHIFT (0U)
  10745. #define CAAM_DMA_AIDM_MAP_LS_AID8_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_LS_AID8_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_LS_AID8_BID_MASK)
  10746. #define CAAM_DMA_AIDM_MAP_LS_AID9_BID_MASK (0xFF00U)
  10747. #define CAAM_DMA_AIDM_MAP_LS_AID9_BID_SHIFT (8U)
  10748. #define CAAM_DMA_AIDM_MAP_LS_AID9_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_LS_AID9_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_LS_AID9_BID_MASK)
  10749. #define CAAM_DMA_AIDM_MAP_LS_AID10_BID_MASK (0xFF0000U)
  10750. #define CAAM_DMA_AIDM_MAP_LS_AID10_BID_SHIFT (16U)
  10751. #define CAAM_DMA_AIDM_MAP_LS_AID10_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_LS_AID10_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_LS_AID10_BID_MASK)
  10752. #define CAAM_DMA_AIDM_MAP_LS_AID11_BID_MASK (0xFF000000U)
  10753. #define CAAM_DMA_AIDM_MAP_LS_AID11_BID_SHIFT (24U)
  10754. #define CAAM_DMA_AIDM_MAP_LS_AID11_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_AIDM_MAP_LS_AID11_BID_SHIFT)) & CAAM_DMA_AIDM_MAP_LS_AID11_BID_MASK)
  10755. /*! @} */
  10756. /* The count of CAAM_DMA_AIDM_MAP_LS */
  10757. #define CAAM_DMA_AIDM_MAP_LS_COUNT (1U)
  10758. /*! @name DMA0_AID_ENB - DMA0 AXI ID Enable Register */
  10759. /*! @{ */
  10760. #define CAAM_DMA0_AID_ENB_AID0E_MASK (0x1U)
  10761. #define CAAM_DMA0_AID_ENB_AID0E_SHIFT (0U)
  10762. #define CAAM_DMA0_AID_ENB_AID0E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID0E_SHIFT)) & CAAM_DMA0_AID_ENB_AID0E_MASK)
  10763. #define CAAM_DMA0_AID_ENB_AID1E_MASK (0x2U)
  10764. #define CAAM_DMA0_AID_ENB_AID1E_SHIFT (1U)
  10765. #define CAAM_DMA0_AID_ENB_AID1E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID1E_SHIFT)) & CAAM_DMA0_AID_ENB_AID1E_MASK)
  10766. #define CAAM_DMA0_AID_ENB_AID2E_MASK (0x4U)
  10767. #define CAAM_DMA0_AID_ENB_AID2E_SHIFT (2U)
  10768. #define CAAM_DMA0_AID_ENB_AID2E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID2E_SHIFT)) & CAAM_DMA0_AID_ENB_AID2E_MASK)
  10769. #define CAAM_DMA0_AID_ENB_AID3E_MASK (0x8U)
  10770. #define CAAM_DMA0_AID_ENB_AID3E_SHIFT (3U)
  10771. #define CAAM_DMA0_AID_ENB_AID3E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID3E_SHIFT)) & CAAM_DMA0_AID_ENB_AID3E_MASK)
  10772. #define CAAM_DMA0_AID_ENB_AID4E_MASK (0x10U)
  10773. #define CAAM_DMA0_AID_ENB_AID4E_SHIFT (4U)
  10774. #define CAAM_DMA0_AID_ENB_AID4E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID4E_SHIFT)) & CAAM_DMA0_AID_ENB_AID4E_MASK)
  10775. #define CAAM_DMA0_AID_ENB_AID5E_MASK (0x20U)
  10776. #define CAAM_DMA0_AID_ENB_AID5E_SHIFT (5U)
  10777. #define CAAM_DMA0_AID_ENB_AID5E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID5E_SHIFT)) & CAAM_DMA0_AID_ENB_AID5E_MASK)
  10778. #define CAAM_DMA0_AID_ENB_AID6E_MASK (0x40U)
  10779. #define CAAM_DMA0_AID_ENB_AID6E_SHIFT (6U)
  10780. #define CAAM_DMA0_AID_ENB_AID6E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID6E_SHIFT)) & CAAM_DMA0_AID_ENB_AID6E_MASK)
  10781. #define CAAM_DMA0_AID_ENB_AID7E_MASK (0x80U)
  10782. #define CAAM_DMA0_AID_ENB_AID7E_SHIFT (7U)
  10783. #define CAAM_DMA0_AID_ENB_AID7E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID7E_SHIFT)) & CAAM_DMA0_AID_ENB_AID7E_MASK)
  10784. #define CAAM_DMA0_AID_ENB_AID8E_MASK (0x100U)
  10785. #define CAAM_DMA0_AID_ENB_AID8E_SHIFT (8U)
  10786. #define CAAM_DMA0_AID_ENB_AID8E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID8E_SHIFT)) & CAAM_DMA0_AID_ENB_AID8E_MASK)
  10787. #define CAAM_DMA0_AID_ENB_AID9E_MASK (0x200U)
  10788. #define CAAM_DMA0_AID_ENB_AID9E_SHIFT (9U)
  10789. #define CAAM_DMA0_AID_ENB_AID9E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID9E_SHIFT)) & CAAM_DMA0_AID_ENB_AID9E_MASK)
  10790. #define CAAM_DMA0_AID_ENB_AID10E_MASK (0x400U)
  10791. #define CAAM_DMA0_AID_ENB_AID10E_SHIFT (10U)
  10792. #define CAAM_DMA0_AID_ENB_AID10E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID10E_SHIFT)) & CAAM_DMA0_AID_ENB_AID10E_MASK)
  10793. #define CAAM_DMA0_AID_ENB_AID11E_MASK (0x800U)
  10794. #define CAAM_DMA0_AID_ENB_AID11E_SHIFT (11U)
  10795. #define CAAM_DMA0_AID_ENB_AID11E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID11E_SHIFT)) & CAAM_DMA0_AID_ENB_AID11E_MASK)
  10796. #define CAAM_DMA0_AID_ENB_AID12E_MASK (0x1000U)
  10797. #define CAAM_DMA0_AID_ENB_AID12E_SHIFT (12U)
  10798. #define CAAM_DMA0_AID_ENB_AID12E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID12E_SHIFT)) & CAAM_DMA0_AID_ENB_AID12E_MASK)
  10799. #define CAAM_DMA0_AID_ENB_AID13E_MASK (0x2000U)
  10800. #define CAAM_DMA0_AID_ENB_AID13E_SHIFT (13U)
  10801. #define CAAM_DMA0_AID_ENB_AID13E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID13E_SHIFT)) & CAAM_DMA0_AID_ENB_AID13E_MASK)
  10802. #define CAAM_DMA0_AID_ENB_AID14E_MASK (0x4000U)
  10803. #define CAAM_DMA0_AID_ENB_AID14E_SHIFT (14U)
  10804. #define CAAM_DMA0_AID_ENB_AID14E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID14E_SHIFT)) & CAAM_DMA0_AID_ENB_AID14E_MASK)
  10805. #define CAAM_DMA0_AID_ENB_AID15E_MASK (0x8000U)
  10806. #define CAAM_DMA0_AID_ENB_AID15E_SHIFT (15U)
  10807. #define CAAM_DMA0_AID_ENB_AID15E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AID_ENB_AID15E_SHIFT)) & CAAM_DMA0_AID_ENB_AID15E_MASK)
  10808. /*! @} */
  10809. /*! @name DMA0_ARD_TC - DMA0 AXI Read Timing Check Register */
  10810. /*! @{ */
  10811. #define CAAM_DMA0_ARD_TC_ARSC_MASK (0xFFFFFU)
  10812. #define CAAM_DMA0_ARD_TC_ARSC_SHIFT (0U)
  10813. #define CAAM_DMA0_ARD_TC_ARSC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARSC_SHIFT)) & CAAM_DMA0_ARD_TC_ARSC_MASK)
  10814. #define CAAM_DMA0_ARD_TC_ARLC_MASK (0xFFFFF000000U)
  10815. #define CAAM_DMA0_ARD_TC_ARLC_SHIFT (24U)
  10816. #define CAAM_DMA0_ARD_TC_ARLC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARLC_SHIFT)) & CAAM_DMA0_ARD_TC_ARLC_MASK)
  10817. #define CAAM_DMA0_ARD_TC_ARL_MASK (0xFFF000000000000U)
  10818. #define CAAM_DMA0_ARD_TC_ARL_SHIFT (48U)
  10819. #define CAAM_DMA0_ARD_TC_ARL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARL_SHIFT)) & CAAM_DMA0_ARD_TC_ARL_MASK)
  10820. #define CAAM_DMA0_ARD_TC_ARTL_MASK (0x1000000000000000U)
  10821. #define CAAM_DMA0_ARD_TC_ARTL_SHIFT (60U)
  10822. #define CAAM_DMA0_ARD_TC_ARTL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTL_SHIFT)) & CAAM_DMA0_ARD_TC_ARTL_MASK)
  10823. #define CAAM_DMA0_ARD_TC_ARTT_MASK (0x2000000000000000U)
  10824. #define CAAM_DMA0_ARD_TC_ARTT_SHIFT (61U)
  10825. #define CAAM_DMA0_ARD_TC_ARTT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTT_SHIFT)) & CAAM_DMA0_ARD_TC_ARTT_MASK)
  10826. #define CAAM_DMA0_ARD_TC_ARCT_MASK (0x4000000000000000U)
  10827. #define CAAM_DMA0_ARD_TC_ARCT_SHIFT (62U)
  10828. #define CAAM_DMA0_ARD_TC_ARCT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARCT_SHIFT)) & CAAM_DMA0_ARD_TC_ARCT_MASK)
  10829. #define CAAM_DMA0_ARD_TC_ARTCE_MASK (0x8000000000000000U)
  10830. #define CAAM_DMA0_ARD_TC_ARTCE_SHIFT (63U)
  10831. #define CAAM_DMA0_ARD_TC_ARTCE(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_ARD_TC_ARTCE_SHIFT)) & CAAM_DMA0_ARD_TC_ARTCE_MASK)
  10832. /*! @} */
  10833. /*! @name DMA0_ARD_LAT - DMA0 Read Timing Check Latency Register */
  10834. /*! @{ */
  10835. #define CAAM_DMA0_ARD_LAT_SARL_MASK (0xFFFFFFFFU)
  10836. #define CAAM_DMA0_ARD_LAT_SARL_SHIFT (0U)
  10837. #define CAAM_DMA0_ARD_LAT_SARL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_ARD_LAT_SARL_SHIFT)) & CAAM_DMA0_ARD_LAT_SARL_MASK)
  10838. /*! @} */
  10839. /*! @name DMA0_AWR_TC - DMA0 AXI Write Timing Check Register */
  10840. /*! @{ */
  10841. #define CAAM_DMA0_AWR_TC_AWSC_MASK (0xFFFFFU)
  10842. #define CAAM_DMA0_AWR_TC_AWSC_SHIFT (0U)
  10843. #define CAAM_DMA0_AWR_TC_AWSC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWSC_SHIFT)) & CAAM_DMA0_AWR_TC_AWSC_MASK)
  10844. #define CAAM_DMA0_AWR_TC_AWLC_MASK (0xFFFFF000000U)
  10845. #define CAAM_DMA0_AWR_TC_AWLC_SHIFT (24U)
  10846. #define CAAM_DMA0_AWR_TC_AWLC(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWLC_SHIFT)) & CAAM_DMA0_AWR_TC_AWLC_MASK)
  10847. #define CAAM_DMA0_AWR_TC_AWL_MASK (0xFFF000000000000U)
  10848. #define CAAM_DMA0_AWR_TC_AWL_SHIFT (48U)
  10849. #define CAAM_DMA0_AWR_TC_AWL(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWL_SHIFT)) & CAAM_DMA0_AWR_TC_AWL_MASK)
  10850. #define CAAM_DMA0_AWR_TC_AWTT_MASK (0x2000000000000000U)
  10851. #define CAAM_DMA0_AWR_TC_AWTT_SHIFT (61U)
  10852. #define CAAM_DMA0_AWR_TC_AWTT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWTT_SHIFT)) & CAAM_DMA0_AWR_TC_AWTT_MASK)
  10853. #define CAAM_DMA0_AWR_TC_AWCT_MASK (0x4000000000000000U)
  10854. #define CAAM_DMA0_AWR_TC_AWCT_SHIFT (62U)
  10855. #define CAAM_DMA0_AWR_TC_AWCT(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWCT_SHIFT)) & CAAM_DMA0_AWR_TC_AWCT_MASK)
  10856. #define CAAM_DMA0_AWR_TC_AWTCE_MASK (0x8000000000000000U)
  10857. #define CAAM_DMA0_AWR_TC_AWTCE_SHIFT (63U)
  10858. #define CAAM_DMA0_AWR_TC_AWTCE(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DMA0_AWR_TC_AWTCE_SHIFT)) & CAAM_DMA0_AWR_TC_AWTCE_MASK)
  10859. /*! @} */
  10860. /*! @name DMA0_AWR_LAT - DMA0 Write Timing Check Latency Register */
  10861. /*! @{ */
  10862. #define CAAM_DMA0_AWR_LAT_SAWL_MASK (0xFFFFFFFFU)
  10863. #define CAAM_DMA0_AWR_LAT_SAWL_SHIFT (0U)
  10864. #define CAAM_DMA0_AWR_LAT_SAWL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA0_AWR_LAT_SAWL_SHIFT)) & CAAM_DMA0_AWR_LAT_SAWL_MASK)
  10865. /*! @} */
  10866. /*! @name MPPKR - Manufacturing Protection Private Key Register */
  10867. /*! @{ */
  10868. #define CAAM_MPPKR_MPPrivK_MASK (0xFFU)
  10869. #define CAAM_MPPKR_MPPrivK_SHIFT (0U)
  10870. #define CAAM_MPPKR_MPPrivK(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPPKR_MPPrivK_SHIFT)) & CAAM_MPPKR_MPPrivK_MASK)
  10871. /*! @} */
  10872. /* The count of CAAM_MPPKR */
  10873. #define CAAM_MPPKR_COUNT (64U)
  10874. /*! @name MPMR - Manufacturing Protection Message Register */
  10875. /*! @{ */
  10876. #define CAAM_MPMR_MPMSG_MASK (0xFFU)
  10877. #define CAAM_MPMR_MPMSG_SHIFT (0U)
  10878. #define CAAM_MPMR_MPMSG(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPMR_MPMSG_SHIFT)) & CAAM_MPMR_MPMSG_MASK)
  10879. /*! @} */
  10880. /* The count of CAAM_MPMR */
  10881. #define CAAM_MPMR_COUNT (32U)
  10882. /*! @name MPTESTR - Manufacturing Protection Test Register */
  10883. /*! @{ */
  10884. #define CAAM_MPTESTR_TEST_VALUE_MASK (0xFFU)
  10885. #define CAAM_MPTESTR_TEST_VALUE_SHIFT (0U)
  10886. #define CAAM_MPTESTR_TEST_VALUE(x) (((uint8_t)(((uint8_t)(x)) << CAAM_MPTESTR_TEST_VALUE_SHIFT)) & CAAM_MPTESTR_TEST_VALUE_MASK)
  10887. /*! @} */
  10888. /* The count of CAAM_MPTESTR */
  10889. #define CAAM_MPTESTR_COUNT (32U)
  10890. /*! @name MPECC - Manufacturing Protection ECC Register */
  10891. /*! @{ */
  10892. #define CAAM_MPECC_MP_SYNDROME_MASK (0x1FF0000U)
  10893. #define CAAM_MPECC_MP_SYNDROME_SHIFT (16U)
  10894. /*! MP_SYNDROME
  10895. * 0b000000000..The MP Key in the SFP passes the ECC check.
  10896. * 0b000000001-0b111111111..The MP Key in the SFP fails the ECC check, and this is the ECC failure syndrome.
  10897. */
  10898. #define CAAM_MPECC_MP_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MPECC_MP_SYNDROME_SHIFT)) & CAAM_MPECC_MP_SYNDROME_MASK)
  10899. #define CAAM_MPECC_MP_ZERO_MASK (0x8000000U)
  10900. #define CAAM_MPECC_MP_ZERO_SHIFT (27U)
  10901. /*! MP_ZERO
  10902. * 0b0..The MP Key in the SFP has a non-zero value.
  10903. * 0b1..The MP Key in the SFP is all zeros (unprogrammed).
  10904. */
  10905. #define CAAM_MPECC_MP_ZERO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_MPECC_MP_ZERO_SHIFT)) & CAAM_MPECC_MP_ZERO_MASK)
  10906. /*! @} */
  10907. /*! @name JDKEKR - Job Descriptor Key Encryption Key Register */
  10908. /*! @{ */
  10909. #define CAAM_JDKEKR_JDKEK_MASK (0xFFFFFFFFU)
  10910. #define CAAM_JDKEKR_JDKEK_SHIFT (0U)
  10911. #define CAAM_JDKEKR_JDKEK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JDKEKR_JDKEK_SHIFT)) & CAAM_JDKEKR_JDKEK_MASK)
  10912. /*! @} */
  10913. /* The count of CAAM_JDKEKR */
  10914. #define CAAM_JDKEKR_COUNT (8U)
  10915. /*! @name TDKEKR - Trusted Descriptor Key Encryption Key Register */
  10916. /*! @{ */
  10917. #define CAAM_TDKEKR_TDKEK_MASK (0xFFFFFFFFU)
  10918. #define CAAM_TDKEKR_TDKEK_SHIFT (0U)
  10919. #define CAAM_TDKEKR_TDKEK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_TDKEKR_TDKEK_SHIFT)) & CAAM_TDKEKR_TDKEK_MASK)
  10920. /*! @} */
  10921. /* The count of CAAM_TDKEKR */
  10922. #define CAAM_TDKEKR_COUNT (8U)
  10923. /*! @name TDSKR - Trusted Descriptor Signing Key Register */
  10924. /*! @{ */
  10925. #define CAAM_TDSKR_TDSK_MASK (0xFFFFFFFFU)
  10926. #define CAAM_TDSKR_TDSK_SHIFT (0U)
  10927. #define CAAM_TDSKR_TDSK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_TDSKR_TDSK_SHIFT)) & CAAM_TDSKR_TDSK_MASK)
  10928. /*! @} */
  10929. /* The count of CAAM_TDSKR */
  10930. #define CAAM_TDSKR_COUNT (8U)
  10931. /*! @name SKNR - Secure Key Nonce Register */
  10932. /*! @{ */
  10933. #define CAAM_SKNR_SK_NONCE_LS_MASK (0xFFFFFFFFU)
  10934. #define CAAM_SKNR_SK_NONCE_LS_SHIFT (0U)
  10935. #define CAAM_SKNR_SK_NONCE_LS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_SKNR_SK_NONCE_LS_SHIFT)) & CAAM_SKNR_SK_NONCE_LS_MASK)
  10936. #define CAAM_SKNR_SK_NONCE_MS_MASK (0x7FFF00000000U)
  10937. #define CAAM_SKNR_SK_NONCE_MS_SHIFT (32U)
  10938. #define CAAM_SKNR_SK_NONCE_MS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_SKNR_SK_NONCE_MS_SHIFT)) & CAAM_SKNR_SK_NONCE_MS_MASK)
  10939. /*! @} */
  10940. /*! @name DMA_STA - DMA Status Register */
  10941. /*! @{ */
  10942. #define CAAM_DMA_STA_DMA0_ETIF_MASK (0x1FU)
  10943. #define CAAM_DMA_STA_DMA0_ETIF_SHIFT (0U)
  10944. #define CAAM_DMA_STA_DMA0_ETIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_ETIF_SHIFT)) & CAAM_DMA_STA_DMA0_ETIF_MASK)
  10945. #define CAAM_DMA_STA_DMA0_ITIF_MASK (0x20U)
  10946. #define CAAM_DMA_STA_DMA0_ITIF_SHIFT (5U)
  10947. #define CAAM_DMA_STA_DMA0_ITIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_ITIF_SHIFT)) & CAAM_DMA_STA_DMA0_ITIF_MASK)
  10948. #define CAAM_DMA_STA_DMA0_IDLE_MASK (0x80U)
  10949. #define CAAM_DMA_STA_DMA0_IDLE_SHIFT (7U)
  10950. #define CAAM_DMA_STA_DMA0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_STA_DMA0_IDLE_SHIFT)) & CAAM_DMA_STA_DMA0_IDLE_MASK)
  10951. /*! @} */
  10952. /*! @name DMA_X_AID_7_4_MAP - DMA_X_AID_7_4_MAP */
  10953. /*! @{ */
  10954. #define CAAM_DMA_X_AID_7_4_MAP_AID4_BID_MASK (0xFFU)
  10955. #define CAAM_DMA_X_AID_7_4_MAP_AID4_BID_SHIFT (0U)
  10956. #define CAAM_DMA_X_AID_7_4_MAP_AID4_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_7_4_MAP_AID4_BID_SHIFT)) & CAAM_DMA_X_AID_7_4_MAP_AID4_BID_MASK)
  10957. #define CAAM_DMA_X_AID_7_4_MAP_AID5_BID_MASK (0xFF00U)
  10958. #define CAAM_DMA_X_AID_7_4_MAP_AID5_BID_SHIFT (8U)
  10959. #define CAAM_DMA_X_AID_7_4_MAP_AID5_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_7_4_MAP_AID5_BID_SHIFT)) & CAAM_DMA_X_AID_7_4_MAP_AID5_BID_MASK)
  10960. #define CAAM_DMA_X_AID_7_4_MAP_AID6_BID_MASK (0xFF0000U)
  10961. #define CAAM_DMA_X_AID_7_4_MAP_AID6_BID_SHIFT (16U)
  10962. #define CAAM_DMA_X_AID_7_4_MAP_AID6_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_7_4_MAP_AID6_BID_SHIFT)) & CAAM_DMA_X_AID_7_4_MAP_AID6_BID_MASK)
  10963. #define CAAM_DMA_X_AID_7_4_MAP_AID7_BID_MASK (0xFF000000U)
  10964. #define CAAM_DMA_X_AID_7_4_MAP_AID7_BID_SHIFT (24U)
  10965. #define CAAM_DMA_X_AID_7_4_MAP_AID7_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_7_4_MAP_AID7_BID_SHIFT)) & CAAM_DMA_X_AID_7_4_MAP_AID7_BID_MASK)
  10966. /*! @} */
  10967. /*! @name DMA_X_AID_3_0_MAP - DMA_X_AID_3_0_MAP */
  10968. /*! @{ */
  10969. #define CAAM_DMA_X_AID_3_0_MAP_AID0_BID_MASK (0xFFU)
  10970. #define CAAM_DMA_X_AID_3_0_MAP_AID0_BID_SHIFT (0U)
  10971. #define CAAM_DMA_X_AID_3_0_MAP_AID0_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_3_0_MAP_AID0_BID_SHIFT)) & CAAM_DMA_X_AID_3_0_MAP_AID0_BID_MASK)
  10972. #define CAAM_DMA_X_AID_3_0_MAP_AID1_BID_MASK (0xFF00U)
  10973. #define CAAM_DMA_X_AID_3_0_MAP_AID1_BID_SHIFT (8U)
  10974. #define CAAM_DMA_X_AID_3_0_MAP_AID1_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_3_0_MAP_AID1_BID_SHIFT)) & CAAM_DMA_X_AID_3_0_MAP_AID1_BID_MASK)
  10975. #define CAAM_DMA_X_AID_3_0_MAP_AID2_BID_MASK (0xFF0000U)
  10976. #define CAAM_DMA_X_AID_3_0_MAP_AID2_BID_SHIFT (16U)
  10977. #define CAAM_DMA_X_AID_3_0_MAP_AID2_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_3_0_MAP_AID2_BID_SHIFT)) & CAAM_DMA_X_AID_3_0_MAP_AID2_BID_MASK)
  10978. #define CAAM_DMA_X_AID_3_0_MAP_AID3_BID_MASK (0xFF000000U)
  10979. #define CAAM_DMA_X_AID_3_0_MAP_AID3_BID_SHIFT (24U)
  10980. #define CAAM_DMA_X_AID_3_0_MAP_AID3_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_3_0_MAP_AID3_BID_SHIFT)) & CAAM_DMA_X_AID_3_0_MAP_AID3_BID_MASK)
  10981. /*! @} */
  10982. /*! @name DMA_X_AID_15_12_MAP - DMA_X_AID_15_12_MAP */
  10983. /*! @{ */
  10984. #define CAAM_DMA_X_AID_15_12_MAP_AID12_BID_MASK (0xFFU)
  10985. #define CAAM_DMA_X_AID_15_12_MAP_AID12_BID_SHIFT (0U)
  10986. #define CAAM_DMA_X_AID_15_12_MAP_AID12_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_12_MAP_AID12_BID_SHIFT)) & CAAM_DMA_X_AID_15_12_MAP_AID12_BID_MASK)
  10987. #define CAAM_DMA_X_AID_15_12_MAP_AID13_BID_MASK (0xFF00U)
  10988. #define CAAM_DMA_X_AID_15_12_MAP_AID13_BID_SHIFT (8U)
  10989. #define CAAM_DMA_X_AID_15_12_MAP_AID13_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_12_MAP_AID13_BID_SHIFT)) & CAAM_DMA_X_AID_15_12_MAP_AID13_BID_MASK)
  10990. #define CAAM_DMA_X_AID_15_12_MAP_AID14_BID_MASK (0xFF0000U)
  10991. #define CAAM_DMA_X_AID_15_12_MAP_AID14_BID_SHIFT (16U)
  10992. #define CAAM_DMA_X_AID_15_12_MAP_AID14_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_12_MAP_AID14_BID_SHIFT)) & CAAM_DMA_X_AID_15_12_MAP_AID14_BID_MASK)
  10993. #define CAAM_DMA_X_AID_15_12_MAP_AID15_BID_MASK (0xFF000000U)
  10994. #define CAAM_DMA_X_AID_15_12_MAP_AID15_BID_SHIFT (24U)
  10995. #define CAAM_DMA_X_AID_15_12_MAP_AID15_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_12_MAP_AID15_BID_SHIFT)) & CAAM_DMA_X_AID_15_12_MAP_AID15_BID_MASK)
  10996. /*! @} */
  10997. /*! @name DMA_X_AID_11_8_MAP - DMA_X_AID_11_8_MAP */
  10998. /*! @{ */
  10999. #define CAAM_DMA_X_AID_11_8_MAP_AID8_BID_MASK (0xFFU)
  11000. #define CAAM_DMA_X_AID_11_8_MAP_AID8_BID_SHIFT (0U)
  11001. #define CAAM_DMA_X_AID_11_8_MAP_AID8_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_11_8_MAP_AID8_BID_SHIFT)) & CAAM_DMA_X_AID_11_8_MAP_AID8_BID_MASK)
  11002. #define CAAM_DMA_X_AID_11_8_MAP_AID9_BID_MASK (0xFF00U)
  11003. #define CAAM_DMA_X_AID_11_8_MAP_AID9_BID_SHIFT (8U)
  11004. #define CAAM_DMA_X_AID_11_8_MAP_AID9_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_11_8_MAP_AID9_BID_SHIFT)) & CAAM_DMA_X_AID_11_8_MAP_AID9_BID_MASK)
  11005. #define CAAM_DMA_X_AID_11_8_MAP_AID10_BID_MASK (0xFF0000U)
  11006. #define CAAM_DMA_X_AID_11_8_MAP_AID10_BID_SHIFT (16U)
  11007. #define CAAM_DMA_X_AID_11_8_MAP_AID10_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_11_8_MAP_AID10_BID_SHIFT)) & CAAM_DMA_X_AID_11_8_MAP_AID10_BID_MASK)
  11008. #define CAAM_DMA_X_AID_11_8_MAP_AID11_BID_MASK (0xFF000000U)
  11009. #define CAAM_DMA_X_AID_11_8_MAP_AID11_BID_SHIFT (24U)
  11010. #define CAAM_DMA_X_AID_11_8_MAP_AID11_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_11_8_MAP_AID11_BID_SHIFT)) & CAAM_DMA_X_AID_11_8_MAP_AID11_BID_MASK)
  11011. /*! @} */
  11012. /*! @name DMA_X_AID_15_0_EN - DMA_X AXI ID Map Enable Register */
  11013. /*! @{ */
  11014. #define CAAM_DMA_X_AID_15_0_EN_AID0E_MASK (0x1U)
  11015. #define CAAM_DMA_X_AID_15_0_EN_AID0E_SHIFT (0U)
  11016. #define CAAM_DMA_X_AID_15_0_EN_AID0E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID0E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID0E_MASK)
  11017. #define CAAM_DMA_X_AID_15_0_EN_AID1E_MASK (0x2U)
  11018. #define CAAM_DMA_X_AID_15_0_EN_AID1E_SHIFT (1U)
  11019. #define CAAM_DMA_X_AID_15_0_EN_AID1E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID1E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID1E_MASK)
  11020. #define CAAM_DMA_X_AID_15_0_EN_AID2E_MASK (0x4U)
  11021. #define CAAM_DMA_X_AID_15_0_EN_AID2E_SHIFT (2U)
  11022. #define CAAM_DMA_X_AID_15_0_EN_AID2E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID2E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID2E_MASK)
  11023. #define CAAM_DMA_X_AID_15_0_EN_AID3E_MASK (0x8U)
  11024. #define CAAM_DMA_X_AID_15_0_EN_AID3E_SHIFT (3U)
  11025. #define CAAM_DMA_X_AID_15_0_EN_AID3E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID3E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID3E_MASK)
  11026. #define CAAM_DMA_X_AID_15_0_EN_AID4E_MASK (0x10U)
  11027. #define CAAM_DMA_X_AID_15_0_EN_AID4E_SHIFT (4U)
  11028. #define CAAM_DMA_X_AID_15_0_EN_AID4E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID4E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID4E_MASK)
  11029. #define CAAM_DMA_X_AID_15_0_EN_AID5E_MASK (0x20U)
  11030. #define CAAM_DMA_X_AID_15_0_EN_AID5E_SHIFT (5U)
  11031. #define CAAM_DMA_X_AID_15_0_EN_AID5E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID5E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID5E_MASK)
  11032. #define CAAM_DMA_X_AID_15_0_EN_AID6E_MASK (0x40U)
  11033. #define CAAM_DMA_X_AID_15_0_EN_AID6E_SHIFT (6U)
  11034. #define CAAM_DMA_X_AID_15_0_EN_AID6E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID6E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID6E_MASK)
  11035. #define CAAM_DMA_X_AID_15_0_EN_AID7E_MASK (0x80U)
  11036. #define CAAM_DMA_X_AID_15_0_EN_AID7E_SHIFT (7U)
  11037. #define CAAM_DMA_X_AID_15_0_EN_AID7E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID7E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID7E_MASK)
  11038. #define CAAM_DMA_X_AID_15_0_EN_AID8E_MASK (0x100U)
  11039. #define CAAM_DMA_X_AID_15_0_EN_AID8E_SHIFT (8U)
  11040. #define CAAM_DMA_X_AID_15_0_EN_AID8E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID8E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID8E_MASK)
  11041. #define CAAM_DMA_X_AID_15_0_EN_AID9E_MASK (0x200U)
  11042. #define CAAM_DMA_X_AID_15_0_EN_AID9E_SHIFT (9U)
  11043. #define CAAM_DMA_X_AID_15_0_EN_AID9E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID9E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID9E_MASK)
  11044. #define CAAM_DMA_X_AID_15_0_EN_AID10E_MASK (0x400U)
  11045. #define CAAM_DMA_X_AID_15_0_EN_AID10E_SHIFT (10U)
  11046. #define CAAM_DMA_X_AID_15_0_EN_AID10E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID10E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID10E_MASK)
  11047. #define CAAM_DMA_X_AID_15_0_EN_AID11E_MASK (0x800U)
  11048. #define CAAM_DMA_X_AID_15_0_EN_AID11E_SHIFT (11U)
  11049. #define CAAM_DMA_X_AID_15_0_EN_AID11E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID11E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID11E_MASK)
  11050. #define CAAM_DMA_X_AID_15_0_EN_AID12E_MASK (0x1000U)
  11051. #define CAAM_DMA_X_AID_15_0_EN_AID12E_SHIFT (12U)
  11052. #define CAAM_DMA_X_AID_15_0_EN_AID12E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID12E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID12E_MASK)
  11053. #define CAAM_DMA_X_AID_15_0_EN_AID13E_MASK (0x2000U)
  11054. #define CAAM_DMA_X_AID_15_0_EN_AID13E_SHIFT (13U)
  11055. #define CAAM_DMA_X_AID_15_0_EN_AID13E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID13E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID13E_MASK)
  11056. #define CAAM_DMA_X_AID_15_0_EN_AID14E_MASK (0x4000U)
  11057. #define CAAM_DMA_X_AID_15_0_EN_AID14E_SHIFT (14U)
  11058. #define CAAM_DMA_X_AID_15_0_EN_AID14E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID14E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID14E_MASK)
  11059. #define CAAM_DMA_X_AID_15_0_EN_AID15E_MASK (0x8000U)
  11060. #define CAAM_DMA_X_AID_15_0_EN_AID15E_SHIFT (15U)
  11061. #define CAAM_DMA_X_AID_15_0_EN_AID15E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AID_15_0_EN_AID15E_SHIFT)) & CAAM_DMA_X_AID_15_0_EN_AID15E_MASK)
  11062. /*! @} */
  11063. /*! @name DMA_X_ARTC_CTL - DMA_X AXI Read Timing Check Control Register */
  11064. /*! @{ */
  11065. #define CAAM_DMA_X_ARTC_CTL_ART_MASK (0xFFFU)
  11066. #define CAAM_DMA_X_ARTC_CTL_ART_SHIFT (0U)
  11067. #define CAAM_DMA_X_ARTC_CTL_ART(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ART_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ART_MASK)
  11068. #define CAAM_DMA_X_ARTC_CTL_ARL_MASK (0xFFF0000U)
  11069. #define CAAM_DMA_X_ARTC_CTL_ARL_SHIFT (16U)
  11070. #define CAAM_DMA_X_ARTC_CTL_ARL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ARL_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ARL_MASK)
  11071. #define CAAM_DMA_X_ARTC_CTL_ARTL_MASK (0x10000000U)
  11072. #define CAAM_DMA_X_ARTC_CTL_ARTL_SHIFT (28U)
  11073. #define CAAM_DMA_X_ARTC_CTL_ARTL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ARTL_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ARTL_MASK)
  11074. #define CAAM_DMA_X_ARTC_CTL_ARTT_MASK (0x20000000U)
  11075. #define CAAM_DMA_X_ARTC_CTL_ARTT_SHIFT (29U)
  11076. #define CAAM_DMA_X_ARTC_CTL_ARTT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ARTT_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ARTT_MASK)
  11077. #define CAAM_DMA_X_ARTC_CTL_ARCT_MASK (0x40000000U)
  11078. #define CAAM_DMA_X_ARTC_CTL_ARCT_SHIFT (30U)
  11079. #define CAAM_DMA_X_ARTC_CTL_ARCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ARCT_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ARCT_MASK)
  11080. #define CAAM_DMA_X_ARTC_CTL_ARTCE_MASK (0x80000000U)
  11081. #define CAAM_DMA_X_ARTC_CTL_ARTCE_SHIFT (31U)
  11082. #define CAAM_DMA_X_ARTC_CTL_ARTCE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_CTL_ARTCE_SHIFT)) & CAAM_DMA_X_ARTC_CTL_ARTCE_MASK)
  11083. /*! @} */
  11084. /*! @name DMA_X_ARTC_LC - DMA_X AXI Read Timing Check Late Count Register */
  11085. /*! @{ */
  11086. #define CAAM_DMA_X_ARTC_LC_ARLC_MASK (0xFFFFFU)
  11087. #define CAAM_DMA_X_ARTC_LC_ARLC_SHIFT (0U)
  11088. #define CAAM_DMA_X_ARTC_LC_ARLC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_LC_ARLC_SHIFT)) & CAAM_DMA_X_ARTC_LC_ARLC_MASK)
  11089. /*! @} */
  11090. /*! @name DMA_X_ARTC_SC - DMA_X AXI Read Timing Check Sample Count Register */
  11091. /*! @{ */
  11092. #define CAAM_DMA_X_ARTC_SC_ARSC_MASK (0xFFFFFU)
  11093. #define CAAM_DMA_X_ARTC_SC_ARSC_SHIFT (0U)
  11094. #define CAAM_DMA_X_ARTC_SC_ARSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_SC_ARSC_SHIFT)) & CAAM_DMA_X_ARTC_SC_ARSC_MASK)
  11095. /*! @} */
  11096. /*! @name DMA_X_ARTC_LAT - DMA_X Read Timing Check Latency Register */
  11097. /*! @{ */
  11098. #define CAAM_DMA_X_ARTC_LAT_SARL_MASK (0xFFFFFFFFU)
  11099. #define CAAM_DMA_X_ARTC_LAT_SARL_SHIFT (0U)
  11100. #define CAAM_DMA_X_ARTC_LAT_SARL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_ARTC_LAT_SARL_SHIFT)) & CAAM_DMA_X_ARTC_LAT_SARL_MASK)
  11101. /*! @} */
  11102. /*! @name DMA_X_AWTC_CTL - DMA_X AXI Write Timing Check Control Register */
  11103. /*! @{ */
  11104. #define CAAM_DMA_X_AWTC_CTL_AWT_MASK (0xFFFU)
  11105. #define CAAM_DMA_X_AWTC_CTL_AWT_SHIFT (0U)
  11106. #define CAAM_DMA_X_AWTC_CTL_AWT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_CTL_AWT_SHIFT)) & CAAM_DMA_X_AWTC_CTL_AWT_MASK)
  11107. #define CAAM_DMA_X_AWTC_CTL_AWL_MASK (0xFFF0000U)
  11108. #define CAAM_DMA_X_AWTC_CTL_AWL_SHIFT (16U)
  11109. #define CAAM_DMA_X_AWTC_CTL_AWL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_CTL_AWL_SHIFT)) & CAAM_DMA_X_AWTC_CTL_AWL_MASK)
  11110. #define CAAM_DMA_X_AWTC_CTL_AWTT_MASK (0x20000000U)
  11111. #define CAAM_DMA_X_AWTC_CTL_AWTT_SHIFT (29U)
  11112. #define CAAM_DMA_X_AWTC_CTL_AWTT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_CTL_AWTT_SHIFT)) & CAAM_DMA_X_AWTC_CTL_AWTT_MASK)
  11113. #define CAAM_DMA_X_AWTC_CTL_AWCT_MASK (0x40000000U)
  11114. #define CAAM_DMA_X_AWTC_CTL_AWCT_SHIFT (30U)
  11115. #define CAAM_DMA_X_AWTC_CTL_AWCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_CTL_AWCT_SHIFT)) & CAAM_DMA_X_AWTC_CTL_AWCT_MASK)
  11116. #define CAAM_DMA_X_AWTC_CTL_AWTCE_MASK (0x80000000U)
  11117. #define CAAM_DMA_X_AWTC_CTL_AWTCE_SHIFT (31U)
  11118. #define CAAM_DMA_X_AWTC_CTL_AWTCE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_CTL_AWTCE_SHIFT)) & CAAM_DMA_X_AWTC_CTL_AWTCE_MASK)
  11119. /*! @} */
  11120. /*! @name DMA_X_AWTC_LC - DMA_X AXI Write Timing Check Late Count Register */
  11121. /*! @{ */
  11122. #define CAAM_DMA_X_AWTC_LC_AWLC_MASK (0xFFFFFU)
  11123. #define CAAM_DMA_X_AWTC_LC_AWLC_SHIFT (0U)
  11124. #define CAAM_DMA_X_AWTC_LC_AWLC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_LC_AWLC_SHIFT)) & CAAM_DMA_X_AWTC_LC_AWLC_MASK)
  11125. /*! @} */
  11126. /*! @name DMA_X_AWTC_SC - DMA_X AXI Write Timing Check Sample Count Register */
  11127. /*! @{ */
  11128. #define CAAM_DMA_X_AWTC_SC_AWSC_MASK (0xFFFFFU)
  11129. #define CAAM_DMA_X_AWTC_SC_AWSC_SHIFT (0U)
  11130. #define CAAM_DMA_X_AWTC_SC_AWSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_SC_AWSC_SHIFT)) & CAAM_DMA_X_AWTC_SC_AWSC_MASK)
  11131. /*! @} */
  11132. /*! @name DMA_X_AWTC_LAT - DMA_X Write Timing Check Latency Register */
  11133. /*! @{ */
  11134. #define CAAM_DMA_X_AWTC_LAT_SAWL_MASK (0xFFFFFFFFU)
  11135. #define CAAM_DMA_X_AWTC_LAT_SAWL_SHIFT (0U)
  11136. #define CAAM_DMA_X_AWTC_LAT_SAWL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMA_X_AWTC_LAT_SAWL_SHIFT)) & CAAM_DMA_X_AWTC_LAT_SAWL_MASK)
  11137. /*! @} */
  11138. /*! @name RTMCTL - RNG TRNG Miscellaneous Control Register */
  11139. /*! @{ */
  11140. #define CAAM_RTMCTL_SAMP_MODE_MASK (0x3U)
  11141. #define CAAM_RTMCTL_SAMP_MODE_SHIFT (0U)
  11142. /*! SAMP_MODE
  11143. * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker
  11144. * 0b01..use raw data into both Entropy shifter and Statistical Checker
  11145. * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker
  11146. * 0b11..undefined/reserved.
  11147. */
  11148. #define CAAM_RTMCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_SAMP_MODE_SHIFT)) & CAAM_RTMCTL_SAMP_MODE_MASK)
  11149. #define CAAM_RTMCTL_OSC_DIV_MASK (0xCU)
  11150. #define CAAM_RTMCTL_OSC_DIV_SHIFT (2U)
  11151. /*! OSC_DIV
  11152. * 0b00..use ring oscillator with no divide
  11153. * 0b01..use ring oscillator divided-by-2
  11154. * 0b10..use ring oscillator divided-by-4
  11155. * 0b11..use ring oscillator divided-by-8
  11156. */
  11157. #define CAAM_RTMCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_OSC_DIV_SHIFT)) & CAAM_RTMCTL_OSC_DIV_MASK)
  11158. #define CAAM_RTMCTL_CLK_OUT_EN_MASK (0x10U)
  11159. #define CAAM_RTMCTL_CLK_OUT_EN_SHIFT (4U)
  11160. #define CAAM_RTMCTL_CLK_OUT_EN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_CLK_OUT_EN_SHIFT)) & CAAM_RTMCTL_CLK_OUT_EN_MASK)
  11161. #define CAAM_RTMCTL_TRNG_ACC_MASK (0x20U)
  11162. #define CAAM_RTMCTL_TRNG_ACC_SHIFT (5U)
  11163. #define CAAM_RTMCTL_TRNG_ACC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TRNG_ACC_SHIFT)) & CAAM_RTMCTL_TRNG_ACC_MASK)
  11164. #define CAAM_RTMCTL_RST_DEF_MASK (0x40U)
  11165. #define CAAM_RTMCTL_RST_DEF_SHIFT (6U)
  11166. #define CAAM_RTMCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_RST_DEF_SHIFT)) & CAAM_RTMCTL_RST_DEF_MASK)
  11167. #define CAAM_RTMCTL_FORCE_SYSCLK_MASK (0x80U)
  11168. #define CAAM_RTMCTL_FORCE_SYSCLK_SHIFT (7U)
  11169. #define CAAM_RTMCTL_FORCE_SYSCLK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FORCE_SYSCLK_SHIFT)) & CAAM_RTMCTL_FORCE_SYSCLK_MASK)
  11170. #define CAAM_RTMCTL_FCT_FAIL_MASK (0x100U)
  11171. #define CAAM_RTMCTL_FCT_FAIL_SHIFT (8U)
  11172. #define CAAM_RTMCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FCT_FAIL_SHIFT)) & CAAM_RTMCTL_FCT_FAIL_MASK)
  11173. #define CAAM_RTMCTL_FCT_VAL_MASK (0x200U)
  11174. #define CAAM_RTMCTL_FCT_VAL_SHIFT (9U)
  11175. #define CAAM_RTMCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_FCT_VAL_SHIFT)) & CAAM_RTMCTL_FCT_VAL_MASK)
  11176. #define CAAM_RTMCTL_ENT_VAL_MASK (0x400U)
  11177. #define CAAM_RTMCTL_ENT_VAL_SHIFT (10U)
  11178. #define CAAM_RTMCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_ENT_VAL_SHIFT)) & CAAM_RTMCTL_ENT_VAL_MASK)
  11179. #define CAAM_RTMCTL_TST_OUT_MASK (0x800U)
  11180. #define CAAM_RTMCTL_TST_OUT_SHIFT (11U)
  11181. #define CAAM_RTMCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TST_OUT_SHIFT)) & CAAM_RTMCTL_TST_OUT_MASK)
  11182. #define CAAM_RTMCTL_ERR_MASK (0x1000U)
  11183. #define CAAM_RTMCTL_ERR_SHIFT (12U)
  11184. #define CAAM_RTMCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_ERR_SHIFT)) & CAAM_RTMCTL_ERR_MASK)
  11185. #define CAAM_RTMCTL_TSTOP_OK_MASK (0x2000U)
  11186. #define CAAM_RTMCTL_TSTOP_OK_SHIFT (13U)
  11187. #define CAAM_RTMCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_TSTOP_OK_SHIFT)) & CAAM_RTMCTL_TSTOP_OK_MASK)
  11188. #define CAAM_RTMCTL_PRGM_MASK (0x10000U)
  11189. #define CAAM_RTMCTL_PRGM_SHIFT (16U)
  11190. #define CAAM_RTMCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTMCTL_PRGM_SHIFT)) & CAAM_RTMCTL_PRGM_MASK)
  11191. /*! @} */
  11192. /*! @name RTSCMISC - RNG TRNG Statistical Check Miscellaneous Register */
  11193. /*! @{ */
  11194. #define CAAM_RTSCMISC_LRUN_MAX_MASK (0xFFU)
  11195. #define CAAM_RTSCMISC_LRUN_MAX_SHIFT (0U)
  11196. #define CAAM_RTSCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMISC_LRUN_MAX_SHIFT)) & CAAM_RTSCMISC_LRUN_MAX_MASK)
  11197. #define CAAM_RTSCMISC_RTY_CNT_MASK (0xF0000U)
  11198. #define CAAM_RTSCMISC_RTY_CNT_SHIFT (16U)
  11199. #define CAAM_RTSCMISC_RTY_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMISC_RTY_CNT_SHIFT)) & CAAM_RTSCMISC_RTY_CNT_MASK)
  11200. /*! @} */
  11201. /*! @name RTPKRRNG - RNG TRNG Poker Range Register */
  11202. /*! @{ */
  11203. #define CAAM_RTPKRRNG_PKR_RNG_MASK (0xFFFFU)
  11204. #define CAAM_RTPKRRNG_PKR_RNG_SHIFT (0U)
  11205. #define CAAM_RTPKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRRNG_PKR_RNG_SHIFT)) & CAAM_RTPKRRNG_PKR_RNG_MASK)
  11206. /*! @} */
  11207. /*! @name RTPKRMAX - RNG TRNG Poker Maximum Limit Register */
  11208. /*! @{ */
  11209. #define CAAM_RTPKRMAX_PKR_MAX_MASK (0xFFFFFFU)
  11210. #define CAAM_RTPKRMAX_PKR_MAX_SHIFT (0U)
  11211. #define CAAM_RTPKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRMAX_PKR_MAX_SHIFT)) & CAAM_RTPKRMAX_PKR_MAX_MASK)
  11212. /*! @} */
  11213. /*! @name RTPKRSQ - RNG TRNG Poker Square Calculation Result Register */
  11214. /*! @{ */
  11215. #define CAAM_RTPKRSQ_PKR_SQ_MASK (0xFFFFFFU)
  11216. #define CAAM_RTPKRSQ_PKR_SQ_SHIFT (0U)
  11217. #define CAAM_RTPKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRSQ_PKR_SQ_SHIFT)) & CAAM_RTPKRSQ_PKR_SQ_MASK)
  11218. /*! @} */
  11219. /*! @name RTSDCTL - RNG TRNG Seed Control Register */
  11220. /*! @{ */
  11221. #define CAAM_RTSDCTL_SAMP_SIZE_MASK (0xFFFFU)
  11222. #define CAAM_RTSDCTL_SAMP_SIZE_SHIFT (0U)
  11223. #define CAAM_RTSDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSDCTL_SAMP_SIZE_SHIFT)) & CAAM_RTSDCTL_SAMP_SIZE_MASK)
  11224. #define CAAM_RTSDCTL_ENT_DLY_MASK (0xFFFF0000U)
  11225. #define CAAM_RTSDCTL_ENT_DLY_SHIFT (16U)
  11226. #define CAAM_RTSDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSDCTL_ENT_DLY_SHIFT)) & CAAM_RTSDCTL_ENT_DLY_MASK)
  11227. /*! @} */
  11228. /*! @name RTSBLIM - RNG TRNG Sparse Bit Limit Register */
  11229. /*! @{ */
  11230. #define CAAM_RTSBLIM_SB_LIM_MASK (0x3FFU)
  11231. #define CAAM_RTSBLIM_SB_LIM_SHIFT (0U)
  11232. #define CAAM_RTSBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSBLIM_SB_LIM_SHIFT)) & CAAM_RTSBLIM_SB_LIM_MASK)
  11233. /*! @} */
  11234. /*! @name RTTOTSAM - RNG TRNG Total Samples Register */
  11235. /*! @{ */
  11236. #define CAAM_RTTOTSAM_TOT_SAM_MASK (0xFFFFFU)
  11237. #define CAAM_RTTOTSAM_TOT_SAM_SHIFT (0U)
  11238. #define CAAM_RTTOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTTOTSAM_TOT_SAM_SHIFT)) & CAAM_RTTOTSAM_TOT_SAM_MASK)
  11239. /*! @} */
  11240. /*! @name RTFRQMIN - RNG TRNG Frequency Count Minimum Limit Register */
  11241. /*! @{ */
  11242. #define CAAM_RTFRQMIN_FRQ_MIN_MASK (0x3FFFFFU)
  11243. #define CAAM_RTFRQMIN_FRQ_MIN_SHIFT (0U)
  11244. #define CAAM_RTFRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQMIN_FRQ_MIN_SHIFT)) & CAAM_RTFRQMIN_FRQ_MIN_MASK)
  11245. /*! @} */
  11246. /*! @name RTFRQCNT - RNG TRNG Frequency Count Register */
  11247. /*! @{ */
  11248. #define CAAM_RTFRQCNT_FRQ_CNT_MASK (0x3FFFFFU)
  11249. #define CAAM_RTFRQCNT_FRQ_CNT_SHIFT (0U)
  11250. #define CAAM_RTFRQCNT_FRQ_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQCNT_FRQ_CNT_SHIFT)) & CAAM_RTFRQCNT_FRQ_CNT_MASK)
  11251. /*! @} */
  11252. /*! @name RTSCMC - RNG TRNG Statistical Check Monobit Count Register */
  11253. /*! @{ */
  11254. #define CAAM_RTSCMC_MONO_CNT_MASK (0xFFFFU)
  11255. #define CAAM_RTSCMC_MONO_CNT_SHIFT (0U)
  11256. #define CAAM_RTSCMC_MONO_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCMC_MONO_CNT_SHIFT)) & CAAM_RTSCMC_MONO_CNT_MASK)
  11257. /*! @} */
  11258. /*! @name RTSCR1C - RNG TRNG Statistical Check Run Length 1 Count Register */
  11259. /*! @{ */
  11260. #define CAAM_RTSCR1C_R1_0_COUNT_MASK (0x7FFFU)
  11261. #define CAAM_RTSCR1C_R1_0_COUNT_SHIFT (0U)
  11262. #define CAAM_RTSCR1C_R1_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1C_R1_0_COUNT_SHIFT)) & CAAM_RTSCR1C_R1_0_COUNT_MASK)
  11263. #define CAAM_RTSCR1C_R1_1_COUNT_MASK (0x7FFF0000U)
  11264. #define CAAM_RTSCR1C_R1_1_COUNT_SHIFT (16U)
  11265. #define CAAM_RTSCR1C_R1_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1C_R1_1_COUNT_SHIFT)) & CAAM_RTSCR1C_R1_1_COUNT_MASK)
  11266. /*! @} */
  11267. /*! @name RTSCR2C - RNG TRNG Statistical Check Run Length 2 Count Register */
  11268. /*! @{ */
  11269. #define CAAM_RTSCR2C_R2_0_COUNT_MASK (0x3FFFU)
  11270. #define CAAM_RTSCR2C_R2_0_COUNT_SHIFT (0U)
  11271. #define CAAM_RTSCR2C_R2_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2C_R2_0_COUNT_SHIFT)) & CAAM_RTSCR2C_R2_0_COUNT_MASK)
  11272. #define CAAM_RTSCR2C_R2_1_COUNT_MASK (0x3FFF0000U)
  11273. #define CAAM_RTSCR2C_R2_1_COUNT_SHIFT (16U)
  11274. #define CAAM_RTSCR2C_R2_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2C_R2_1_COUNT_SHIFT)) & CAAM_RTSCR2C_R2_1_COUNT_MASK)
  11275. /*! @} */
  11276. /*! @name RTSCR3C - RNG TRNG Statistical Check Run Length 3 Count Register */
  11277. /*! @{ */
  11278. #define CAAM_RTSCR3C_R3_0_COUNT_MASK (0x1FFFU)
  11279. #define CAAM_RTSCR3C_R3_0_COUNT_SHIFT (0U)
  11280. #define CAAM_RTSCR3C_R3_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3C_R3_0_COUNT_SHIFT)) & CAAM_RTSCR3C_R3_0_COUNT_MASK)
  11281. #define CAAM_RTSCR3C_R3_1_COUNT_MASK (0x1FFF0000U)
  11282. #define CAAM_RTSCR3C_R3_1_COUNT_SHIFT (16U)
  11283. #define CAAM_RTSCR3C_R3_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3C_R3_1_COUNT_SHIFT)) & CAAM_RTSCR3C_R3_1_COUNT_MASK)
  11284. /*! @} */
  11285. /*! @name RTSCR4C - RNG TRNG Statistical Check Run Length 4 Count Register */
  11286. /*! @{ */
  11287. #define CAAM_RTSCR4C_R4_0_COUNT_MASK (0xFFFU)
  11288. #define CAAM_RTSCR4C_R4_0_COUNT_SHIFT (0U)
  11289. #define CAAM_RTSCR4C_R4_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4C_R4_0_COUNT_SHIFT)) & CAAM_RTSCR4C_R4_0_COUNT_MASK)
  11290. #define CAAM_RTSCR4C_R4_1_COUNT_MASK (0xFFF0000U)
  11291. #define CAAM_RTSCR4C_R4_1_COUNT_SHIFT (16U)
  11292. #define CAAM_RTSCR4C_R4_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4C_R4_1_COUNT_SHIFT)) & CAAM_RTSCR4C_R4_1_COUNT_MASK)
  11293. /*! @} */
  11294. /*! @name RTSCR5C - RNG TRNG Statistical Check Run Length 5 Count Register */
  11295. /*! @{ */
  11296. #define CAAM_RTSCR5C_R5_0_COUNT_MASK (0x7FFU)
  11297. #define CAAM_RTSCR5C_R5_0_COUNT_SHIFT (0U)
  11298. #define CAAM_RTSCR5C_R5_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5C_R5_0_COUNT_SHIFT)) & CAAM_RTSCR5C_R5_0_COUNT_MASK)
  11299. #define CAAM_RTSCR5C_R5_1_COUNT_MASK (0x7FF0000U)
  11300. #define CAAM_RTSCR5C_R5_1_COUNT_SHIFT (16U)
  11301. #define CAAM_RTSCR5C_R5_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5C_R5_1_COUNT_SHIFT)) & CAAM_RTSCR5C_R5_1_COUNT_MASK)
  11302. /*! @} */
  11303. /*! @name RTSCR6PC - RNG TRNG Statistical Check Run Length 6+ Count Register */
  11304. /*! @{ */
  11305. #define CAAM_RTSCR6PC_R6P_0_COUNT_MASK (0x7FFU)
  11306. #define CAAM_RTSCR6PC_R6P_0_COUNT_SHIFT (0U)
  11307. #define CAAM_RTSCR6PC_R6P_0_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PC_R6P_0_COUNT_SHIFT)) & CAAM_RTSCR6PC_R6P_0_COUNT_MASK)
  11308. #define CAAM_RTSCR6PC_R6P_1_COUNT_MASK (0x7FF0000U)
  11309. #define CAAM_RTSCR6PC_R6P_1_COUNT_SHIFT (16U)
  11310. #define CAAM_RTSCR6PC_R6P_1_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PC_R6P_1_COUNT_SHIFT)) & CAAM_RTSCR6PC_R6P_1_COUNT_MASK)
  11311. /*! @} */
  11312. /*! @name RTFRQMAX - RNG TRNG Frequency Count Maximum Limit Register */
  11313. /*! @{ */
  11314. #define CAAM_RTFRQMAX_FRQ_MAX_MASK (0x3FFFFFU)
  11315. #define CAAM_RTFRQMAX_FRQ_MAX_SHIFT (0U)
  11316. #define CAAM_RTFRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTFRQMAX_FRQ_MAX_SHIFT)) & CAAM_RTFRQMAX_FRQ_MAX_MASK)
  11317. /*! @} */
  11318. /*! @name RTSCML - RNG TRNG Statistical Check Monobit Limit Register */
  11319. /*! @{ */
  11320. #define CAAM_RTSCML_MONO_MAX_MASK (0xFFFFU)
  11321. #define CAAM_RTSCML_MONO_MAX_SHIFT (0U)
  11322. #define CAAM_RTSCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCML_MONO_MAX_SHIFT)) & CAAM_RTSCML_MONO_MAX_MASK)
  11323. #define CAAM_RTSCML_MONO_RNG_MASK (0xFFFF0000U)
  11324. #define CAAM_RTSCML_MONO_RNG_SHIFT (16U)
  11325. #define CAAM_RTSCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCML_MONO_RNG_SHIFT)) & CAAM_RTSCML_MONO_RNG_MASK)
  11326. /*! @} */
  11327. /*! @name RTSCR1L - RNG TRNG Statistical Check Run Length 1 Limit Register */
  11328. /*! @{ */
  11329. #define CAAM_RTSCR1L_RUN1_MAX_MASK (0x7FFFU)
  11330. #define CAAM_RTSCR1L_RUN1_MAX_SHIFT (0U)
  11331. #define CAAM_RTSCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1L_RUN1_MAX_SHIFT)) & CAAM_RTSCR1L_RUN1_MAX_MASK)
  11332. #define CAAM_RTSCR1L_RUN1_RNG_MASK (0x7FFF0000U)
  11333. #define CAAM_RTSCR1L_RUN1_RNG_SHIFT (16U)
  11334. #define CAAM_RTSCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR1L_RUN1_RNG_SHIFT)) & CAAM_RTSCR1L_RUN1_RNG_MASK)
  11335. /*! @} */
  11336. /*! @name RTSCR2L - RNG TRNG Statistical Check Run Length 2 Limit Register */
  11337. /*! @{ */
  11338. #define CAAM_RTSCR2L_RUN2_MAX_MASK (0x3FFFU)
  11339. #define CAAM_RTSCR2L_RUN2_MAX_SHIFT (0U)
  11340. #define CAAM_RTSCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2L_RUN2_MAX_SHIFT)) & CAAM_RTSCR2L_RUN2_MAX_MASK)
  11341. #define CAAM_RTSCR2L_RUN2_RNG_MASK (0x3FFF0000U)
  11342. #define CAAM_RTSCR2L_RUN2_RNG_SHIFT (16U)
  11343. #define CAAM_RTSCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR2L_RUN2_RNG_SHIFT)) & CAAM_RTSCR2L_RUN2_RNG_MASK)
  11344. /*! @} */
  11345. /*! @name RTSCR3L - RNG TRNG Statistical Check Run Length 3 Limit Register */
  11346. /*! @{ */
  11347. #define CAAM_RTSCR3L_RUN3_MAX_MASK (0x1FFFU)
  11348. #define CAAM_RTSCR3L_RUN3_MAX_SHIFT (0U)
  11349. #define CAAM_RTSCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3L_RUN3_MAX_SHIFT)) & CAAM_RTSCR3L_RUN3_MAX_MASK)
  11350. #define CAAM_RTSCR3L_RUN3_RNG_MASK (0x1FFF0000U)
  11351. #define CAAM_RTSCR3L_RUN3_RNG_SHIFT (16U)
  11352. #define CAAM_RTSCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR3L_RUN3_RNG_SHIFT)) & CAAM_RTSCR3L_RUN3_RNG_MASK)
  11353. /*! @} */
  11354. /*! @name RTSCR4L - RNG TRNG Statistical Check Run Length 4 Limit Register */
  11355. /*! @{ */
  11356. #define CAAM_RTSCR4L_RUN4_MAX_MASK (0xFFFU)
  11357. #define CAAM_RTSCR4L_RUN4_MAX_SHIFT (0U)
  11358. #define CAAM_RTSCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4L_RUN4_MAX_SHIFT)) & CAAM_RTSCR4L_RUN4_MAX_MASK)
  11359. #define CAAM_RTSCR4L_RUN4_RNG_MASK (0xFFF0000U)
  11360. #define CAAM_RTSCR4L_RUN4_RNG_SHIFT (16U)
  11361. #define CAAM_RTSCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR4L_RUN4_RNG_SHIFT)) & CAAM_RTSCR4L_RUN4_RNG_MASK)
  11362. /*! @} */
  11363. /*! @name RTSCR5L - RNG TRNG Statistical Check Run Length 5 Limit Register */
  11364. /*! @{ */
  11365. #define CAAM_RTSCR5L_RUN5_MAX_MASK (0x7FFU)
  11366. #define CAAM_RTSCR5L_RUN5_MAX_SHIFT (0U)
  11367. #define CAAM_RTSCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5L_RUN5_MAX_SHIFT)) & CAAM_RTSCR5L_RUN5_MAX_MASK)
  11368. #define CAAM_RTSCR5L_RUN5_RNG_MASK (0x7FF0000U)
  11369. #define CAAM_RTSCR5L_RUN5_RNG_SHIFT (16U)
  11370. #define CAAM_RTSCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR5L_RUN5_RNG_SHIFT)) & CAAM_RTSCR5L_RUN5_RNG_MASK)
  11371. /*! @} */
  11372. /*! @name RTSCR6PL - RNG TRNG Statistical Check Run Length 6+ Limit Register */
  11373. /*! @{ */
  11374. #define CAAM_RTSCR6PL_RUN6P_MAX_MASK (0x7FFU)
  11375. #define CAAM_RTSCR6PL_RUN6P_MAX_SHIFT (0U)
  11376. #define CAAM_RTSCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PL_RUN6P_MAX_SHIFT)) & CAAM_RTSCR6PL_RUN6P_MAX_MASK)
  11377. #define CAAM_RTSCR6PL_RUN6P_RNG_MASK (0x7FF0000U)
  11378. #define CAAM_RTSCR6PL_RUN6P_RNG_SHIFT (16U)
  11379. #define CAAM_RTSCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSCR6PL_RUN6P_RNG_SHIFT)) & CAAM_RTSCR6PL_RUN6P_RNG_MASK)
  11380. /*! @} */
  11381. /*! @name RTSTATUS - RNG TRNG Status Register */
  11382. /*! @{ */
  11383. #define CAAM_RTSTATUS_F1BR0TF_MASK (0x1U)
  11384. #define CAAM_RTSTATUS_F1BR0TF_SHIFT (0U)
  11385. #define CAAM_RTSTATUS_F1BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F1BR0TF_SHIFT)) & CAAM_RTSTATUS_F1BR0TF_MASK)
  11386. #define CAAM_RTSTATUS_F1BR1TF_MASK (0x2U)
  11387. #define CAAM_RTSTATUS_F1BR1TF_SHIFT (1U)
  11388. #define CAAM_RTSTATUS_F1BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F1BR1TF_SHIFT)) & CAAM_RTSTATUS_F1BR1TF_MASK)
  11389. #define CAAM_RTSTATUS_F2BR0TF_MASK (0x4U)
  11390. #define CAAM_RTSTATUS_F2BR0TF_SHIFT (2U)
  11391. #define CAAM_RTSTATUS_F2BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F2BR0TF_SHIFT)) & CAAM_RTSTATUS_F2BR0TF_MASK)
  11392. #define CAAM_RTSTATUS_F2BR1TF_MASK (0x8U)
  11393. #define CAAM_RTSTATUS_F2BR1TF_SHIFT (3U)
  11394. #define CAAM_RTSTATUS_F2BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F2BR1TF_SHIFT)) & CAAM_RTSTATUS_F2BR1TF_MASK)
  11395. #define CAAM_RTSTATUS_F3BR01TF_MASK (0x10U)
  11396. #define CAAM_RTSTATUS_F3BR01TF_SHIFT (4U)
  11397. #define CAAM_RTSTATUS_F3BR01TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F3BR01TF_SHIFT)) & CAAM_RTSTATUS_F3BR01TF_MASK)
  11398. #define CAAM_RTSTATUS_F3BR1TF_MASK (0x20U)
  11399. #define CAAM_RTSTATUS_F3BR1TF_SHIFT (5U)
  11400. #define CAAM_RTSTATUS_F3BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F3BR1TF_SHIFT)) & CAAM_RTSTATUS_F3BR1TF_MASK)
  11401. #define CAAM_RTSTATUS_F4BR0TF_MASK (0x40U)
  11402. #define CAAM_RTSTATUS_F4BR0TF_SHIFT (6U)
  11403. #define CAAM_RTSTATUS_F4BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F4BR0TF_SHIFT)) & CAAM_RTSTATUS_F4BR0TF_MASK)
  11404. #define CAAM_RTSTATUS_F4BR1TF_MASK (0x80U)
  11405. #define CAAM_RTSTATUS_F4BR1TF_SHIFT (7U)
  11406. #define CAAM_RTSTATUS_F4BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F4BR1TF_SHIFT)) & CAAM_RTSTATUS_F4BR1TF_MASK)
  11407. #define CAAM_RTSTATUS_F5BR0TF_MASK (0x100U)
  11408. #define CAAM_RTSTATUS_F5BR0TF_SHIFT (8U)
  11409. #define CAAM_RTSTATUS_F5BR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F5BR0TF_SHIFT)) & CAAM_RTSTATUS_F5BR0TF_MASK)
  11410. #define CAAM_RTSTATUS_F5BR1TF_MASK (0x200U)
  11411. #define CAAM_RTSTATUS_F5BR1TF_SHIFT (9U)
  11412. #define CAAM_RTSTATUS_F5BR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F5BR1TF_SHIFT)) & CAAM_RTSTATUS_F5BR1TF_MASK)
  11413. #define CAAM_RTSTATUS_F6PBR0TF_MASK (0x400U)
  11414. #define CAAM_RTSTATUS_F6PBR0TF_SHIFT (10U)
  11415. #define CAAM_RTSTATUS_F6PBR0TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F6PBR0TF_SHIFT)) & CAAM_RTSTATUS_F6PBR0TF_MASK)
  11416. #define CAAM_RTSTATUS_F6PBR1TF_MASK (0x800U)
  11417. #define CAAM_RTSTATUS_F6PBR1TF_SHIFT (11U)
  11418. #define CAAM_RTSTATUS_F6PBR1TF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_F6PBR1TF_SHIFT)) & CAAM_RTSTATUS_F6PBR1TF_MASK)
  11419. #define CAAM_RTSTATUS_FSBTF_MASK (0x1000U)
  11420. #define CAAM_RTSTATUS_FSBTF_SHIFT (12U)
  11421. #define CAAM_RTSTATUS_FSBTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FSBTF_SHIFT)) & CAAM_RTSTATUS_FSBTF_MASK)
  11422. #define CAAM_RTSTATUS_FLRTF_MASK (0x2000U)
  11423. #define CAAM_RTSTATUS_FLRTF_SHIFT (13U)
  11424. #define CAAM_RTSTATUS_FLRTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FLRTF_SHIFT)) & CAAM_RTSTATUS_FLRTF_MASK)
  11425. #define CAAM_RTSTATUS_FPTF_MASK (0x4000U)
  11426. #define CAAM_RTSTATUS_FPTF_SHIFT (14U)
  11427. #define CAAM_RTSTATUS_FPTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FPTF_SHIFT)) & CAAM_RTSTATUS_FPTF_MASK)
  11428. #define CAAM_RTSTATUS_FMBTF_MASK (0x8000U)
  11429. #define CAAM_RTSTATUS_FMBTF_SHIFT (15U)
  11430. #define CAAM_RTSTATUS_FMBTF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_FMBTF_SHIFT)) & CAAM_RTSTATUS_FMBTF_MASK)
  11431. #define CAAM_RTSTATUS_RETRY_COUNT_MASK (0xF0000U)
  11432. #define CAAM_RTSTATUS_RETRY_COUNT_SHIFT (16U)
  11433. #define CAAM_RTSTATUS_RETRY_COUNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTSTATUS_RETRY_COUNT_SHIFT)) & CAAM_RTSTATUS_RETRY_COUNT_MASK)
  11434. /*! @} */
  11435. /*! @name RTENT - RNG TRNG Entropy Read Register */
  11436. /*! @{ */
  11437. #define CAAM_RTENT_ENT_MASK (0xFFFFFFFFU)
  11438. #define CAAM_RTENT_ENT_SHIFT (0U)
  11439. #define CAAM_RTENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTENT_ENT_SHIFT)) & CAAM_RTENT_ENT_MASK)
  11440. /*! @} */
  11441. /* The count of CAAM_RTENT */
  11442. #define CAAM_RTENT_COUNT (16U)
  11443. /*! @name RTPKRCNT10 - RNG TRNG Statistical Check Poker Count 1 and 0 Register */
  11444. /*! @{ */
  11445. #define CAAM_RTPKRCNT10_PKR_0_CNT_MASK (0xFFFFU)
  11446. #define CAAM_RTPKRCNT10_PKR_0_CNT_SHIFT (0U)
  11447. #define CAAM_RTPKRCNT10_PKR_0_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT10_PKR_0_CNT_SHIFT)) & CAAM_RTPKRCNT10_PKR_0_CNT_MASK)
  11448. #define CAAM_RTPKRCNT10_PKR_1_CNT_MASK (0xFFFF0000U)
  11449. #define CAAM_RTPKRCNT10_PKR_1_CNT_SHIFT (16U)
  11450. #define CAAM_RTPKRCNT10_PKR_1_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT10_PKR_1_CNT_SHIFT)) & CAAM_RTPKRCNT10_PKR_1_CNT_MASK)
  11451. /*! @} */
  11452. /*! @name RTPKRCNT32 - RNG TRNG Statistical Check Poker Count 3 and 2 Register */
  11453. /*! @{ */
  11454. #define CAAM_RTPKRCNT32_PKR_2_CNT_MASK (0xFFFFU)
  11455. #define CAAM_RTPKRCNT32_PKR_2_CNT_SHIFT (0U)
  11456. #define CAAM_RTPKRCNT32_PKR_2_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT32_PKR_2_CNT_SHIFT)) & CAAM_RTPKRCNT32_PKR_2_CNT_MASK)
  11457. #define CAAM_RTPKRCNT32_PKR_3_CNT_MASK (0xFFFF0000U)
  11458. #define CAAM_RTPKRCNT32_PKR_3_CNT_SHIFT (16U)
  11459. #define CAAM_RTPKRCNT32_PKR_3_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT32_PKR_3_CNT_SHIFT)) & CAAM_RTPKRCNT32_PKR_3_CNT_MASK)
  11460. /*! @} */
  11461. /*! @name RTPKRCNT54 - RNG TRNG Statistical Check Poker Count 5 and 4 Register */
  11462. /*! @{ */
  11463. #define CAAM_RTPKRCNT54_PKR_4_CNT_MASK (0xFFFFU)
  11464. #define CAAM_RTPKRCNT54_PKR_4_CNT_SHIFT (0U)
  11465. #define CAAM_RTPKRCNT54_PKR_4_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT54_PKR_4_CNT_SHIFT)) & CAAM_RTPKRCNT54_PKR_4_CNT_MASK)
  11466. #define CAAM_RTPKRCNT54_PKR_5_CNT_MASK (0xFFFF0000U)
  11467. #define CAAM_RTPKRCNT54_PKR_5_CNT_SHIFT (16U)
  11468. #define CAAM_RTPKRCNT54_PKR_5_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT54_PKR_5_CNT_SHIFT)) & CAAM_RTPKRCNT54_PKR_5_CNT_MASK)
  11469. /*! @} */
  11470. /*! @name RTPKRCNT76 - RNG TRNG Statistical Check Poker Count 7 and 6 Register */
  11471. /*! @{ */
  11472. #define CAAM_RTPKRCNT76_PKR_6_CNT_MASK (0xFFFFU)
  11473. #define CAAM_RTPKRCNT76_PKR_6_CNT_SHIFT (0U)
  11474. #define CAAM_RTPKRCNT76_PKR_6_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT76_PKR_6_CNT_SHIFT)) & CAAM_RTPKRCNT76_PKR_6_CNT_MASK)
  11475. #define CAAM_RTPKRCNT76_PKR_7_CNT_MASK (0xFFFF0000U)
  11476. #define CAAM_RTPKRCNT76_PKR_7_CNT_SHIFT (16U)
  11477. #define CAAM_RTPKRCNT76_PKR_7_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT76_PKR_7_CNT_SHIFT)) & CAAM_RTPKRCNT76_PKR_7_CNT_MASK)
  11478. /*! @} */
  11479. /*! @name RTPKRCNT98 - RNG TRNG Statistical Check Poker Count 9 and 8 Register */
  11480. /*! @{ */
  11481. #define CAAM_RTPKRCNT98_PKR_8_CNT_MASK (0xFFFFU)
  11482. #define CAAM_RTPKRCNT98_PKR_8_CNT_SHIFT (0U)
  11483. #define CAAM_RTPKRCNT98_PKR_8_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT98_PKR_8_CNT_SHIFT)) & CAAM_RTPKRCNT98_PKR_8_CNT_MASK)
  11484. #define CAAM_RTPKRCNT98_PKR_9_CNT_MASK (0xFFFF0000U)
  11485. #define CAAM_RTPKRCNT98_PKR_9_CNT_SHIFT (16U)
  11486. #define CAAM_RTPKRCNT98_PKR_9_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNT98_PKR_9_CNT_SHIFT)) & CAAM_RTPKRCNT98_PKR_9_CNT_MASK)
  11487. /*! @} */
  11488. /*! @name RTPKRCNTBA - RNG TRNG Statistical Check Poker Count B and A Register */
  11489. /*! @{ */
  11490. #define CAAM_RTPKRCNTBA_PKR_A_CNT_MASK (0xFFFFU)
  11491. #define CAAM_RTPKRCNTBA_PKR_A_CNT_SHIFT (0U)
  11492. #define CAAM_RTPKRCNTBA_PKR_A_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTBA_PKR_A_CNT_SHIFT)) & CAAM_RTPKRCNTBA_PKR_A_CNT_MASK)
  11493. #define CAAM_RTPKRCNTBA_PKR_B_CNT_MASK (0xFFFF0000U)
  11494. #define CAAM_RTPKRCNTBA_PKR_B_CNT_SHIFT (16U)
  11495. #define CAAM_RTPKRCNTBA_PKR_B_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTBA_PKR_B_CNT_SHIFT)) & CAAM_RTPKRCNTBA_PKR_B_CNT_MASK)
  11496. /*! @} */
  11497. /*! @name RTPKRCNTDC - RNG TRNG Statistical Check Poker Count D and C Register */
  11498. /*! @{ */
  11499. #define CAAM_RTPKRCNTDC_PKR_C_CNT_MASK (0xFFFFU)
  11500. #define CAAM_RTPKRCNTDC_PKR_C_CNT_SHIFT (0U)
  11501. #define CAAM_RTPKRCNTDC_PKR_C_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTDC_PKR_C_CNT_SHIFT)) & CAAM_RTPKRCNTDC_PKR_C_CNT_MASK)
  11502. #define CAAM_RTPKRCNTDC_PKR_D_CNT_MASK (0xFFFF0000U)
  11503. #define CAAM_RTPKRCNTDC_PKR_D_CNT_SHIFT (16U)
  11504. #define CAAM_RTPKRCNTDC_PKR_D_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTDC_PKR_D_CNT_SHIFT)) & CAAM_RTPKRCNTDC_PKR_D_CNT_MASK)
  11505. /*! @} */
  11506. /*! @name RTPKRCNTFE - RNG TRNG Statistical Check Poker Count F and E Register */
  11507. /*! @{ */
  11508. #define CAAM_RTPKRCNTFE_PKR_E_CNT_MASK (0xFFFFU)
  11509. #define CAAM_RTPKRCNTFE_PKR_E_CNT_SHIFT (0U)
  11510. #define CAAM_RTPKRCNTFE_PKR_E_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTFE_PKR_E_CNT_SHIFT)) & CAAM_RTPKRCNTFE_PKR_E_CNT_MASK)
  11511. #define CAAM_RTPKRCNTFE_PKR_F_CNT_MASK (0xFFFF0000U)
  11512. #define CAAM_RTPKRCNTFE_PKR_F_CNT_SHIFT (16U)
  11513. #define CAAM_RTPKRCNTFE_PKR_F_CNT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTPKRCNTFE_PKR_F_CNT_SHIFT)) & CAAM_RTPKRCNTFE_PKR_F_CNT_MASK)
  11514. /*! @} */
  11515. /*! @name RDSTA - RNG DRNG Status Register */
  11516. /*! @{ */
  11517. #define CAAM_RDSTA_IF0_MASK (0x1U)
  11518. #define CAAM_RDSTA_IF0_SHIFT (0U)
  11519. #define CAAM_RDSTA_IF0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_IF0_SHIFT)) & CAAM_RDSTA_IF0_MASK)
  11520. #define CAAM_RDSTA_IF1_MASK (0x2U)
  11521. #define CAAM_RDSTA_IF1_SHIFT (1U)
  11522. #define CAAM_RDSTA_IF1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_IF1_SHIFT)) & CAAM_RDSTA_IF1_MASK)
  11523. #define CAAM_RDSTA_PR0_MASK (0x10U)
  11524. #define CAAM_RDSTA_PR0_SHIFT (4U)
  11525. #define CAAM_RDSTA_PR0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_PR0_SHIFT)) & CAAM_RDSTA_PR0_MASK)
  11526. #define CAAM_RDSTA_PR1_MASK (0x20U)
  11527. #define CAAM_RDSTA_PR1_SHIFT (5U)
  11528. #define CAAM_RDSTA_PR1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_PR1_SHIFT)) & CAAM_RDSTA_PR1_MASK)
  11529. #define CAAM_RDSTA_TF0_MASK (0x100U)
  11530. #define CAAM_RDSTA_TF0_SHIFT (8U)
  11531. #define CAAM_RDSTA_TF0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_TF0_SHIFT)) & CAAM_RDSTA_TF0_MASK)
  11532. #define CAAM_RDSTA_TF1_MASK (0x200U)
  11533. #define CAAM_RDSTA_TF1_SHIFT (9U)
  11534. #define CAAM_RDSTA_TF1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_TF1_SHIFT)) & CAAM_RDSTA_TF1_MASK)
  11535. #define CAAM_RDSTA_ERRCODE_MASK (0xF0000U)
  11536. #define CAAM_RDSTA_ERRCODE_SHIFT (16U)
  11537. #define CAAM_RDSTA_ERRCODE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_ERRCODE_SHIFT)) & CAAM_RDSTA_ERRCODE_MASK)
  11538. #define CAAM_RDSTA_CE_MASK (0x100000U)
  11539. #define CAAM_RDSTA_CE_SHIFT (20U)
  11540. #define CAAM_RDSTA_CE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_CE_SHIFT)) & CAAM_RDSTA_CE_MASK)
  11541. #define CAAM_RDSTA_SKVN_MASK (0x40000000U)
  11542. #define CAAM_RDSTA_SKVN_SHIFT (30U)
  11543. #define CAAM_RDSTA_SKVN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_SKVN_SHIFT)) & CAAM_RDSTA_SKVN_MASK)
  11544. #define CAAM_RDSTA_SKVT_MASK (0x80000000U)
  11545. #define CAAM_RDSTA_SKVT_SHIFT (31U)
  11546. #define CAAM_RDSTA_SKVT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDSTA_SKVT_SHIFT)) & CAAM_RDSTA_SKVT_MASK)
  11547. /*! @} */
  11548. /*! @name RDINT0 - RNG DRNG State Handle 0 Reseed Interval Register */
  11549. /*! @{ */
  11550. #define CAAM_RDINT0_RESINT0_MASK (0xFFFFFFFFU)
  11551. #define CAAM_RDINT0_RESINT0_SHIFT (0U)
  11552. #define CAAM_RDINT0_RESINT0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDINT0_RESINT0_SHIFT)) & CAAM_RDINT0_RESINT0_MASK)
  11553. /*! @} */
  11554. /*! @name RDINT1 - RNG DRNG State Handle 1 Reseed Interval Register */
  11555. /*! @{ */
  11556. #define CAAM_RDINT1_RESINT1_MASK (0xFFFFFFFFU)
  11557. #define CAAM_RDINT1_RESINT1_SHIFT (0U)
  11558. #define CAAM_RDINT1_RESINT1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDINT1_RESINT1_SHIFT)) & CAAM_RDINT1_RESINT1_MASK)
  11559. /*! @} */
  11560. /*! @name RDHCNTL - RNG DRNG Hash Control Register */
  11561. /*! @{ */
  11562. #define CAAM_RDHCNTL_HD_MASK (0x1U)
  11563. #define CAAM_RDHCNTL_HD_SHIFT (0U)
  11564. #define CAAM_RDHCNTL_HD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HD_SHIFT)) & CAAM_RDHCNTL_HD_MASK)
  11565. #define CAAM_RDHCNTL_HB_MASK (0x2U)
  11566. #define CAAM_RDHCNTL_HB_SHIFT (1U)
  11567. #define CAAM_RDHCNTL_HB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HB_SHIFT)) & CAAM_RDHCNTL_HB_MASK)
  11568. #define CAAM_RDHCNTL_HI_MASK (0x4U)
  11569. #define CAAM_RDHCNTL_HI_SHIFT (2U)
  11570. #define CAAM_RDHCNTL_HI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HI_SHIFT)) & CAAM_RDHCNTL_HI_MASK)
  11571. #define CAAM_RDHCNTL_HTM_MASK (0x8U)
  11572. #define CAAM_RDHCNTL_HTM_SHIFT (3U)
  11573. #define CAAM_RDHCNTL_HTM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HTM_SHIFT)) & CAAM_RDHCNTL_HTM_MASK)
  11574. #define CAAM_RDHCNTL_HTC_MASK (0x10U)
  11575. #define CAAM_RDHCNTL_HTC_SHIFT (4U)
  11576. #define CAAM_RDHCNTL_HTC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHCNTL_HTC_SHIFT)) & CAAM_RDHCNTL_HTC_MASK)
  11577. /*! @} */
  11578. /*! @name RDHDIG - RNG DRNG Hash Digest Register */
  11579. /*! @{ */
  11580. #define CAAM_RDHDIG_HASHMD_MASK (0xFFFFFFFFU)
  11581. #define CAAM_RDHDIG_HASHMD_SHIFT (0U)
  11582. #define CAAM_RDHDIG_HASHMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHDIG_HASHMD_SHIFT)) & CAAM_RDHDIG_HASHMD_MASK)
  11583. /*! @} */
  11584. /*! @name RDHBUF - RNG DRNG Hash Buffer Register */
  11585. /*! @{ */
  11586. #define CAAM_RDHBUF_HASHBUF_MASK (0xFFFFFFFFU)
  11587. #define CAAM_RDHBUF_HASHBUF_SHIFT (0U)
  11588. #define CAAM_RDHBUF_HASHBUF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RDHBUF_HASHBUF_SHIFT)) & CAAM_RDHBUF_HASHBUF_MASK)
  11589. /*! @} */
  11590. /*! @name PX_SDID_PG0 - Partition 0 SDID register..Partition 15 SDID register */
  11591. /*! @{ */
  11592. #define CAAM_PX_SDID_PG0_SDID_MASK (0xFFFFU)
  11593. #define CAAM_PX_SDID_PG0_SDID_SHIFT (0U)
  11594. #define CAAM_PX_SDID_PG0_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SDID_PG0_SDID_SHIFT)) & CAAM_PX_SDID_PG0_SDID_MASK)
  11595. /*! @} */
  11596. /* The count of CAAM_PX_SDID_PG0 */
  11597. #define CAAM_PX_SDID_PG0_COUNT (16U)
  11598. /*! @name PX_SMAPR_PG0 - Secure Memory Access Permissions register */
  11599. /*! @{ */
  11600. #define CAAM_PX_SMAPR_PG0_G1_READ_MASK (0x1U)
  11601. #define CAAM_PX_SMAPR_PG0_G1_READ_SHIFT (0U)
  11602. /*! G1_READ
  11603. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G1_TDO=1) and
  11604. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G1_SMBLOB=1 or if done by a
  11605. * Trusted Descriptor and G1_TDO=1).
  11606. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  11607. * G1_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G1_TDO=0).
  11608. */
  11609. #define CAAM_PX_SMAPR_PG0_G1_READ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G1_READ_SHIFT)) & CAAM_PX_SMAPR_PG0_G1_READ_MASK)
  11610. #define CAAM_PX_SMAPR_PG0_G1_WRITE_MASK (0x2U)
  11611. #define CAAM_PX_SMAPR_PG0_G1_WRITE_SHIFT (1U)
  11612. /*! G1_WRITE
  11613. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  11614. * Blobs is allowed if G1_SMBLOB=1 or if done by a Trusted Descriptor and G1_TDO=1).
  11615. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G1_SMBLOB=0 and the descriptor is
  11616. * not a Trusted Descriptor or if G1_TDO=0).
  11617. */
  11618. #define CAAM_PX_SMAPR_PG0_G1_WRITE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G1_WRITE_SHIFT)) & CAAM_PX_SMAPR_PG0_G1_WRITE_MASK)
  11619. #define CAAM_PX_SMAPR_PG0_G1_TDO_MASK (0x4U)
  11620. #define CAAM_PX_SMAPR_PG0_G1_TDO_SHIFT (2U)
  11621. /*! G1_TDO
  11622. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  11623. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  11624. * or import blobs to the partition and read from and write to the partition regardless of the G1_SMBLOB,
  11625. * G1_WRITE and G1_READ settings.
  11626. */
  11627. #define CAAM_PX_SMAPR_PG0_G1_TDO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G1_TDO_SHIFT)) & CAAM_PX_SMAPR_PG0_G1_TDO_MASK)
  11628. #define CAAM_PX_SMAPR_PG0_G1_SMBLOB_MASK (0x8U)
  11629. #define CAAM_PX_SMAPR_PG0_G1_SMBLOB_SHIFT (3U)
  11630. /*! G1_SMBLOB
  11631. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G1_TDO=1.
  11632. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G1_READ and G1_WRITE settings.
  11633. */
  11634. #define CAAM_PX_SMAPR_PG0_G1_SMBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G1_SMBLOB_SHIFT)) & CAAM_PX_SMAPR_PG0_G1_SMBLOB_MASK)
  11635. #define CAAM_PX_SMAPR_PG0_G2_READ_MASK (0x10U)
  11636. #define CAAM_PX_SMAPR_PG0_G2_READ_SHIFT (4U)
  11637. /*! G2_READ
  11638. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G2_TDO=1) and
  11639. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G2_SMBLOB=1 or if done by a
  11640. * Trusted Descriptor and G2_TDO=1).
  11641. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  11642. * G2_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G2_TDO=0).
  11643. */
  11644. #define CAAM_PX_SMAPR_PG0_G2_READ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G2_READ_SHIFT)) & CAAM_PX_SMAPR_PG0_G2_READ_MASK)
  11645. #define CAAM_PX_SMAPR_PG0_G2_WRITE_MASK (0x20U)
  11646. #define CAAM_PX_SMAPR_PG0_G2_WRITE_SHIFT (5U)
  11647. /*! G2_WRITE
  11648. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  11649. * Blobs is allowed if G2_SMBLOB=1 or if done by a Trusted Descriptor and G2_TDO=1).
  11650. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G2_SMBLOB=0 and the descriptor is
  11651. * not a Trusted Descriptor or if G2_TDO=0).
  11652. */
  11653. #define CAAM_PX_SMAPR_PG0_G2_WRITE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G2_WRITE_SHIFT)) & CAAM_PX_SMAPR_PG0_G2_WRITE_MASK)
  11654. #define CAAM_PX_SMAPR_PG0_G2_TDO_MASK (0x40U)
  11655. #define CAAM_PX_SMAPR_PG0_G2_TDO_SHIFT (6U)
  11656. /*! G2_TDO
  11657. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  11658. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  11659. * or import blobs to the partition and read from and write to the partition regardless of the G2_SMBLOB,
  11660. * G2_WRITE and G2_READ settings.
  11661. */
  11662. #define CAAM_PX_SMAPR_PG0_G2_TDO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G2_TDO_SHIFT)) & CAAM_PX_SMAPR_PG0_G2_TDO_MASK)
  11663. #define CAAM_PX_SMAPR_PG0_G2_SMBLOB_MASK (0x80U)
  11664. #define CAAM_PX_SMAPR_PG0_G2_SMBLOB_SHIFT (7U)
  11665. /*! G2_SMBLOB
  11666. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G2_TDO=1.
  11667. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G2_READ and G2_WRITE settings.
  11668. */
  11669. #define CAAM_PX_SMAPR_PG0_G2_SMBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_G2_SMBLOB_SHIFT)) & CAAM_PX_SMAPR_PG0_G2_SMBLOB_MASK)
  11670. #define CAAM_PX_SMAPR_PG0_SMAG_LCK_MASK (0x1000U)
  11671. #define CAAM_PX_SMAPR_PG0_SMAG_LCK_SHIFT (12U)
  11672. /*! SMAG_LCK
  11673. * 0b0..The SMAG2JR register and SMAG1JR register are unlocked. The partition owner can change any writable bits of these registers.
  11674. * 0b1..The SMAG2JR register and SMAG1JR register are locked. The SMAG2JR and SMAG1JR registers cannot be changed
  11675. * until the partition is de-allocated or a POR occurs.
  11676. */
  11677. #define CAAM_PX_SMAPR_PG0_SMAG_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_SMAG_LCK_SHIFT)) & CAAM_PX_SMAPR_PG0_SMAG_LCK_MASK)
  11678. #define CAAM_PX_SMAPR_PG0_SMAP_LCK_MASK (0x2000U)
  11679. #define CAAM_PX_SMAPR_PG0_SMAP_LCK_SHIFT (13U)
  11680. /*! SMAP_LCK
  11681. * 0b0..The SMAP register is unlocked. The partition owner can change any writable bits of the SMAP register.
  11682. * 0b1..The SMAP register is locked. The SMAP_LCK, CSP and PSP bits and G1 and G2 permission bits of the SMAP
  11683. * register cannot be changed until the partition is de-allocated or a POR occurs. The PARTITION_KMOD value can
  11684. * still be changed. The SMAG_LCK bit can be changed to a 1, but cannot be changed to a 0.
  11685. */
  11686. #define CAAM_PX_SMAPR_PG0_SMAP_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_SMAP_LCK_SHIFT)) & CAAM_PX_SMAPR_PG0_SMAP_LCK_MASK)
  11687. #define CAAM_PX_SMAPR_PG0_PSP_MASK (0x4000U)
  11688. #define CAAM_PX_SMAPR_PG0_PSP_SHIFT (14U)
  11689. /*! PSP
  11690. * 0b0..The partition and any of the pages allocated to the partition can be de-allocated.
  11691. * 0b1..The partition cannot be de-allocated and the pages allocated to the partition cannot be de-allocated.
  11692. */
  11693. #define CAAM_PX_SMAPR_PG0_PSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_PSP_SHIFT)) & CAAM_PX_SMAPR_PG0_PSP_MASK)
  11694. #define CAAM_PX_SMAPR_PG0_CSP_MASK (0x8000U)
  11695. #define CAAM_PX_SMAPR_PG0_CSP_SHIFT (15U)
  11696. /*! CSP
  11697. * 0b0..The pages allocated to the partition will not be zeroized when they are de-allocated or the partition is
  11698. * released or a security alarm occurs.
  11699. * 0b1..The pages allocated to the partition will be zeroized when they are individually de-allocated or the
  11700. * partition is released or a security alarm occurs.
  11701. */
  11702. #define CAAM_PX_SMAPR_PG0_CSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_CSP_SHIFT)) & CAAM_PX_SMAPR_PG0_CSP_MASK)
  11703. #define CAAM_PX_SMAPR_PG0_PARTITION_KMOD_MASK (0xFFFF0000U)
  11704. #define CAAM_PX_SMAPR_PG0_PARTITION_KMOD_SHIFT (16U)
  11705. #define CAAM_PX_SMAPR_PG0_PARTITION_KMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_PG0_PARTITION_KMOD_SHIFT)) & CAAM_PX_SMAPR_PG0_PARTITION_KMOD_MASK)
  11706. /*! @} */
  11707. /* The count of CAAM_PX_SMAPR_PG0 */
  11708. #define CAAM_PX_SMAPR_PG0_COUNT (16U)
  11709. /*! @name PX_SMAG2_PG0 - Secure Memory Access Group Registers */
  11710. /*! @{ */
  11711. #define CAAM_PX_SMAG2_PG0_Gx_ID00_MASK (0x1U)
  11712. #define CAAM_PX_SMAG2_PG0_Gx_ID00_SHIFT (0U)
  11713. #define CAAM_PX_SMAG2_PG0_Gx_ID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID00_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID00_MASK)
  11714. #define CAAM_PX_SMAG2_PG0_Gx_ID01_MASK (0x2U)
  11715. #define CAAM_PX_SMAG2_PG0_Gx_ID01_SHIFT (1U)
  11716. #define CAAM_PX_SMAG2_PG0_Gx_ID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID01_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID01_MASK)
  11717. #define CAAM_PX_SMAG2_PG0_Gx_ID02_MASK (0x4U)
  11718. #define CAAM_PX_SMAG2_PG0_Gx_ID02_SHIFT (2U)
  11719. #define CAAM_PX_SMAG2_PG0_Gx_ID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID02_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID02_MASK)
  11720. #define CAAM_PX_SMAG2_PG0_Gx_ID03_MASK (0x8U)
  11721. #define CAAM_PX_SMAG2_PG0_Gx_ID03_SHIFT (3U)
  11722. #define CAAM_PX_SMAG2_PG0_Gx_ID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID03_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID03_MASK)
  11723. #define CAAM_PX_SMAG2_PG0_Gx_ID04_MASK (0x10U)
  11724. #define CAAM_PX_SMAG2_PG0_Gx_ID04_SHIFT (4U)
  11725. #define CAAM_PX_SMAG2_PG0_Gx_ID04(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID04_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID04_MASK)
  11726. #define CAAM_PX_SMAG2_PG0_Gx_ID05_MASK (0x20U)
  11727. #define CAAM_PX_SMAG2_PG0_Gx_ID05_SHIFT (5U)
  11728. #define CAAM_PX_SMAG2_PG0_Gx_ID05(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID05_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID05_MASK)
  11729. #define CAAM_PX_SMAG2_PG0_Gx_ID06_MASK (0x40U)
  11730. #define CAAM_PX_SMAG2_PG0_Gx_ID06_SHIFT (6U)
  11731. #define CAAM_PX_SMAG2_PG0_Gx_ID06(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID06_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID06_MASK)
  11732. #define CAAM_PX_SMAG2_PG0_Gx_ID07_MASK (0x80U)
  11733. #define CAAM_PX_SMAG2_PG0_Gx_ID07_SHIFT (7U)
  11734. #define CAAM_PX_SMAG2_PG0_Gx_ID07(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID07_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID07_MASK)
  11735. #define CAAM_PX_SMAG2_PG0_Gx_ID08_MASK (0x100U)
  11736. #define CAAM_PX_SMAG2_PG0_Gx_ID08_SHIFT (8U)
  11737. #define CAAM_PX_SMAG2_PG0_Gx_ID08(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID08_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID08_MASK)
  11738. #define CAAM_PX_SMAG2_PG0_Gx_ID09_MASK (0x200U)
  11739. #define CAAM_PX_SMAG2_PG0_Gx_ID09_SHIFT (9U)
  11740. #define CAAM_PX_SMAG2_PG0_Gx_ID09(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID09_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID09_MASK)
  11741. #define CAAM_PX_SMAG2_PG0_Gx_ID10_MASK (0x400U)
  11742. #define CAAM_PX_SMAG2_PG0_Gx_ID10_SHIFT (10U)
  11743. #define CAAM_PX_SMAG2_PG0_Gx_ID10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID10_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID10_MASK)
  11744. #define CAAM_PX_SMAG2_PG0_Gx_ID11_MASK (0x800U)
  11745. #define CAAM_PX_SMAG2_PG0_Gx_ID11_SHIFT (11U)
  11746. #define CAAM_PX_SMAG2_PG0_Gx_ID11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID11_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID11_MASK)
  11747. #define CAAM_PX_SMAG2_PG0_Gx_ID12_MASK (0x1000U)
  11748. #define CAAM_PX_SMAG2_PG0_Gx_ID12_SHIFT (12U)
  11749. #define CAAM_PX_SMAG2_PG0_Gx_ID12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID12_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID12_MASK)
  11750. #define CAAM_PX_SMAG2_PG0_Gx_ID13_MASK (0x2000U)
  11751. #define CAAM_PX_SMAG2_PG0_Gx_ID13_SHIFT (13U)
  11752. #define CAAM_PX_SMAG2_PG0_Gx_ID13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID13_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID13_MASK)
  11753. #define CAAM_PX_SMAG2_PG0_Gx_ID14_MASK (0x4000U)
  11754. #define CAAM_PX_SMAG2_PG0_Gx_ID14_SHIFT (14U)
  11755. #define CAAM_PX_SMAG2_PG0_Gx_ID14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID14_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID14_MASK)
  11756. #define CAAM_PX_SMAG2_PG0_Gx_ID15_MASK (0x8000U)
  11757. #define CAAM_PX_SMAG2_PG0_Gx_ID15_SHIFT (15U)
  11758. #define CAAM_PX_SMAG2_PG0_Gx_ID15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID15_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID15_MASK)
  11759. #define CAAM_PX_SMAG2_PG0_Gx_ID16_MASK (0x10000U)
  11760. #define CAAM_PX_SMAG2_PG0_Gx_ID16_SHIFT (16U)
  11761. #define CAAM_PX_SMAG2_PG0_Gx_ID16(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID16_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID16_MASK)
  11762. #define CAAM_PX_SMAG2_PG0_Gx_ID17_MASK (0x20000U)
  11763. #define CAAM_PX_SMAG2_PG0_Gx_ID17_SHIFT (17U)
  11764. #define CAAM_PX_SMAG2_PG0_Gx_ID17(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID17_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID17_MASK)
  11765. #define CAAM_PX_SMAG2_PG0_Gx_ID18_MASK (0x40000U)
  11766. #define CAAM_PX_SMAG2_PG0_Gx_ID18_SHIFT (18U)
  11767. #define CAAM_PX_SMAG2_PG0_Gx_ID18(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID18_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID18_MASK)
  11768. #define CAAM_PX_SMAG2_PG0_Gx_ID19_MASK (0x80000U)
  11769. #define CAAM_PX_SMAG2_PG0_Gx_ID19_SHIFT (19U)
  11770. #define CAAM_PX_SMAG2_PG0_Gx_ID19(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID19_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID19_MASK)
  11771. #define CAAM_PX_SMAG2_PG0_Gx_ID20_MASK (0x100000U)
  11772. #define CAAM_PX_SMAG2_PG0_Gx_ID20_SHIFT (20U)
  11773. #define CAAM_PX_SMAG2_PG0_Gx_ID20(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID20_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID20_MASK)
  11774. #define CAAM_PX_SMAG2_PG0_Gx_ID21_MASK (0x200000U)
  11775. #define CAAM_PX_SMAG2_PG0_Gx_ID21_SHIFT (21U)
  11776. #define CAAM_PX_SMAG2_PG0_Gx_ID21(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID21_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID21_MASK)
  11777. #define CAAM_PX_SMAG2_PG0_Gx_ID22_MASK (0x400000U)
  11778. #define CAAM_PX_SMAG2_PG0_Gx_ID22_SHIFT (22U)
  11779. #define CAAM_PX_SMAG2_PG0_Gx_ID22(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID22_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID22_MASK)
  11780. #define CAAM_PX_SMAG2_PG0_Gx_ID23_MASK (0x800000U)
  11781. #define CAAM_PX_SMAG2_PG0_Gx_ID23_SHIFT (23U)
  11782. #define CAAM_PX_SMAG2_PG0_Gx_ID23(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID23_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID23_MASK)
  11783. #define CAAM_PX_SMAG2_PG0_Gx_ID24_MASK (0x1000000U)
  11784. #define CAAM_PX_SMAG2_PG0_Gx_ID24_SHIFT (24U)
  11785. #define CAAM_PX_SMAG2_PG0_Gx_ID24(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID24_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID24_MASK)
  11786. #define CAAM_PX_SMAG2_PG0_Gx_ID25_MASK (0x2000000U)
  11787. #define CAAM_PX_SMAG2_PG0_Gx_ID25_SHIFT (25U)
  11788. #define CAAM_PX_SMAG2_PG0_Gx_ID25(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID25_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID25_MASK)
  11789. #define CAAM_PX_SMAG2_PG0_Gx_ID26_MASK (0x4000000U)
  11790. #define CAAM_PX_SMAG2_PG0_Gx_ID26_SHIFT (26U)
  11791. #define CAAM_PX_SMAG2_PG0_Gx_ID26(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID26_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID26_MASK)
  11792. #define CAAM_PX_SMAG2_PG0_Gx_ID27_MASK (0x8000000U)
  11793. #define CAAM_PX_SMAG2_PG0_Gx_ID27_SHIFT (27U)
  11794. #define CAAM_PX_SMAG2_PG0_Gx_ID27(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID27_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID27_MASK)
  11795. #define CAAM_PX_SMAG2_PG0_Gx_ID28_MASK (0x10000000U)
  11796. #define CAAM_PX_SMAG2_PG0_Gx_ID28_SHIFT (28U)
  11797. #define CAAM_PX_SMAG2_PG0_Gx_ID28(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID28_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID28_MASK)
  11798. #define CAAM_PX_SMAG2_PG0_Gx_ID29_MASK (0x20000000U)
  11799. #define CAAM_PX_SMAG2_PG0_Gx_ID29_SHIFT (29U)
  11800. #define CAAM_PX_SMAG2_PG0_Gx_ID29(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID29_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID29_MASK)
  11801. #define CAAM_PX_SMAG2_PG0_Gx_ID30_MASK (0x40000000U)
  11802. #define CAAM_PX_SMAG2_PG0_Gx_ID30_SHIFT (30U)
  11803. #define CAAM_PX_SMAG2_PG0_Gx_ID30(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID30_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID30_MASK)
  11804. #define CAAM_PX_SMAG2_PG0_Gx_ID31_MASK (0x80000000U)
  11805. #define CAAM_PX_SMAG2_PG0_Gx_ID31_SHIFT (31U)
  11806. #define CAAM_PX_SMAG2_PG0_Gx_ID31(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_PG0_Gx_ID31_SHIFT)) & CAAM_PX_SMAG2_PG0_Gx_ID31_MASK)
  11807. /*! @} */
  11808. /* The count of CAAM_PX_SMAG2_PG0 */
  11809. #define CAAM_PX_SMAG2_PG0_COUNT (16U)
  11810. /*! @name PX_SMAG1_PG0 - Secure Memory Access Group Registers */
  11811. /*! @{ */
  11812. #define CAAM_PX_SMAG1_PG0_Gx_ID00_MASK (0x1U)
  11813. #define CAAM_PX_SMAG1_PG0_Gx_ID00_SHIFT (0U)
  11814. #define CAAM_PX_SMAG1_PG0_Gx_ID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID00_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID00_MASK)
  11815. #define CAAM_PX_SMAG1_PG0_Gx_ID01_MASK (0x2U)
  11816. #define CAAM_PX_SMAG1_PG0_Gx_ID01_SHIFT (1U)
  11817. #define CAAM_PX_SMAG1_PG0_Gx_ID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID01_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID01_MASK)
  11818. #define CAAM_PX_SMAG1_PG0_Gx_ID02_MASK (0x4U)
  11819. #define CAAM_PX_SMAG1_PG0_Gx_ID02_SHIFT (2U)
  11820. #define CAAM_PX_SMAG1_PG0_Gx_ID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID02_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID02_MASK)
  11821. #define CAAM_PX_SMAG1_PG0_Gx_ID03_MASK (0x8U)
  11822. #define CAAM_PX_SMAG1_PG0_Gx_ID03_SHIFT (3U)
  11823. #define CAAM_PX_SMAG1_PG0_Gx_ID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID03_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID03_MASK)
  11824. #define CAAM_PX_SMAG1_PG0_Gx_ID04_MASK (0x10U)
  11825. #define CAAM_PX_SMAG1_PG0_Gx_ID04_SHIFT (4U)
  11826. #define CAAM_PX_SMAG1_PG0_Gx_ID04(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID04_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID04_MASK)
  11827. #define CAAM_PX_SMAG1_PG0_Gx_ID05_MASK (0x20U)
  11828. #define CAAM_PX_SMAG1_PG0_Gx_ID05_SHIFT (5U)
  11829. #define CAAM_PX_SMAG1_PG0_Gx_ID05(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID05_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID05_MASK)
  11830. #define CAAM_PX_SMAG1_PG0_Gx_ID06_MASK (0x40U)
  11831. #define CAAM_PX_SMAG1_PG0_Gx_ID06_SHIFT (6U)
  11832. #define CAAM_PX_SMAG1_PG0_Gx_ID06(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID06_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID06_MASK)
  11833. #define CAAM_PX_SMAG1_PG0_Gx_ID07_MASK (0x80U)
  11834. #define CAAM_PX_SMAG1_PG0_Gx_ID07_SHIFT (7U)
  11835. #define CAAM_PX_SMAG1_PG0_Gx_ID07(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID07_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID07_MASK)
  11836. #define CAAM_PX_SMAG1_PG0_Gx_ID08_MASK (0x100U)
  11837. #define CAAM_PX_SMAG1_PG0_Gx_ID08_SHIFT (8U)
  11838. #define CAAM_PX_SMAG1_PG0_Gx_ID08(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID08_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID08_MASK)
  11839. #define CAAM_PX_SMAG1_PG0_Gx_ID09_MASK (0x200U)
  11840. #define CAAM_PX_SMAG1_PG0_Gx_ID09_SHIFT (9U)
  11841. #define CAAM_PX_SMAG1_PG0_Gx_ID09(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID09_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID09_MASK)
  11842. #define CAAM_PX_SMAG1_PG0_Gx_ID10_MASK (0x400U)
  11843. #define CAAM_PX_SMAG1_PG0_Gx_ID10_SHIFT (10U)
  11844. #define CAAM_PX_SMAG1_PG0_Gx_ID10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID10_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID10_MASK)
  11845. #define CAAM_PX_SMAG1_PG0_Gx_ID11_MASK (0x800U)
  11846. #define CAAM_PX_SMAG1_PG0_Gx_ID11_SHIFT (11U)
  11847. #define CAAM_PX_SMAG1_PG0_Gx_ID11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID11_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID11_MASK)
  11848. #define CAAM_PX_SMAG1_PG0_Gx_ID12_MASK (0x1000U)
  11849. #define CAAM_PX_SMAG1_PG0_Gx_ID12_SHIFT (12U)
  11850. #define CAAM_PX_SMAG1_PG0_Gx_ID12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID12_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID12_MASK)
  11851. #define CAAM_PX_SMAG1_PG0_Gx_ID13_MASK (0x2000U)
  11852. #define CAAM_PX_SMAG1_PG0_Gx_ID13_SHIFT (13U)
  11853. #define CAAM_PX_SMAG1_PG0_Gx_ID13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID13_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID13_MASK)
  11854. #define CAAM_PX_SMAG1_PG0_Gx_ID14_MASK (0x4000U)
  11855. #define CAAM_PX_SMAG1_PG0_Gx_ID14_SHIFT (14U)
  11856. #define CAAM_PX_SMAG1_PG0_Gx_ID14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID14_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID14_MASK)
  11857. #define CAAM_PX_SMAG1_PG0_Gx_ID15_MASK (0x8000U)
  11858. #define CAAM_PX_SMAG1_PG0_Gx_ID15_SHIFT (15U)
  11859. #define CAAM_PX_SMAG1_PG0_Gx_ID15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID15_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID15_MASK)
  11860. #define CAAM_PX_SMAG1_PG0_Gx_ID16_MASK (0x10000U)
  11861. #define CAAM_PX_SMAG1_PG0_Gx_ID16_SHIFT (16U)
  11862. #define CAAM_PX_SMAG1_PG0_Gx_ID16(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID16_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID16_MASK)
  11863. #define CAAM_PX_SMAG1_PG0_Gx_ID17_MASK (0x20000U)
  11864. #define CAAM_PX_SMAG1_PG0_Gx_ID17_SHIFT (17U)
  11865. #define CAAM_PX_SMAG1_PG0_Gx_ID17(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID17_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID17_MASK)
  11866. #define CAAM_PX_SMAG1_PG0_Gx_ID18_MASK (0x40000U)
  11867. #define CAAM_PX_SMAG1_PG0_Gx_ID18_SHIFT (18U)
  11868. #define CAAM_PX_SMAG1_PG0_Gx_ID18(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID18_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID18_MASK)
  11869. #define CAAM_PX_SMAG1_PG0_Gx_ID19_MASK (0x80000U)
  11870. #define CAAM_PX_SMAG1_PG0_Gx_ID19_SHIFT (19U)
  11871. #define CAAM_PX_SMAG1_PG0_Gx_ID19(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID19_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID19_MASK)
  11872. #define CAAM_PX_SMAG1_PG0_Gx_ID20_MASK (0x100000U)
  11873. #define CAAM_PX_SMAG1_PG0_Gx_ID20_SHIFT (20U)
  11874. #define CAAM_PX_SMAG1_PG0_Gx_ID20(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID20_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID20_MASK)
  11875. #define CAAM_PX_SMAG1_PG0_Gx_ID21_MASK (0x200000U)
  11876. #define CAAM_PX_SMAG1_PG0_Gx_ID21_SHIFT (21U)
  11877. #define CAAM_PX_SMAG1_PG0_Gx_ID21(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID21_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID21_MASK)
  11878. #define CAAM_PX_SMAG1_PG0_Gx_ID22_MASK (0x400000U)
  11879. #define CAAM_PX_SMAG1_PG0_Gx_ID22_SHIFT (22U)
  11880. #define CAAM_PX_SMAG1_PG0_Gx_ID22(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID22_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID22_MASK)
  11881. #define CAAM_PX_SMAG1_PG0_Gx_ID23_MASK (0x800000U)
  11882. #define CAAM_PX_SMAG1_PG0_Gx_ID23_SHIFT (23U)
  11883. #define CAAM_PX_SMAG1_PG0_Gx_ID23(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID23_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID23_MASK)
  11884. #define CAAM_PX_SMAG1_PG0_Gx_ID24_MASK (0x1000000U)
  11885. #define CAAM_PX_SMAG1_PG0_Gx_ID24_SHIFT (24U)
  11886. #define CAAM_PX_SMAG1_PG0_Gx_ID24(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID24_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID24_MASK)
  11887. #define CAAM_PX_SMAG1_PG0_Gx_ID25_MASK (0x2000000U)
  11888. #define CAAM_PX_SMAG1_PG0_Gx_ID25_SHIFT (25U)
  11889. #define CAAM_PX_SMAG1_PG0_Gx_ID25(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID25_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID25_MASK)
  11890. #define CAAM_PX_SMAG1_PG0_Gx_ID26_MASK (0x4000000U)
  11891. #define CAAM_PX_SMAG1_PG0_Gx_ID26_SHIFT (26U)
  11892. #define CAAM_PX_SMAG1_PG0_Gx_ID26(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID26_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID26_MASK)
  11893. #define CAAM_PX_SMAG1_PG0_Gx_ID27_MASK (0x8000000U)
  11894. #define CAAM_PX_SMAG1_PG0_Gx_ID27_SHIFT (27U)
  11895. #define CAAM_PX_SMAG1_PG0_Gx_ID27(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID27_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID27_MASK)
  11896. #define CAAM_PX_SMAG1_PG0_Gx_ID28_MASK (0x10000000U)
  11897. #define CAAM_PX_SMAG1_PG0_Gx_ID28_SHIFT (28U)
  11898. #define CAAM_PX_SMAG1_PG0_Gx_ID28(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID28_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID28_MASK)
  11899. #define CAAM_PX_SMAG1_PG0_Gx_ID29_MASK (0x20000000U)
  11900. #define CAAM_PX_SMAG1_PG0_Gx_ID29_SHIFT (29U)
  11901. #define CAAM_PX_SMAG1_PG0_Gx_ID29(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID29_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID29_MASK)
  11902. #define CAAM_PX_SMAG1_PG0_Gx_ID30_MASK (0x40000000U)
  11903. #define CAAM_PX_SMAG1_PG0_Gx_ID30_SHIFT (30U)
  11904. #define CAAM_PX_SMAG1_PG0_Gx_ID30(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID30_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID30_MASK)
  11905. #define CAAM_PX_SMAG1_PG0_Gx_ID31_MASK (0x80000000U)
  11906. #define CAAM_PX_SMAG1_PG0_Gx_ID31_SHIFT (31U)
  11907. #define CAAM_PX_SMAG1_PG0_Gx_ID31(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_PG0_Gx_ID31_SHIFT)) & CAAM_PX_SMAG1_PG0_Gx_ID31_MASK)
  11908. /*! @} */
  11909. /* The count of CAAM_PX_SMAG1_PG0 */
  11910. #define CAAM_PX_SMAG1_PG0_COUNT (16U)
  11911. /*! @name REIS - Recoverable Error Interrupt Status */
  11912. /*! @{ */
  11913. #define CAAM_REIS_CWDE_MASK (0x1U)
  11914. #define CAAM_REIS_CWDE_SHIFT (0U)
  11915. #define CAAM_REIS_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_CWDE_SHIFT)) & CAAM_REIS_CWDE_MASK)
  11916. #define CAAM_REIS_RBAE_MASK (0x10000U)
  11917. #define CAAM_REIS_RBAE_SHIFT (16U)
  11918. #define CAAM_REIS_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_RBAE_SHIFT)) & CAAM_REIS_RBAE_MASK)
  11919. #define CAAM_REIS_JBAE0_MASK (0x1000000U)
  11920. #define CAAM_REIS_JBAE0_SHIFT (24U)
  11921. #define CAAM_REIS_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE0_SHIFT)) & CAAM_REIS_JBAE0_MASK)
  11922. #define CAAM_REIS_JBAE1_MASK (0x2000000U)
  11923. #define CAAM_REIS_JBAE1_SHIFT (25U)
  11924. #define CAAM_REIS_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE1_SHIFT)) & CAAM_REIS_JBAE1_MASK)
  11925. #define CAAM_REIS_JBAE2_MASK (0x4000000U)
  11926. #define CAAM_REIS_JBAE2_SHIFT (26U)
  11927. #define CAAM_REIS_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE2_SHIFT)) & CAAM_REIS_JBAE2_MASK)
  11928. #define CAAM_REIS_JBAE3_MASK (0x8000000U)
  11929. #define CAAM_REIS_JBAE3_SHIFT (27U)
  11930. #define CAAM_REIS_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIS_JBAE3_SHIFT)) & CAAM_REIS_JBAE3_MASK)
  11931. /*! @} */
  11932. /*! @name REIE - Recoverable Error Interrupt Enable */
  11933. /*! @{ */
  11934. #define CAAM_REIE_CWDE_MASK (0x1U)
  11935. #define CAAM_REIE_CWDE_SHIFT (0U)
  11936. #define CAAM_REIE_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_CWDE_SHIFT)) & CAAM_REIE_CWDE_MASK)
  11937. #define CAAM_REIE_RBAE_MASK (0x10000U)
  11938. #define CAAM_REIE_RBAE_SHIFT (16U)
  11939. #define CAAM_REIE_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_RBAE_SHIFT)) & CAAM_REIE_RBAE_MASK)
  11940. #define CAAM_REIE_JBAE0_MASK (0x1000000U)
  11941. #define CAAM_REIE_JBAE0_SHIFT (24U)
  11942. #define CAAM_REIE_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE0_SHIFT)) & CAAM_REIE_JBAE0_MASK)
  11943. #define CAAM_REIE_JBAE1_MASK (0x2000000U)
  11944. #define CAAM_REIE_JBAE1_SHIFT (25U)
  11945. #define CAAM_REIE_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE1_SHIFT)) & CAAM_REIE_JBAE1_MASK)
  11946. #define CAAM_REIE_JBAE2_MASK (0x4000000U)
  11947. #define CAAM_REIE_JBAE2_SHIFT (26U)
  11948. #define CAAM_REIE_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE2_SHIFT)) & CAAM_REIE_JBAE2_MASK)
  11949. #define CAAM_REIE_JBAE3_MASK (0x8000000U)
  11950. #define CAAM_REIE_JBAE3_SHIFT (27U)
  11951. #define CAAM_REIE_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIE_JBAE3_SHIFT)) & CAAM_REIE_JBAE3_MASK)
  11952. /*! @} */
  11953. /*! @name REIF - Recoverable Error Interrupt Force */
  11954. /*! @{ */
  11955. #define CAAM_REIF_CWDE_MASK (0x1U)
  11956. #define CAAM_REIF_CWDE_SHIFT (0U)
  11957. #define CAAM_REIF_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_CWDE_SHIFT)) & CAAM_REIF_CWDE_MASK)
  11958. #define CAAM_REIF_RBAE_MASK (0x10000U)
  11959. #define CAAM_REIF_RBAE_SHIFT (16U)
  11960. #define CAAM_REIF_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_RBAE_SHIFT)) & CAAM_REIF_RBAE_MASK)
  11961. #define CAAM_REIF_JBAE0_MASK (0x1000000U)
  11962. #define CAAM_REIF_JBAE0_SHIFT (24U)
  11963. #define CAAM_REIF_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE0_SHIFT)) & CAAM_REIF_JBAE0_MASK)
  11964. #define CAAM_REIF_JBAE1_MASK (0x2000000U)
  11965. #define CAAM_REIF_JBAE1_SHIFT (25U)
  11966. #define CAAM_REIF_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE1_SHIFT)) & CAAM_REIF_JBAE1_MASK)
  11967. #define CAAM_REIF_JBAE2_MASK (0x4000000U)
  11968. #define CAAM_REIF_JBAE2_SHIFT (26U)
  11969. #define CAAM_REIF_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE2_SHIFT)) & CAAM_REIF_JBAE2_MASK)
  11970. #define CAAM_REIF_JBAE3_MASK (0x8000000U)
  11971. #define CAAM_REIF_JBAE3_SHIFT (27U)
  11972. #define CAAM_REIF_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIF_JBAE3_SHIFT)) & CAAM_REIF_JBAE3_MASK)
  11973. /*! @} */
  11974. /*! @name REIH - Recoverable Error Interrupt Halt */
  11975. /*! @{ */
  11976. #define CAAM_REIH_CWDE_MASK (0x1U)
  11977. #define CAAM_REIH_CWDE_SHIFT (0U)
  11978. /*! CWDE
  11979. * 0b0..Don't halt CAAM if CAAM watchdog expired.
  11980. * 0b1..Halt CAAM if CAAM watchdog expired..
  11981. */
  11982. #define CAAM_REIH_CWDE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_CWDE_SHIFT)) & CAAM_REIH_CWDE_MASK)
  11983. #define CAAM_REIH_RBAE_MASK (0x10000U)
  11984. #define CAAM_REIH_RBAE_SHIFT (16U)
  11985. /*! RBAE
  11986. * 0b0..Don't halt CAAM if RTIC-initiated job execution caused bus access error.
  11987. * 0b1..Halt CAAM if RTIC-initiated job execution caused bus access error.
  11988. */
  11989. #define CAAM_REIH_RBAE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_RBAE_SHIFT)) & CAAM_REIH_RBAE_MASK)
  11990. #define CAAM_REIH_JBAE0_MASK (0x1000000U)
  11991. #define CAAM_REIH_JBAE0_SHIFT (24U)
  11992. /*! JBAE0
  11993. * 0b0..Don't halt CAAM if JR0-initiated job execution caused bus access error.
  11994. * 0b1..Halt CAAM if JR0-initiated job execution caused bus access error.
  11995. */
  11996. #define CAAM_REIH_JBAE0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE0_SHIFT)) & CAAM_REIH_JBAE0_MASK)
  11997. #define CAAM_REIH_JBAE1_MASK (0x2000000U)
  11998. #define CAAM_REIH_JBAE1_SHIFT (25U)
  11999. /*! JBAE1
  12000. * 0b0..Don't halt CAAM if JR1-initiated job execution caused bus access error.
  12001. * 0b1..Halt CAAM if JR1-initiated job execution caused bus access error.
  12002. */
  12003. #define CAAM_REIH_JBAE1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE1_SHIFT)) & CAAM_REIH_JBAE1_MASK)
  12004. #define CAAM_REIH_JBAE2_MASK (0x4000000U)
  12005. #define CAAM_REIH_JBAE2_SHIFT (26U)
  12006. /*! JBAE2
  12007. * 0b0..Don't halt CAAM if JR2-initiated job execution caused bus access error.
  12008. * 0b1..Halt CAAM if JR2-initiated job execution caused bus access error.
  12009. */
  12010. #define CAAM_REIH_JBAE2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE2_SHIFT)) & CAAM_REIH_JBAE2_MASK)
  12011. #define CAAM_REIH_JBAE3_MASK (0x8000000U)
  12012. #define CAAM_REIH_JBAE3_SHIFT (27U)
  12013. /*! JBAE3
  12014. * 0b0..Don't halt CAAM if JR3-initiated job execution caused bus access error.
  12015. * 0b1..Halt CAAM if JR3-initiated job execution caused bus access error.
  12016. */
  12017. #define CAAM_REIH_JBAE3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIH_JBAE3_SHIFT)) & CAAM_REIH_JBAE3_MASK)
  12018. /*! @} */
  12019. /*! @name SMWPJRR - Secure Memory Write Protect Job Ring Register */
  12020. /*! @{ */
  12021. #define CAAM_SMWPJRR_SMR_WP_JRa_MASK (0x1U)
  12022. #define CAAM_SMWPJRR_SMR_WP_JRa_SHIFT (0U)
  12023. #define CAAM_SMWPJRR_SMR_WP_JRa(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMWPJRR_SMR_WP_JRa_SHIFT)) & CAAM_SMWPJRR_SMR_WP_JRa_MASK)
  12024. /*! @} */
  12025. /* The count of CAAM_SMWPJRR */
  12026. #define CAAM_SMWPJRR_COUNT (4U)
  12027. /*! @name SMCR_PG0 - Secure Memory Command Register */
  12028. /*! @{ */
  12029. #define CAAM_SMCR_PG0_CMD_MASK (0xFU)
  12030. #define CAAM_SMCR_PG0_CMD_SHIFT (0U)
  12031. #define CAAM_SMCR_PG0_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_CMD_SHIFT)) & CAAM_SMCR_PG0_CMD_MASK)
  12032. #define CAAM_SMCR_PG0_PRTN_MASK (0xF00U)
  12033. #define CAAM_SMCR_PG0_PRTN_SHIFT (8U)
  12034. #define CAAM_SMCR_PG0_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_PRTN_SHIFT)) & CAAM_SMCR_PG0_PRTN_MASK)
  12035. #define CAAM_SMCR_PG0_PAGE_MASK (0xFFFF0000U)
  12036. #define CAAM_SMCR_PG0_PAGE_SHIFT (16U)
  12037. #define CAAM_SMCR_PG0_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_PG0_PAGE_SHIFT)) & CAAM_SMCR_PG0_PAGE_MASK)
  12038. /*! @} */
  12039. /*! @name SMCSR_PG0 - Secure Memory Command Status Register */
  12040. /*! @{ */
  12041. #define CAAM_SMCSR_PG0_PRTN_MASK (0xFU)
  12042. #define CAAM_SMCSR_PG0_PRTN_SHIFT (0U)
  12043. #define CAAM_SMCSR_PG0_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PRTN_SHIFT)) & CAAM_SMCSR_PG0_PRTN_MASK)
  12044. #define CAAM_SMCSR_PG0_PO_MASK (0xC0U)
  12045. #define CAAM_SMCSR_PG0_PO_SHIFT (6U)
  12046. /*! PO
  12047. * 0b00..Available; Unowned: The entity that issued the inquiry may allocate this page to a partition. No
  12048. * zeroization is needed since it has already been cleared, therefore no interrupt should be expected.
  12049. * 0b01..Page does not exist in this version or is not initialized yet.
  12050. * 0b10..Another entity owns the page. This page is unavailable to the issuer of the inquiry.
  12051. * 0b11..Owned by the entity making the inquiry. The owner may de-allocate this page if its partition is not
  12052. * marked PSP. If the partition to which the page is allocated is designated as CSP, the page will be zeroized
  12053. * upon de-allocation.
  12054. */
  12055. #define CAAM_SMCSR_PG0_PO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PO_SHIFT)) & CAAM_SMCSR_PG0_PO_MASK)
  12056. #define CAAM_SMCSR_PG0_AERR_MASK (0x3000U)
  12057. #define CAAM_SMCSR_PG0_AERR_SHIFT (12U)
  12058. #define CAAM_SMCSR_PG0_AERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_AERR_SHIFT)) & CAAM_SMCSR_PG0_AERR_MASK)
  12059. #define CAAM_SMCSR_PG0_CERR_MASK (0xC000U)
  12060. #define CAAM_SMCSR_PG0_CERR_SHIFT (14U)
  12061. /*! CERR
  12062. * 0b00..No Error.
  12063. * 0b01..Command has not yet completed.
  12064. * 0b10..A security failure occurred.
  12065. * 0b11..Command Overflow. Another command was issued by the same Job Ring owner before the owner's previous
  12066. * command completed. The additional command was ignored.
  12067. */
  12068. #define CAAM_SMCSR_PG0_CERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_CERR_SHIFT)) & CAAM_SMCSR_PG0_CERR_MASK)
  12069. #define CAAM_SMCSR_PG0_PAGE_MASK (0xFFF0000U)
  12070. #define CAAM_SMCSR_PG0_PAGE_SHIFT (16U)
  12071. #define CAAM_SMCSR_PG0_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_PG0_PAGE_SHIFT)) & CAAM_SMCSR_PG0_PAGE_MASK)
  12072. /*! @} */
  12073. /*! @name CAAMVID_MS_TRAD - CAAM Version ID Register, most-significant half */
  12074. /*! @{ */
  12075. #define CAAM_CAAMVID_MS_TRAD_MIN_REV_MASK (0xFFU)
  12076. #define CAAM_CAAMVID_MS_TRAD_MIN_REV_SHIFT (0U)
  12077. #define CAAM_CAAMVID_MS_TRAD_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_MS_TRAD_MIN_REV_SHIFT)) & CAAM_CAAMVID_MS_TRAD_MIN_REV_MASK)
  12078. #define CAAM_CAAMVID_MS_TRAD_MAJ_REV_MASK (0xFF00U)
  12079. #define CAAM_CAAMVID_MS_TRAD_MAJ_REV_SHIFT (8U)
  12080. #define CAAM_CAAMVID_MS_TRAD_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_MS_TRAD_MAJ_REV_SHIFT)) & CAAM_CAAMVID_MS_TRAD_MAJ_REV_MASK)
  12081. #define CAAM_CAAMVID_MS_TRAD_IP_ID_MASK (0xFFFF0000U)
  12082. #define CAAM_CAAMVID_MS_TRAD_IP_ID_SHIFT (16U)
  12083. #define CAAM_CAAMVID_MS_TRAD_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_MS_TRAD_IP_ID_SHIFT)) & CAAM_CAAMVID_MS_TRAD_IP_ID_MASK)
  12084. /*! @} */
  12085. /*! @name CAAMVID_LS_TRAD - CAAM Version ID Register, least-significant half */
  12086. /*! @{ */
  12087. #define CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_MASK (0xFFU)
  12088. #define CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_SHIFT (0U)
  12089. #define CAAM_CAAMVID_LS_TRAD_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_SHIFT)) & CAAM_CAAMVID_LS_TRAD_CONFIG_OPT_MASK)
  12090. #define CAAM_CAAMVID_LS_TRAD_ECO_REV_MASK (0xFF00U)
  12091. #define CAAM_CAAMVID_LS_TRAD_ECO_REV_SHIFT (8U)
  12092. #define CAAM_CAAMVID_LS_TRAD_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_LS_TRAD_ECO_REV_SHIFT)) & CAAM_CAAMVID_LS_TRAD_ECO_REV_MASK)
  12093. #define CAAM_CAAMVID_LS_TRAD_INTG_OPT_MASK (0xFF0000U)
  12094. #define CAAM_CAAMVID_LS_TRAD_INTG_OPT_SHIFT (16U)
  12095. #define CAAM_CAAMVID_LS_TRAD_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_LS_TRAD_INTG_OPT_SHIFT)) & CAAM_CAAMVID_LS_TRAD_INTG_OPT_MASK)
  12096. #define CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_MASK (0xFF000000U)
  12097. #define CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_SHIFT (24U)
  12098. #define CAAM_CAAMVID_LS_TRAD_COMPILE_OPT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_SHIFT)) & CAAM_CAAMVID_LS_TRAD_COMPILE_OPT_MASK)
  12099. /*! @} */
  12100. /*! @name HT_JD_ADDR - Holding Tank 0 Job Descriptor Address */
  12101. /*! @{ */
  12102. #define CAAM_HT_JD_ADDR_JD_ADDR_MASK (0xFFFFFFFFFU)
  12103. #define CAAM_HT_JD_ADDR_JD_ADDR_SHIFT (0U)
  12104. #define CAAM_HT_JD_ADDR_JD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_HT_JD_ADDR_JD_ADDR_SHIFT)) & CAAM_HT_JD_ADDR_JD_ADDR_MASK)
  12105. /*! @} */
  12106. /* The count of CAAM_HT_JD_ADDR */
  12107. #define CAAM_HT_JD_ADDR_COUNT (1U)
  12108. /*! @name HT_SD_ADDR - Holding Tank 0 Shared Descriptor Address */
  12109. /*! @{ */
  12110. #define CAAM_HT_SD_ADDR_SD_ADDR_MASK (0xFFFFFFFFFU)
  12111. #define CAAM_HT_SD_ADDR_SD_ADDR_SHIFT (0U)
  12112. #define CAAM_HT_SD_ADDR_SD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_HT_SD_ADDR_SD_ADDR_SHIFT)) & CAAM_HT_SD_ADDR_SD_ADDR_MASK)
  12113. /*! @} */
  12114. /* The count of CAAM_HT_SD_ADDR */
  12115. #define CAAM_HT_SD_ADDR_COUNT (1U)
  12116. /*! @name HT_JQ_CTRL_MS - Holding Tank 0 Job Queue Control, most-significant half */
  12117. /*! @{ */
  12118. #define CAAM_HT_JQ_CTRL_MS_ID_MASK (0x7U)
  12119. #define CAAM_HT_JQ_CTRL_MS_ID_SHIFT (0U)
  12120. #define CAAM_HT_JQ_CTRL_MS_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_ID_SHIFT)) & CAAM_HT_JQ_CTRL_MS_ID_MASK)
  12121. #define CAAM_HT_JQ_CTRL_MS_SRC_MASK (0x700U)
  12122. #define CAAM_HT_JQ_CTRL_MS_SRC_SHIFT (8U)
  12123. /*! SRC
  12124. * 0b000..Job Ring 0
  12125. * 0b001..Job Ring 1
  12126. * 0b010..Job Ring 2
  12127. * 0b011..Job Ring 3
  12128. * 0b100..RTIC
  12129. * 0b101..Reserved
  12130. * 0b110..Reserved
  12131. * 0b111..Reserved
  12132. */
  12133. #define CAAM_HT_JQ_CTRL_MS_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_SRC_SHIFT)) & CAAM_HT_JQ_CTRL_MS_SRC_MASK)
  12134. #define CAAM_HT_JQ_CTRL_MS_JDDS_MASK (0x4000U)
  12135. #define CAAM_HT_JQ_CTRL_MS_JDDS_SHIFT (14U)
  12136. /*! JDDS
  12137. * 0b1..SEQ DID
  12138. * 0b0..Non-SEQ DID
  12139. */
  12140. #define CAAM_HT_JQ_CTRL_MS_JDDS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_JDDS_SHIFT)) & CAAM_HT_JQ_CTRL_MS_JDDS_MASK)
  12141. #define CAAM_HT_JQ_CTRL_MS_AMTD_MASK (0x8000U)
  12142. #define CAAM_HT_JQ_CTRL_MS_AMTD_SHIFT (15U)
  12143. #define CAAM_HT_JQ_CTRL_MS_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_AMTD_SHIFT)) & CAAM_HT_JQ_CTRL_MS_AMTD_MASK)
  12144. #define CAAM_HT_JQ_CTRL_MS_SOB_MASK (0x10000U)
  12145. #define CAAM_HT_JQ_CTRL_MS_SOB_SHIFT (16U)
  12146. #define CAAM_HT_JQ_CTRL_MS_SOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_SOB_SHIFT)) & CAAM_HT_JQ_CTRL_MS_SOB_MASK)
  12147. #define CAAM_HT_JQ_CTRL_MS_HT_ERROR_MASK (0x60000U)
  12148. #define CAAM_HT_JQ_CTRL_MS_HT_ERROR_SHIFT (17U)
  12149. /*! HT_ERROR
  12150. * 0b00..No error
  12151. * 0b01..Job Descriptor or Shared Descriptor length error
  12152. * 0b10..AXI_error while reading a Job Ring Shared Descriptor or the remainder of a Job Ring Job Descriptor
  12153. * 0b11..reserved
  12154. */
  12155. #define CAAM_HT_JQ_CTRL_MS_HT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_HT_ERROR_SHIFT)) & CAAM_HT_JQ_CTRL_MS_HT_ERROR_MASK)
  12156. #define CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_MASK (0x80000U)
  12157. #define CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_SHIFT (19U)
  12158. /*! DWORD_SWAP
  12159. * 0b0..DWords are in the order most-significant word, least-significant word.
  12160. * 0b1..DWords are in the order least-significant word, most-significant word.
  12161. */
  12162. #define CAAM_HT_JQ_CTRL_MS_DWORD_SWAP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_SHIFT)) & CAAM_HT_JQ_CTRL_MS_DWORD_SWAP_MASK)
  12163. #define CAAM_HT_JQ_CTRL_MS_SHR_FROM_MASK (0x7C00000U)
  12164. #define CAAM_HT_JQ_CTRL_MS_SHR_FROM_SHIFT (22U)
  12165. #define CAAM_HT_JQ_CTRL_MS_SHR_FROM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_SHR_FROM_SHIFT)) & CAAM_HT_JQ_CTRL_MS_SHR_FROM_MASK)
  12166. #define CAAM_HT_JQ_CTRL_MS_ILE_MASK (0x8000000U)
  12167. #define CAAM_HT_JQ_CTRL_MS_ILE_SHIFT (27U)
  12168. /*! ILE
  12169. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  12170. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  12171. */
  12172. #define CAAM_HT_JQ_CTRL_MS_ILE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_ILE_SHIFT)) & CAAM_HT_JQ_CTRL_MS_ILE_MASK)
  12173. #define CAAM_HT_JQ_CTRL_MS_FOUR_MASK (0x10000000U)
  12174. #define CAAM_HT_JQ_CTRL_MS_FOUR_SHIFT (28U)
  12175. #define CAAM_HT_JQ_CTRL_MS_FOUR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_FOUR_SHIFT)) & CAAM_HT_JQ_CTRL_MS_FOUR_MASK)
  12176. #define CAAM_HT_JQ_CTRL_MS_WHL_MASK (0x20000000U)
  12177. #define CAAM_HT_JQ_CTRL_MS_WHL_SHIFT (29U)
  12178. #define CAAM_HT_JQ_CTRL_MS_WHL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_MS_WHL_SHIFT)) & CAAM_HT_JQ_CTRL_MS_WHL_MASK)
  12179. /*! @} */
  12180. /* The count of CAAM_HT_JQ_CTRL_MS */
  12181. #define CAAM_HT_JQ_CTRL_MS_COUNT (1U)
  12182. /*! @name HT_JQ_CTRL_LS - Holding Tank 0 Job Queue Control, least-significant half */
  12183. /*! @{ */
  12184. #define CAAM_HT_JQ_CTRL_LS_PRIM_DID_MASK (0xFU)
  12185. #define CAAM_HT_JQ_CTRL_LS_PRIM_DID_SHIFT (0U)
  12186. #define CAAM_HT_JQ_CTRL_LS_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_LS_PRIM_DID_SHIFT)) & CAAM_HT_JQ_CTRL_LS_PRIM_DID_MASK)
  12187. #define CAAM_HT_JQ_CTRL_LS_PRIM_TZ_MASK (0x10U)
  12188. #define CAAM_HT_JQ_CTRL_LS_PRIM_TZ_SHIFT (4U)
  12189. /*! PRIM_TZ
  12190. * 0b0..TrustZone NonSecureWorld
  12191. * 0b1..TrustZone SecureWorld
  12192. */
  12193. #define CAAM_HT_JQ_CTRL_LS_PRIM_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_LS_PRIM_TZ_SHIFT)) & CAAM_HT_JQ_CTRL_LS_PRIM_TZ_MASK)
  12194. #define CAAM_HT_JQ_CTRL_LS_PRIM_ICID_MASK (0xFFE0U)
  12195. #define CAAM_HT_JQ_CTRL_LS_PRIM_ICID_SHIFT (5U)
  12196. #define CAAM_HT_JQ_CTRL_LS_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_LS_PRIM_ICID_SHIFT)) & CAAM_HT_JQ_CTRL_LS_PRIM_ICID_MASK)
  12197. #define CAAM_HT_JQ_CTRL_LS_OUT_DID_MASK (0xF0000U)
  12198. #define CAAM_HT_JQ_CTRL_LS_OUT_DID_SHIFT (16U)
  12199. #define CAAM_HT_JQ_CTRL_LS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_LS_OUT_DID_SHIFT)) & CAAM_HT_JQ_CTRL_LS_OUT_DID_MASK)
  12200. #define CAAM_HT_JQ_CTRL_LS_OUT_ICID_MASK (0xFFE00000U)
  12201. #define CAAM_HT_JQ_CTRL_LS_OUT_ICID_SHIFT (21U)
  12202. #define CAAM_HT_JQ_CTRL_LS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_JQ_CTRL_LS_OUT_ICID_SHIFT)) & CAAM_HT_JQ_CTRL_LS_OUT_ICID_MASK)
  12203. /*! @} */
  12204. /* The count of CAAM_HT_JQ_CTRL_LS */
  12205. #define CAAM_HT_JQ_CTRL_LS_COUNT (1U)
  12206. /*! @name HT_STATUS - Holding Tank Status */
  12207. /*! @{ */
  12208. #define CAAM_HT_STATUS_PEND_0_MASK (0x1U)
  12209. #define CAAM_HT_STATUS_PEND_0_SHIFT (0U)
  12210. #define CAAM_HT_STATUS_PEND_0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_PEND_0_SHIFT)) & CAAM_HT_STATUS_PEND_0_MASK)
  12211. #define CAAM_HT_STATUS_IN_USE_MASK (0x40000000U)
  12212. #define CAAM_HT_STATUS_IN_USE_SHIFT (30U)
  12213. #define CAAM_HT_STATUS_IN_USE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_IN_USE_SHIFT)) & CAAM_HT_STATUS_IN_USE_MASK)
  12214. #define CAAM_HT_STATUS_BC_MASK (0x80000000U)
  12215. #define CAAM_HT_STATUS_BC_SHIFT (31U)
  12216. #define CAAM_HT_STATUS_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_HT_STATUS_BC_SHIFT)) & CAAM_HT_STATUS_BC_MASK)
  12217. /*! @} */
  12218. /* The count of CAAM_HT_STATUS */
  12219. #define CAAM_HT_STATUS_COUNT (1U)
  12220. /*! @name JQ_DEBUG_SEL - Job Queue Debug Select Register */
  12221. /*! @{ */
  12222. #define CAAM_JQ_DEBUG_SEL_HT_SEL_MASK (0x1U)
  12223. #define CAAM_JQ_DEBUG_SEL_HT_SEL_SHIFT (0U)
  12224. #define CAAM_JQ_DEBUG_SEL_HT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JQ_DEBUG_SEL_HT_SEL_SHIFT)) & CAAM_JQ_DEBUG_SEL_HT_SEL_MASK)
  12225. #define CAAM_JQ_DEBUG_SEL_JOB_ID_MASK (0x70000U)
  12226. #define CAAM_JQ_DEBUG_SEL_JOB_ID_SHIFT (16U)
  12227. #define CAAM_JQ_DEBUG_SEL_JOB_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JQ_DEBUG_SEL_JOB_ID_SHIFT)) & CAAM_JQ_DEBUG_SEL_JOB_ID_MASK)
  12228. /*! @} */
  12229. /*! @name JRJIDU_LS - Job Ring Job IDs in Use Register, least-significant half */
  12230. /*! @{ */
  12231. #define CAAM_JRJIDU_LS_JID00_MASK (0x1U)
  12232. #define CAAM_JRJIDU_LS_JID00_SHIFT (0U)
  12233. #define CAAM_JRJIDU_LS_JID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID00_SHIFT)) & CAAM_JRJIDU_LS_JID00_MASK)
  12234. #define CAAM_JRJIDU_LS_JID01_MASK (0x2U)
  12235. #define CAAM_JRJIDU_LS_JID01_SHIFT (1U)
  12236. #define CAAM_JRJIDU_LS_JID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID01_SHIFT)) & CAAM_JRJIDU_LS_JID01_MASK)
  12237. #define CAAM_JRJIDU_LS_JID02_MASK (0x4U)
  12238. #define CAAM_JRJIDU_LS_JID02_SHIFT (2U)
  12239. #define CAAM_JRJIDU_LS_JID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID02_SHIFT)) & CAAM_JRJIDU_LS_JID02_MASK)
  12240. #define CAAM_JRJIDU_LS_JID03_MASK (0x8U)
  12241. #define CAAM_JRJIDU_LS_JID03_SHIFT (3U)
  12242. #define CAAM_JRJIDU_LS_JID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJIDU_LS_JID03_SHIFT)) & CAAM_JRJIDU_LS_JID03_MASK)
  12243. /*! @} */
  12244. /*! @name JRJDJIFBC - Job Ring Job-Done Job ID FIFO BC */
  12245. /*! @{ */
  12246. #define CAAM_JRJDJIFBC_BC_MASK (0x80000000U)
  12247. #define CAAM_JRJDJIFBC_BC_SHIFT (31U)
  12248. #define CAAM_JRJDJIFBC_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDJIFBC_BC_SHIFT)) & CAAM_JRJDJIFBC_BC_MASK)
  12249. /*! @} */
  12250. /*! @name JRJDJIF - Job Ring Job-Done Job ID FIFO */
  12251. /*! @{ */
  12252. #define CAAM_JRJDJIF_JOB_ID_ENTRY_MASK (0x7U)
  12253. #define CAAM_JRJDJIF_JOB_ID_ENTRY_SHIFT (0U)
  12254. #define CAAM_JRJDJIF_JOB_ID_ENTRY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDJIF_JOB_ID_ENTRY_SHIFT)) & CAAM_JRJDJIF_JOB_ID_ENTRY_MASK)
  12255. /*! @} */
  12256. /*! @name JRJDS1 - Job Ring Job-Done Source 1 */
  12257. /*! @{ */
  12258. #define CAAM_JRJDS1_SRC_MASK (0x3U)
  12259. #define CAAM_JRJDS1_SRC_SHIFT (0U)
  12260. #define CAAM_JRJDS1_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDS1_SRC_SHIFT)) & CAAM_JRJDS1_SRC_MASK)
  12261. #define CAAM_JRJDS1_VALID_MASK (0x80000000U)
  12262. #define CAAM_JRJDS1_VALID_SHIFT (31U)
  12263. #define CAAM_JRJDS1_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRJDS1_VALID_SHIFT)) & CAAM_JRJDS1_VALID_MASK)
  12264. /*! @} */
  12265. /*! @name JRJDDA - Job Ring Job-Done Descriptor Address 0 Register */
  12266. /*! @{ */
  12267. #define CAAM_JRJDDA_JD_ADDR_MASK (0xFFFFFFFFFU)
  12268. #define CAAM_JRJDDA_JD_ADDR_SHIFT (0U)
  12269. #define CAAM_JRJDDA_JD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_JRJDDA_JD_ADDR_SHIFT)) & CAAM_JRJDDA_JD_ADDR_MASK)
  12270. /*! @} */
  12271. /* The count of CAAM_JRJDDA */
  12272. #define CAAM_JRJDDA_COUNT (1U)
  12273. /*! @name CRNR_MS - CHA Revision Number Register, most-significant half */
  12274. /*! @{ */
  12275. #define CAAM_CRNR_MS_CRCRN_MASK (0xFU)
  12276. #define CAAM_CRNR_MS_CRCRN_SHIFT (0U)
  12277. #define CAAM_CRNR_MS_CRCRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_CRCRN_SHIFT)) & CAAM_CRNR_MS_CRCRN_MASK)
  12278. #define CAAM_CRNR_MS_SNW9RN_MASK (0xF0U)
  12279. #define CAAM_CRNR_MS_SNW9RN_SHIFT (4U)
  12280. #define CAAM_CRNR_MS_SNW9RN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_SNW9RN_SHIFT)) & CAAM_CRNR_MS_SNW9RN_MASK)
  12281. #define CAAM_CRNR_MS_ZERN_MASK (0xF00U)
  12282. #define CAAM_CRNR_MS_ZERN_SHIFT (8U)
  12283. #define CAAM_CRNR_MS_ZERN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_ZERN_SHIFT)) & CAAM_CRNR_MS_ZERN_MASK)
  12284. #define CAAM_CRNR_MS_ZARN_MASK (0xF000U)
  12285. #define CAAM_CRNR_MS_ZARN_SHIFT (12U)
  12286. #define CAAM_CRNR_MS_ZARN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_ZARN_SHIFT)) & CAAM_CRNR_MS_ZARN_MASK)
  12287. #define CAAM_CRNR_MS_DECORN_MASK (0xF000000U)
  12288. #define CAAM_CRNR_MS_DECORN_SHIFT (24U)
  12289. #define CAAM_CRNR_MS_DECORN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_DECORN_SHIFT)) & CAAM_CRNR_MS_DECORN_MASK)
  12290. #define CAAM_CRNR_MS_JRRN_MASK (0xF0000000U)
  12291. #define CAAM_CRNR_MS_JRRN_SHIFT (28U)
  12292. #define CAAM_CRNR_MS_JRRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_MS_JRRN_SHIFT)) & CAAM_CRNR_MS_JRRN_MASK)
  12293. /*! @} */
  12294. /*! @name CRNR_LS - CHA Revision Number Register, least-significant half */
  12295. /*! @{ */
  12296. #define CAAM_CRNR_LS_AESRN_MASK (0xFU)
  12297. #define CAAM_CRNR_LS_AESRN_SHIFT (0U)
  12298. #define CAAM_CRNR_LS_AESRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_AESRN_SHIFT)) & CAAM_CRNR_LS_AESRN_MASK)
  12299. #define CAAM_CRNR_LS_DESRN_MASK (0xF0U)
  12300. #define CAAM_CRNR_LS_DESRN_SHIFT (4U)
  12301. #define CAAM_CRNR_LS_DESRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_DESRN_SHIFT)) & CAAM_CRNR_LS_DESRN_MASK)
  12302. #define CAAM_CRNR_LS_MDRN_MASK (0xF000U)
  12303. #define CAAM_CRNR_LS_MDRN_SHIFT (12U)
  12304. #define CAAM_CRNR_LS_MDRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_MDRN_SHIFT)) & CAAM_CRNR_LS_MDRN_MASK)
  12305. #define CAAM_CRNR_LS_RNGRN_MASK (0xF0000U)
  12306. #define CAAM_CRNR_LS_RNGRN_SHIFT (16U)
  12307. #define CAAM_CRNR_LS_RNGRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_RNGRN_SHIFT)) & CAAM_CRNR_LS_RNGRN_MASK)
  12308. #define CAAM_CRNR_LS_SNW8RN_MASK (0xF00000U)
  12309. #define CAAM_CRNR_LS_SNW8RN_SHIFT (20U)
  12310. #define CAAM_CRNR_LS_SNW8RN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_SNW8RN_SHIFT)) & CAAM_CRNR_LS_SNW8RN_MASK)
  12311. #define CAAM_CRNR_LS_KASRN_MASK (0xF000000U)
  12312. #define CAAM_CRNR_LS_KASRN_SHIFT (24U)
  12313. #define CAAM_CRNR_LS_KASRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_KASRN_SHIFT)) & CAAM_CRNR_LS_KASRN_MASK)
  12314. #define CAAM_CRNR_LS_PKRN_MASK (0xF0000000U)
  12315. #define CAAM_CRNR_LS_PKRN_SHIFT (28U)
  12316. /*! PKRN
  12317. * 0b0000..PKHA-SDv1
  12318. * 0b0001..PKHA-SDv2
  12319. * 0b0010..PKHA-SDv3
  12320. * 0b0011..PKHA-SDv4
  12321. */
  12322. #define CAAM_CRNR_LS_PKRN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CRNR_LS_PKRN_SHIFT)) & CAAM_CRNR_LS_PKRN_MASK)
  12323. /*! @} */
  12324. /*! @name CTPR_MS - Compile Time Parameters Register, most-significant half */
  12325. /*! @{ */
  12326. #define CAAM_CTPR_MS_VIRT_EN_INCL_MASK (0x1U)
  12327. #define CAAM_CTPR_MS_VIRT_EN_INCL_SHIFT (0U)
  12328. #define CAAM_CTPR_MS_VIRT_EN_INCL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_VIRT_EN_INCL_SHIFT)) & CAAM_CTPR_MS_VIRT_EN_INCL_MASK)
  12329. #define CAAM_CTPR_MS_VIRT_EN_POR_VALUE_MASK (0x2U)
  12330. #define CAAM_CTPR_MS_VIRT_EN_POR_VALUE_SHIFT (1U)
  12331. #define CAAM_CTPR_MS_VIRT_EN_POR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_VIRT_EN_POR_VALUE_SHIFT)) & CAAM_CTPR_MS_VIRT_EN_POR_VALUE_MASK)
  12332. #define CAAM_CTPR_MS_REG_PG_SIZE_MASK (0x10U)
  12333. #define CAAM_CTPR_MS_REG_PG_SIZE_SHIFT (4U)
  12334. #define CAAM_CTPR_MS_REG_PG_SIZE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_REG_PG_SIZE_SHIFT)) & CAAM_CTPR_MS_REG_PG_SIZE_MASK)
  12335. #define CAAM_CTPR_MS_RNG_I_MASK (0x700U)
  12336. #define CAAM_CTPR_MS_RNG_I_SHIFT (8U)
  12337. #define CAAM_CTPR_MS_RNG_I(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_RNG_I_SHIFT)) & CAAM_CTPR_MS_RNG_I_MASK)
  12338. #define CAAM_CTPR_MS_AI_INCL_MASK (0x800U)
  12339. #define CAAM_CTPR_MS_AI_INCL_SHIFT (11U)
  12340. #define CAAM_CTPR_MS_AI_INCL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AI_INCL_SHIFT)) & CAAM_CTPR_MS_AI_INCL_MASK)
  12341. #define CAAM_CTPR_MS_DPAA2_MASK (0x2000U)
  12342. #define CAAM_CTPR_MS_DPAA2_SHIFT (13U)
  12343. #define CAAM_CTPR_MS_DPAA2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_DPAA2_SHIFT)) & CAAM_CTPR_MS_DPAA2_MASK)
  12344. #define CAAM_CTPR_MS_IP_CLK_MASK (0x4000U)
  12345. #define CAAM_CTPR_MS_IP_CLK_SHIFT (14U)
  12346. #define CAAM_CTPR_MS_IP_CLK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_IP_CLK_SHIFT)) & CAAM_CTPR_MS_IP_CLK_MASK)
  12347. #define CAAM_CTPR_MS_MCFG_BURST_MASK (0x10000U)
  12348. #define CAAM_CTPR_MS_MCFG_BURST_SHIFT (16U)
  12349. #define CAAM_CTPR_MS_MCFG_BURST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_MCFG_BURST_SHIFT)) & CAAM_CTPR_MS_MCFG_BURST_MASK)
  12350. #define CAAM_CTPR_MS_MCFG_PS_MASK (0x20000U)
  12351. #define CAAM_CTPR_MS_MCFG_PS_SHIFT (17U)
  12352. #define CAAM_CTPR_MS_MCFG_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_MCFG_PS_SHIFT)) & CAAM_CTPR_MS_MCFG_PS_MASK)
  12353. #define CAAM_CTPR_MS_SG8_MASK (0x40000U)
  12354. #define CAAM_CTPR_MS_SG8_SHIFT (18U)
  12355. #define CAAM_CTPR_MS_SG8(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_SG8_SHIFT)) & CAAM_CTPR_MS_SG8_MASK)
  12356. #define CAAM_CTPR_MS_PM_EVT_BUS_MASK (0x80000U)
  12357. #define CAAM_CTPR_MS_PM_EVT_BUS_SHIFT (19U)
  12358. #define CAAM_CTPR_MS_PM_EVT_BUS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_PM_EVT_BUS_SHIFT)) & CAAM_CTPR_MS_PM_EVT_BUS_MASK)
  12359. #define CAAM_CTPR_MS_DECO_WD_MASK (0x100000U)
  12360. #define CAAM_CTPR_MS_DECO_WD_SHIFT (20U)
  12361. #define CAAM_CTPR_MS_DECO_WD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_DECO_WD_SHIFT)) & CAAM_CTPR_MS_DECO_WD_MASK)
  12362. #define CAAM_CTPR_MS_PC_MASK (0x200000U)
  12363. #define CAAM_CTPR_MS_PC_SHIFT (21U)
  12364. #define CAAM_CTPR_MS_PC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_PC_SHIFT)) & CAAM_CTPR_MS_PC_MASK)
  12365. #define CAAM_CTPR_MS_C1C2_MASK (0x800000U)
  12366. #define CAAM_CTPR_MS_C1C2_SHIFT (23U)
  12367. #define CAAM_CTPR_MS_C1C2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_C1C2_SHIFT)) & CAAM_CTPR_MS_C1C2_MASK)
  12368. #define CAAM_CTPR_MS_ACC_CTL_MASK (0x1000000U)
  12369. #define CAAM_CTPR_MS_ACC_CTL_SHIFT (24U)
  12370. #define CAAM_CTPR_MS_ACC_CTL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_ACC_CTL_SHIFT)) & CAAM_CTPR_MS_ACC_CTL_MASK)
  12371. #define CAAM_CTPR_MS_QI_MASK (0x2000000U)
  12372. #define CAAM_CTPR_MS_QI_SHIFT (25U)
  12373. #define CAAM_CTPR_MS_QI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_QI_SHIFT)) & CAAM_CTPR_MS_QI_MASK)
  12374. #define CAAM_CTPR_MS_AXI_PRI_MASK (0x4000000U)
  12375. #define CAAM_CTPR_MS_AXI_PRI_SHIFT (26U)
  12376. #define CAAM_CTPR_MS_AXI_PRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AXI_PRI_SHIFT)) & CAAM_CTPR_MS_AXI_PRI_MASK)
  12377. #define CAAM_CTPR_MS_AXI_LIODN_MASK (0x8000000U)
  12378. #define CAAM_CTPR_MS_AXI_LIODN_SHIFT (27U)
  12379. #define CAAM_CTPR_MS_AXI_LIODN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AXI_LIODN_SHIFT)) & CAAM_CTPR_MS_AXI_LIODN_MASK)
  12380. #define CAAM_CTPR_MS_AXI_PIPE_DEPTH_MASK (0xF0000000U)
  12381. #define CAAM_CTPR_MS_AXI_PIPE_DEPTH_SHIFT (28U)
  12382. #define CAAM_CTPR_MS_AXI_PIPE_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_MS_AXI_PIPE_DEPTH_SHIFT)) & CAAM_CTPR_MS_AXI_PIPE_DEPTH_MASK)
  12383. /*! @} */
  12384. /*! @name CTPR_LS - Compile Time Parameters Register, least-significant half */
  12385. /*! @{ */
  12386. #define CAAM_CTPR_LS_KG_DS_MASK (0x1U)
  12387. #define CAAM_CTPR_LS_KG_DS_SHIFT (0U)
  12388. /*! KG_DS
  12389. * 0b0..CAAM does not implement specialized support for Public Key Generation and Digital Signatures.
  12390. * 0b1..CAAM implements specialized support for Public Key Generation and Digital Signatures.
  12391. */
  12392. #define CAAM_CTPR_LS_KG_DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_KG_DS_SHIFT)) & CAAM_CTPR_LS_KG_DS_MASK)
  12393. #define CAAM_CTPR_LS_BLOB_MASK (0x2U)
  12394. #define CAAM_CTPR_LS_BLOB_SHIFT (1U)
  12395. /*! BLOB
  12396. * 0b0..CAAM does not implement specialized support for encapsulating and decapsulating cryptographic blobs.
  12397. * 0b1..CAAM implements specialized support for encapsulating and decapsulating cryptographic blobs.
  12398. */
  12399. #define CAAM_CTPR_LS_BLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_BLOB_SHIFT)) & CAAM_CTPR_LS_BLOB_MASK)
  12400. #define CAAM_CTPR_LS_WIFI_MASK (0x4U)
  12401. #define CAAM_CTPR_LS_WIFI_SHIFT (2U)
  12402. /*! WIFI
  12403. * 0b0..CAAM does not implement specialized support for the WIFI protocol.
  12404. * 0b1..CAAM implements specialized support for the WIFI protocol.
  12405. */
  12406. #define CAAM_CTPR_LS_WIFI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_WIFI_SHIFT)) & CAAM_CTPR_LS_WIFI_MASK)
  12407. #define CAAM_CTPR_LS_WIMAX_MASK (0x8U)
  12408. #define CAAM_CTPR_LS_WIMAX_SHIFT (3U)
  12409. /*! WIMAX
  12410. * 0b0..CAAM does not implement specialized support for the WIMAX protocol.
  12411. * 0b1..CAAM implements specialized support for the WIMAX protocol.
  12412. */
  12413. #define CAAM_CTPR_LS_WIMAX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_WIMAX_SHIFT)) & CAAM_CTPR_LS_WIMAX_MASK)
  12414. #define CAAM_CTPR_LS_SRTP_MASK (0x10U)
  12415. #define CAAM_CTPR_LS_SRTP_SHIFT (4U)
  12416. /*! SRTP
  12417. * 0b0..CAAM does not implement specialized support for the SRTP protocol.
  12418. * 0b1..CAAM implements specialized support for the SRTP protocol.
  12419. */
  12420. #define CAAM_CTPR_LS_SRTP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_SRTP_SHIFT)) & CAAM_CTPR_LS_SRTP_MASK)
  12421. #define CAAM_CTPR_LS_IPSEC_MASK (0x20U)
  12422. #define CAAM_CTPR_LS_IPSEC_SHIFT (5U)
  12423. /*! IPSEC
  12424. * 0b0..CAAM does not implement specialized support for the IPSEC protocol.
  12425. * 0b1..CAAM implements specialized support for the IPSEC protocol.
  12426. */
  12427. #define CAAM_CTPR_LS_IPSEC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_IPSEC_SHIFT)) & CAAM_CTPR_LS_IPSEC_MASK)
  12428. #define CAAM_CTPR_LS_IKE_MASK (0x40U)
  12429. #define CAAM_CTPR_LS_IKE_SHIFT (6U)
  12430. /*! IKE
  12431. * 0b0..CAAM does not implement specialized support for the IKE protocol.
  12432. * 0b1..CAAM implements specialized support for the IKE protocol.
  12433. */
  12434. #define CAAM_CTPR_LS_IKE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_IKE_SHIFT)) & CAAM_CTPR_LS_IKE_MASK)
  12435. #define CAAM_CTPR_LS_SSL_TLS_MASK (0x80U)
  12436. #define CAAM_CTPR_LS_SSL_TLS_SHIFT (7U)
  12437. /*! SSL_TLS
  12438. * 0b0..CAAM does not implement specialized support for the SSL and TLS protocols.
  12439. * 0b1..CAAM implements specialized support for the SSL and TLS protocols.
  12440. */
  12441. #define CAAM_CTPR_LS_SSL_TLS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_SSL_TLS_SHIFT)) & CAAM_CTPR_LS_SSL_TLS_MASK)
  12442. #define CAAM_CTPR_LS_TLS_PRF_MASK (0x100U)
  12443. #define CAAM_CTPR_LS_TLS_PRF_SHIFT (8U)
  12444. /*! TLS_PRF
  12445. * 0b0..CAAM does not implement specialized support for the TLS protocol pseudo-random function.
  12446. * 0b1..CAAM implements specialized support for the TLS protocol pseudo-random function.
  12447. */
  12448. #define CAAM_CTPR_LS_TLS_PRF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_TLS_PRF_SHIFT)) & CAAM_CTPR_LS_TLS_PRF_MASK)
  12449. #define CAAM_CTPR_LS_MACSEC_MASK (0x200U)
  12450. #define CAAM_CTPR_LS_MACSEC_SHIFT (9U)
  12451. /*! MACSEC
  12452. * 0b0..CAAM does not implement specialized support for the MACSEC protocol.
  12453. * 0b1..CAAM implements specialized support for the MACSEC protocol.
  12454. */
  12455. #define CAAM_CTPR_LS_MACSEC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_MACSEC_SHIFT)) & CAAM_CTPR_LS_MACSEC_MASK)
  12456. #define CAAM_CTPR_LS_RSA_MASK (0x400U)
  12457. #define CAAM_CTPR_LS_RSA_SHIFT (10U)
  12458. /*! RSA
  12459. * 0b0..CAAM does not implement specialized support for RSA encrypt and decrypt operations.
  12460. * 0b1..CAAM implements specialized support for RSA encrypt and decrypt operations.
  12461. */
  12462. #define CAAM_CTPR_LS_RSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_RSA_SHIFT)) & CAAM_CTPR_LS_RSA_MASK)
  12463. #define CAAM_CTPR_LS_P3G_LTE_MASK (0x800U)
  12464. #define CAAM_CTPR_LS_P3G_LTE_SHIFT (11U)
  12465. /*! P3G_LTE
  12466. * 0b0..CAAM does not implement specialized support for 3G and LTE protocols.
  12467. * 0b1..CAAM implements specialized support for 3G and LTE protocols.
  12468. */
  12469. #define CAAM_CTPR_LS_P3G_LTE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_P3G_LTE_SHIFT)) & CAAM_CTPR_LS_P3G_LTE_MASK)
  12470. #define CAAM_CTPR_LS_DBL_CRC_MASK (0x1000U)
  12471. #define CAAM_CTPR_LS_DBL_CRC_SHIFT (12U)
  12472. /*! DBL_CRC
  12473. * 0b0..CAAM does not implement specialized support for Double CRC.
  12474. * 0b1..CAAM implements specialized support for Double CRC.
  12475. */
  12476. #define CAAM_CTPR_LS_DBL_CRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_DBL_CRC_SHIFT)) & CAAM_CTPR_LS_DBL_CRC_MASK)
  12477. #define CAAM_CTPR_LS_MAN_PROT_MASK (0x2000U)
  12478. #define CAAM_CTPR_LS_MAN_PROT_SHIFT (13U)
  12479. /*! MAN_PROT
  12480. * 0b0..CAAM does not implement Manufacturing Protection functions.
  12481. * 0b1..CAAM implements Manufacturing Protection functions.
  12482. */
  12483. #define CAAM_CTPR_LS_MAN_PROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_MAN_PROT_SHIFT)) & CAAM_CTPR_LS_MAN_PROT_MASK)
  12484. #define CAAM_CTPR_LS_DKP_MASK (0x4000U)
  12485. #define CAAM_CTPR_LS_DKP_SHIFT (14U)
  12486. /*! DKP
  12487. * 0b0..CAAM does not implement the Derived Key Protocol.
  12488. * 0b1..CAAM implements the Derived Key Protocol.
  12489. */
  12490. #define CAAM_CTPR_LS_DKP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CTPR_LS_DKP_SHIFT)) & CAAM_CTPR_LS_DKP_MASK)
  12491. /*! @} */
  12492. /*! @name SMSTA - Secure Memory Status Register */
  12493. /*! @{ */
  12494. #define CAAM_SMSTA_STATE_MASK (0xFU)
  12495. #define CAAM_SMSTA_STATE_SHIFT (0U)
  12496. /*! STATE
  12497. * 0b0000..Reset State
  12498. * 0b0001..Initialize State
  12499. * 0b0010..Normal State
  12500. * 0b0011..Fail State
  12501. */
  12502. #define CAAM_SMSTA_STATE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_STATE_SHIFT)) & CAAM_SMSTA_STATE_MASK)
  12503. #define CAAM_SMSTA_ACCERR_MASK (0xF0U)
  12504. #define CAAM_SMSTA_ACCERR_SHIFT (4U)
  12505. /*! ACCERR
  12506. * 0b0000..No error occurred
  12507. * 0b0001..A bus transaction attempted to access a page in Secure Memory, but the page was not allocated to any partition.
  12508. * 0b0010..A bus transaction attempted to access a partition, but the transaction's TrustZone World, DID was not
  12509. * granted access to the partition in the partition's SMAG2/1JR registers.
  12510. * 0b0011..A bus transaction attempted to read, but reads from this partition are not allowed.
  12511. * 0b0100..A bus transaction attempted to write, but writes to this partition are not allowed.
  12512. * 0b0110..A bus transaction attempted a non-key read, but the only reads permitted from this partition are key reads.
  12513. * 0b1001..Secure Memory Blob import or export was attempted, but Secure Memory Blob access is not allowed for this partition.
  12514. * 0b1010..A Descriptor attempted a Secure Memory Blob import or export, but not all of the pages referenced were from the same partition.
  12515. * 0b1011..A memory access was directed to Secure Memory, but the specified address is not implemented in Secure
  12516. * Memory. The address was either outside the address range occupied by Secure Memory, or was within an
  12517. * unimplemented portion of the 4kbyte address block occupied by a 1Kbyte or 2Kbyte Secure Memory page.
  12518. * 0b1100..A bus transaction was attempted, but the burst would have crossed a page boundary.
  12519. * 0b1101..An attempt was made to access a page while it was still being initialized.
  12520. */
  12521. #define CAAM_SMSTA_ACCERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_ACCERR_SHIFT)) & CAAM_SMSTA_ACCERR_MASK)
  12522. #define CAAM_SMSTA_DID_MASK (0xF00U)
  12523. #define CAAM_SMSTA_DID_SHIFT (8U)
  12524. #define CAAM_SMSTA_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_DID_SHIFT)) & CAAM_SMSTA_DID_MASK)
  12525. #define CAAM_SMSTA_NS_MASK (0x1000U)
  12526. #define CAAM_SMSTA_NS_SHIFT (12U)
  12527. #define CAAM_SMSTA_NS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_NS_SHIFT)) & CAAM_SMSTA_NS_MASK)
  12528. #define CAAM_SMSTA_SMR_WP_MASK (0x8000U)
  12529. #define CAAM_SMSTA_SMR_WP_SHIFT (15U)
  12530. #define CAAM_SMSTA_SMR_WP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_SMR_WP_SHIFT)) & CAAM_SMSTA_SMR_WP_MASK)
  12531. #define CAAM_SMSTA_PAGE_MASK (0x7FF0000U)
  12532. #define CAAM_SMSTA_PAGE_SHIFT (16U)
  12533. #define CAAM_SMSTA_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_PAGE_SHIFT)) & CAAM_SMSTA_PAGE_MASK)
  12534. #define CAAM_SMSTA_PART_MASK (0xF0000000U)
  12535. #define CAAM_SMSTA_PART_SHIFT (28U)
  12536. #define CAAM_SMSTA_PART(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMSTA_PART_SHIFT)) & CAAM_SMSTA_PART_MASK)
  12537. /*! @} */
  12538. /*! @name SMPO - Secure Memory Partition Owners Register */
  12539. /*! @{ */
  12540. #define CAAM_SMPO_PO0_MASK (0x3U)
  12541. #define CAAM_SMPO_PO0_SHIFT (0U)
  12542. /*! PO0
  12543. * 0b00..Available; Unowned. A Job Ring owner may claim partition 0 by writing to the appropriate SMAPJR register
  12544. * address alias. Note that the entire register will return all 0s if read by a entity that does not own
  12545. * the Job Ring associated with the SMPO address alias that was read.
  12546. * 0b01..Partition 0 does not exist in this version
  12547. * 0b10..Another entity owns partition 0. Partition 0 is unavailable to the reader. If the reader attempts to
  12548. * de-allocate partition 0 or write to the SMAPJR register or SMAGJR register for partition 0 or allocate a
  12549. * page to or de-allocate a page from partition 0 the command will be ignored. (Note that if a CSP partition is
  12550. * de-allocated, all entities (including the owner that de-allocated the partition) will see a 0b10 value
  12551. * for that partition until all its pages have been zeroized.)
  12552. * 0b11..The entity that read the SMPO register owns partition 0. Ownership is claimed when the access
  12553. * permissions register (SMAPJR) of an available partition is first written.
  12554. */
  12555. #define CAAM_SMPO_PO0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO0_SHIFT)) & CAAM_SMPO_PO0_MASK)
  12556. #define CAAM_SMPO_PO1_MASK (0xCU)
  12557. #define CAAM_SMPO_PO1_SHIFT (2U)
  12558. #define CAAM_SMPO_PO1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO1_SHIFT)) & CAAM_SMPO_PO1_MASK)
  12559. #define CAAM_SMPO_PO2_MASK (0x30U)
  12560. #define CAAM_SMPO_PO2_SHIFT (4U)
  12561. #define CAAM_SMPO_PO2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO2_SHIFT)) & CAAM_SMPO_PO2_MASK)
  12562. #define CAAM_SMPO_PO3_MASK (0xC0U)
  12563. #define CAAM_SMPO_PO3_SHIFT (6U)
  12564. #define CAAM_SMPO_PO3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO3_SHIFT)) & CAAM_SMPO_PO3_MASK)
  12565. #define CAAM_SMPO_PO4_MASK (0x300U)
  12566. #define CAAM_SMPO_PO4_SHIFT (8U)
  12567. #define CAAM_SMPO_PO4(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO4_SHIFT)) & CAAM_SMPO_PO4_MASK)
  12568. #define CAAM_SMPO_PO5_MASK (0xC00U)
  12569. #define CAAM_SMPO_PO5_SHIFT (10U)
  12570. #define CAAM_SMPO_PO5(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO5_SHIFT)) & CAAM_SMPO_PO5_MASK)
  12571. #define CAAM_SMPO_PO6_MASK (0x3000U)
  12572. #define CAAM_SMPO_PO6_SHIFT (12U)
  12573. #define CAAM_SMPO_PO6(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO6_SHIFT)) & CAAM_SMPO_PO6_MASK)
  12574. #define CAAM_SMPO_PO7_MASK (0xC000U)
  12575. #define CAAM_SMPO_PO7_SHIFT (14U)
  12576. #define CAAM_SMPO_PO7(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO7_SHIFT)) & CAAM_SMPO_PO7_MASK)
  12577. #define CAAM_SMPO_PO8_MASK (0x30000U)
  12578. #define CAAM_SMPO_PO8_SHIFT (16U)
  12579. #define CAAM_SMPO_PO8(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO8_SHIFT)) & CAAM_SMPO_PO8_MASK)
  12580. #define CAAM_SMPO_PO9_MASK (0xC0000U)
  12581. #define CAAM_SMPO_PO9_SHIFT (18U)
  12582. #define CAAM_SMPO_PO9(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO9_SHIFT)) & CAAM_SMPO_PO9_MASK)
  12583. #define CAAM_SMPO_PO10_MASK (0x300000U)
  12584. #define CAAM_SMPO_PO10_SHIFT (20U)
  12585. #define CAAM_SMPO_PO10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO10_SHIFT)) & CAAM_SMPO_PO10_MASK)
  12586. #define CAAM_SMPO_PO11_MASK (0xC00000U)
  12587. #define CAAM_SMPO_PO11_SHIFT (22U)
  12588. #define CAAM_SMPO_PO11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO11_SHIFT)) & CAAM_SMPO_PO11_MASK)
  12589. #define CAAM_SMPO_PO12_MASK (0x3000000U)
  12590. #define CAAM_SMPO_PO12_SHIFT (24U)
  12591. #define CAAM_SMPO_PO12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO12_SHIFT)) & CAAM_SMPO_PO12_MASK)
  12592. #define CAAM_SMPO_PO13_MASK (0xC000000U)
  12593. #define CAAM_SMPO_PO13_SHIFT (26U)
  12594. #define CAAM_SMPO_PO13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO13_SHIFT)) & CAAM_SMPO_PO13_MASK)
  12595. #define CAAM_SMPO_PO14_MASK (0x30000000U)
  12596. #define CAAM_SMPO_PO14_SHIFT (28U)
  12597. #define CAAM_SMPO_PO14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO14_SHIFT)) & CAAM_SMPO_PO14_MASK)
  12598. #define CAAM_SMPO_PO15_MASK (0xC0000000U)
  12599. #define CAAM_SMPO_PO15_SHIFT (30U)
  12600. #define CAAM_SMPO_PO15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMPO_PO15_SHIFT)) & CAAM_SMPO_PO15_MASK)
  12601. /*! @} */
  12602. /*! @name FAR - Fault Address Register */
  12603. /*! @{ */
  12604. #define CAAM_FAR_FAR_MASK (0xFFFFFFFFFU)
  12605. #define CAAM_FAR_FAR_SHIFT (0U)
  12606. #define CAAM_FAR_FAR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_FAR_FAR_SHIFT)) & CAAM_FAR_FAR_MASK)
  12607. /*! @} */
  12608. /*! @name FADID - Fault Address DID Register */
  12609. /*! @{ */
  12610. #define CAAM_FADID_FDID_MASK (0xFU)
  12611. #define CAAM_FADID_FDID_SHIFT (0U)
  12612. #define CAAM_FADID_FDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FDID_SHIFT)) & CAAM_FADID_FDID_MASK)
  12613. #define CAAM_FADID_FNS_MASK (0x10U)
  12614. #define CAAM_FADID_FNS_SHIFT (4U)
  12615. #define CAAM_FADID_FNS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FNS_SHIFT)) & CAAM_FADID_FNS_MASK)
  12616. #define CAAM_FADID_FICID_MASK (0xFFE0U)
  12617. #define CAAM_FADID_FICID_SHIFT (5U)
  12618. #define CAAM_FADID_FICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADID_FICID_SHIFT)) & CAAM_FADID_FICID_MASK)
  12619. /*! @} */
  12620. /*! @name FADR - Fault Address Detail Register */
  12621. /*! @{ */
  12622. #define CAAM_FADR_FSZ_MASK (0x7FU)
  12623. #define CAAM_FADR_FSZ_SHIFT (0U)
  12624. #define CAAM_FADR_FSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FSZ_SHIFT)) & CAAM_FADR_FSZ_MASK)
  12625. #define CAAM_FADR_TYP_MASK (0x80U)
  12626. #define CAAM_FADR_TYP_SHIFT (7U)
  12627. /*! TYP
  12628. * 0b0..Read.
  12629. * 0b1..Write.
  12630. */
  12631. #define CAAM_FADR_TYP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_TYP_SHIFT)) & CAAM_FADR_TYP_MASK)
  12632. #define CAAM_FADR_BLKID_MASK (0xF00U)
  12633. #define CAAM_FADR_BLKID_SHIFT (8U)
  12634. /*! BLKID
  12635. * 0b0100..job queue controller Burst Buffer
  12636. * 0b0101..One of the Job Rings (see JSRC field)
  12637. * 0b1000..DECO0
  12638. */
  12639. #define CAAM_FADR_BLKID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_BLKID_SHIFT)) & CAAM_FADR_BLKID_MASK)
  12640. #define CAAM_FADR_JSRC_MASK (0x7000U)
  12641. #define CAAM_FADR_JSRC_SHIFT (12U)
  12642. /*! JSRC
  12643. * 0b000..Job Ring 0
  12644. * 0b001..Job Ring 1
  12645. * 0b010..Job Ring 2
  12646. * 0b011..Job Ring 3
  12647. * 0b100..RTIC
  12648. * 0b101..reserved
  12649. * 0b110..reserved
  12650. * 0b111..reserved
  12651. */
  12652. #define CAAM_FADR_JSRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_JSRC_SHIFT)) & CAAM_FADR_JSRC_MASK)
  12653. #define CAAM_FADR_DTYP_MASK (0x8000U)
  12654. #define CAAM_FADR_DTYP_SHIFT (15U)
  12655. /*! DTYP
  12656. * 0b0..message data
  12657. * 0b1..control data
  12658. */
  12659. #define CAAM_FADR_DTYP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_DTYP_SHIFT)) & CAAM_FADR_DTYP_MASK)
  12660. #define CAAM_FADR_FSZ_EXT_MASK (0x70000U)
  12661. #define CAAM_FADR_FSZ_EXT_SHIFT (16U)
  12662. #define CAAM_FADR_FSZ_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FSZ_EXT_SHIFT)) & CAAM_FADR_FSZ_EXT_MASK)
  12663. #define CAAM_FADR_FKMOD_MASK (0x1000000U)
  12664. #define CAAM_FADR_FKMOD_SHIFT (24U)
  12665. /*! FKMOD
  12666. * 0b0..CAAM DMA was not attempting to read the key modifier from Secure Memory at the time that the DMA error occurred.
  12667. * 0b1..CAAM DMA was attempting to read the key modifier from Secure Memory at the time that the DMA error occurred.
  12668. */
  12669. #define CAAM_FADR_FKMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FKMOD_SHIFT)) & CAAM_FADR_FKMOD_MASK)
  12670. #define CAAM_FADR_FKEY_MASK (0x2000000U)
  12671. #define CAAM_FADR_FKEY_SHIFT (25U)
  12672. /*! FKEY
  12673. * 0b0..CAAM DMA was not attempting to perform a key read from Secure Memory at the time of the DMA error.
  12674. * 0b1..CAAM DMA was attempting to perform a key read from Secure Memory at the time of the DMA error.
  12675. */
  12676. #define CAAM_FADR_FKEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FKEY_SHIFT)) & CAAM_FADR_FKEY_MASK)
  12677. #define CAAM_FADR_FTDSC_MASK (0x4000000U)
  12678. #define CAAM_FADR_FTDSC_SHIFT (26U)
  12679. /*! FTDSC
  12680. * 0b0..CAAM DMA was not executing a Trusted Descriptor at the time of the DMA error.
  12681. * 0b1..CAAM DMA was executing a Trusted Descriptor at the time of the DMA error.
  12682. */
  12683. #define CAAM_FADR_FTDSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FTDSC_SHIFT)) & CAAM_FADR_FTDSC_MASK)
  12684. #define CAAM_FADR_FBNDG_MASK (0x8000000U)
  12685. #define CAAM_FADR_FBNDG_SHIFT (27U)
  12686. /*! FBNDG
  12687. * 0b0..CAAM DMA was not reading access permissions from a Secure Memory partition at the time of the DMA error.
  12688. * 0b1..CAAM DMA was reading access permissions from a Secure Memory partition at the time of the DMA error.
  12689. */
  12690. #define CAAM_FADR_FBNDG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FBNDG_SHIFT)) & CAAM_FADR_FBNDG_MASK)
  12691. #define CAAM_FADR_FNS_MASK (0x10000000U)
  12692. #define CAAM_FADR_FNS_SHIFT (28U)
  12693. /*! FNS
  12694. * 0b0..CAAM DMA was asserting ns=0 at the time of the DMA error.
  12695. * 0b1..CAAM DMA was asserting ns=1 at the time of the DMA error.
  12696. */
  12697. #define CAAM_FADR_FNS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FNS_SHIFT)) & CAAM_FADR_FNS_MASK)
  12698. #define CAAM_FADR_FERR_MASK (0xC0000000U)
  12699. #define CAAM_FADR_FERR_SHIFT (30U)
  12700. /*! FERR
  12701. * 0b00..OKAY - Normal Access
  12702. * 0b01..Reserved
  12703. * 0b10..SLVERR - Slave Error
  12704. * 0b11..DECERR - Decode Error
  12705. */
  12706. #define CAAM_FADR_FERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_FADR_FERR_SHIFT)) & CAAM_FADR_FERR_MASK)
  12707. /*! @} */
  12708. /*! @name CSTA - CAAM Status Register */
  12709. /*! @{ */
  12710. #define CAAM_CSTA_BSY_MASK (0x1U)
  12711. #define CAAM_CSTA_BSY_SHIFT (0U)
  12712. #define CAAM_CSTA_BSY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_BSY_SHIFT)) & CAAM_CSTA_BSY_MASK)
  12713. #define CAAM_CSTA_IDLE_MASK (0x2U)
  12714. #define CAAM_CSTA_IDLE_SHIFT (1U)
  12715. #define CAAM_CSTA_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_IDLE_SHIFT)) & CAAM_CSTA_IDLE_MASK)
  12716. #define CAAM_CSTA_TRNG_IDLE_MASK (0x4U)
  12717. #define CAAM_CSTA_TRNG_IDLE_SHIFT (2U)
  12718. #define CAAM_CSTA_TRNG_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_TRNG_IDLE_SHIFT)) & CAAM_CSTA_TRNG_IDLE_MASK)
  12719. #define CAAM_CSTA_MOO_MASK (0x300U)
  12720. #define CAAM_CSTA_MOO_SHIFT (8U)
  12721. /*! MOO
  12722. * 0b00..Non-Secure
  12723. * 0b01..Secure
  12724. * 0b10..Trusted
  12725. * 0b11..Fail
  12726. */
  12727. #define CAAM_CSTA_MOO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_MOO_SHIFT)) & CAAM_CSTA_MOO_MASK)
  12728. #define CAAM_CSTA_PLEND_MASK (0x400U)
  12729. #define CAAM_CSTA_PLEND_SHIFT (10U)
  12730. /*! PLEND
  12731. * 0b0..Platform default is Little Endian
  12732. * 0b1..Platform default is Big Endian
  12733. */
  12734. #define CAAM_CSTA_PLEND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CSTA_PLEND_SHIFT)) & CAAM_CSTA_PLEND_MASK)
  12735. /*! @} */
  12736. /*! @name SMVID_MS - Secure Memory Version ID Register, most-significant half */
  12737. /*! @{ */
  12738. #define CAAM_SMVID_MS_NPAG_MASK (0x3FFU)
  12739. #define CAAM_SMVID_MS_NPAG_SHIFT (0U)
  12740. #define CAAM_SMVID_MS_NPAG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_NPAG_SHIFT)) & CAAM_SMVID_MS_NPAG_MASK)
  12741. #define CAAM_SMVID_MS_NPRT_MASK (0xF000U)
  12742. #define CAAM_SMVID_MS_NPRT_SHIFT (12U)
  12743. #define CAAM_SMVID_MS_NPRT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_NPRT_SHIFT)) & CAAM_SMVID_MS_NPRT_MASK)
  12744. #define CAAM_SMVID_MS_MAX_NPAG_MASK (0x3FF0000U)
  12745. #define CAAM_SMVID_MS_MAX_NPAG_SHIFT (16U)
  12746. #define CAAM_SMVID_MS_MAX_NPAG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_MS_MAX_NPAG_SHIFT)) & CAAM_SMVID_MS_MAX_NPAG_MASK)
  12747. /*! @} */
  12748. /*! @name SMVID_LS - Secure Memory Version ID Register, least-significant half */
  12749. /*! @{ */
  12750. #define CAAM_SMVID_LS_SMNV_MASK (0xFFU)
  12751. #define CAAM_SMVID_LS_SMNV_SHIFT (0U)
  12752. #define CAAM_SMVID_LS_SMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_SMNV_SHIFT)) & CAAM_SMVID_LS_SMNV_MASK)
  12753. #define CAAM_SMVID_LS_SMJV_MASK (0xFF00U)
  12754. #define CAAM_SMVID_LS_SMJV_SHIFT (8U)
  12755. #define CAAM_SMVID_LS_SMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_SMJV_SHIFT)) & CAAM_SMVID_LS_SMJV_MASK)
  12756. #define CAAM_SMVID_LS_PSIZ_MASK (0x70000U)
  12757. #define CAAM_SMVID_LS_PSIZ_SHIFT (16U)
  12758. #define CAAM_SMVID_LS_PSIZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMVID_LS_PSIZ_SHIFT)) & CAAM_SMVID_LS_PSIZ_MASK)
  12759. /*! @} */
  12760. /*! @name RVID - RTIC Version ID Register */
  12761. /*! @{ */
  12762. #define CAAM_RVID_RMNV_MASK (0xFFU)
  12763. #define CAAM_RVID_RMNV_SHIFT (0U)
  12764. #define CAAM_RVID_RMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_RMNV_SHIFT)) & CAAM_RVID_RMNV_MASK)
  12765. #define CAAM_RVID_RMJV_MASK (0xFF00U)
  12766. #define CAAM_RVID_RMJV_SHIFT (8U)
  12767. #define CAAM_RVID_RMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_RMJV_SHIFT)) & CAAM_RVID_RMJV_MASK)
  12768. #define CAAM_RVID_SHA_256_MASK (0x20000U)
  12769. #define CAAM_RVID_SHA_256_SHIFT (17U)
  12770. /*! SHA_256
  12771. * 0b0..RTIC cannot use the SHA-256 hashing algorithm.
  12772. * 0b1..RTIC can use the SHA-256 hashing algorithm.
  12773. */
  12774. #define CAAM_RVID_SHA_256(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_SHA_256_SHIFT)) & CAAM_RVID_SHA_256_MASK)
  12775. #define CAAM_RVID_SHA_512_MASK (0x80000U)
  12776. #define CAAM_RVID_SHA_512_SHIFT (19U)
  12777. /*! SHA_512
  12778. * 0b0..RTIC cannot use the SHA-512 hashing algorithm.
  12779. * 0b1..RTIC can use the SHA-512 hashing algorithm.
  12780. */
  12781. #define CAAM_RVID_SHA_512(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_SHA_512_SHIFT)) & CAAM_RVID_SHA_512_MASK)
  12782. #define CAAM_RVID_MA_MASK (0x1000000U)
  12783. #define CAAM_RVID_MA_SHIFT (24U)
  12784. #define CAAM_RVID_MA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MA_SHIFT)) & CAAM_RVID_MA_MASK)
  12785. #define CAAM_RVID_MB_MASK (0x2000000U)
  12786. #define CAAM_RVID_MB_SHIFT (25U)
  12787. #define CAAM_RVID_MB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MB_SHIFT)) & CAAM_RVID_MB_MASK)
  12788. #define CAAM_RVID_MC_MASK (0x4000000U)
  12789. #define CAAM_RVID_MC_SHIFT (26U)
  12790. #define CAAM_RVID_MC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MC_SHIFT)) & CAAM_RVID_MC_MASK)
  12791. #define CAAM_RVID_MD_MASK (0x8000000U)
  12792. #define CAAM_RVID_MD_SHIFT (27U)
  12793. #define CAAM_RVID_MD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RVID_MD_SHIFT)) & CAAM_RVID_MD_MASK)
  12794. /*! @} */
  12795. /*! @name CCBVID - CHA Cluster Block Version ID Register */
  12796. /*! @{ */
  12797. #define CAAM_CCBVID_AMNV_MASK (0xFFU)
  12798. #define CAAM_CCBVID_AMNV_SHIFT (0U)
  12799. #define CAAM_CCBVID_AMNV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_AMNV_SHIFT)) & CAAM_CCBVID_AMNV_MASK)
  12800. #define CAAM_CCBVID_AMJV_MASK (0xFF00U)
  12801. #define CAAM_CCBVID_AMJV_SHIFT (8U)
  12802. #define CAAM_CCBVID_AMJV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_AMJV_SHIFT)) & CAAM_CCBVID_AMJV_MASK)
  12803. #define CAAM_CCBVID_CAAM_ERA_MASK (0xFF000000U)
  12804. #define CAAM_CCBVID_CAAM_ERA_SHIFT (24U)
  12805. #define CAAM_CCBVID_CAAM_ERA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCBVID_CAAM_ERA_SHIFT)) & CAAM_CCBVID_CAAM_ERA_MASK)
  12806. /*! @} */
  12807. /*! @name CHAVID_MS - CHA Version ID Register, most-significant half */
  12808. /*! @{ */
  12809. #define CAAM_CHAVID_MS_CRCVID_MASK (0xFU)
  12810. #define CAAM_CHAVID_MS_CRCVID_SHIFT (0U)
  12811. #define CAAM_CHAVID_MS_CRCVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_CRCVID_SHIFT)) & CAAM_CHAVID_MS_CRCVID_MASK)
  12812. #define CAAM_CHAVID_MS_SNW9VID_MASK (0xF0U)
  12813. #define CAAM_CHAVID_MS_SNW9VID_SHIFT (4U)
  12814. #define CAAM_CHAVID_MS_SNW9VID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_SNW9VID_SHIFT)) & CAAM_CHAVID_MS_SNW9VID_MASK)
  12815. #define CAAM_CHAVID_MS_ZEVID_MASK (0xF00U)
  12816. #define CAAM_CHAVID_MS_ZEVID_SHIFT (8U)
  12817. #define CAAM_CHAVID_MS_ZEVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_ZEVID_SHIFT)) & CAAM_CHAVID_MS_ZEVID_MASK)
  12818. #define CAAM_CHAVID_MS_ZAVID_MASK (0xF000U)
  12819. #define CAAM_CHAVID_MS_ZAVID_SHIFT (12U)
  12820. #define CAAM_CHAVID_MS_ZAVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_ZAVID_SHIFT)) & CAAM_CHAVID_MS_ZAVID_MASK)
  12821. #define CAAM_CHAVID_MS_DECOVID_MASK (0xF000000U)
  12822. #define CAAM_CHAVID_MS_DECOVID_SHIFT (24U)
  12823. #define CAAM_CHAVID_MS_DECOVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_DECOVID_SHIFT)) & CAAM_CHAVID_MS_DECOVID_MASK)
  12824. #define CAAM_CHAVID_MS_JRVID_MASK (0xF0000000U)
  12825. #define CAAM_CHAVID_MS_JRVID_SHIFT (28U)
  12826. #define CAAM_CHAVID_MS_JRVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_MS_JRVID_SHIFT)) & CAAM_CHAVID_MS_JRVID_MASK)
  12827. /*! @} */
  12828. /*! @name CHAVID_LS - CHA Version ID Register, least-significant half */
  12829. /*! @{ */
  12830. #define CAAM_CHAVID_LS_AESVID_MASK (0xFU)
  12831. #define CAAM_CHAVID_LS_AESVID_SHIFT (0U)
  12832. /*! AESVID
  12833. * 0b0100..High-performance AESA, implementing ECB, CBC, CBC-CS2, CFB128, OFB, CTR, CCM, CMAC, XCBC-MAC, CBCXCBC, CTRXCBC, XTS, and GCM modes
  12834. * 0b0011..Low-power AESA, implementing ECB, CBC, CBC-CS2, CFB128, OFB, CTR, CCM, CMAC, XCBC-MAC, and GCM modes
  12835. */
  12836. #define CAAM_CHAVID_LS_AESVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_AESVID_SHIFT)) & CAAM_CHAVID_LS_AESVID_MASK)
  12837. #define CAAM_CHAVID_LS_DESVID_MASK (0xF0U)
  12838. #define CAAM_CHAVID_LS_DESVID_SHIFT (4U)
  12839. #define CAAM_CHAVID_LS_DESVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_DESVID_SHIFT)) & CAAM_CHAVID_LS_DESVID_MASK)
  12840. #define CAAM_CHAVID_LS_MDVID_MASK (0xF000U)
  12841. #define CAAM_CHAVID_LS_MDVID_SHIFT (12U)
  12842. /*! MDVID
  12843. * 0b0000..Low-power MDHA, with SHA-1, SHA-256, SHA 224, MD5 and HMAC
  12844. * 0b0001..Low-power MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5 and HMAC
  12845. * 0b0010..Medium-performance MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5, HMAC & SMAC
  12846. * 0b0011..High-performance MDHA, with SHA-1, SHA-256, SHA 224, SHA-512, SHA-512/224, SHA-512/256, SHA-384, MD5, HMAC & SMAC
  12847. */
  12848. #define CAAM_CHAVID_LS_MDVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_MDVID_SHIFT)) & CAAM_CHAVID_LS_MDVID_MASK)
  12849. #define CAAM_CHAVID_LS_RNGVID_MASK (0xF0000U)
  12850. #define CAAM_CHAVID_LS_RNGVID_SHIFT (16U)
  12851. /*! RNGVID
  12852. * 0b0010..RNGB
  12853. * 0b0100..RNG4
  12854. */
  12855. #define CAAM_CHAVID_LS_RNGVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_RNGVID_SHIFT)) & CAAM_CHAVID_LS_RNGVID_MASK)
  12856. #define CAAM_CHAVID_LS_SNW8VID_MASK (0xF00000U)
  12857. #define CAAM_CHAVID_LS_SNW8VID_SHIFT (20U)
  12858. #define CAAM_CHAVID_LS_SNW8VID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_SNW8VID_SHIFT)) & CAAM_CHAVID_LS_SNW8VID_MASK)
  12859. #define CAAM_CHAVID_LS_KASVID_MASK (0xF000000U)
  12860. #define CAAM_CHAVID_LS_KASVID_SHIFT (24U)
  12861. #define CAAM_CHAVID_LS_KASVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_KASVID_SHIFT)) & CAAM_CHAVID_LS_KASVID_MASK)
  12862. #define CAAM_CHAVID_LS_PKVID_MASK (0xF0000000U)
  12863. #define CAAM_CHAVID_LS_PKVID_SHIFT (28U)
  12864. /*! PKVID
  12865. * 0b0000..PKHA-XT (32-bit); minimum modulus five bytes
  12866. * 0b0001..PKHA-SD (32-bit)
  12867. * 0b0010..PKHA-SD (64-bit)
  12868. * 0b0011..PKHA-SD (128-bit)
  12869. */
  12870. #define CAAM_CHAVID_LS_PKVID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHAVID_LS_PKVID_SHIFT)) & CAAM_CHAVID_LS_PKVID_MASK)
  12871. /*! @} */
  12872. /*! @name CHANUM_MS - CHA Number Register, most-significant half */
  12873. /*! @{ */
  12874. #define CAAM_CHANUM_MS_CRCNUM_MASK (0xFU)
  12875. #define CAAM_CHANUM_MS_CRCNUM_SHIFT (0U)
  12876. #define CAAM_CHANUM_MS_CRCNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_CRCNUM_SHIFT)) & CAAM_CHANUM_MS_CRCNUM_MASK)
  12877. #define CAAM_CHANUM_MS_SNW9NUM_MASK (0xF0U)
  12878. #define CAAM_CHANUM_MS_SNW9NUM_SHIFT (4U)
  12879. #define CAAM_CHANUM_MS_SNW9NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_SNW9NUM_SHIFT)) & CAAM_CHANUM_MS_SNW9NUM_MASK)
  12880. #define CAAM_CHANUM_MS_ZENUM_MASK (0xF00U)
  12881. #define CAAM_CHANUM_MS_ZENUM_SHIFT (8U)
  12882. #define CAAM_CHANUM_MS_ZENUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_ZENUM_SHIFT)) & CAAM_CHANUM_MS_ZENUM_MASK)
  12883. #define CAAM_CHANUM_MS_ZANUM_MASK (0xF000U)
  12884. #define CAAM_CHANUM_MS_ZANUM_SHIFT (12U)
  12885. #define CAAM_CHANUM_MS_ZANUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_ZANUM_SHIFT)) & CAAM_CHANUM_MS_ZANUM_MASK)
  12886. #define CAAM_CHANUM_MS_DECONUM_MASK (0xF000000U)
  12887. #define CAAM_CHANUM_MS_DECONUM_SHIFT (24U)
  12888. #define CAAM_CHANUM_MS_DECONUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_DECONUM_SHIFT)) & CAAM_CHANUM_MS_DECONUM_MASK)
  12889. #define CAAM_CHANUM_MS_JRNUM_MASK (0xF0000000U)
  12890. #define CAAM_CHANUM_MS_JRNUM_SHIFT (28U)
  12891. #define CAAM_CHANUM_MS_JRNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_MS_JRNUM_SHIFT)) & CAAM_CHANUM_MS_JRNUM_MASK)
  12892. /*! @} */
  12893. /*! @name CHANUM_LS - CHA Number Register, least-significant half */
  12894. /*! @{ */
  12895. #define CAAM_CHANUM_LS_AESNUM_MASK (0xFU)
  12896. #define CAAM_CHANUM_LS_AESNUM_SHIFT (0U)
  12897. #define CAAM_CHANUM_LS_AESNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_AESNUM_SHIFT)) & CAAM_CHANUM_LS_AESNUM_MASK)
  12898. #define CAAM_CHANUM_LS_DESNUM_MASK (0xF0U)
  12899. #define CAAM_CHANUM_LS_DESNUM_SHIFT (4U)
  12900. #define CAAM_CHANUM_LS_DESNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_DESNUM_SHIFT)) & CAAM_CHANUM_LS_DESNUM_MASK)
  12901. #define CAAM_CHANUM_LS_ARC4NUM_MASK (0xF00U)
  12902. #define CAAM_CHANUM_LS_ARC4NUM_SHIFT (8U)
  12903. #define CAAM_CHANUM_LS_ARC4NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_ARC4NUM_SHIFT)) & CAAM_CHANUM_LS_ARC4NUM_MASK)
  12904. #define CAAM_CHANUM_LS_MDNUM_MASK (0xF000U)
  12905. #define CAAM_CHANUM_LS_MDNUM_SHIFT (12U)
  12906. #define CAAM_CHANUM_LS_MDNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_MDNUM_SHIFT)) & CAAM_CHANUM_LS_MDNUM_MASK)
  12907. #define CAAM_CHANUM_LS_RNGNUM_MASK (0xF0000U)
  12908. #define CAAM_CHANUM_LS_RNGNUM_SHIFT (16U)
  12909. #define CAAM_CHANUM_LS_RNGNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_RNGNUM_SHIFT)) & CAAM_CHANUM_LS_RNGNUM_MASK)
  12910. #define CAAM_CHANUM_LS_SNW8NUM_MASK (0xF00000U)
  12911. #define CAAM_CHANUM_LS_SNW8NUM_SHIFT (20U)
  12912. #define CAAM_CHANUM_LS_SNW8NUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_SNW8NUM_SHIFT)) & CAAM_CHANUM_LS_SNW8NUM_MASK)
  12913. #define CAAM_CHANUM_LS_KASNUM_MASK (0xF000000U)
  12914. #define CAAM_CHANUM_LS_KASNUM_SHIFT (24U)
  12915. #define CAAM_CHANUM_LS_KASNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_KASNUM_SHIFT)) & CAAM_CHANUM_LS_KASNUM_MASK)
  12916. #define CAAM_CHANUM_LS_PKNUM_MASK (0xF0000000U)
  12917. #define CAAM_CHANUM_LS_PKNUM_SHIFT (28U)
  12918. #define CAAM_CHANUM_LS_PKNUM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CHANUM_LS_PKNUM_SHIFT)) & CAAM_CHANUM_LS_PKNUM_MASK)
  12919. /*! @} */
  12920. /*! @name IRBAR_JR - Input Ring Base Address Register for Job Ring 0..Input Ring Base Address Register for Job Ring 3 */
  12921. /*! @{ */
  12922. #define CAAM_IRBAR_JR_IRBA_MASK (0xFFFFFFFFFU)
  12923. #define CAAM_IRBAR_JR_IRBA_SHIFT (0U)
  12924. #define CAAM_IRBAR_JR_IRBA(x) (((uint64_t)(((uint64_t)(x)) << CAAM_IRBAR_JR_IRBA_SHIFT)) & CAAM_IRBAR_JR_IRBA_MASK)
  12925. /*! @} */
  12926. /* The count of CAAM_IRBAR_JR */
  12927. #define CAAM_IRBAR_JR_COUNT (4U)
  12928. /*! @name IRSR_JR - Input Ring Size Register for Job Ring 0..Input Ring Size Register for Job Ring 3 */
  12929. /*! @{ */
  12930. #define CAAM_IRSR_JR_IRS_MASK (0x3FFU)
  12931. #define CAAM_IRSR_JR_IRS_SHIFT (0U)
  12932. #define CAAM_IRSR_JR_IRS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRSR_JR_IRS_SHIFT)) & CAAM_IRSR_JR_IRS_MASK)
  12933. /*! @} */
  12934. /* The count of CAAM_IRSR_JR */
  12935. #define CAAM_IRSR_JR_COUNT (4U)
  12936. /*! @name IRSAR_JR - Input Ring Slots Available Register for Job Ring 0..Input Ring Slots Available Register for Job Ring 3 */
  12937. /*! @{ */
  12938. #define CAAM_IRSAR_JR_IRSA_MASK (0x3FFU)
  12939. #define CAAM_IRSAR_JR_IRSA_SHIFT (0U)
  12940. #define CAAM_IRSAR_JR_IRSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRSAR_JR_IRSA_SHIFT)) & CAAM_IRSAR_JR_IRSA_MASK)
  12941. /*! @} */
  12942. /* The count of CAAM_IRSAR_JR */
  12943. #define CAAM_IRSAR_JR_COUNT (4U)
  12944. /*! @name IRJAR_JR - Input Ring Jobs Added Register for Job Ring0..Input Ring Jobs Added Register for Job Ring3 */
  12945. /*! @{ */
  12946. #define CAAM_IRJAR_JR_IRJA_MASK (0x3FFU)
  12947. #define CAAM_IRJAR_JR_IRJA_SHIFT (0U)
  12948. #define CAAM_IRJAR_JR_IRJA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRJAR_JR_IRJA_SHIFT)) & CAAM_IRJAR_JR_IRJA_MASK)
  12949. /*! @} */
  12950. /* The count of CAAM_IRJAR_JR */
  12951. #define CAAM_IRJAR_JR_COUNT (4U)
  12952. /*! @name ORBAR_JR - Output Ring Base Address Register for Job Ring 0..Output Ring Base Address Register for Job Ring 3 */
  12953. /*! @{ */
  12954. #define CAAM_ORBAR_JR_ORBA_MASK (0xFFFFFFFFFU)
  12955. #define CAAM_ORBAR_JR_ORBA_SHIFT (0U)
  12956. #define CAAM_ORBAR_JR_ORBA(x) (((uint64_t)(((uint64_t)(x)) << CAAM_ORBAR_JR_ORBA_SHIFT)) & CAAM_ORBAR_JR_ORBA_MASK)
  12957. /*! @} */
  12958. /* The count of CAAM_ORBAR_JR */
  12959. #define CAAM_ORBAR_JR_COUNT (4U)
  12960. /*! @name ORSR_JR - Output Ring Size Register for Job Ring 0..Output Ring Size Register for Job Ring 3 */
  12961. /*! @{ */
  12962. #define CAAM_ORSR_JR_ORS_MASK (0x3FFU)
  12963. #define CAAM_ORSR_JR_ORS_SHIFT (0U)
  12964. #define CAAM_ORSR_JR_ORS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORSR_JR_ORS_SHIFT)) & CAAM_ORSR_JR_ORS_MASK)
  12965. /*! @} */
  12966. /* The count of CAAM_ORSR_JR */
  12967. #define CAAM_ORSR_JR_COUNT (4U)
  12968. /*! @name ORJRR_JR - Output Ring Jobs Removed Register for Job Ring 0..Output Ring Jobs Removed Register for Job Ring 3 */
  12969. /*! @{ */
  12970. #define CAAM_ORJRR_JR_ORJR_MASK (0x3FFU)
  12971. #define CAAM_ORJRR_JR_ORJR_SHIFT (0U)
  12972. #define CAAM_ORJRR_JR_ORJR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORJRR_JR_ORJR_SHIFT)) & CAAM_ORJRR_JR_ORJR_MASK)
  12973. /*! @} */
  12974. /* The count of CAAM_ORJRR_JR */
  12975. #define CAAM_ORJRR_JR_COUNT (4U)
  12976. /*! @name ORSFR_JR - Output Ring Slots Full Register for Job Ring 0..Output Ring Slots Full Register for Job Ring 3 */
  12977. /*! @{ */
  12978. #define CAAM_ORSFR_JR_ORSF_MASK (0x3FFU)
  12979. #define CAAM_ORSFR_JR_ORSF_SHIFT (0U)
  12980. #define CAAM_ORSFR_JR_ORSF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORSFR_JR_ORSF_SHIFT)) & CAAM_ORSFR_JR_ORSF_MASK)
  12981. /*! @} */
  12982. /* The count of CAAM_ORSFR_JR */
  12983. #define CAAM_ORSFR_JR_COUNT (4U)
  12984. /*! @name JRSTAR_JR - Job Ring Output Status Register for Job Ring 0..Job Ring Output Status Register for Job Ring 3 */
  12985. /*! @{ */
  12986. #define CAAM_JRSTAR_JR_SSED_MASK (0xFFFFFFFU)
  12987. #define CAAM_JRSTAR_JR_SSED_SHIFT (0U)
  12988. #define CAAM_JRSTAR_JR_SSED(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTAR_JR_SSED_SHIFT)) & CAAM_JRSTAR_JR_SSED_MASK)
  12989. #define CAAM_JRSTAR_JR_SSRC_MASK (0xF0000000U)
  12990. #define CAAM_JRSTAR_JR_SSRC_SHIFT (28U)
  12991. /*! SSRC
  12992. * 0b0000..No Status Source (No Error or Status Reported)
  12993. * 0b0001..Reserved
  12994. * 0b0010..CCB Status Source (CCB Error Reported)
  12995. * 0b0011..Jump Halt User Status Source (User-Provided Status Reported)
  12996. * 0b0100..DECO Status Source (DECO Error Reported)
  12997. * 0b0101..Reserved
  12998. * 0b0110..Job Ring Status Source (Job Ring Error Reported)
  12999. * 0b0111..Jump Halt Condition Codes (Condition Code Status Reported)
  13000. */
  13001. #define CAAM_JRSTAR_JR_SSRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRSTAR_JR_SSRC_SHIFT)) & CAAM_JRSTAR_JR_SSRC_MASK)
  13002. /*! @} */
  13003. /* The count of CAAM_JRSTAR_JR */
  13004. #define CAAM_JRSTAR_JR_COUNT (4U)
  13005. /*! @name JRINTR_JR - Job Ring Interrupt Status Register for Job Ring 0..Job Ring Interrupt Status Register for Job Ring 3 */
  13006. /*! @{ */
  13007. #define CAAM_JRINTR_JR_JRI_MASK (0x1U)
  13008. #define CAAM_JRINTR_JR_JRI_SHIFT (0U)
  13009. #define CAAM_JRINTR_JR_JRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_JRI_SHIFT)) & CAAM_JRINTR_JR_JRI_MASK)
  13010. #define CAAM_JRINTR_JR_JRE_MASK (0x2U)
  13011. #define CAAM_JRINTR_JR_JRE_SHIFT (1U)
  13012. #define CAAM_JRINTR_JR_JRE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_JRE_SHIFT)) & CAAM_JRINTR_JR_JRE_MASK)
  13013. #define CAAM_JRINTR_JR_HALT_MASK (0xCU)
  13014. #define CAAM_JRINTR_JR_HALT_SHIFT (2U)
  13015. #define CAAM_JRINTR_JR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_HALT_SHIFT)) & CAAM_JRINTR_JR_HALT_MASK)
  13016. #define CAAM_JRINTR_JR_ENTER_FAIL_MASK (0x10U)
  13017. #define CAAM_JRINTR_JR_ENTER_FAIL_SHIFT (4U)
  13018. #define CAAM_JRINTR_JR_ENTER_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ENTER_FAIL_SHIFT)) & CAAM_JRINTR_JR_ENTER_FAIL_MASK)
  13019. #define CAAM_JRINTR_JR_EXIT_FAIL_MASK (0x20U)
  13020. #define CAAM_JRINTR_JR_EXIT_FAIL_SHIFT (5U)
  13021. #define CAAM_JRINTR_JR_EXIT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_EXIT_FAIL_SHIFT)) & CAAM_JRINTR_JR_EXIT_FAIL_MASK)
  13022. #define CAAM_JRINTR_JR_ERR_TYPE_MASK (0x1F00U)
  13023. #define CAAM_JRINTR_JR_ERR_TYPE_SHIFT (8U)
  13024. /*! ERR_TYPE
  13025. * 0b00001..Error writing status to Output Ring
  13026. * 0b00011..Bad input ring base address (not on a 4-byte boundary).
  13027. * 0b00100..Bad output ring base address (not on a 4-byte boundary).
  13028. * 0b00101..Invalid write to Input Ring Base Address Register or Input Ring Size Register. Can be written when
  13029. * there are no jobs in the input ring or when the Job Ring is halted. These are fatal and will likely
  13030. * result in not being able to get all jobs out into the output ring for processing by software. Resetting
  13031. * the job ring will almost certainly be necessary.
  13032. * 0b00110..Invalid write to Output Ring Base Address Register or Output Ring Size Register. Can be written when
  13033. * there are no jobs in the output ring and no jobs from this queue are already processing in CAAM (in
  13034. * the holding tanks or DECOs), or when the Job Ring is halted.
  13035. * 0b00111..Job Ring reset released before Job Ring is halted.
  13036. * 0b01000..Removed too many jobs (ORJRR larger than ORSFR).
  13037. * 0b01001..Added too many jobs (IRJAR larger than IRSAR).
  13038. * 0b01010..Writing ORSF > ORS In these error cases the write is ignored, the interrupt is asserted (unless
  13039. * masked) and the error bit and error_type fields are set in the Job Ring Interrupt Status Register.
  13040. * 0b01011..Writing IRSA > IRS
  13041. * 0b01100..Writing ORWI > ORS in bytes
  13042. * 0b01101..Writing IRRI > IRS in bytes
  13043. * 0b01110..Writing IRSA when ring is active
  13044. * 0b01111..Writing IRRI when ring is active
  13045. * 0b10000..Writing ORSF when ring is active
  13046. * 0b10001..Writing ORWI when ring is active
  13047. */
  13048. #define CAAM_JRINTR_JR_ERR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ERR_TYPE_SHIFT)) & CAAM_JRINTR_JR_ERR_TYPE_MASK)
  13049. #define CAAM_JRINTR_JR_ERR_ORWI_MASK (0x3FFF0000U)
  13050. #define CAAM_JRINTR_JR_ERR_ORWI_SHIFT (16U)
  13051. #define CAAM_JRINTR_JR_ERR_ORWI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRINTR_JR_ERR_ORWI_SHIFT)) & CAAM_JRINTR_JR_ERR_ORWI_MASK)
  13052. /*! @} */
  13053. /* The count of CAAM_JRINTR_JR */
  13054. #define CAAM_JRINTR_JR_COUNT (4U)
  13055. /*! @name JRCFGR_JR_MS - Job Ring Configuration Register for Job Ring 0, most-significant half..Job Ring Configuration Register for Job Ring 3, most-significant half */
  13056. /*! @{ */
  13057. #define CAAM_JRCFGR_JR_MS_MBSI_MASK (0x1U)
  13058. #define CAAM_JRCFGR_JR_MS_MBSI_SHIFT (0U)
  13059. #define CAAM_JRCFGR_JR_MS_MBSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MBSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MBSI_MASK)
  13060. #define CAAM_JRCFGR_JR_MS_MHWSI_MASK (0x2U)
  13061. #define CAAM_JRCFGR_JR_MS_MHWSI_SHIFT (1U)
  13062. #define CAAM_JRCFGR_JR_MS_MHWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MHWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MHWSI_MASK)
  13063. #define CAAM_JRCFGR_JR_MS_MWSI_MASK (0x4U)
  13064. #define CAAM_JRCFGR_JR_MS_MWSI_SHIFT (2U)
  13065. #define CAAM_JRCFGR_JR_MS_MWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_MWSI_MASK)
  13066. #define CAAM_JRCFGR_JR_MS_CBSI_MASK (0x10U)
  13067. #define CAAM_JRCFGR_JR_MS_CBSI_SHIFT (4U)
  13068. #define CAAM_JRCFGR_JR_MS_CBSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CBSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CBSI_MASK)
  13069. #define CAAM_JRCFGR_JR_MS_CHWSI_MASK (0x20U)
  13070. #define CAAM_JRCFGR_JR_MS_CHWSI_SHIFT (5U)
  13071. #define CAAM_JRCFGR_JR_MS_CHWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CHWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CHWSI_MASK)
  13072. #define CAAM_JRCFGR_JR_MS_CWSI_MASK (0x40U)
  13073. #define CAAM_JRCFGR_JR_MS_CWSI_SHIFT (6U)
  13074. #define CAAM_JRCFGR_JR_MS_CWSI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CWSI_SHIFT)) & CAAM_JRCFGR_JR_MS_CWSI_MASK)
  13075. #define CAAM_JRCFGR_JR_MS_MBSO_MASK (0x100U)
  13076. #define CAAM_JRCFGR_JR_MS_MBSO_SHIFT (8U)
  13077. #define CAAM_JRCFGR_JR_MS_MBSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MBSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MBSO_MASK)
  13078. #define CAAM_JRCFGR_JR_MS_MHWSO_MASK (0x200U)
  13079. #define CAAM_JRCFGR_JR_MS_MHWSO_SHIFT (9U)
  13080. #define CAAM_JRCFGR_JR_MS_MHWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MHWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MHWSO_MASK)
  13081. #define CAAM_JRCFGR_JR_MS_MWSO_MASK (0x400U)
  13082. #define CAAM_JRCFGR_JR_MS_MWSO_SHIFT (10U)
  13083. #define CAAM_JRCFGR_JR_MS_MWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_MWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_MWSO_MASK)
  13084. #define CAAM_JRCFGR_JR_MS_CBSO_MASK (0x1000U)
  13085. #define CAAM_JRCFGR_JR_MS_CBSO_SHIFT (12U)
  13086. #define CAAM_JRCFGR_JR_MS_CBSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CBSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CBSO_MASK)
  13087. #define CAAM_JRCFGR_JR_MS_CHWSO_MASK (0x2000U)
  13088. #define CAAM_JRCFGR_JR_MS_CHWSO_SHIFT (13U)
  13089. #define CAAM_JRCFGR_JR_MS_CHWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CHWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CHWSO_MASK)
  13090. #define CAAM_JRCFGR_JR_MS_CWSO_MASK (0x4000U)
  13091. #define CAAM_JRCFGR_JR_MS_CWSO_SHIFT (14U)
  13092. #define CAAM_JRCFGR_JR_MS_CWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_CWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_CWSO_MASK)
  13093. #define CAAM_JRCFGR_JR_MS_DMBS_MASK (0x10000U)
  13094. #define CAAM_JRCFGR_JR_MS_DMBS_SHIFT (16U)
  13095. #define CAAM_JRCFGR_JR_MS_DMBS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_DMBS_SHIFT)) & CAAM_JRCFGR_JR_MS_DMBS_MASK)
  13096. #define CAAM_JRCFGR_JR_MS_PEO_MASK (0x20000U)
  13097. #define CAAM_JRCFGR_JR_MS_PEO_SHIFT (17U)
  13098. #define CAAM_JRCFGR_JR_MS_PEO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_PEO_SHIFT)) & CAAM_JRCFGR_JR_MS_PEO_MASK)
  13099. #define CAAM_JRCFGR_JR_MS_DWSO_MASK (0x40000U)
  13100. #define CAAM_JRCFGR_JR_MS_DWSO_SHIFT (18U)
  13101. #define CAAM_JRCFGR_JR_MS_DWSO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_DWSO_SHIFT)) & CAAM_JRCFGR_JR_MS_DWSO_MASK)
  13102. #define CAAM_JRCFGR_JR_MS_FAIL_MODE_MASK (0x20000000U)
  13103. #define CAAM_JRCFGR_JR_MS_FAIL_MODE_SHIFT (29U)
  13104. #define CAAM_JRCFGR_JR_MS_FAIL_MODE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_FAIL_MODE_SHIFT)) & CAAM_JRCFGR_JR_MS_FAIL_MODE_MASK)
  13105. #define CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_MASK (0x40000000U)
  13106. #define CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_SHIFT (30U)
  13107. #define CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_SHIFT)) & CAAM_JRCFGR_JR_MS_INCL_SEQ_OUT_MASK)
  13108. /*! @} */
  13109. /* The count of CAAM_JRCFGR_JR_MS */
  13110. #define CAAM_JRCFGR_JR_MS_COUNT (4U)
  13111. /*! @name JRCFGR_JR_LS - Job Ring Configuration Register for Job Ring 0, least-significant half..Job Ring Configuration Register for Job Ring 3, least-significant half */
  13112. /*! @{ */
  13113. #define CAAM_JRCFGR_JR_LS_IMSK_MASK (0x1U)
  13114. #define CAAM_JRCFGR_JR_LS_IMSK_SHIFT (0U)
  13115. /*! IMSK
  13116. * 0b0..Interrupt enabled.
  13117. * 0b1..Interrupt masked.
  13118. */
  13119. #define CAAM_JRCFGR_JR_LS_IMSK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_IMSK_SHIFT)) & CAAM_JRCFGR_JR_LS_IMSK_MASK)
  13120. #define CAAM_JRCFGR_JR_LS_ICEN_MASK (0x2U)
  13121. #define CAAM_JRCFGR_JR_LS_ICEN_SHIFT (1U)
  13122. /*! ICEN
  13123. * 0b0..Interrupt coalescing is disabled. If the IMSK bit is cleared, an interrupt is asserted whenever a job is
  13124. * written to the output ring. ICDCT is ignored. Note that if software removes one or more jobs and clears
  13125. * the interrupt but the output rings slots full is still greater than 0 (ORSF > 0), then the interrupt will
  13126. * clear but reassert on the next clock cycle.
  13127. * 0b1..Interrupt coalescing is enabled. If the IMSK bit is cleared, an interrupt is asserted whenever the
  13128. * threshold number of frames is reached (ICDCT) or when the threshold timer expires (ICTT). Note that if software
  13129. * removes one or more jobs and clears the interrupt but the interrupt coalescing threshold is still met
  13130. * (ORSF >= ICDCT), then the interrupt will clear but reassert on the next clock cycle.
  13131. */
  13132. #define CAAM_JRCFGR_JR_LS_ICEN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICEN_SHIFT)) & CAAM_JRCFGR_JR_LS_ICEN_MASK)
  13133. #define CAAM_JRCFGR_JR_LS_ICDCT_MASK (0xFF00U)
  13134. #define CAAM_JRCFGR_JR_LS_ICDCT_SHIFT (8U)
  13135. #define CAAM_JRCFGR_JR_LS_ICDCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICDCT_SHIFT)) & CAAM_JRCFGR_JR_LS_ICDCT_MASK)
  13136. #define CAAM_JRCFGR_JR_LS_ICTT_MASK (0xFFFF0000U)
  13137. #define CAAM_JRCFGR_JR_LS_ICTT_SHIFT (16U)
  13138. #define CAAM_JRCFGR_JR_LS_ICTT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCFGR_JR_LS_ICTT_SHIFT)) & CAAM_JRCFGR_JR_LS_ICTT_MASK)
  13139. /*! @} */
  13140. /* The count of CAAM_JRCFGR_JR_LS */
  13141. #define CAAM_JRCFGR_JR_LS_COUNT (4U)
  13142. /*! @name IRRIR_JR - Input Ring Read Index Register for Job Ring 0..Input Ring Read Index Register for Job Ring 3 */
  13143. /*! @{ */
  13144. #define CAAM_IRRIR_JR_IRRI_MASK (0x1FFFU)
  13145. #define CAAM_IRRIR_JR_IRRI_SHIFT (0U)
  13146. #define CAAM_IRRIR_JR_IRRI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_IRRIR_JR_IRRI_SHIFT)) & CAAM_IRRIR_JR_IRRI_MASK)
  13147. /*! @} */
  13148. /* The count of CAAM_IRRIR_JR */
  13149. #define CAAM_IRRIR_JR_COUNT (4U)
  13150. /*! @name ORWIR_JR - Output Ring Write Index Register for Job Ring 0..Output Ring Write Index Register for Job Ring 3 */
  13151. /*! @{ */
  13152. #define CAAM_ORWIR_JR_ORWI_MASK (0x3FFFU)
  13153. #define CAAM_ORWIR_JR_ORWI_SHIFT (0U)
  13154. #define CAAM_ORWIR_JR_ORWI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_ORWIR_JR_ORWI_SHIFT)) & CAAM_ORWIR_JR_ORWI_MASK)
  13155. /*! @} */
  13156. /* The count of CAAM_ORWIR_JR */
  13157. #define CAAM_ORWIR_JR_COUNT (4U)
  13158. /*! @name JRCR_JR - Job Ring Command Register for Job Ring 0..Job Ring Command Register for Job Ring 3 */
  13159. /*! @{ */
  13160. #define CAAM_JRCR_JR_RESET_MASK (0x1U)
  13161. #define CAAM_JRCR_JR_RESET_SHIFT (0U)
  13162. #define CAAM_JRCR_JR_RESET(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCR_JR_RESET_SHIFT)) & CAAM_JRCR_JR_RESET_MASK)
  13163. #define CAAM_JRCR_JR_PARK_MASK (0x2U)
  13164. #define CAAM_JRCR_JR_PARK_SHIFT (1U)
  13165. #define CAAM_JRCR_JR_PARK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRCR_JR_PARK_SHIFT)) & CAAM_JRCR_JR_PARK_MASK)
  13166. /*! @} */
  13167. /* The count of CAAM_JRCR_JR */
  13168. #define CAAM_JRCR_JR_COUNT (4U)
  13169. /*! @name JRAAV - Job Ring 0 Address-Array Valid Register..Job Ring 3 Address-Array Valid Register */
  13170. /*! @{ */
  13171. #define CAAM_JRAAV_V0_MASK (0x1U)
  13172. #define CAAM_JRAAV_V0_SHIFT (0U)
  13173. #define CAAM_JRAAV_V0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V0_SHIFT)) & CAAM_JRAAV_V0_MASK)
  13174. #define CAAM_JRAAV_V1_MASK (0x2U)
  13175. #define CAAM_JRAAV_V1_SHIFT (1U)
  13176. #define CAAM_JRAAV_V1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V1_SHIFT)) & CAAM_JRAAV_V1_MASK)
  13177. #define CAAM_JRAAV_V2_MASK (0x4U)
  13178. #define CAAM_JRAAV_V2_SHIFT (2U)
  13179. #define CAAM_JRAAV_V2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V2_SHIFT)) & CAAM_JRAAV_V2_MASK)
  13180. #define CAAM_JRAAV_V3_MASK (0x8U)
  13181. #define CAAM_JRAAV_V3_SHIFT (3U)
  13182. #define CAAM_JRAAV_V3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_V3_SHIFT)) & CAAM_JRAAV_V3_MASK)
  13183. #define CAAM_JRAAV_BC_MASK (0x80000000U)
  13184. #define CAAM_JRAAV_BC_SHIFT (31U)
  13185. #define CAAM_JRAAV_BC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_JRAAV_BC_SHIFT)) & CAAM_JRAAV_BC_MASK)
  13186. /*! @} */
  13187. /* The count of CAAM_JRAAV */
  13188. #define CAAM_JRAAV_COUNT (4U)
  13189. /*! @name JRAAA - Job Ring 0 Address-Array Address 0 Register..Job Ring 3 Address-Array Address 3 Register */
  13190. /*! @{ */
  13191. #define CAAM_JRAAA_JD_ADDR_MASK (0xFFFFFFFFFU)
  13192. #define CAAM_JRAAA_JD_ADDR_SHIFT (0U)
  13193. #define CAAM_JRAAA_JD_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_JRAAA_JD_ADDR_SHIFT)) & CAAM_JRAAA_JD_ADDR_MASK)
  13194. /*! @} */
  13195. /* The count of CAAM_JRAAA */
  13196. #define CAAM_JRAAA_COUNT (4U)
  13197. /* The count of CAAM_JRAAA */
  13198. #define CAAM_JRAAA_COUNT2 (4U)
  13199. /*! @name PX_SDID_JR - Partition 0 SDID register..Partition 15 SDID register */
  13200. /*! @{ */
  13201. #define CAAM_PX_SDID_JR_SDID_MASK (0xFFFFU)
  13202. #define CAAM_PX_SDID_JR_SDID_SHIFT (0U)
  13203. #define CAAM_PX_SDID_JR_SDID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SDID_JR_SDID_SHIFT)) & CAAM_PX_SDID_JR_SDID_MASK)
  13204. /*! @} */
  13205. /* The count of CAAM_PX_SDID_JR */
  13206. #define CAAM_PX_SDID_JR_COUNT (4U)
  13207. /* The count of CAAM_PX_SDID_JR */
  13208. #define CAAM_PX_SDID_JR_COUNT2 (16U)
  13209. /*! @name PX_SMAPR_JR - Secure Memory Access Permissions register */
  13210. /*! @{ */
  13211. #define CAAM_PX_SMAPR_JR_G1_READ_MASK (0x1U)
  13212. #define CAAM_PX_SMAPR_JR_G1_READ_SHIFT (0U)
  13213. /*! G1_READ
  13214. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G1_TDO=1) and
  13215. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G1_SMBLOB=1 or if done by a
  13216. * Trusted Descriptor and G1_TDO=1).
  13217. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  13218. * G1_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G1_TDO=0).
  13219. */
  13220. #define CAAM_PX_SMAPR_JR_G1_READ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G1_READ_SHIFT)) & CAAM_PX_SMAPR_JR_G1_READ_MASK)
  13221. #define CAAM_PX_SMAPR_JR_G1_WRITE_MASK (0x2U)
  13222. #define CAAM_PX_SMAPR_JR_G1_WRITE_SHIFT (1U)
  13223. /*! G1_WRITE
  13224. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  13225. * Blobs is allowed if G1_SMBLOB=1 or if done by a Trusted Descriptor and G1_TDO=1).
  13226. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G1_SMBLOB=0 and the descriptor is
  13227. * not a Trusted Descriptor or if G1_TDO=0).
  13228. */
  13229. #define CAAM_PX_SMAPR_JR_G1_WRITE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G1_WRITE_SHIFT)) & CAAM_PX_SMAPR_JR_G1_WRITE_MASK)
  13230. #define CAAM_PX_SMAPR_JR_G1_TDO_MASK (0x4U)
  13231. #define CAAM_PX_SMAPR_JR_G1_TDO_SHIFT (2U)
  13232. /*! G1_TDO
  13233. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  13234. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  13235. * or import blobs to the partition and read from and write to the partition regardless of the G1_SMBLOB,
  13236. * G1_WRITE and G1_READ settings.
  13237. */
  13238. #define CAAM_PX_SMAPR_JR_G1_TDO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G1_TDO_SHIFT)) & CAAM_PX_SMAPR_JR_G1_TDO_MASK)
  13239. #define CAAM_PX_SMAPR_JR_G1_SMBLOB_MASK (0x8U)
  13240. #define CAAM_PX_SMAPR_JR_G1_SMBLOB_SHIFT (3U)
  13241. /*! G1_SMBLOB
  13242. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G1_TDO=1.
  13243. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G1_READ and G1_WRITE settings.
  13244. */
  13245. #define CAAM_PX_SMAPR_JR_G1_SMBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G1_SMBLOB_SHIFT)) & CAAM_PX_SMAPR_JR_G1_SMBLOB_MASK)
  13246. #define CAAM_PX_SMAPR_JR_G2_READ_MASK (0x10U)
  13247. #define CAAM_PX_SMAPR_JR_G2_READ_SHIFT (4U)
  13248. /*! G2_READ
  13249. * 0b0..Instruction fetches and reads are prohibited (except that Trusted Descriptor reads (if G2_TDO=1) and
  13250. * key-reads are always allowed, and exporting Secure Memory Blobs is allowed if G2_SMBLOB=1 or if done by a
  13251. * Trusted Descriptor and G2_TDO=1).
  13252. * 0b1..Instruction fetches and reads are allowed (but exporting a Secure Memory Blob is prohibited if
  13253. * G2_SMBLOB=0 and the descriptor is not a Trusted Descriptor or if G2_TDO=0).
  13254. */
  13255. #define CAAM_PX_SMAPR_JR_G2_READ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G2_READ_SHIFT)) & CAAM_PX_SMAPR_JR_G2_READ_MASK)
  13256. #define CAAM_PX_SMAPR_JR_G2_WRITE_MASK (0x20U)
  13257. #define CAAM_PX_SMAPR_JR_G2_WRITE_SHIFT (5U)
  13258. /*! G2_WRITE
  13259. * 0b0..Writes are prohibited (except that Trusted Descriptor writes are allowed, and importing Secure Memory
  13260. * Blobs is allowed if G2_SMBLOB=1 or if done by a Trusted Descriptor and G2_TDO=1).
  13261. * 0b1..Writes are allowed (but importing a Secure Memory Blob is prohibited if G2_SMBLOB=0 and the descriptor is
  13262. * not a Trusted Descriptor or if G2_TDO=0).
  13263. */
  13264. #define CAAM_PX_SMAPR_JR_G2_WRITE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G2_WRITE_SHIFT)) & CAAM_PX_SMAPR_JR_G2_WRITE_MASK)
  13265. #define CAAM_PX_SMAPR_JR_G2_TDO_MASK (0x40U)
  13266. #define CAAM_PX_SMAPR_JR_G2_TDO_SHIFT (6U)
  13267. /*! G2_TDO
  13268. * 0b0..Trusted Descriptors have the same access privileges as Job Descriptors
  13269. * 0b1..Trusted Descriptors are allowed to override the other access permissions, i.e. they can export blobs from
  13270. * or import blobs to the partition and read from and write to the partition regardless of the G2_SMBLOB,
  13271. * G2_WRITE and G2_READ settings.
  13272. */
  13273. #define CAAM_PX_SMAPR_JR_G2_TDO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G2_TDO_SHIFT)) & CAAM_PX_SMAPR_JR_G2_TDO_MASK)
  13274. #define CAAM_PX_SMAPR_JR_G2_SMBLOB_MASK (0x80U)
  13275. #define CAAM_PX_SMAPR_JR_G2_SMBLOB_SHIFT (7U)
  13276. /*! G2_SMBLOB
  13277. * 0b0..Exporting or importing Secure Memory Blobs is prohibited, unless done via a Trusted Descriptor and G2_TDO=1.
  13278. * 0b1..Exporting or importing Secure Memory Blobs is allowed, regardless of the G2_READ and G2_WRITE settings.
  13279. */
  13280. #define CAAM_PX_SMAPR_JR_G2_SMBLOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_G2_SMBLOB_SHIFT)) & CAAM_PX_SMAPR_JR_G2_SMBLOB_MASK)
  13281. #define CAAM_PX_SMAPR_JR_SMAG_LCK_MASK (0x1000U)
  13282. #define CAAM_PX_SMAPR_JR_SMAG_LCK_SHIFT (12U)
  13283. /*! SMAG_LCK
  13284. * 0b0..The SMAG2JR register and SMAG1JR register are unlocked. The partition owner can change any writable bits of these registers.
  13285. * 0b1..The SMAG2JR register and SMAG1JR register are locked. The SMAG2JR and SMAG1JR registers cannot be changed
  13286. * until the partition is de-allocated or a POR occurs.
  13287. */
  13288. #define CAAM_PX_SMAPR_JR_SMAG_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_SMAG_LCK_SHIFT)) & CAAM_PX_SMAPR_JR_SMAG_LCK_MASK)
  13289. #define CAAM_PX_SMAPR_JR_SMAP_LCK_MASK (0x2000U)
  13290. #define CAAM_PX_SMAPR_JR_SMAP_LCK_SHIFT (13U)
  13291. /*! SMAP_LCK
  13292. * 0b0..The SMAP register is unlocked. The partition owner can change any writable bits of the SMAP register.
  13293. * 0b1..The SMAP register is locked. The SMAP_LCK, CSP and PSP bits and G1 and G2 permission bits of the SMAP
  13294. * register cannot be changed until the partition is de-allocated or a POR occurs. The PARTITION_KMOD value can
  13295. * still be changed. The SMAG_LCK bit can be changed to a 1, but cannot be changed to a 0.
  13296. */
  13297. #define CAAM_PX_SMAPR_JR_SMAP_LCK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_SMAP_LCK_SHIFT)) & CAAM_PX_SMAPR_JR_SMAP_LCK_MASK)
  13298. #define CAAM_PX_SMAPR_JR_PSP_MASK (0x4000U)
  13299. #define CAAM_PX_SMAPR_JR_PSP_SHIFT (14U)
  13300. /*! PSP
  13301. * 0b0..The partition and any of the pages allocated to the partition can be de-allocated.
  13302. * 0b1..The partition cannot be de-allocated and the pages allocated to the partition cannot be de-allocated.
  13303. */
  13304. #define CAAM_PX_SMAPR_JR_PSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_PSP_SHIFT)) & CAAM_PX_SMAPR_JR_PSP_MASK)
  13305. #define CAAM_PX_SMAPR_JR_CSP_MASK (0x8000U)
  13306. #define CAAM_PX_SMAPR_JR_CSP_SHIFT (15U)
  13307. /*! CSP
  13308. * 0b0..The pages allocated to the partition will not be zeroized when they are de-allocated or the partition is
  13309. * released or a security alarm occurs.
  13310. * 0b1..The pages allocated to the partition will be zeroized when they are individually de-allocated or the
  13311. * partition is released or a security alarm occurs.
  13312. */
  13313. #define CAAM_PX_SMAPR_JR_CSP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_CSP_SHIFT)) & CAAM_PX_SMAPR_JR_CSP_MASK)
  13314. #define CAAM_PX_SMAPR_JR_PARTITION_KMOD_MASK (0xFFFF0000U)
  13315. #define CAAM_PX_SMAPR_JR_PARTITION_KMOD_SHIFT (16U)
  13316. #define CAAM_PX_SMAPR_JR_PARTITION_KMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAPR_JR_PARTITION_KMOD_SHIFT)) & CAAM_PX_SMAPR_JR_PARTITION_KMOD_MASK)
  13317. /*! @} */
  13318. /* The count of CAAM_PX_SMAPR_JR */
  13319. #define CAAM_PX_SMAPR_JR_COUNT (4U)
  13320. /* The count of CAAM_PX_SMAPR_JR */
  13321. #define CAAM_PX_SMAPR_JR_COUNT2 (16U)
  13322. /*! @name PX_SMAG2_JR - Secure Memory Access Group Registers */
  13323. /*! @{ */
  13324. #define CAAM_PX_SMAG2_JR_Gx_ID00_MASK (0x1U)
  13325. #define CAAM_PX_SMAG2_JR_Gx_ID00_SHIFT (0U)
  13326. #define CAAM_PX_SMAG2_JR_Gx_ID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID00_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID00_MASK)
  13327. #define CAAM_PX_SMAG2_JR_Gx_ID01_MASK (0x2U)
  13328. #define CAAM_PX_SMAG2_JR_Gx_ID01_SHIFT (1U)
  13329. #define CAAM_PX_SMAG2_JR_Gx_ID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID01_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID01_MASK)
  13330. #define CAAM_PX_SMAG2_JR_Gx_ID02_MASK (0x4U)
  13331. #define CAAM_PX_SMAG2_JR_Gx_ID02_SHIFT (2U)
  13332. #define CAAM_PX_SMAG2_JR_Gx_ID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID02_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID02_MASK)
  13333. #define CAAM_PX_SMAG2_JR_Gx_ID03_MASK (0x8U)
  13334. #define CAAM_PX_SMAG2_JR_Gx_ID03_SHIFT (3U)
  13335. #define CAAM_PX_SMAG2_JR_Gx_ID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID03_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID03_MASK)
  13336. #define CAAM_PX_SMAG2_JR_Gx_ID04_MASK (0x10U)
  13337. #define CAAM_PX_SMAG2_JR_Gx_ID04_SHIFT (4U)
  13338. #define CAAM_PX_SMAG2_JR_Gx_ID04(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID04_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID04_MASK)
  13339. #define CAAM_PX_SMAG2_JR_Gx_ID05_MASK (0x20U)
  13340. #define CAAM_PX_SMAG2_JR_Gx_ID05_SHIFT (5U)
  13341. #define CAAM_PX_SMAG2_JR_Gx_ID05(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID05_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID05_MASK)
  13342. #define CAAM_PX_SMAG2_JR_Gx_ID06_MASK (0x40U)
  13343. #define CAAM_PX_SMAG2_JR_Gx_ID06_SHIFT (6U)
  13344. #define CAAM_PX_SMAG2_JR_Gx_ID06(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID06_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID06_MASK)
  13345. #define CAAM_PX_SMAG2_JR_Gx_ID07_MASK (0x80U)
  13346. #define CAAM_PX_SMAG2_JR_Gx_ID07_SHIFT (7U)
  13347. #define CAAM_PX_SMAG2_JR_Gx_ID07(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID07_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID07_MASK)
  13348. #define CAAM_PX_SMAG2_JR_Gx_ID08_MASK (0x100U)
  13349. #define CAAM_PX_SMAG2_JR_Gx_ID08_SHIFT (8U)
  13350. #define CAAM_PX_SMAG2_JR_Gx_ID08(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID08_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID08_MASK)
  13351. #define CAAM_PX_SMAG2_JR_Gx_ID09_MASK (0x200U)
  13352. #define CAAM_PX_SMAG2_JR_Gx_ID09_SHIFT (9U)
  13353. #define CAAM_PX_SMAG2_JR_Gx_ID09(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID09_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID09_MASK)
  13354. #define CAAM_PX_SMAG2_JR_Gx_ID10_MASK (0x400U)
  13355. #define CAAM_PX_SMAG2_JR_Gx_ID10_SHIFT (10U)
  13356. #define CAAM_PX_SMAG2_JR_Gx_ID10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID10_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID10_MASK)
  13357. #define CAAM_PX_SMAG2_JR_Gx_ID11_MASK (0x800U)
  13358. #define CAAM_PX_SMAG2_JR_Gx_ID11_SHIFT (11U)
  13359. #define CAAM_PX_SMAG2_JR_Gx_ID11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID11_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID11_MASK)
  13360. #define CAAM_PX_SMAG2_JR_Gx_ID12_MASK (0x1000U)
  13361. #define CAAM_PX_SMAG2_JR_Gx_ID12_SHIFT (12U)
  13362. #define CAAM_PX_SMAG2_JR_Gx_ID12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID12_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID12_MASK)
  13363. #define CAAM_PX_SMAG2_JR_Gx_ID13_MASK (0x2000U)
  13364. #define CAAM_PX_SMAG2_JR_Gx_ID13_SHIFT (13U)
  13365. #define CAAM_PX_SMAG2_JR_Gx_ID13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID13_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID13_MASK)
  13366. #define CAAM_PX_SMAG2_JR_Gx_ID14_MASK (0x4000U)
  13367. #define CAAM_PX_SMAG2_JR_Gx_ID14_SHIFT (14U)
  13368. #define CAAM_PX_SMAG2_JR_Gx_ID14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID14_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID14_MASK)
  13369. #define CAAM_PX_SMAG2_JR_Gx_ID15_MASK (0x8000U)
  13370. #define CAAM_PX_SMAG2_JR_Gx_ID15_SHIFT (15U)
  13371. #define CAAM_PX_SMAG2_JR_Gx_ID15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID15_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID15_MASK)
  13372. #define CAAM_PX_SMAG2_JR_Gx_ID16_MASK (0x10000U)
  13373. #define CAAM_PX_SMAG2_JR_Gx_ID16_SHIFT (16U)
  13374. #define CAAM_PX_SMAG2_JR_Gx_ID16(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID16_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID16_MASK)
  13375. #define CAAM_PX_SMAG2_JR_Gx_ID17_MASK (0x20000U)
  13376. #define CAAM_PX_SMAG2_JR_Gx_ID17_SHIFT (17U)
  13377. #define CAAM_PX_SMAG2_JR_Gx_ID17(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID17_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID17_MASK)
  13378. #define CAAM_PX_SMAG2_JR_Gx_ID18_MASK (0x40000U)
  13379. #define CAAM_PX_SMAG2_JR_Gx_ID18_SHIFT (18U)
  13380. #define CAAM_PX_SMAG2_JR_Gx_ID18(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID18_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID18_MASK)
  13381. #define CAAM_PX_SMAG2_JR_Gx_ID19_MASK (0x80000U)
  13382. #define CAAM_PX_SMAG2_JR_Gx_ID19_SHIFT (19U)
  13383. #define CAAM_PX_SMAG2_JR_Gx_ID19(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID19_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID19_MASK)
  13384. #define CAAM_PX_SMAG2_JR_Gx_ID20_MASK (0x100000U)
  13385. #define CAAM_PX_SMAG2_JR_Gx_ID20_SHIFT (20U)
  13386. #define CAAM_PX_SMAG2_JR_Gx_ID20(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID20_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID20_MASK)
  13387. #define CAAM_PX_SMAG2_JR_Gx_ID21_MASK (0x200000U)
  13388. #define CAAM_PX_SMAG2_JR_Gx_ID21_SHIFT (21U)
  13389. #define CAAM_PX_SMAG2_JR_Gx_ID21(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID21_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID21_MASK)
  13390. #define CAAM_PX_SMAG2_JR_Gx_ID22_MASK (0x400000U)
  13391. #define CAAM_PX_SMAG2_JR_Gx_ID22_SHIFT (22U)
  13392. #define CAAM_PX_SMAG2_JR_Gx_ID22(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID22_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID22_MASK)
  13393. #define CAAM_PX_SMAG2_JR_Gx_ID23_MASK (0x800000U)
  13394. #define CAAM_PX_SMAG2_JR_Gx_ID23_SHIFT (23U)
  13395. #define CAAM_PX_SMAG2_JR_Gx_ID23(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID23_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID23_MASK)
  13396. #define CAAM_PX_SMAG2_JR_Gx_ID24_MASK (0x1000000U)
  13397. #define CAAM_PX_SMAG2_JR_Gx_ID24_SHIFT (24U)
  13398. #define CAAM_PX_SMAG2_JR_Gx_ID24(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID24_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID24_MASK)
  13399. #define CAAM_PX_SMAG2_JR_Gx_ID25_MASK (0x2000000U)
  13400. #define CAAM_PX_SMAG2_JR_Gx_ID25_SHIFT (25U)
  13401. #define CAAM_PX_SMAG2_JR_Gx_ID25(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID25_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID25_MASK)
  13402. #define CAAM_PX_SMAG2_JR_Gx_ID26_MASK (0x4000000U)
  13403. #define CAAM_PX_SMAG2_JR_Gx_ID26_SHIFT (26U)
  13404. #define CAAM_PX_SMAG2_JR_Gx_ID26(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID26_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID26_MASK)
  13405. #define CAAM_PX_SMAG2_JR_Gx_ID27_MASK (0x8000000U)
  13406. #define CAAM_PX_SMAG2_JR_Gx_ID27_SHIFT (27U)
  13407. #define CAAM_PX_SMAG2_JR_Gx_ID27(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID27_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID27_MASK)
  13408. #define CAAM_PX_SMAG2_JR_Gx_ID28_MASK (0x10000000U)
  13409. #define CAAM_PX_SMAG2_JR_Gx_ID28_SHIFT (28U)
  13410. #define CAAM_PX_SMAG2_JR_Gx_ID28(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID28_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID28_MASK)
  13411. #define CAAM_PX_SMAG2_JR_Gx_ID29_MASK (0x20000000U)
  13412. #define CAAM_PX_SMAG2_JR_Gx_ID29_SHIFT (29U)
  13413. #define CAAM_PX_SMAG2_JR_Gx_ID29(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID29_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID29_MASK)
  13414. #define CAAM_PX_SMAG2_JR_Gx_ID30_MASK (0x40000000U)
  13415. #define CAAM_PX_SMAG2_JR_Gx_ID30_SHIFT (30U)
  13416. #define CAAM_PX_SMAG2_JR_Gx_ID30(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID30_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID30_MASK)
  13417. #define CAAM_PX_SMAG2_JR_Gx_ID31_MASK (0x80000000U)
  13418. #define CAAM_PX_SMAG2_JR_Gx_ID31_SHIFT (31U)
  13419. #define CAAM_PX_SMAG2_JR_Gx_ID31(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG2_JR_Gx_ID31_SHIFT)) & CAAM_PX_SMAG2_JR_Gx_ID31_MASK)
  13420. /*! @} */
  13421. /* The count of CAAM_PX_SMAG2_JR */
  13422. #define CAAM_PX_SMAG2_JR_COUNT (4U)
  13423. /* The count of CAAM_PX_SMAG2_JR */
  13424. #define CAAM_PX_SMAG2_JR_COUNT2 (16U)
  13425. /*! @name PX_SMAG1_JR - Secure Memory Access Group Registers */
  13426. /*! @{ */
  13427. #define CAAM_PX_SMAG1_JR_Gx_ID00_MASK (0x1U)
  13428. #define CAAM_PX_SMAG1_JR_Gx_ID00_SHIFT (0U)
  13429. #define CAAM_PX_SMAG1_JR_Gx_ID00(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID00_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID00_MASK)
  13430. #define CAAM_PX_SMAG1_JR_Gx_ID01_MASK (0x2U)
  13431. #define CAAM_PX_SMAG1_JR_Gx_ID01_SHIFT (1U)
  13432. #define CAAM_PX_SMAG1_JR_Gx_ID01(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID01_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID01_MASK)
  13433. #define CAAM_PX_SMAG1_JR_Gx_ID02_MASK (0x4U)
  13434. #define CAAM_PX_SMAG1_JR_Gx_ID02_SHIFT (2U)
  13435. #define CAAM_PX_SMAG1_JR_Gx_ID02(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID02_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID02_MASK)
  13436. #define CAAM_PX_SMAG1_JR_Gx_ID03_MASK (0x8U)
  13437. #define CAAM_PX_SMAG1_JR_Gx_ID03_SHIFT (3U)
  13438. #define CAAM_PX_SMAG1_JR_Gx_ID03(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID03_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID03_MASK)
  13439. #define CAAM_PX_SMAG1_JR_Gx_ID04_MASK (0x10U)
  13440. #define CAAM_PX_SMAG1_JR_Gx_ID04_SHIFT (4U)
  13441. #define CAAM_PX_SMAG1_JR_Gx_ID04(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID04_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID04_MASK)
  13442. #define CAAM_PX_SMAG1_JR_Gx_ID05_MASK (0x20U)
  13443. #define CAAM_PX_SMAG1_JR_Gx_ID05_SHIFT (5U)
  13444. #define CAAM_PX_SMAG1_JR_Gx_ID05(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID05_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID05_MASK)
  13445. #define CAAM_PX_SMAG1_JR_Gx_ID06_MASK (0x40U)
  13446. #define CAAM_PX_SMAG1_JR_Gx_ID06_SHIFT (6U)
  13447. #define CAAM_PX_SMAG1_JR_Gx_ID06(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID06_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID06_MASK)
  13448. #define CAAM_PX_SMAG1_JR_Gx_ID07_MASK (0x80U)
  13449. #define CAAM_PX_SMAG1_JR_Gx_ID07_SHIFT (7U)
  13450. #define CAAM_PX_SMAG1_JR_Gx_ID07(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID07_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID07_MASK)
  13451. #define CAAM_PX_SMAG1_JR_Gx_ID08_MASK (0x100U)
  13452. #define CAAM_PX_SMAG1_JR_Gx_ID08_SHIFT (8U)
  13453. #define CAAM_PX_SMAG1_JR_Gx_ID08(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID08_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID08_MASK)
  13454. #define CAAM_PX_SMAG1_JR_Gx_ID09_MASK (0x200U)
  13455. #define CAAM_PX_SMAG1_JR_Gx_ID09_SHIFT (9U)
  13456. #define CAAM_PX_SMAG1_JR_Gx_ID09(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID09_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID09_MASK)
  13457. #define CAAM_PX_SMAG1_JR_Gx_ID10_MASK (0x400U)
  13458. #define CAAM_PX_SMAG1_JR_Gx_ID10_SHIFT (10U)
  13459. #define CAAM_PX_SMAG1_JR_Gx_ID10(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID10_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID10_MASK)
  13460. #define CAAM_PX_SMAG1_JR_Gx_ID11_MASK (0x800U)
  13461. #define CAAM_PX_SMAG1_JR_Gx_ID11_SHIFT (11U)
  13462. #define CAAM_PX_SMAG1_JR_Gx_ID11(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID11_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID11_MASK)
  13463. #define CAAM_PX_SMAG1_JR_Gx_ID12_MASK (0x1000U)
  13464. #define CAAM_PX_SMAG1_JR_Gx_ID12_SHIFT (12U)
  13465. #define CAAM_PX_SMAG1_JR_Gx_ID12(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID12_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID12_MASK)
  13466. #define CAAM_PX_SMAG1_JR_Gx_ID13_MASK (0x2000U)
  13467. #define CAAM_PX_SMAG1_JR_Gx_ID13_SHIFT (13U)
  13468. #define CAAM_PX_SMAG1_JR_Gx_ID13(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID13_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID13_MASK)
  13469. #define CAAM_PX_SMAG1_JR_Gx_ID14_MASK (0x4000U)
  13470. #define CAAM_PX_SMAG1_JR_Gx_ID14_SHIFT (14U)
  13471. #define CAAM_PX_SMAG1_JR_Gx_ID14(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID14_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID14_MASK)
  13472. #define CAAM_PX_SMAG1_JR_Gx_ID15_MASK (0x8000U)
  13473. #define CAAM_PX_SMAG1_JR_Gx_ID15_SHIFT (15U)
  13474. #define CAAM_PX_SMAG1_JR_Gx_ID15(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID15_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID15_MASK)
  13475. #define CAAM_PX_SMAG1_JR_Gx_ID16_MASK (0x10000U)
  13476. #define CAAM_PX_SMAG1_JR_Gx_ID16_SHIFT (16U)
  13477. #define CAAM_PX_SMAG1_JR_Gx_ID16(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID16_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID16_MASK)
  13478. #define CAAM_PX_SMAG1_JR_Gx_ID17_MASK (0x20000U)
  13479. #define CAAM_PX_SMAG1_JR_Gx_ID17_SHIFT (17U)
  13480. #define CAAM_PX_SMAG1_JR_Gx_ID17(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID17_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID17_MASK)
  13481. #define CAAM_PX_SMAG1_JR_Gx_ID18_MASK (0x40000U)
  13482. #define CAAM_PX_SMAG1_JR_Gx_ID18_SHIFT (18U)
  13483. #define CAAM_PX_SMAG1_JR_Gx_ID18(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID18_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID18_MASK)
  13484. #define CAAM_PX_SMAG1_JR_Gx_ID19_MASK (0x80000U)
  13485. #define CAAM_PX_SMAG1_JR_Gx_ID19_SHIFT (19U)
  13486. #define CAAM_PX_SMAG1_JR_Gx_ID19(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID19_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID19_MASK)
  13487. #define CAAM_PX_SMAG1_JR_Gx_ID20_MASK (0x100000U)
  13488. #define CAAM_PX_SMAG1_JR_Gx_ID20_SHIFT (20U)
  13489. #define CAAM_PX_SMAG1_JR_Gx_ID20(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID20_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID20_MASK)
  13490. #define CAAM_PX_SMAG1_JR_Gx_ID21_MASK (0x200000U)
  13491. #define CAAM_PX_SMAG1_JR_Gx_ID21_SHIFT (21U)
  13492. #define CAAM_PX_SMAG1_JR_Gx_ID21(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID21_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID21_MASK)
  13493. #define CAAM_PX_SMAG1_JR_Gx_ID22_MASK (0x400000U)
  13494. #define CAAM_PX_SMAG1_JR_Gx_ID22_SHIFT (22U)
  13495. #define CAAM_PX_SMAG1_JR_Gx_ID22(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID22_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID22_MASK)
  13496. #define CAAM_PX_SMAG1_JR_Gx_ID23_MASK (0x800000U)
  13497. #define CAAM_PX_SMAG1_JR_Gx_ID23_SHIFT (23U)
  13498. #define CAAM_PX_SMAG1_JR_Gx_ID23(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID23_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID23_MASK)
  13499. #define CAAM_PX_SMAG1_JR_Gx_ID24_MASK (0x1000000U)
  13500. #define CAAM_PX_SMAG1_JR_Gx_ID24_SHIFT (24U)
  13501. #define CAAM_PX_SMAG1_JR_Gx_ID24(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID24_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID24_MASK)
  13502. #define CAAM_PX_SMAG1_JR_Gx_ID25_MASK (0x2000000U)
  13503. #define CAAM_PX_SMAG1_JR_Gx_ID25_SHIFT (25U)
  13504. #define CAAM_PX_SMAG1_JR_Gx_ID25(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID25_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID25_MASK)
  13505. #define CAAM_PX_SMAG1_JR_Gx_ID26_MASK (0x4000000U)
  13506. #define CAAM_PX_SMAG1_JR_Gx_ID26_SHIFT (26U)
  13507. #define CAAM_PX_SMAG1_JR_Gx_ID26(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID26_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID26_MASK)
  13508. #define CAAM_PX_SMAG1_JR_Gx_ID27_MASK (0x8000000U)
  13509. #define CAAM_PX_SMAG1_JR_Gx_ID27_SHIFT (27U)
  13510. #define CAAM_PX_SMAG1_JR_Gx_ID27(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID27_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID27_MASK)
  13511. #define CAAM_PX_SMAG1_JR_Gx_ID28_MASK (0x10000000U)
  13512. #define CAAM_PX_SMAG1_JR_Gx_ID28_SHIFT (28U)
  13513. #define CAAM_PX_SMAG1_JR_Gx_ID28(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID28_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID28_MASK)
  13514. #define CAAM_PX_SMAG1_JR_Gx_ID29_MASK (0x20000000U)
  13515. #define CAAM_PX_SMAG1_JR_Gx_ID29_SHIFT (29U)
  13516. #define CAAM_PX_SMAG1_JR_Gx_ID29(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID29_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID29_MASK)
  13517. #define CAAM_PX_SMAG1_JR_Gx_ID30_MASK (0x40000000U)
  13518. #define CAAM_PX_SMAG1_JR_Gx_ID30_SHIFT (30U)
  13519. #define CAAM_PX_SMAG1_JR_Gx_ID30(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID30_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID30_MASK)
  13520. #define CAAM_PX_SMAG1_JR_Gx_ID31_MASK (0x80000000U)
  13521. #define CAAM_PX_SMAG1_JR_Gx_ID31_SHIFT (31U)
  13522. #define CAAM_PX_SMAG1_JR_Gx_ID31(x) (((uint32_t)(((uint32_t)(x)) << CAAM_PX_SMAG1_JR_Gx_ID31_SHIFT)) & CAAM_PX_SMAG1_JR_Gx_ID31_MASK)
  13523. /*! @} */
  13524. /* The count of CAAM_PX_SMAG1_JR */
  13525. #define CAAM_PX_SMAG1_JR_COUNT (4U)
  13526. /* The count of CAAM_PX_SMAG1_JR */
  13527. #define CAAM_PX_SMAG1_JR_COUNT2 (16U)
  13528. /*! @name SMCR_JR - Secure Memory Command Register */
  13529. /*! @{ */
  13530. #define CAAM_SMCR_JR_CMD_MASK (0xFU)
  13531. #define CAAM_SMCR_JR_CMD_SHIFT (0U)
  13532. #define CAAM_SMCR_JR_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_CMD_SHIFT)) & CAAM_SMCR_JR_CMD_MASK)
  13533. #define CAAM_SMCR_JR_PRTN_MASK (0xF00U)
  13534. #define CAAM_SMCR_JR_PRTN_SHIFT (8U)
  13535. #define CAAM_SMCR_JR_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_PRTN_SHIFT)) & CAAM_SMCR_JR_PRTN_MASK)
  13536. #define CAAM_SMCR_JR_PAGE_MASK (0xFFFF0000U)
  13537. #define CAAM_SMCR_JR_PAGE_SHIFT (16U)
  13538. #define CAAM_SMCR_JR_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCR_JR_PAGE_SHIFT)) & CAAM_SMCR_JR_PAGE_MASK)
  13539. /*! @} */
  13540. /* The count of CAAM_SMCR_JR */
  13541. #define CAAM_SMCR_JR_COUNT (4U)
  13542. /*! @name SMCSR_JR - Secure Memory Command Status Register */
  13543. /*! @{ */
  13544. #define CAAM_SMCSR_JR_PRTN_MASK (0xFU)
  13545. #define CAAM_SMCSR_JR_PRTN_SHIFT (0U)
  13546. #define CAAM_SMCSR_JR_PRTN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PRTN_SHIFT)) & CAAM_SMCSR_JR_PRTN_MASK)
  13547. #define CAAM_SMCSR_JR_PO_MASK (0xC0U)
  13548. #define CAAM_SMCSR_JR_PO_SHIFT (6U)
  13549. /*! PO
  13550. * 0b00..Available; Unowned: The entity that issued the inquiry may allocate this page to a partition. No
  13551. * zeroization is needed since it has already been cleared, therefore no interrupt should be expected.
  13552. * 0b01..Page does not exist in this version or is not initialized yet.
  13553. * 0b10..Another entity owns the page. This page is unavailable to the issuer of the inquiry.
  13554. * 0b11..Owned by the entity making the inquiry. The owner may de-allocate this page if its partition is not
  13555. * marked PSP. If the partition to which the page is allocated is designated as CSP, the page will be zeroized
  13556. * upon de-allocation.
  13557. */
  13558. #define CAAM_SMCSR_JR_PO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PO_SHIFT)) & CAAM_SMCSR_JR_PO_MASK)
  13559. #define CAAM_SMCSR_JR_AERR_MASK (0x3000U)
  13560. #define CAAM_SMCSR_JR_AERR_SHIFT (12U)
  13561. #define CAAM_SMCSR_JR_AERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_AERR_SHIFT)) & CAAM_SMCSR_JR_AERR_MASK)
  13562. #define CAAM_SMCSR_JR_CERR_MASK (0xC000U)
  13563. #define CAAM_SMCSR_JR_CERR_SHIFT (14U)
  13564. /*! CERR
  13565. * 0b00..No Error.
  13566. * 0b01..Command has not yet completed.
  13567. * 0b10..A security failure occurred.
  13568. * 0b11..Command Overflow. Another command was issued by the same Job Ring owner before the owner's previous
  13569. * command completed. The additional command was ignored.
  13570. */
  13571. #define CAAM_SMCSR_JR_CERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_CERR_SHIFT)) & CAAM_SMCSR_JR_CERR_MASK)
  13572. #define CAAM_SMCSR_JR_PAGE_MASK (0xFFF0000U)
  13573. #define CAAM_SMCSR_JR_PAGE_SHIFT (16U)
  13574. #define CAAM_SMCSR_JR_PAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SMCSR_JR_PAGE_SHIFT)) & CAAM_SMCSR_JR_PAGE_MASK)
  13575. /*! @} */
  13576. /* The count of CAAM_SMCSR_JR */
  13577. #define CAAM_SMCSR_JR_COUNT (4U)
  13578. /*! @name REIR0JR - Recoverable Error Interrupt Record 0 for Job Ring 0..Recoverable Error Interrupt Record 0 for Job Ring 3 */
  13579. /*! @{ */
  13580. #define CAAM_REIR0JR_TYPE_MASK (0x3000000U)
  13581. #define CAAM_REIR0JR_TYPE_SHIFT (24U)
  13582. #define CAAM_REIR0JR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0JR_TYPE_SHIFT)) & CAAM_REIR0JR_TYPE_MASK)
  13583. #define CAAM_REIR0JR_MISS_MASK (0x80000000U)
  13584. #define CAAM_REIR0JR_MISS_SHIFT (31U)
  13585. #define CAAM_REIR0JR_MISS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0JR_MISS_SHIFT)) & CAAM_REIR0JR_MISS_MASK)
  13586. /*! @} */
  13587. /* The count of CAAM_REIR0JR */
  13588. #define CAAM_REIR0JR_COUNT (4U)
  13589. /*! @name REIR2JR - Recoverable Error Interrupt Record 2 for Job Ring 0..Recoverable Error Interrupt Record 2 for Job Ring 3 */
  13590. /*! @{ */
  13591. #define CAAM_REIR2JR_ADDR_MASK (0xFFFFFFFFFU)
  13592. #define CAAM_REIR2JR_ADDR_SHIFT (0U)
  13593. #define CAAM_REIR2JR_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_REIR2JR_ADDR_SHIFT)) & CAAM_REIR2JR_ADDR_MASK)
  13594. /*! @} */
  13595. /* The count of CAAM_REIR2JR */
  13596. #define CAAM_REIR2JR_COUNT (4U)
  13597. /*! @name REIR4JR - Recoverable Error Interrupt Record 4 for Job Ring 0..Recoverable Error Interrupt Record 4 for Job Ring 3 */
  13598. /*! @{ */
  13599. #define CAAM_REIR4JR_ICID_MASK (0x7FFU)
  13600. #define CAAM_REIR4JR_ICID_SHIFT (0U)
  13601. #define CAAM_REIR4JR_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_ICID_SHIFT)) & CAAM_REIR4JR_ICID_MASK)
  13602. #define CAAM_REIR4JR_DID_MASK (0x7800U)
  13603. #define CAAM_REIR4JR_DID_SHIFT (11U)
  13604. #define CAAM_REIR4JR_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_DID_SHIFT)) & CAAM_REIR4JR_DID_MASK)
  13605. #define CAAM_REIR4JR_AXCACHE_MASK (0xF0000U)
  13606. #define CAAM_REIR4JR_AXCACHE_SHIFT (16U)
  13607. #define CAAM_REIR4JR_AXCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_AXCACHE_SHIFT)) & CAAM_REIR4JR_AXCACHE_MASK)
  13608. #define CAAM_REIR4JR_AXPROT_MASK (0x700000U)
  13609. #define CAAM_REIR4JR_AXPROT_SHIFT (20U)
  13610. #define CAAM_REIR4JR_AXPROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_AXPROT_SHIFT)) & CAAM_REIR4JR_AXPROT_MASK)
  13611. #define CAAM_REIR4JR_RWB_MASK (0x800000U)
  13612. #define CAAM_REIR4JR_RWB_SHIFT (23U)
  13613. #define CAAM_REIR4JR_RWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_RWB_SHIFT)) & CAAM_REIR4JR_RWB_MASK)
  13614. #define CAAM_REIR4JR_ERR_MASK (0x30000000U)
  13615. #define CAAM_REIR4JR_ERR_SHIFT (28U)
  13616. #define CAAM_REIR4JR_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_ERR_SHIFT)) & CAAM_REIR4JR_ERR_MASK)
  13617. #define CAAM_REIR4JR_MIX_MASK (0xC0000000U)
  13618. #define CAAM_REIR4JR_MIX_SHIFT (30U)
  13619. #define CAAM_REIR4JR_MIX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4JR_MIX_SHIFT)) & CAAM_REIR4JR_MIX_MASK)
  13620. /*! @} */
  13621. /* The count of CAAM_REIR4JR */
  13622. #define CAAM_REIR4JR_COUNT (4U)
  13623. /*! @name REIR5JR - Recoverable Error Interrupt Record 5 for Job Ring 0..Recoverable Error Interrupt Record 5 for Job Ring 3 */
  13624. /*! @{ */
  13625. #define CAAM_REIR5JR_BID_MASK (0xF0000U)
  13626. #define CAAM_REIR5JR_BID_SHIFT (16U)
  13627. #define CAAM_REIR5JR_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_BID_SHIFT)) & CAAM_REIR5JR_BID_MASK)
  13628. #define CAAM_REIR5JR_BNDG_MASK (0x2000000U)
  13629. #define CAAM_REIR5JR_BNDG_SHIFT (25U)
  13630. #define CAAM_REIR5JR_BNDG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_BNDG_SHIFT)) & CAAM_REIR5JR_BNDG_MASK)
  13631. #define CAAM_REIR5JR_TDSC_MASK (0x4000000U)
  13632. #define CAAM_REIR5JR_TDSC_SHIFT (26U)
  13633. #define CAAM_REIR5JR_TDSC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_TDSC_SHIFT)) & CAAM_REIR5JR_TDSC_MASK)
  13634. #define CAAM_REIR5JR_KMOD_MASK (0x8000000U)
  13635. #define CAAM_REIR5JR_KMOD_SHIFT (27U)
  13636. #define CAAM_REIR5JR_KMOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_KMOD_SHIFT)) & CAAM_REIR5JR_KMOD_MASK)
  13637. #define CAAM_REIR5JR_KEY_MASK (0x10000000U)
  13638. #define CAAM_REIR5JR_KEY_SHIFT (28U)
  13639. #define CAAM_REIR5JR_KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_KEY_SHIFT)) & CAAM_REIR5JR_KEY_MASK)
  13640. #define CAAM_REIR5JR_SMA_MASK (0x20000000U)
  13641. #define CAAM_REIR5JR_SMA_SHIFT (29U)
  13642. #define CAAM_REIR5JR_SMA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5JR_SMA_SHIFT)) & CAAM_REIR5JR_SMA_MASK)
  13643. /*! @} */
  13644. /* The count of CAAM_REIR5JR */
  13645. #define CAAM_REIR5JR_COUNT (4U)
  13646. /*! @name RSTA - RTIC Status Register */
  13647. /*! @{ */
  13648. #define CAAM_RSTA_BSY_MASK (0x1U)
  13649. #define CAAM_RSTA_BSY_SHIFT (0U)
  13650. /*! BSY
  13651. * 0b0..RTIC Idle.
  13652. * 0b1..RTIC Busy.
  13653. */
  13654. #define CAAM_RSTA_BSY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_BSY_SHIFT)) & CAAM_RSTA_BSY_MASK)
  13655. #define CAAM_RSTA_HD_MASK (0x2U)
  13656. #define CAAM_RSTA_HD_SHIFT (1U)
  13657. /*! HD
  13658. * 0b0..Boot authentication disabled
  13659. * 0b1..Authenticate code/generate reference hash value. This bit cannot be modified during run-time checking mode.
  13660. */
  13661. #define CAAM_RSTA_HD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HD_SHIFT)) & CAAM_RSTA_HD_MASK)
  13662. #define CAAM_RSTA_SV_MASK (0x4U)
  13663. #define CAAM_RSTA_SV_SHIFT (2U)
  13664. /*! SV
  13665. * 0b0..Memory block contents authenticated.
  13666. * 0b1..Memory block hash doesn't match reference value.
  13667. */
  13668. #define CAAM_RSTA_SV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_SV_SHIFT)) & CAAM_RSTA_SV_MASK)
  13669. #define CAAM_RSTA_HE_MASK (0x8U)
  13670. #define CAAM_RSTA_HE_SHIFT (3U)
  13671. /*! HE
  13672. * 0b0..Memory block contents authenticated.
  13673. * 0b1..Memory block hash doesn't match reference value.
  13674. */
  13675. #define CAAM_RSTA_HE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HE_SHIFT)) & CAAM_RSTA_HE_MASK)
  13676. #define CAAM_RSTA_MIS_MASK (0xF0U)
  13677. #define CAAM_RSTA_MIS_SHIFT (4U)
  13678. /*! MIS
  13679. * 0b0000..Memory Block X is valid or state unknown
  13680. * 0b0001..Memory Block X has been corrupted
  13681. */
  13682. #define CAAM_RSTA_MIS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_MIS_SHIFT)) & CAAM_RSTA_MIS_MASK)
  13683. #define CAAM_RSTA_AE_MASK (0xF00U)
  13684. #define CAAM_RSTA_AE_SHIFT (8U)
  13685. /*! AE
  13686. * 0b0000..All reads by RTIC were valid.
  13687. * 0b0001..An illegal address was accessed by the RTIC
  13688. */
  13689. #define CAAM_RSTA_AE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_AE_SHIFT)) & CAAM_RSTA_AE_MASK)
  13690. #define CAAM_RSTA_WE_MASK (0x10000U)
  13691. #define CAAM_RSTA_WE_SHIFT (16U)
  13692. /*! WE
  13693. * 0b0..No RTIC Watchdog timer error has occurred.
  13694. * 0b1..RTIC Watchdog timer has expired prior to completing a round of hashing.
  13695. */
  13696. #define CAAM_RSTA_WE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_WE_SHIFT)) & CAAM_RSTA_WE_MASK)
  13697. #define CAAM_RSTA_ABH_MASK (0x20000U)
  13698. #define CAAM_RSTA_ABH_SHIFT (17U)
  13699. #define CAAM_RSTA_ABH(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_ABH_SHIFT)) & CAAM_RSTA_ABH_MASK)
  13700. #define CAAM_RSTA_HOD_MASK (0x40000U)
  13701. #define CAAM_RSTA_HOD_SHIFT (18U)
  13702. #define CAAM_RSTA_HOD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_HOD_SHIFT)) & CAAM_RSTA_HOD_MASK)
  13703. #define CAAM_RSTA_RTD_MASK (0x80000U)
  13704. #define CAAM_RSTA_RTD_SHIFT (19U)
  13705. #define CAAM_RSTA_RTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_RTD_SHIFT)) & CAAM_RSTA_RTD_MASK)
  13706. #define CAAM_RSTA_CS_MASK (0x6000000U)
  13707. #define CAAM_RSTA_CS_SHIFT (25U)
  13708. /*! CS
  13709. * 0b00..Idle State
  13710. * 0b01..Single Hash State
  13711. * 0b10..Run-time State
  13712. * 0b11..Error State
  13713. */
  13714. #define CAAM_RSTA_CS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RSTA_CS_SHIFT)) & CAAM_RSTA_CS_MASK)
  13715. /*! @} */
  13716. /*! @name RCMD - RTIC Command Register */
  13717. /*! @{ */
  13718. #define CAAM_RCMD_CINT_MASK (0x1U)
  13719. #define CAAM_RCMD_CINT_SHIFT (0U)
  13720. /*! CINT
  13721. * 0b0..Do not clear interrupt
  13722. * 0b1..Clear interrupt. This bit cannot be modified during run-time checking mode
  13723. */
  13724. #define CAAM_RCMD_CINT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_CINT_SHIFT)) & CAAM_RCMD_CINT_MASK)
  13725. #define CAAM_RCMD_HO_MASK (0x2U)
  13726. #define CAAM_RCMD_HO_SHIFT (1U)
  13727. /*! HO
  13728. * 0b0..Boot authentication disabled
  13729. * 0b1..Authenticate code/generate reference hash value. This bit cannot be modified during run-time checking mode.
  13730. */
  13731. #define CAAM_RCMD_HO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_HO_SHIFT)) & CAAM_RCMD_HO_MASK)
  13732. #define CAAM_RCMD_RTC_MASK (0x4U)
  13733. #define CAAM_RCMD_RTC_SHIFT (2U)
  13734. /*! RTC
  13735. * 0b0..Run-time checking disabled
  13736. * 0b1..Verify run-time memory blocks continually
  13737. */
  13738. #define CAAM_RCMD_RTC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_RTC_SHIFT)) & CAAM_RCMD_RTC_MASK)
  13739. #define CAAM_RCMD_RTD_MASK (0x8U)
  13740. #define CAAM_RCMD_RTD_SHIFT (3U)
  13741. /*! RTD
  13742. * 0b0..Allow Run Time Mode
  13743. * 0b1..Prevent Run Time Mode
  13744. */
  13745. #define CAAM_RCMD_RTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCMD_RTD_SHIFT)) & CAAM_RCMD_RTD_MASK)
  13746. /*! @} */
  13747. /*! @name RCTL - RTIC Control Register */
  13748. /*! @{ */
  13749. #define CAAM_RCTL_IE_MASK (0x1U)
  13750. #define CAAM_RCTL_IE_SHIFT (0U)
  13751. /*! IE
  13752. * 0b0..Interrupts disabled
  13753. * 0b1..Interrupts enabled
  13754. */
  13755. #define CAAM_RCTL_IE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_IE_SHIFT)) & CAAM_RCTL_IE_MASK)
  13756. #define CAAM_RCTL_RREQS_MASK (0xEU)
  13757. #define CAAM_RCTL_RREQS_SHIFT (1U)
  13758. #define CAAM_RCTL_RREQS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RREQS_SHIFT)) & CAAM_RCTL_RREQS_MASK)
  13759. #define CAAM_RCTL_HOME_MASK (0xF0U)
  13760. #define CAAM_RCTL_HOME_SHIFT (4U)
  13761. #define CAAM_RCTL_HOME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_HOME_SHIFT)) & CAAM_RCTL_HOME_MASK)
  13762. #define CAAM_RCTL_RTME_MASK (0xF00U)
  13763. #define CAAM_RCTL_RTME_SHIFT (8U)
  13764. #define CAAM_RCTL_RTME(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RTME_SHIFT)) & CAAM_RCTL_RTME_MASK)
  13765. #define CAAM_RCTL_RTMU_MASK (0xF000U)
  13766. #define CAAM_RCTL_RTMU_SHIFT (12U)
  13767. #define CAAM_RCTL_RTMU(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RTMU_SHIFT)) & CAAM_RCTL_RTMU_MASK)
  13768. #define CAAM_RCTL_RALG_MASK (0xF0000U)
  13769. #define CAAM_RCTL_RALG_SHIFT (16U)
  13770. #define CAAM_RCTL_RALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RALG_SHIFT)) & CAAM_RCTL_RALG_MASK)
  13771. #define CAAM_RCTL_RIDLE_MASK (0x100000U)
  13772. #define CAAM_RCTL_RIDLE_SHIFT (20U)
  13773. #define CAAM_RCTL_RIDLE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RCTL_RIDLE_SHIFT)) & CAAM_RCTL_RIDLE_MASK)
  13774. /*! @} */
  13775. /*! @name RTHR - RTIC Throttle Register */
  13776. /*! @{ */
  13777. #define CAAM_RTHR_RTHR_MASK (0xFFFFU)
  13778. #define CAAM_RTHR_RTHR_SHIFT (0U)
  13779. #define CAAM_RTHR_RTHR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RTHR_RTHR_SHIFT)) & CAAM_RTHR_RTHR_MASK)
  13780. /*! @} */
  13781. /*! @name RWDOG - RTIC Watchdog Timer */
  13782. /*! @{ */
  13783. #define CAAM_RWDOG_RWDOG_MASK (0xFFFFFFFFU)
  13784. #define CAAM_RWDOG_RWDOG_SHIFT (0U)
  13785. #define CAAM_RWDOG_RWDOG(x) (((uint64_t)(((uint64_t)(x)) << CAAM_RWDOG_RWDOG_SHIFT)) & CAAM_RWDOG_RWDOG_MASK)
  13786. /*! @} */
  13787. /*! @name REND - RTIC Endian Register */
  13788. /*! @{ */
  13789. #define CAAM_REND_REPO_MASK (0xFU)
  13790. #define CAAM_REND_REPO_SHIFT (0U)
  13791. /*! REPO
  13792. * 0bxxx1..Byte Swap Memory Block A
  13793. * 0bxx1x..Byte Swap Memory Block B
  13794. * 0bx1xx..Byte Swap Memory Block C
  13795. * 0b1xxx..Byte Swap Memory Block D
  13796. */
  13797. #define CAAM_REND_REPO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_REPO_SHIFT)) & CAAM_REND_REPO_MASK)
  13798. #define CAAM_REND_RBS_MASK (0xF0U)
  13799. #define CAAM_REND_RBS_SHIFT (4U)
  13800. /*! RBS
  13801. * 0bxxx1..Byte Swap Memory Block A
  13802. * 0bxx1x..Byte Swap Memory Block B
  13803. * 0bx1xx..Byte Swap Memory Block C
  13804. * 0b1xxx..Byte Swap Memory Block D
  13805. */
  13806. #define CAAM_REND_RBS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RBS_SHIFT)) & CAAM_REND_RBS_MASK)
  13807. #define CAAM_REND_RHWS_MASK (0xF00U)
  13808. #define CAAM_REND_RHWS_SHIFT (8U)
  13809. /*! RHWS
  13810. * 0bxxx1..Half-Word Swap Memory Block A
  13811. * 0bxx1x..Half-Word Swap Memory Block B
  13812. * 0bx1xx..Half-Word Swap Memory Block C
  13813. * 0b1xxx..Half-Word Swap Memory Block D
  13814. */
  13815. #define CAAM_REND_RHWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RHWS_SHIFT)) & CAAM_REND_RHWS_MASK)
  13816. #define CAAM_REND_RWS_MASK (0xF000U)
  13817. #define CAAM_REND_RWS_SHIFT (12U)
  13818. /*! RWS
  13819. * 0bxxx1..Word Swap Memory Block A
  13820. * 0bxx1x..Word Swap Memory Block B
  13821. * 0bx1xx..Word Swap Memory Block C
  13822. * 0b1xxx..Word Swap Memory Block D
  13823. */
  13824. #define CAAM_REND_RWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REND_RWS_SHIFT)) & CAAM_REND_RWS_MASK)
  13825. /*! @} */
  13826. /*! @name RMA - RTIC Memory Block A Address 0 Register..RTIC Memory Block D Address 1 Register */
  13827. /*! @{ */
  13828. #define CAAM_RMA_MEMBLKADDR_MASK (0xFFFFFFFFFU)
  13829. #define CAAM_RMA_MEMBLKADDR_SHIFT (0U)
  13830. #define CAAM_RMA_MEMBLKADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_RMA_MEMBLKADDR_SHIFT)) & CAAM_RMA_MEMBLKADDR_MASK)
  13831. /*! @} */
  13832. /* The count of CAAM_RMA */
  13833. #define CAAM_RMA_COUNT (4U)
  13834. /* The count of CAAM_RMA */
  13835. #define CAAM_RMA_COUNT2 (2U)
  13836. /*! @name RML - RTIC Memory Block A Length 0 Register..RTIC Memory Block D Length 1 Register */
  13837. /*! @{ */
  13838. #define CAAM_RML_MEMBLKLEN_MASK (0xFFFFFFFFU)
  13839. #define CAAM_RML_MEMBLKLEN_SHIFT (0U)
  13840. #define CAAM_RML_MEMBLKLEN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RML_MEMBLKLEN_SHIFT)) & CAAM_RML_MEMBLKLEN_MASK)
  13841. /*! @} */
  13842. /* The count of CAAM_RML */
  13843. #define CAAM_RML_COUNT (4U)
  13844. /* The count of CAAM_RML */
  13845. #define CAAM_RML_COUNT2 (2U)
  13846. /*! @name RMD - RTIC Memory Block A Big Endian Hash Result Word 0..RTIC Memory Block D Little Endian Hash Result Word 31 */
  13847. /*! @{ */
  13848. #define CAAM_RMD_RTIC_Hash_Result_MASK (0xFFFFFFFFU)
  13849. #define CAAM_RMD_RTIC_Hash_Result_SHIFT (0U)
  13850. #define CAAM_RMD_RTIC_Hash_Result(x) (((uint32_t)(((uint32_t)(x)) << CAAM_RMD_RTIC_Hash_Result_SHIFT)) & CAAM_RMD_RTIC_Hash_Result_MASK)
  13851. /*! @} */
  13852. /* The count of CAAM_RMD */
  13853. #define CAAM_RMD_COUNT (4U)
  13854. /* The count of CAAM_RMD */
  13855. #define CAAM_RMD_COUNT2 (2U)
  13856. /* The count of CAAM_RMD */
  13857. #define CAAM_RMD_COUNT3 (32U)
  13858. /*! @name REIR0RTIC - Recoverable Error Interrupt Record 0 for RTIC */
  13859. /*! @{ */
  13860. #define CAAM_REIR0RTIC_TYPE_MASK (0x3000000U)
  13861. #define CAAM_REIR0RTIC_TYPE_SHIFT (24U)
  13862. #define CAAM_REIR0RTIC_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0RTIC_TYPE_SHIFT)) & CAAM_REIR0RTIC_TYPE_MASK)
  13863. #define CAAM_REIR0RTIC_MISS_MASK (0x80000000U)
  13864. #define CAAM_REIR0RTIC_MISS_SHIFT (31U)
  13865. #define CAAM_REIR0RTIC_MISS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR0RTIC_MISS_SHIFT)) & CAAM_REIR0RTIC_MISS_MASK)
  13866. /*! @} */
  13867. /*! @name REIR2RTIC - Recoverable Error Interrupt Record 2 for RTIC */
  13868. /*! @{ */
  13869. #define CAAM_REIR2RTIC_ADDR_MASK (0xFFFFFFFFFFFFFFFFU)
  13870. #define CAAM_REIR2RTIC_ADDR_SHIFT (0U)
  13871. #define CAAM_REIR2RTIC_ADDR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_REIR2RTIC_ADDR_SHIFT)) & CAAM_REIR2RTIC_ADDR_MASK)
  13872. /*! @} */
  13873. /*! @name REIR4RTIC - Recoverable Error Interrupt Record 4 for RTIC */
  13874. /*! @{ */
  13875. #define CAAM_REIR4RTIC_ICID_MASK (0x7FFU)
  13876. #define CAAM_REIR4RTIC_ICID_SHIFT (0U)
  13877. #define CAAM_REIR4RTIC_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_ICID_SHIFT)) & CAAM_REIR4RTIC_ICID_MASK)
  13878. #define CAAM_REIR4RTIC_DID_MASK (0x7800U)
  13879. #define CAAM_REIR4RTIC_DID_SHIFT (11U)
  13880. #define CAAM_REIR4RTIC_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_DID_SHIFT)) & CAAM_REIR4RTIC_DID_MASK)
  13881. #define CAAM_REIR4RTIC_AXCACHE_MASK (0xF0000U)
  13882. #define CAAM_REIR4RTIC_AXCACHE_SHIFT (16U)
  13883. #define CAAM_REIR4RTIC_AXCACHE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_AXCACHE_SHIFT)) & CAAM_REIR4RTIC_AXCACHE_MASK)
  13884. #define CAAM_REIR4RTIC_AXPROT_MASK (0x700000U)
  13885. #define CAAM_REIR4RTIC_AXPROT_SHIFT (20U)
  13886. #define CAAM_REIR4RTIC_AXPROT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_AXPROT_SHIFT)) & CAAM_REIR4RTIC_AXPROT_MASK)
  13887. #define CAAM_REIR4RTIC_RWB_MASK (0x800000U)
  13888. #define CAAM_REIR4RTIC_RWB_SHIFT (23U)
  13889. #define CAAM_REIR4RTIC_RWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_RWB_SHIFT)) & CAAM_REIR4RTIC_RWB_MASK)
  13890. #define CAAM_REIR4RTIC_ERR_MASK (0x30000000U)
  13891. #define CAAM_REIR4RTIC_ERR_SHIFT (28U)
  13892. #define CAAM_REIR4RTIC_ERR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_ERR_SHIFT)) & CAAM_REIR4RTIC_ERR_MASK)
  13893. #define CAAM_REIR4RTIC_MIX_MASK (0xC0000000U)
  13894. #define CAAM_REIR4RTIC_MIX_SHIFT (30U)
  13895. #define CAAM_REIR4RTIC_MIX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR4RTIC_MIX_SHIFT)) & CAAM_REIR4RTIC_MIX_MASK)
  13896. /*! @} */
  13897. /*! @name REIR5RTIC - Recoverable Error Interrupt Record 5 for RTIC */
  13898. /*! @{ */
  13899. #define CAAM_REIR5RTIC_BID_MASK (0xF0000U)
  13900. #define CAAM_REIR5RTIC_BID_SHIFT (16U)
  13901. #define CAAM_REIR5RTIC_BID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_BID_SHIFT)) & CAAM_REIR5RTIC_BID_MASK)
  13902. #define CAAM_REIR5RTIC_SAFE_MASK (0x1000000U)
  13903. #define CAAM_REIR5RTIC_SAFE_SHIFT (24U)
  13904. #define CAAM_REIR5RTIC_SAFE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_SAFE_SHIFT)) & CAAM_REIR5RTIC_SAFE_MASK)
  13905. #define CAAM_REIR5RTIC_SMA_MASK (0x2000000U)
  13906. #define CAAM_REIR5RTIC_SMA_SHIFT (25U)
  13907. #define CAAM_REIR5RTIC_SMA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_REIR5RTIC_SMA_SHIFT)) & CAAM_REIR5RTIC_SMA_MASK)
  13908. /*! @} */
  13909. /*! @name CC1MR - CCB 0 Class 1 Mode Register Format for Non-Public Key Algorithms */
  13910. /*! @{ */
  13911. #define CAAM_CC1MR_ENC_MASK (0x1U)
  13912. #define CAAM_CC1MR_ENC_SHIFT (0U)
  13913. /*! ENC
  13914. * 0b0..Decrypt.
  13915. * 0b1..Encrypt.
  13916. */
  13917. #define CAAM_CC1MR_ENC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ENC_SHIFT)) & CAAM_CC1MR_ENC_MASK)
  13918. #define CAAM_CC1MR_ICV_TEST_MASK (0x2U)
  13919. #define CAAM_CC1MR_ICV_TEST_SHIFT (1U)
  13920. #define CAAM_CC1MR_ICV_TEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ICV_TEST_SHIFT)) & CAAM_CC1MR_ICV_TEST_MASK)
  13921. #define CAAM_CC1MR_AS_MASK (0xCU)
  13922. #define CAAM_CC1MR_AS_SHIFT (2U)
  13923. /*! AS
  13924. * 0b00..Update
  13925. * 0b01..Initialize
  13926. * 0b10..Finalize
  13927. * 0b11..Initialize/Finalize
  13928. */
  13929. #define CAAM_CC1MR_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_AS_SHIFT)) & CAAM_CC1MR_AS_MASK)
  13930. #define CAAM_CC1MR_AAI_MASK (0x1FF0U)
  13931. #define CAAM_CC1MR_AAI_SHIFT (4U)
  13932. #define CAAM_CC1MR_AAI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_AAI_SHIFT)) & CAAM_CC1MR_AAI_MASK)
  13933. #define CAAM_CC1MR_ALG_MASK (0xFF0000U)
  13934. #define CAAM_CC1MR_ALG_SHIFT (16U)
  13935. /*! ALG
  13936. * 0b00010000..AES
  13937. * 0b00100000..DES
  13938. * 0b00100001..3DES
  13939. * 0b01010000..RNG
  13940. */
  13941. #define CAAM_CC1MR_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_ALG_SHIFT)) & CAAM_CC1MR_ALG_MASK)
  13942. /*! @} */
  13943. /* The count of CAAM_CC1MR */
  13944. #define CAAM_CC1MR_COUNT (1U)
  13945. /*! @name CC1MR_PK - CCB 0 Class 1 Mode Register Format for Public Key Algorithms */
  13946. /*! @{ */
  13947. #define CAAM_CC1MR_PK_PKHA_MODE_LS_MASK (0xFFFU)
  13948. #define CAAM_CC1MR_PK_PKHA_MODE_LS_SHIFT (0U)
  13949. #define CAAM_CC1MR_PK_PKHA_MODE_LS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_PK_PKHA_MODE_LS_SHIFT)) & CAAM_CC1MR_PK_PKHA_MODE_LS_MASK)
  13950. #define CAAM_CC1MR_PK_PKHA_MODE_MS_MASK (0xF0000U)
  13951. #define CAAM_CC1MR_PK_PKHA_MODE_MS_SHIFT (16U)
  13952. #define CAAM_CC1MR_PK_PKHA_MODE_MS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_PK_PKHA_MODE_MS_SHIFT)) & CAAM_CC1MR_PK_PKHA_MODE_MS_MASK)
  13953. /*! @} */
  13954. /* The count of CAAM_CC1MR_PK */
  13955. #define CAAM_CC1MR_PK_COUNT (1U)
  13956. /*! @name CC1MR_RNG - CCB 0 Class 1 Mode Register Format for RNG4 */
  13957. /*! @{ */
  13958. #define CAAM_CC1MR_RNG_TST_MASK (0x1U)
  13959. #define CAAM_CC1MR_RNG_TST_SHIFT (0U)
  13960. #define CAAM_CC1MR_RNG_TST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_TST_SHIFT)) & CAAM_CC1MR_RNG_TST_MASK)
  13961. #define CAAM_CC1MR_RNG_PR_MASK (0x2U)
  13962. #define CAAM_CC1MR_RNG_PR_SHIFT (1U)
  13963. #define CAAM_CC1MR_RNG_PR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_PR_SHIFT)) & CAAM_CC1MR_RNG_PR_MASK)
  13964. #define CAAM_CC1MR_RNG_AS_MASK (0xCU)
  13965. #define CAAM_CC1MR_RNG_AS_SHIFT (2U)
  13966. #define CAAM_CC1MR_RNG_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_AS_SHIFT)) & CAAM_CC1MR_RNG_AS_MASK)
  13967. #define CAAM_CC1MR_RNG_SH_MASK (0x30U)
  13968. #define CAAM_CC1MR_RNG_SH_SHIFT (4U)
  13969. /*! SH
  13970. * 0b00..State Handle 0
  13971. * 0b01..State Handle 1
  13972. * 0b10..Reserved
  13973. * 0b11..Reserved
  13974. */
  13975. #define CAAM_CC1MR_RNG_SH(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_SH_SHIFT)) & CAAM_CC1MR_RNG_SH_MASK)
  13976. #define CAAM_CC1MR_RNG_NZB_MASK (0x100U)
  13977. #define CAAM_CC1MR_RNG_NZB_SHIFT (8U)
  13978. /*! NZB
  13979. * 0b0..Generate random data with all-zero bytes permitted.
  13980. * 0b1..Generate random data without any all-zero bytes.
  13981. */
  13982. #define CAAM_CC1MR_RNG_NZB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_NZB_SHIFT)) & CAAM_CC1MR_RNG_NZB_MASK)
  13983. #define CAAM_CC1MR_RNG_OBP_MASK (0x200U)
  13984. #define CAAM_CC1MR_RNG_OBP_SHIFT (9U)
  13985. /*! OBP
  13986. * 0b0..No odd byte parity.
  13987. * 0b1..Generate random data with odd byte parity.
  13988. */
  13989. #define CAAM_CC1MR_RNG_OBP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_OBP_SHIFT)) & CAAM_CC1MR_RNG_OBP_MASK)
  13990. #define CAAM_CC1MR_RNG_PS_MASK (0x400U)
  13991. #define CAAM_CC1MR_RNG_PS_SHIFT (10U)
  13992. /*! PS
  13993. * 0b0..No personalization string is included.
  13994. * 0b1..A personalization string is included.
  13995. */
  13996. #define CAAM_CC1MR_RNG_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_PS_SHIFT)) & CAAM_CC1MR_RNG_PS_MASK)
  13997. #define CAAM_CC1MR_RNG_AI_MASK (0x800U)
  13998. #define CAAM_CC1MR_RNG_AI_SHIFT (11U)
  13999. /*! AI
  14000. * 0b0..No additional entropy input has been provided.
  14001. * 0b1..Additional entropy input has been provided.
  14002. */
  14003. #define CAAM_CC1MR_RNG_AI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_AI_SHIFT)) & CAAM_CC1MR_RNG_AI_MASK)
  14004. #define CAAM_CC1MR_RNG_SK_MASK (0x1000U)
  14005. #define CAAM_CC1MR_RNG_SK_SHIFT (12U)
  14006. /*! SK
  14007. * 0b0..The destination for the RNG data is specified by the FIFO STORE command.
  14008. * 0b1..The RNG data will go to the JDKEKR, TDKEKR and DSKR.
  14009. */
  14010. #define CAAM_CC1MR_RNG_SK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_SK_SHIFT)) & CAAM_CC1MR_RNG_SK_MASK)
  14011. #define CAAM_CC1MR_RNG_ALG_MASK (0xFF0000U)
  14012. #define CAAM_CC1MR_RNG_ALG_SHIFT (16U)
  14013. /*! ALG
  14014. * 0b01010000..RNG
  14015. */
  14016. #define CAAM_CC1MR_RNG_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1MR_RNG_ALG_SHIFT)) & CAAM_CC1MR_RNG_ALG_MASK)
  14017. /*! @} */
  14018. /* The count of CAAM_CC1MR_RNG */
  14019. #define CAAM_CC1MR_RNG_COUNT (1U)
  14020. /*! @name CC1KSR - CCB 0 Class 1 Key Size Register */
  14021. /*! @{ */
  14022. #define CAAM_CC1KSR_C1KS_MASK (0x7FU)
  14023. #define CAAM_CC1KSR_C1KS_SHIFT (0U)
  14024. #define CAAM_CC1KSR_C1KS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1KSR_C1KS_SHIFT)) & CAAM_CC1KSR_C1KS_MASK)
  14025. /*! @} */
  14026. /* The count of CAAM_CC1KSR */
  14027. #define CAAM_CC1KSR_COUNT (1U)
  14028. /*! @name CC1DSR - CCB 0 Class 1 Data Size Register */
  14029. /*! @{ */
  14030. #define CAAM_CC1DSR_C1DS_MASK (0xFFFFFFFFU)
  14031. #define CAAM_CC1DSR_C1DS_SHIFT (0U)
  14032. #define CAAM_CC1DSR_C1DS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_C1DS_SHIFT)) & CAAM_CC1DSR_C1DS_MASK)
  14033. #define CAAM_CC1DSR_C1CY_MASK (0x100000000U)
  14034. #define CAAM_CC1DSR_C1CY_SHIFT (32U)
  14035. /*! C1CY
  14036. * 0b0..No carry out of the C1 Data Size Reg.
  14037. * 0b1..There was a carry out of the C1 Data Size Reg.
  14038. */
  14039. #define CAAM_CC1DSR_C1CY(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_C1CY_SHIFT)) & CAAM_CC1DSR_C1CY_MASK)
  14040. #define CAAM_CC1DSR_NUMBITS_MASK (0xE000000000000000U)
  14041. #define CAAM_CC1DSR_NUMBITS_SHIFT (61U)
  14042. #define CAAM_CC1DSR_NUMBITS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC1DSR_NUMBITS_SHIFT)) & CAAM_CC1DSR_NUMBITS_MASK)
  14043. /*! @} */
  14044. /* The count of CAAM_CC1DSR */
  14045. #define CAAM_CC1DSR_COUNT (1U)
  14046. /*! @name CC1ICVSR - CCB 0 Class 1 ICV Size Register */
  14047. /*! @{ */
  14048. #define CAAM_CC1ICVSR_C1ICVS_MASK (0x1FU)
  14049. #define CAAM_CC1ICVSR_C1ICVS_SHIFT (0U)
  14050. #define CAAM_CC1ICVSR_C1ICVS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1ICVSR_C1ICVS_SHIFT)) & CAAM_CC1ICVSR_C1ICVS_MASK)
  14051. /*! @} */
  14052. /* The count of CAAM_CC1ICVSR */
  14053. #define CAAM_CC1ICVSR_COUNT (1U)
  14054. /*! @name CCCTRL - CCB 0 CHA Control Register */
  14055. /*! @{ */
  14056. #define CAAM_CCCTRL_CCB_MASK (0x1U)
  14057. #define CAAM_CCCTRL_CCB_SHIFT (0U)
  14058. /*! CCB
  14059. * 0b0..Do Not Reset
  14060. * 0b1..Reset CCB
  14061. */
  14062. #define CAAM_CCCTRL_CCB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_CCB_SHIFT)) & CAAM_CCCTRL_CCB_MASK)
  14063. #define CAAM_CCCTRL_AES_MASK (0x2U)
  14064. #define CAAM_CCCTRL_AES_SHIFT (1U)
  14065. /*! AES
  14066. * 0b0..Do Not Reset
  14067. * 0b1..Reset AES Accelerator
  14068. */
  14069. #define CAAM_CCCTRL_AES(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_AES_SHIFT)) & CAAM_CCCTRL_AES_MASK)
  14070. #define CAAM_CCCTRL_DES_MASK (0x4U)
  14071. #define CAAM_CCCTRL_DES_SHIFT (2U)
  14072. /*! DES
  14073. * 0b0..Do Not Reset
  14074. * 0b1..Reset DES Accelerator
  14075. */
  14076. #define CAAM_CCCTRL_DES(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_DES_SHIFT)) & CAAM_CCCTRL_DES_MASK)
  14077. #define CAAM_CCCTRL_PK_MASK (0x40U)
  14078. #define CAAM_CCCTRL_PK_SHIFT (6U)
  14079. /*! PK
  14080. * 0b0..Do Not Reset
  14081. * 0b1..Reset Public Key Hardware Accelerator
  14082. */
  14083. #define CAAM_CCCTRL_PK(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_PK_SHIFT)) & CAAM_CCCTRL_PK_MASK)
  14084. #define CAAM_CCCTRL_MD_MASK (0x80U)
  14085. #define CAAM_CCCTRL_MD_SHIFT (7U)
  14086. /*! MD
  14087. * 0b0..Do Not Reset
  14088. * 0b1..Reset Message Digest Hardware Accelerator
  14089. */
  14090. #define CAAM_CCCTRL_MD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_MD_SHIFT)) & CAAM_CCCTRL_MD_MASK)
  14091. #define CAAM_CCCTRL_CRC_MASK (0x100U)
  14092. #define CAAM_CCCTRL_CRC_SHIFT (8U)
  14093. /*! CRC
  14094. * 0b0..Do Not Reset
  14095. * 0b1..Reset CRC Accelerator
  14096. */
  14097. #define CAAM_CCCTRL_CRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_CRC_SHIFT)) & CAAM_CCCTRL_CRC_MASK)
  14098. #define CAAM_CCCTRL_RNG_MASK (0x200U)
  14099. #define CAAM_CCCTRL_RNG_SHIFT (9U)
  14100. /*! RNG
  14101. * 0b0..Do Not Reset
  14102. * 0b1..Reset Random Number Generator Block.
  14103. */
  14104. #define CAAM_CCCTRL_RNG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_RNG_SHIFT)) & CAAM_CCCTRL_RNG_MASK)
  14105. #define CAAM_CCCTRL_UA0_MASK (0x10000U)
  14106. #define CAAM_CCCTRL_UA0_SHIFT (16U)
  14107. /*! UA0
  14108. * 0b0..Don't unload the PKHA A0 Memory.
  14109. * 0b1..Unload the PKHA A0 Memory into OFIFO.
  14110. */
  14111. #define CAAM_CCCTRL_UA0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA0_SHIFT)) & CAAM_CCCTRL_UA0_MASK)
  14112. #define CAAM_CCCTRL_UA1_MASK (0x20000U)
  14113. #define CAAM_CCCTRL_UA1_SHIFT (17U)
  14114. /*! UA1
  14115. * 0b0..Don't unload the PKHA A1 Memory.
  14116. * 0b1..Unload the PKHA A1 Memory into OFIFO.
  14117. */
  14118. #define CAAM_CCCTRL_UA1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA1_SHIFT)) & CAAM_CCCTRL_UA1_MASK)
  14119. #define CAAM_CCCTRL_UA2_MASK (0x40000U)
  14120. #define CAAM_CCCTRL_UA2_SHIFT (18U)
  14121. /*! UA2
  14122. * 0b0..Don't unload the PKHA A2 Memory.
  14123. * 0b1..Unload the PKHA A2 Memory into OFIFO.
  14124. */
  14125. #define CAAM_CCCTRL_UA2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA2_SHIFT)) & CAAM_CCCTRL_UA2_MASK)
  14126. #define CAAM_CCCTRL_UA3_MASK (0x80000U)
  14127. #define CAAM_CCCTRL_UA3_SHIFT (19U)
  14128. /*! UA3
  14129. * 0b0..Don't unload the PKHA A3 Memory.
  14130. * 0b1..Unload the PKHA A3 Memory into OFIFO.
  14131. */
  14132. #define CAAM_CCCTRL_UA3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA3_SHIFT)) & CAAM_CCCTRL_UA3_MASK)
  14133. #define CAAM_CCCTRL_UB0_MASK (0x100000U)
  14134. #define CAAM_CCCTRL_UB0_SHIFT (20U)
  14135. /*! UB0
  14136. * 0b0..Don't unload the PKHA B0 Memory.
  14137. * 0b1..Unload the PKHA B0 Memory into OFIFO.
  14138. */
  14139. #define CAAM_CCCTRL_UB0(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB0_SHIFT)) & CAAM_CCCTRL_UB0_MASK)
  14140. #define CAAM_CCCTRL_UB1_MASK (0x200000U)
  14141. #define CAAM_CCCTRL_UB1_SHIFT (21U)
  14142. /*! UB1
  14143. * 0b0..Don't unload the PKHA B1 Memory.
  14144. * 0b1..Unload the PKHA B1 Memory into OFIFO.
  14145. */
  14146. #define CAAM_CCCTRL_UB1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB1_SHIFT)) & CAAM_CCCTRL_UB1_MASK)
  14147. #define CAAM_CCCTRL_UB2_MASK (0x400000U)
  14148. #define CAAM_CCCTRL_UB2_SHIFT (22U)
  14149. /*! UB2
  14150. * 0b0..Don't unload the PKHA B2 Memory.
  14151. * 0b1..Unload the PKHA B2 Memory into OFIFO.
  14152. */
  14153. #define CAAM_CCCTRL_UB2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB2_SHIFT)) & CAAM_CCCTRL_UB2_MASK)
  14154. #define CAAM_CCCTRL_UB3_MASK (0x800000U)
  14155. #define CAAM_CCCTRL_UB3_SHIFT (23U)
  14156. /*! UB3
  14157. * 0b0..Don't unload the PKHA B3 Memory.
  14158. * 0b1..Unload the PKHA B3 Memory into OFIFO.
  14159. */
  14160. #define CAAM_CCCTRL_UB3(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB3_SHIFT)) & CAAM_CCCTRL_UB3_MASK)
  14161. #define CAAM_CCCTRL_UN_MASK (0x1000000U)
  14162. #define CAAM_CCCTRL_UN_SHIFT (24U)
  14163. /*! UN
  14164. * 0b0..Don't unload the PKHA N Memory.
  14165. * 0b1..Unload the PKHA N Memory into OFIFO.
  14166. */
  14167. #define CAAM_CCCTRL_UN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UN_SHIFT)) & CAAM_CCCTRL_UN_MASK)
  14168. #define CAAM_CCCTRL_UA_MASK (0x4000000U)
  14169. #define CAAM_CCCTRL_UA_SHIFT (26U)
  14170. /*! UA
  14171. * 0b0..Don't unload the PKHA A Memory.
  14172. * 0b1..Unload the PKHA A Memory into OFIFO.
  14173. */
  14174. #define CAAM_CCCTRL_UA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UA_SHIFT)) & CAAM_CCCTRL_UA_MASK)
  14175. #define CAAM_CCCTRL_UB_MASK (0x8000000U)
  14176. #define CAAM_CCCTRL_UB_SHIFT (27U)
  14177. /*! UB
  14178. * 0b0..Don't unload the PKHA B Memory.
  14179. * 0b1..Unload the PKHA B Memory into OFIFO.
  14180. */
  14181. #define CAAM_CCCTRL_UB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCCTRL_UB_SHIFT)) & CAAM_CCCTRL_UB_MASK)
  14182. /*! @} */
  14183. /* The count of CAAM_CCCTRL */
  14184. #define CAAM_CCCTRL_COUNT (1U)
  14185. /*! @name CICTL - CCB 0 Interrupt Control Register */
  14186. /*! @{ */
  14187. #define CAAM_CICTL_ADI_MASK (0x2U)
  14188. #define CAAM_CICTL_ADI_SHIFT (1U)
  14189. #define CAAM_CICTL_ADI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_ADI_SHIFT)) & CAAM_CICTL_ADI_MASK)
  14190. #define CAAM_CICTL_DDI_MASK (0x4U)
  14191. #define CAAM_CICTL_DDI_SHIFT (2U)
  14192. #define CAAM_CICTL_DDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_DDI_SHIFT)) & CAAM_CICTL_DDI_MASK)
  14193. #define CAAM_CICTL_PDI_MASK (0x40U)
  14194. #define CAAM_CICTL_PDI_SHIFT (6U)
  14195. #define CAAM_CICTL_PDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_PDI_SHIFT)) & CAAM_CICTL_PDI_MASK)
  14196. #define CAAM_CICTL_MDI_MASK (0x80U)
  14197. #define CAAM_CICTL_MDI_SHIFT (7U)
  14198. #define CAAM_CICTL_MDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_MDI_SHIFT)) & CAAM_CICTL_MDI_MASK)
  14199. #define CAAM_CICTL_CDI_MASK (0x100U)
  14200. #define CAAM_CICTL_CDI_SHIFT (8U)
  14201. #define CAAM_CICTL_CDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_CDI_SHIFT)) & CAAM_CICTL_CDI_MASK)
  14202. #define CAAM_CICTL_RNDI_MASK (0x200U)
  14203. #define CAAM_CICTL_RNDI_SHIFT (9U)
  14204. #define CAAM_CICTL_RNDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_RNDI_SHIFT)) & CAAM_CICTL_RNDI_MASK)
  14205. #define CAAM_CICTL_AEI_MASK (0x20000U)
  14206. #define CAAM_CICTL_AEI_SHIFT (17U)
  14207. /*! AEI
  14208. * 0b0..No AESA error detected
  14209. * 0b1..AESA error detected
  14210. */
  14211. #define CAAM_CICTL_AEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_AEI_SHIFT)) & CAAM_CICTL_AEI_MASK)
  14212. #define CAAM_CICTL_DEI_MASK (0x40000U)
  14213. #define CAAM_CICTL_DEI_SHIFT (18U)
  14214. /*! DEI
  14215. * 0b0..No DESA error detected
  14216. * 0b1..DESA error detected
  14217. */
  14218. #define CAAM_CICTL_DEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_DEI_SHIFT)) & CAAM_CICTL_DEI_MASK)
  14219. #define CAAM_CICTL_PEI_MASK (0x400000U)
  14220. #define CAAM_CICTL_PEI_SHIFT (22U)
  14221. /*! PEI
  14222. * 0b0..No PKHA error detected
  14223. * 0b1..PKHA error detected
  14224. */
  14225. #define CAAM_CICTL_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_PEI_SHIFT)) & CAAM_CICTL_PEI_MASK)
  14226. #define CAAM_CICTL_MEI_MASK (0x800000U)
  14227. #define CAAM_CICTL_MEI_SHIFT (23U)
  14228. /*! MEI
  14229. * 0b0..No MDHA error detected
  14230. * 0b1..MDHA error detected
  14231. */
  14232. #define CAAM_CICTL_MEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_MEI_SHIFT)) & CAAM_CICTL_MEI_MASK)
  14233. #define CAAM_CICTL_CEI_MASK (0x1000000U)
  14234. #define CAAM_CICTL_CEI_SHIFT (24U)
  14235. /*! CEI
  14236. * 0b0..No CRCA error detected
  14237. * 0b1..CRCA error detected
  14238. */
  14239. #define CAAM_CICTL_CEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_CEI_SHIFT)) & CAAM_CICTL_CEI_MASK)
  14240. #define CAAM_CICTL_RNEI_MASK (0x2000000U)
  14241. #define CAAM_CICTL_RNEI_SHIFT (25U)
  14242. /*! RNEI
  14243. * 0b0..No RNG error detected
  14244. * 0b1..RNG error detected
  14245. */
  14246. #define CAAM_CICTL_RNEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CICTL_RNEI_SHIFT)) & CAAM_CICTL_RNEI_MASK)
  14247. /*! @} */
  14248. /* The count of CAAM_CICTL */
  14249. #define CAAM_CICTL_COUNT (1U)
  14250. /*! @name CCWR - CCB 0 Clear Written Register */
  14251. /*! @{ */
  14252. #define CAAM_CCWR_C1M_MASK (0x1U)
  14253. #define CAAM_CCWR_C1M_SHIFT (0U)
  14254. /*! C1M
  14255. * 0b0..Don't clear the Class 1 Mode Register.
  14256. * 0b1..Clear the Class 1 Mode Register.
  14257. */
  14258. #define CAAM_CCWR_C1M(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1M_SHIFT)) & CAAM_CCWR_C1M_MASK)
  14259. #define CAAM_CCWR_C1DS_MASK (0x4U)
  14260. #define CAAM_CCWR_C1DS_SHIFT (2U)
  14261. /*! C1DS
  14262. * 0b0..Don't clear the Class 1 Data Size Register.
  14263. * 0b1..Clear the Class 1 Data Size Register.
  14264. */
  14265. #define CAAM_CCWR_C1DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1DS_SHIFT)) & CAAM_CCWR_C1DS_MASK)
  14266. #define CAAM_CCWR_C1ICV_MASK (0x8U)
  14267. #define CAAM_CCWR_C1ICV_SHIFT (3U)
  14268. /*! C1ICV
  14269. * 0b0..Don't clear the Class 1 ICV Size Register.
  14270. * 0b1..Clear the Class 1 ICV Size Register.
  14271. */
  14272. #define CAAM_CCWR_C1ICV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1ICV_SHIFT)) & CAAM_CCWR_C1ICV_MASK)
  14273. #define CAAM_CCWR_C1C_MASK (0x20U)
  14274. #define CAAM_CCWR_C1C_SHIFT (5U)
  14275. /*! C1C
  14276. * 0b0..Don't clear the Class 1 Context Register.
  14277. * 0b1..Clear the Class 1 Context Register.
  14278. */
  14279. #define CAAM_CCWR_C1C(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1C_SHIFT)) & CAAM_CCWR_C1C_MASK)
  14280. #define CAAM_CCWR_C1K_MASK (0x40U)
  14281. #define CAAM_CCWR_C1K_SHIFT (6U)
  14282. /*! C1K
  14283. * 0b0..Don't clear the Class 1 Key Register.
  14284. * 0b1..Clear the Class 1 Key Register.
  14285. */
  14286. #define CAAM_CCWR_C1K(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1K_SHIFT)) & CAAM_CCWR_C1K_MASK)
  14287. #define CAAM_CCWR_CPKA_MASK (0x1000U)
  14288. #define CAAM_CCWR_CPKA_SHIFT (12U)
  14289. /*! CPKA
  14290. * 0b0..Don't clear the PKHA A Size Register.
  14291. * 0b1..Clear the PKHA A Size Register.
  14292. */
  14293. #define CAAM_CCWR_CPKA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKA_SHIFT)) & CAAM_CCWR_CPKA_MASK)
  14294. #define CAAM_CCWR_CPKB_MASK (0x2000U)
  14295. #define CAAM_CCWR_CPKB_SHIFT (13U)
  14296. /*! CPKB
  14297. * 0b0..Don't clear the PKHA B Size Register.
  14298. * 0b1..Clear the PKHA B Size Register.
  14299. */
  14300. #define CAAM_CCWR_CPKB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKB_SHIFT)) & CAAM_CCWR_CPKB_MASK)
  14301. #define CAAM_CCWR_CPKN_MASK (0x4000U)
  14302. #define CAAM_CCWR_CPKN_SHIFT (14U)
  14303. /*! CPKN
  14304. * 0b0..Don't clear the PKHA N Size Register.
  14305. * 0b1..Clear the PKHA N Size Register.
  14306. */
  14307. #define CAAM_CCWR_CPKN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKN_SHIFT)) & CAAM_CCWR_CPKN_MASK)
  14308. #define CAAM_CCWR_CPKE_MASK (0x8000U)
  14309. #define CAAM_CCWR_CPKE_SHIFT (15U)
  14310. /*! CPKE
  14311. * 0b0..Don't clear the PKHA E Size Register..
  14312. * 0b1..Clear the PKHA E Size Register.
  14313. */
  14314. #define CAAM_CCWR_CPKE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CPKE_SHIFT)) & CAAM_CCWR_CPKE_MASK)
  14315. #define CAAM_CCWR_C2M_MASK (0x10000U)
  14316. #define CAAM_CCWR_C2M_SHIFT (16U)
  14317. /*! C2M
  14318. * 0b0..Don't clear the Class 2 Mode Register.
  14319. * 0b1..Clear the Class 2 Mode Register.
  14320. */
  14321. #define CAAM_CCWR_C2M(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2M_SHIFT)) & CAAM_CCWR_C2M_MASK)
  14322. #define CAAM_CCWR_C2DS_MASK (0x40000U)
  14323. #define CAAM_CCWR_C2DS_SHIFT (18U)
  14324. /*! C2DS
  14325. * 0b0..Don't clear the Class 2 Data Size Register.
  14326. * 0b1..Clear the Class 2 Data Size Register.
  14327. */
  14328. #define CAAM_CCWR_C2DS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2DS_SHIFT)) & CAAM_CCWR_C2DS_MASK)
  14329. #define CAAM_CCWR_C2C_MASK (0x200000U)
  14330. #define CAAM_CCWR_C2C_SHIFT (21U)
  14331. /*! C2C
  14332. * 0b0..Don't clear the Class 2 Context Register.
  14333. * 0b1..Clear the Class 2 Context Register.
  14334. */
  14335. #define CAAM_CCWR_C2C(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2C_SHIFT)) & CAAM_CCWR_C2C_MASK)
  14336. #define CAAM_CCWR_C2K_MASK (0x400000U)
  14337. #define CAAM_CCWR_C2K_SHIFT (22U)
  14338. /*! C2K
  14339. * 0b0..Don't clear the Class 2 Key Register.
  14340. * 0b1..Clear the Class 2 Key Register.
  14341. */
  14342. #define CAAM_CCWR_C2K(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2K_SHIFT)) & CAAM_CCWR_C2K_MASK)
  14343. #define CAAM_CCWR_CDS_MASK (0x2000000U)
  14344. #define CAAM_CCWR_CDS_SHIFT (25U)
  14345. /*! CDS
  14346. * 0b0..Don't clear the shared descriptor signal.
  14347. * 0b1..Clear the shared descriptor signal.
  14348. */
  14349. #define CAAM_CCWR_CDS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CDS_SHIFT)) & CAAM_CCWR_CDS_MASK)
  14350. #define CAAM_CCWR_C2D_MASK (0x4000000U)
  14351. #define CAAM_CCWR_C2D_SHIFT (26U)
  14352. /*! C2D
  14353. * 0b0..Don't clear the Class 2 done interrrupt.
  14354. * 0b1..Clear the Class 2 done interrrupt.
  14355. */
  14356. #define CAAM_CCWR_C2D(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2D_SHIFT)) & CAAM_CCWR_C2D_MASK)
  14357. #define CAAM_CCWR_C1D_MASK (0x8000000U)
  14358. #define CAAM_CCWR_C1D_SHIFT (27U)
  14359. /*! C1D
  14360. * 0b0..Don't clear the Class 1 done interrrupt.
  14361. * 0b1..Clear the Class 1 done interrrupt.
  14362. */
  14363. #define CAAM_CCWR_C1D(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1D_SHIFT)) & CAAM_CCWR_C1D_MASK)
  14364. #define CAAM_CCWR_C2RST_MASK (0x10000000U)
  14365. #define CAAM_CCWR_C2RST_SHIFT (28U)
  14366. /*! C2RST
  14367. * 0b0..Don't reset the Class 2 CHA.
  14368. * 0b1..Reset the Class 2 CHA.
  14369. */
  14370. #define CAAM_CCWR_C2RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C2RST_SHIFT)) & CAAM_CCWR_C2RST_MASK)
  14371. #define CAAM_CCWR_C1RST_MASK (0x20000000U)
  14372. #define CAAM_CCWR_C1RST_SHIFT (29U)
  14373. /*! C1RST
  14374. * 0b0..Don't reset the Class 1 CHA.
  14375. * 0b1..Reset the Class 1 CHA.
  14376. */
  14377. #define CAAM_CCWR_C1RST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_C1RST_SHIFT)) & CAAM_CCWR_C1RST_MASK)
  14378. #define CAAM_CCWR_COF_MASK (0x40000000U)
  14379. #define CAAM_CCWR_COF_SHIFT (30U)
  14380. /*! COF
  14381. * 0b0..Don't clear the OFIFO.
  14382. * 0b1..Clear the OFIFO.
  14383. */
  14384. #define CAAM_CCWR_COF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_COF_SHIFT)) & CAAM_CCWR_COF_MASK)
  14385. #define CAAM_CCWR_CIF_MASK (0x80000000U)
  14386. #define CAAM_CCWR_CIF_SHIFT (31U)
  14387. /*! CIF
  14388. * 0b0..Don't clear the IFIFO.
  14389. * 0b1..Clear the IFIFO.
  14390. */
  14391. #define CAAM_CCWR_CIF(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCWR_CIF_SHIFT)) & CAAM_CCWR_CIF_MASK)
  14392. /*! @} */
  14393. /* The count of CAAM_CCWR */
  14394. #define CAAM_CCWR_COUNT (1U)
  14395. /*! @name CCSTA_MS - CCB 0 Status and Error Register, most-significant half */
  14396. /*! @{ */
  14397. #define CAAM_CCSTA_MS_ERRID1_MASK (0xFU)
  14398. #define CAAM_CCSTA_MS_ERRID1_SHIFT (0U)
  14399. /*! ERRID1
  14400. * 0b0001..Mode Error
  14401. * 0b0010..Data Size Error, including PKHA N Memory Size Error
  14402. * 0b0011..Key Size Error, including PKHA E Memory Size Error
  14403. * 0b0100..PKHA A Memory Size Error
  14404. * 0b0101..PKHA B Memory Size Error
  14405. * 0b0110..Data Arrived out of Sequence Error
  14406. * 0b0111..PKHA Divide by Zero Error
  14407. * 0b1000..PKHA Modulus Even Error
  14408. * 0b1001..DES Key Parity Error
  14409. * 0b1010..ICV Check Failed
  14410. * 0b1011..Internal Hardware Failure
  14411. * 0b1100..CCM AAD Size Error (either 1. AAD flag in B0 =1 and no AAD type provided, 2. AAD flag in B0 = 0 and
  14412. * AAD provided, or 3. AAD flag in B0 =1 and not enough AAD provided - expecting more based on AAD size.)
  14413. * 0b1101..Class 1 CHA is not reset
  14414. * 0b1110..Invalid CHA combination was selected
  14415. * 0b1111..Invalid CHA Selected
  14416. */
  14417. #define CAAM_CCSTA_MS_ERRID1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_ERRID1_SHIFT)) & CAAM_CCSTA_MS_ERRID1_MASK)
  14418. #define CAAM_CCSTA_MS_CL1_MASK (0xF000U)
  14419. #define CAAM_CCSTA_MS_CL1_SHIFT (12U)
  14420. /*! CL1
  14421. * 0b0001..AES
  14422. * 0b0010..DES
  14423. * 0b0101..RNG
  14424. * 0b1000..Public Key
  14425. */
  14426. #define CAAM_CCSTA_MS_CL1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_CL1_SHIFT)) & CAAM_CCSTA_MS_CL1_MASK)
  14427. #define CAAM_CCSTA_MS_ERRID2_MASK (0xF0000U)
  14428. #define CAAM_CCSTA_MS_ERRID2_SHIFT (16U)
  14429. /*! ERRID2
  14430. * 0b0001..Mode Error
  14431. * 0b0010..Data Size Error
  14432. * 0b0011..Key Size Error
  14433. * 0b0110..Data Arrived out of Sequence Error
  14434. * 0b1010..ICV Check Failed
  14435. * 0b1011..Internal Hardware Failure
  14436. * 0b1110..Invalid CHA combination was selected.
  14437. * 0b1111..Invalid CHA Selected
  14438. */
  14439. #define CAAM_CCSTA_MS_ERRID2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_ERRID2_SHIFT)) & CAAM_CCSTA_MS_ERRID2_MASK)
  14440. #define CAAM_CCSTA_MS_CL2_MASK (0xF0000000U)
  14441. #define CAAM_CCSTA_MS_CL2_SHIFT (28U)
  14442. /*! CL2
  14443. * 0b0100..MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 and SHA-512/224, SHA-512/256
  14444. * 0b1001..CRC
  14445. */
  14446. #define CAAM_CCSTA_MS_CL2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_MS_CL2_SHIFT)) & CAAM_CCSTA_MS_CL2_MASK)
  14447. /*! @} */
  14448. /* The count of CAAM_CCSTA_MS */
  14449. #define CAAM_CCSTA_MS_COUNT (1U)
  14450. /*! @name CCSTA_LS - CCB 0 Status and Error Register, least-significant half */
  14451. /*! @{ */
  14452. #define CAAM_CCSTA_LS_AB_MASK (0x2U)
  14453. #define CAAM_CCSTA_LS_AB_SHIFT (1U)
  14454. /*! AB
  14455. * 0b0..AESA Idle
  14456. * 0b1..AESA Busy
  14457. */
  14458. #define CAAM_CCSTA_LS_AB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_AB_SHIFT)) & CAAM_CCSTA_LS_AB_MASK)
  14459. #define CAAM_CCSTA_LS_DB_MASK (0x4U)
  14460. #define CAAM_CCSTA_LS_DB_SHIFT (2U)
  14461. /*! DB
  14462. * 0b0..DESA Idle
  14463. * 0b1..DESA Busy
  14464. */
  14465. #define CAAM_CCSTA_LS_DB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_DB_SHIFT)) & CAAM_CCSTA_LS_DB_MASK)
  14466. #define CAAM_CCSTA_LS_PB_MASK (0x40U)
  14467. #define CAAM_CCSTA_LS_PB_SHIFT (6U)
  14468. /*! PB
  14469. * 0b0..PKHA Idle
  14470. * 0b1..PKHA Busy
  14471. */
  14472. #define CAAM_CCSTA_LS_PB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PB_SHIFT)) & CAAM_CCSTA_LS_PB_MASK)
  14473. #define CAAM_CCSTA_LS_MB_MASK (0x80U)
  14474. #define CAAM_CCSTA_LS_MB_SHIFT (7U)
  14475. /*! MB
  14476. * 0b0..MDHA Idle
  14477. * 0b1..MDHA Busy
  14478. */
  14479. #define CAAM_CCSTA_LS_MB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_MB_SHIFT)) & CAAM_CCSTA_LS_MB_MASK)
  14480. #define CAAM_CCSTA_LS_CB_MASK (0x100U)
  14481. #define CAAM_CCSTA_LS_CB_SHIFT (8U)
  14482. /*! CB
  14483. * 0b0..CRCA Idle
  14484. * 0b1..CRCA Busy
  14485. */
  14486. #define CAAM_CCSTA_LS_CB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_CB_SHIFT)) & CAAM_CCSTA_LS_CB_MASK)
  14487. #define CAAM_CCSTA_LS_RNB_MASK (0x200U)
  14488. #define CAAM_CCSTA_LS_RNB_SHIFT (9U)
  14489. /*! RNB
  14490. * 0b0..RNG Idle
  14491. * 0b1..RNG Busy
  14492. */
  14493. #define CAAM_CCSTA_LS_RNB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_RNB_SHIFT)) & CAAM_CCSTA_LS_RNB_MASK)
  14494. #define CAAM_CCSTA_LS_PDI_MASK (0x10000U)
  14495. #define CAAM_CCSTA_LS_PDI_SHIFT (16U)
  14496. /*! PDI
  14497. * 0b0..Not Done
  14498. * 0b1..Done Interrupt
  14499. */
  14500. #define CAAM_CCSTA_LS_PDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PDI_SHIFT)) & CAAM_CCSTA_LS_PDI_MASK)
  14501. #define CAAM_CCSTA_LS_SDI_MASK (0x20000U)
  14502. #define CAAM_CCSTA_LS_SDI_SHIFT (17U)
  14503. /*! SDI
  14504. * 0b0..Not Done
  14505. * 0b1..Done Interrupt
  14506. */
  14507. #define CAAM_CCSTA_LS_SDI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_SDI_SHIFT)) & CAAM_CCSTA_LS_SDI_MASK)
  14508. #define CAAM_CCSTA_LS_PEI_MASK (0x100000U)
  14509. #define CAAM_CCSTA_LS_PEI_SHIFT (20U)
  14510. /*! PEI
  14511. * 0b0..No Error
  14512. * 0b1..Error Interrupt
  14513. */
  14514. #define CAAM_CCSTA_LS_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PEI_SHIFT)) & CAAM_CCSTA_LS_PEI_MASK)
  14515. #define CAAM_CCSTA_LS_SEI_MASK (0x200000U)
  14516. #define CAAM_CCSTA_LS_SEI_SHIFT (21U)
  14517. /*! SEI
  14518. * 0b0..No Error
  14519. * 0b1..Error Interrupt
  14520. */
  14521. #define CAAM_CCSTA_LS_SEI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_SEI_SHIFT)) & CAAM_CCSTA_LS_SEI_MASK)
  14522. #define CAAM_CCSTA_LS_PRM_MASK (0x10000000U)
  14523. #define CAAM_CCSTA_LS_PRM_SHIFT (28U)
  14524. /*! PRM
  14525. * 0b0..The given number is NOT prime.
  14526. * 0b1..The given number is probably prime.
  14527. */
  14528. #define CAAM_CCSTA_LS_PRM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PRM_SHIFT)) & CAAM_CCSTA_LS_PRM_MASK)
  14529. #define CAAM_CCSTA_LS_GCD_MASK (0x20000000U)
  14530. #define CAAM_CCSTA_LS_GCD_SHIFT (29U)
  14531. /*! GCD
  14532. * 0b0..The greatest common divisor of two numbers is NOT one.
  14533. * 0b1..The greatest common divisor of two numbers is one.
  14534. */
  14535. #define CAAM_CCSTA_LS_GCD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_GCD_SHIFT)) & CAAM_CCSTA_LS_GCD_MASK)
  14536. #define CAAM_CCSTA_LS_PIZ_MASK (0x40000000U)
  14537. #define CAAM_CCSTA_LS_PIZ_SHIFT (30U)
  14538. /*! PIZ
  14539. * 0b0..The result of a Public Key operation is not zero.
  14540. * 0b1..The result of a Public Key operation is zero.
  14541. */
  14542. #define CAAM_CCSTA_LS_PIZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CCSTA_LS_PIZ_SHIFT)) & CAAM_CCSTA_LS_PIZ_MASK)
  14543. /*! @} */
  14544. /* The count of CAAM_CCSTA_LS */
  14545. #define CAAM_CCSTA_LS_COUNT (1U)
  14546. /*! @name CC1AADSZR - CCB 0 Class 1 AAD Size Register */
  14547. /*! @{ */
  14548. #define CAAM_CC1AADSZR_AASZ_MASK (0xFU)
  14549. #define CAAM_CC1AADSZR_AASZ_SHIFT (0U)
  14550. #define CAAM_CC1AADSZR_AASZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1AADSZR_AASZ_SHIFT)) & CAAM_CC1AADSZR_AASZ_MASK)
  14551. /*! @} */
  14552. /* The count of CAAM_CC1AADSZR */
  14553. #define CAAM_CC1AADSZR_COUNT (1U)
  14554. /*! @name CC1IVSZR - CCB 0 Class 1 IV Size Register */
  14555. /*! @{ */
  14556. #define CAAM_CC1IVSZR_IVSZ_MASK (0xFU)
  14557. #define CAAM_CC1IVSZR_IVSZ_SHIFT (0U)
  14558. #define CAAM_CC1IVSZR_IVSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1IVSZR_IVSZ_SHIFT)) & CAAM_CC1IVSZR_IVSZ_MASK)
  14559. /*! @} */
  14560. /* The count of CAAM_CC1IVSZR */
  14561. #define CAAM_CC1IVSZR_COUNT (1U)
  14562. /*! @name CPKASZR - PKHA A Size Register */
  14563. /*! @{ */
  14564. #define CAAM_CPKASZR_PKASZ_MASK (0x3FFU)
  14565. #define CAAM_CPKASZR_PKASZ_SHIFT (0U)
  14566. #define CAAM_CPKASZR_PKASZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKASZR_PKASZ_SHIFT)) & CAAM_CPKASZR_PKASZ_MASK)
  14567. /*! @} */
  14568. /* The count of CAAM_CPKASZR */
  14569. #define CAAM_CPKASZR_COUNT (1U)
  14570. /*! @name CPKBSZR - PKHA B Size Register */
  14571. /*! @{ */
  14572. #define CAAM_CPKBSZR_PKBSZ_MASK (0x3FFU)
  14573. #define CAAM_CPKBSZR_PKBSZ_SHIFT (0U)
  14574. #define CAAM_CPKBSZR_PKBSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKBSZR_PKBSZ_SHIFT)) & CAAM_CPKBSZR_PKBSZ_MASK)
  14575. /*! @} */
  14576. /* The count of CAAM_CPKBSZR */
  14577. #define CAAM_CPKBSZR_COUNT (1U)
  14578. /*! @name CPKNSZR - PKHA N Size Register */
  14579. /*! @{ */
  14580. #define CAAM_CPKNSZR_PKNSZ_MASK (0x3FFU)
  14581. #define CAAM_CPKNSZR_PKNSZ_SHIFT (0U)
  14582. #define CAAM_CPKNSZR_PKNSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKNSZR_PKNSZ_SHIFT)) & CAAM_CPKNSZR_PKNSZ_MASK)
  14583. /*! @} */
  14584. /* The count of CAAM_CPKNSZR */
  14585. #define CAAM_CPKNSZR_COUNT (1U)
  14586. /*! @name CPKESZR - PKHA E Size Register */
  14587. /*! @{ */
  14588. #define CAAM_CPKESZR_PKESZ_MASK (0x3FFU)
  14589. #define CAAM_CPKESZR_PKESZ_SHIFT (0U)
  14590. #define CAAM_CPKESZR_PKESZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CPKESZR_PKESZ_SHIFT)) & CAAM_CPKESZR_PKESZ_MASK)
  14591. /*! @} */
  14592. /* The count of CAAM_CPKESZR */
  14593. #define CAAM_CPKESZR_COUNT (1U)
  14594. /*! @name CC1CTXR - CCB 0 Class 1 Context Register Word 0..CCB 0 Class 1 Context Register Word 15 */
  14595. /*! @{ */
  14596. #define CAAM_CC1CTXR_C1CTX_MASK (0xFFFFFFFFU)
  14597. #define CAAM_CC1CTXR_C1CTX_SHIFT (0U)
  14598. #define CAAM_CC1CTXR_C1CTX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1CTXR_C1CTX_SHIFT)) & CAAM_CC1CTXR_C1CTX_MASK)
  14599. /*! @} */
  14600. /* The count of CAAM_CC1CTXR */
  14601. #define CAAM_CC1CTXR_COUNT (1U)
  14602. /* The count of CAAM_CC1CTXR */
  14603. #define CAAM_CC1CTXR_COUNT2 (16U)
  14604. /*! @name CC1KR - CCB 0 Class 1 Key Registers Word 0..CCB 0 Class 1 Key Registers Word 7 */
  14605. /*! @{ */
  14606. #define CAAM_CC1KR_C1KEY_MASK (0xFFFFFFFFU)
  14607. #define CAAM_CC1KR_C1KEY_SHIFT (0U)
  14608. #define CAAM_CC1KR_C1KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC1KR_C1KEY_SHIFT)) & CAAM_CC1KR_C1KEY_MASK)
  14609. /*! @} */
  14610. /* The count of CAAM_CC1KR */
  14611. #define CAAM_CC1KR_COUNT (1U)
  14612. /* The count of CAAM_CC1KR */
  14613. #define CAAM_CC1KR_COUNT2 (8U)
  14614. /*! @name CC2MR - CCB 0 Class 2 Mode Register */
  14615. /*! @{ */
  14616. #define CAAM_CC2MR_AP_MASK (0x1U)
  14617. #define CAAM_CC2MR_AP_SHIFT (0U)
  14618. /*! AP
  14619. * 0b0..Authenticate
  14620. * 0b1..Protect
  14621. */
  14622. #define CAAM_CC2MR_AP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AP_SHIFT)) & CAAM_CC2MR_AP_MASK)
  14623. #define CAAM_CC2MR_ICV_MASK (0x2U)
  14624. #define CAAM_CC2MR_ICV_SHIFT (1U)
  14625. /*! ICV
  14626. * 0b0..Don't compare the calculated ICV against a received ICV.
  14627. * 0b1..Compare the calculated ICV against a received ICV.
  14628. */
  14629. #define CAAM_CC2MR_ICV(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_ICV_SHIFT)) & CAAM_CC2MR_ICV_MASK)
  14630. #define CAAM_CC2MR_AS_MASK (0xCU)
  14631. #define CAAM_CC2MR_AS_SHIFT (2U)
  14632. /*! AS
  14633. * 0b00..Update.
  14634. * 0b01..Initialize.
  14635. * 0b10..Finalize.
  14636. * 0b11..Initialize/Finalize.
  14637. */
  14638. #define CAAM_CC2MR_AS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AS_SHIFT)) & CAAM_CC2MR_AS_MASK)
  14639. #define CAAM_CC2MR_AAI_MASK (0x1FF0U)
  14640. #define CAAM_CC2MR_AAI_SHIFT (4U)
  14641. #define CAAM_CC2MR_AAI(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_AAI_SHIFT)) & CAAM_CC2MR_AAI_MASK)
  14642. #define CAAM_CC2MR_ALG_MASK (0xFF0000U)
  14643. #define CAAM_CC2MR_ALG_SHIFT (16U)
  14644. /*! ALG
  14645. * 0b01000000..MD5
  14646. * 0b01000001..SHA-1
  14647. * 0b01000010..SHA-224
  14648. * 0b01000011..SHA-256
  14649. * 0b01000100..SHA-384
  14650. * 0b01000101..SHA-512
  14651. * 0b01000110..SHA-512/224
  14652. * 0b01000111..SHA-512/256
  14653. * 0b10010000..CRC
  14654. */
  14655. #define CAAM_CC2MR_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2MR_ALG_SHIFT)) & CAAM_CC2MR_ALG_MASK)
  14656. /*! @} */
  14657. /* The count of CAAM_CC2MR */
  14658. #define CAAM_CC2MR_COUNT (1U)
  14659. /*! @name CC2KSR - CCB 0 Class 2 Key Size Register */
  14660. /*! @{ */
  14661. #define CAAM_CC2KSR_C2KS_MASK (0xFFU)
  14662. #define CAAM_CC2KSR_C2KS_SHIFT (0U)
  14663. #define CAAM_CC2KSR_C2KS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2KSR_C2KS_SHIFT)) & CAAM_CC2KSR_C2KS_MASK)
  14664. /*! @} */
  14665. /* The count of CAAM_CC2KSR */
  14666. #define CAAM_CC2KSR_COUNT (1U)
  14667. /*! @name CC2DSR - CCB 0 Class 2 Data Size Register */
  14668. /*! @{ */
  14669. #define CAAM_CC2DSR_C2DS_MASK (0xFFFFFFFFU)
  14670. #define CAAM_CC2DSR_C2DS_SHIFT (0U)
  14671. #define CAAM_CC2DSR_C2DS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_C2DS_SHIFT)) & CAAM_CC2DSR_C2DS_MASK)
  14672. #define CAAM_CC2DSR_C2CY_MASK (0x100000000U)
  14673. #define CAAM_CC2DSR_C2CY_SHIFT (32U)
  14674. /*! C2CY
  14675. * 0b0..A write to the Class 2 Data Size Register did not cause a carry.
  14676. * 0b1..A write to the Class 2 Data Size Register caused a carry.
  14677. */
  14678. #define CAAM_CC2DSR_C2CY(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_C2CY_SHIFT)) & CAAM_CC2DSR_C2CY_MASK)
  14679. #define CAAM_CC2DSR_NUMBITS_MASK (0xE000000000000000U)
  14680. #define CAAM_CC2DSR_NUMBITS_SHIFT (61U)
  14681. #define CAAM_CC2DSR_NUMBITS(x) (((uint64_t)(((uint64_t)(x)) << CAAM_CC2DSR_NUMBITS_SHIFT)) & CAAM_CC2DSR_NUMBITS_MASK)
  14682. /*! @} */
  14683. /* The count of CAAM_CC2DSR */
  14684. #define CAAM_CC2DSR_COUNT (1U)
  14685. /*! @name CC2ICVSZR - CCB 0 Class 2 ICV Size Register */
  14686. /*! @{ */
  14687. #define CAAM_CC2ICVSZR_ICVSZ_MASK (0xFU)
  14688. #define CAAM_CC2ICVSZR_ICVSZ_SHIFT (0U)
  14689. #define CAAM_CC2ICVSZR_ICVSZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2ICVSZR_ICVSZ_SHIFT)) & CAAM_CC2ICVSZR_ICVSZ_MASK)
  14690. /*! @} */
  14691. /* The count of CAAM_CC2ICVSZR */
  14692. #define CAAM_CC2ICVSZR_COUNT (1U)
  14693. /*! @name CC2CTXR - CCB 0 Class 2 Context Register Word 0..CCB 0 Class 2 Context Register Word 17 */
  14694. /*! @{ */
  14695. #define CAAM_CC2CTXR_C2CTXR_MASK (0xFFFFFFFFU)
  14696. #define CAAM_CC2CTXR_C2CTXR_SHIFT (0U)
  14697. #define CAAM_CC2CTXR_C2CTXR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2CTXR_C2CTXR_SHIFT)) & CAAM_CC2CTXR_C2CTXR_MASK)
  14698. /*! @} */
  14699. /* The count of CAAM_CC2CTXR */
  14700. #define CAAM_CC2CTXR_COUNT (1U)
  14701. /* The count of CAAM_CC2CTXR */
  14702. #define CAAM_CC2CTXR_COUNT2 (18U)
  14703. /*! @name CC2KEYR - CCB 0 Class 2 Key Register Word 0..CCB 0 Class 2 Key Register Word 31 */
  14704. /*! @{ */
  14705. #define CAAM_CC2KEYR_C2KEY_MASK (0xFFFFFFFFU)
  14706. #define CAAM_CC2KEYR_C2KEY_SHIFT (0U)
  14707. #define CAAM_CC2KEYR_C2KEY(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CC2KEYR_C2KEY_SHIFT)) & CAAM_CC2KEYR_C2KEY_MASK)
  14708. /*! @} */
  14709. /* The count of CAAM_CC2KEYR */
  14710. #define CAAM_CC2KEYR_COUNT (1U)
  14711. /* The count of CAAM_CC2KEYR */
  14712. #define CAAM_CC2KEYR_COUNT2 (32U)
  14713. /*! @name CFIFOSTA - CCB 0 FIFO Status Register */
  14714. /*! @{ */
  14715. #define CAAM_CFIFOSTA_DECOOQHEAD_MASK (0xFFU)
  14716. #define CAAM_CFIFOSTA_DECOOQHEAD_SHIFT (0U)
  14717. #define CAAM_CFIFOSTA_DECOOQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_DECOOQHEAD_SHIFT)) & CAAM_CFIFOSTA_DECOOQHEAD_MASK)
  14718. #define CAAM_CFIFOSTA_DMAOQHEAD_MASK (0xFF00U)
  14719. #define CAAM_CFIFOSTA_DMAOQHEAD_SHIFT (8U)
  14720. #define CAAM_CFIFOSTA_DMAOQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_DMAOQHEAD_SHIFT)) & CAAM_CFIFOSTA_DMAOQHEAD_MASK)
  14721. #define CAAM_CFIFOSTA_C2IQHEAD_MASK (0xFF0000U)
  14722. #define CAAM_CFIFOSTA_C2IQHEAD_SHIFT (16U)
  14723. #define CAAM_CFIFOSTA_C2IQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_C2IQHEAD_SHIFT)) & CAAM_CFIFOSTA_C2IQHEAD_MASK)
  14724. #define CAAM_CFIFOSTA_C1IQHEAD_MASK (0xFF000000U)
  14725. #define CAAM_CFIFOSTA_C1IQHEAD_SHIFT (24U)
  14726. #define CAAM_CFIFOSTA_C1IQHEAD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CFIFOSTA_C1IQHEAD_SHIFT)) & CAAM_CFIFOSTA_C1IQHEAD_MASK)
  14727. /*! @} */
  14728. /* The count of CAAM_CFIFOSTA */
  14729. #define CAAM_CFIFOSTA_COUNT (1U)
  14730. /*! @name CNFIFO - CCB 0 iNformation FIFO When STYPE != 10b */
  14731. /*! @{ */
  14732. #define CAAM_CNFIFO_DL_MASK (0xFFFU)
  14733. #define CAAM_CNFIFO_DL_SHIFT (0U)
  14734. #define CAAM_CNFIFO_DL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DL_SHIFT)) & CAAM_CNFIFO_DL_MASK)
  14735. #define CAAM_CNFIFO_AST_MASK (0x4000U)
  14736. #define CAAM_CNFIFO_AST_SHIFT (14U)
  14737. #define CAAM_CNFIFO_AST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_AST_SHIFT)) & CAAM_CNFIFO_AST_MASK)
  14738. #define CAAM_CNFIFO_OC_MASK (0x8000U)
  14739. #define CAAM_CNFIFO_OC_SHIFT (15U)
  14740. /*! OC
  14741. * 0b0..Allow the final word to be popped from the Output Data FIFO.
  14742. * 0b1..Don't pop the final word from the Output Data FIFO.
  14743. */
  14744. #define CAAM_CNFIFO_OC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_OC_SHIFT)) & CAAM_CNFIFO_OC_MASK)
  14745. #define CAAM_CNFIFO_PTYPE_MASK (0x70000U)
  14746. #define CAAM_CNFIFO_PTYPE_SHIFT (16U)
  14747. #define CAAM_CNFIFO_PTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_PTYPE_SHIFT)) & CAAM_CNFIFO_PTYPE_MASK)
  14748. #define CAAM_CNFIFO_BND_MASK (0x80000U)
  14749. #define CAAM_CNFIFO_BND_SHIFT (19U)
  14750. /*! BND
  14751. * 0b0..Don't pad.
  14752. * 0b1..Pad to the next 16-byte boundary.
  14753. */
  14754. #define CAAM_CNFIFO_BND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_BND_SHIFT)) & CAAM_CNFIFO_BND_MASK)
  14755. #define CAAM_CNFIFO_DTYPE_MASK (0xF00000U)
  14756. #define CAAM_CNFIFO_DTYPE_SHIFT (20U)
  14757. #define CAAM_CNFIFO_DTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DTYPE_SHIFT)) & CAAM_CNFIFO_DTYPE_MASK)
  14758. #define CAAM_CNFIFO_STYPE_MASK (0x3000000U)
  14759. #define CAAM_CNFIFO_STYPE_SHIFT (24U)
  14760. #define CAAM_CNFIFO_STYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_STYPE_SHIFT)) & CAAM_CNFIFO_STYPE_MASK)
  14761. #define CAAM_CNFIFO_FC1_MASK (0x4000000U)
  14762. #define CAAM_CNFIFO_FC1_SHIFT (26U)
  14763. /*! FC1
  14764. * 0b0..Don't flush Class 1 data.
  14765. * 0b1..Flush Class 1 data.
  14766. */
  14767. #define CAAM_CNFIFO_FC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_FC1_SHIFT)) & CAAM_CNFIFO_FC1_MASK)
  14768. #define CAAM_CNFIFO_FC2_MASK (0x8000000U)
  14769. #define CAAM_CNFIFO_FC2_SHIFT (27U)
  14770. /*! FC2
  14771. * 0b0..Don't flush Class 2 data.
  14772. * 0b1..Flush Class 2 data.
  14773. */
  14774. #define CAAM_CNFIFO_FC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_FC2_SHIFT)) & CAAM_CNFIFO_FC2_MASK)
  14775. #define CAAM_CNFIFO_LC1_MASK (0x10000000U)
  14776. #define CAAM_CNFIFO_LC1_SHIFT (28U)
  14777. /*! LC1
  14778. * 0b0..This is not the last Class 1 data.
  14779. * 0b1..This is the last Class 1 data.
  14780. */
  14781. #define CAAM_CNFIFO_LC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_LC1_SHIFT)) & CAAM_CNFIFO_LC1_MASK)
  14782. #define CAAM_CNFIFO_LC2_MASK (0x20000000U)
  14783. #define CAAM_CNFIFO_LC2_SHIFT (29U)
  14784. /*! LC2
  14785. * 0b0..This is not the last Class 2 data.
  14786. * 0b1..This is the last Class 2 data.
  14787. */
  14788. #define CAAM_CNFIFO_LC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_LC2_SHIFT)) & CAAM_CNFIFO_LC2_MASK)
  14789. #define CAAM_CNFIFO_DEST_MASK (0xC0000000U)
  14790. #define CAAM_CNFIFO_DEST_SHIFT (30U)
  14791. /*! DEST
  14792. * 0b00..DECO Alignment Block. If DTYPE == Eh, data sent to the DECO Alignment Block is dropped. This is used to
  14793. * skip over input data. An error is generated if a DTYPE other than Eh (drop) or Fh (message) is used with
  14794. * the DECO Alignment Block destination.
  14795. * 0b01..Class 1.
  14796. * 0b10..Class 2.
  14797. * 0b11..Both Class 1 and Class 2.
  14798. */
  14799. #define CAAM_CNFIFO_DEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_DEST_SHIFT)) & CAAM_CNFIFO_DEST_MASK)
  14800. /*! @} */
  14801. /* The count of CAAM_CNFIFO */
  14802. #define CAAM_CNFIFO_COUNT (1U)
  14803. /*! @name CNFIFO_2 - CCB 0 iNformation FIFO When STYPE == 10b */
  14804. /*! @{ */
  14805. #define CAAM_CNFIFO_2_PL_MASK (0x7FU)
  14806. #define CAAM_CNFIFO_2_PL_SHIFT (0U)
  14807. #define CAAM_CNFIFO_2_PL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PL_SHIFT)) & CAAM_CNFIFO_2_PL_MASK)
  14808. #define CAAM_CNFIFO_2_PS_MASK (0x400U)
  14809. #define CAAM_CNFIFO_2_PS_SHIFT (10U)
  14810. /*! PS
  14811. * 0b0..C2 CHA snoops pad data from padding block.
  14812. * 0b1..C2 CHA snoops pad data from OFIFO.
  14813. */
  14814. #define CAAM_CNFIFO_2_PS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PS_SHIFT)) & CAAM_CNFIFO_2_PS_MASK)
  14815. #define CAAM_CNFIFO_2_BM_MASK (0x800U)
  14816. #define CAAM_CNFIFO_2_BM_SHIFT (11U)
  14817. /*! BM
  14818. * 0b0..When padding, pad to power-of-2 boundary.
  14819. * 0b1..When padding, pad to power-of-2 boundary minus 1 byte.
  14820. */
  14821. #define CAAM_CNFIFO_2_BM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_BM_SHIFT)) & CAAM_CNFIFO_2_BM_MASK)
  14822. #define CAAM_CNFIFO_2_PR_MASK (0x8000U)
  14823. #define CAAM_CNFIFO_2_PR_SHIFT (15U)
  14824. /*! PR
  14825. * 0b0..No prediction resistance.
  14826. * 0b1..Prediction resistance.
  14827. */
  14828. #define CAAM_CNFIFO_2_PR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PR_SHIFT)) & CAAM_CNFIFO_2_PR_MASK)
  14829. #define CAAM_CNFIFO_2_PTYPE_MASK (0x70000U)
  14830. #define CAAM_CNFIFO_2_PTYPE_SHIFT (16U)
  14831. /*! PTYPE
  14832. * 0b000..All Zero.
  14833. * 0b001..Random with nonzero bytes.
  14834. * 0b010..Incremented (starting with 01h), followed by a byte containing the value N-1, i.e., if N==1, a single byte is output with value 0h.
  14835. * 0b011..Random.
  14836. * 0b100..All Zero with last byte containing the number of 0 bytes, i.e., if N==1, a single byte is output with value 0h.
  14837. * 0b101..Random with nonzero bytes with last byte 0.
  14838. * 0b110..N bytes of padding all containing the value N-1.
  14839. * 0b111..Random with nonzero bytes, with the last byte containing the value N-1.
  14840. */
  14841. #define CAAM_CNFIFO_2_PTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_PTYPE_SHIFT)) & CAAM_CNFIFO_2_PTYPE_MASK)
  14842. #define CAAM_CNFIFO_2_BND_MASK (0x80000U)
  14843. #define CAAM_CNFIFO_2_BND_SHIFT (19U)
  14844. /*! BND
  14845. * 0b0..Don't add boundary padding.
  14846. * 0b1..Add boundary padding.
  14847. */
  14848. #define CAAM_CNFIFO_2_BND(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_BND_SHIFT)) & CAAM_CNFIFO_2_BND_MASK)
  14849. #define CAAM_CNFIFO_2_DTYPE_MASK (0xF00000U)
  14850. #define CAAM_CNFIFO_2_DTYPE_SHIFT (20U)
  14851. #define CAAM_CNFIFO_2_DTYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_DTYPE_SHIFT)) & CAAM_CNFIFO_2_DTYPE_MASK)
  14852. #define CAAM_CNFIFO_2_STYPE_MASK (0x3000000U)
  14853. #define CAAM_CNFIFO_2_STYPE_SHIFT (24U)
  14854. #define CAAM_CNFIFO_2_STYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_STYPE_SHIFT)) & CAAM_CNFIFO_2_STYPE_MASK)
  14855. #define CAAM_CNFIFO_2_FC1_MASK (0x4000000U)
  14856. #define CAAM_CNFIFO_2_FC1_SHIFT (26U)
  14857. /*! FC1
  14858. * 0b0..Don't flush the Class 1 data.
  14859. * 0b1..Flush the Class 1 data.
  14860. */
  14861. #define CAAM_CNFIFO_2_FC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_FC1_SHIFT)) & CAAM_CNFIFO_2_FC1_MASK)
  14862. #define CAAM_CNFIFO_2_FC2_MASK (0x8000000U)
  14863. #define CAAM_CNFIFO_2_FC2_SHIFT (27U)
  14864. /*! FC2
  14865. * 0b0..Don't flush the Class 2 data.
  14866. * 0b1..Flush the Class 2 data.
  14867. */
  14868. #define CAAM_CNFIFO_2_FC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_FC2_SHIFT)) & CAAM_CNFIFO_2_FC2_MASK)
  14869. #define CAAM_CNFIFO_2_LC1_MASK (0x10000000U)
  14870. #define CAAM_CNFIFO_2_LC1_SHIFT (28U)
  14871. /*! LC1
  14872. * 0b0..This is not the last Class 1 data.
  14873. * 0b1..This is the last Class 1 data.
  14874. */
  14875. #define CAAM_CNFIFO_2_LC1(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_LC1_SHIFT)) & CAAM_CNFIFO_2_LC1_MASK)
  14876. #define CAAM_CNFIFO_2_LC2_MASK (0x20000000U)
  14877. #define CAAM_CNFIFO_2_LC2_SHIFT (29U)
  14878. /*! LC2
  14879. * 0b0..This is not the last Class 2 data.
  14880. * 0b1..This is the last Class 2 data.
  14881. */
  14882. #define CAAM_CNFIFO_2_LC2(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_LC2_SHIFT)) & CAAM_CNFIFO_2_LC2_MASK)
  14883. #define CAAM_CNFIFO_2_DEST_MASK (0xC0000000U)
  14884. #define CAAM_CNFIFO_2_DEST_SHIFT (30U)
  14885. /*! DEST
  14886. * 0b00..DECO Alignment Block. If DTYPE is Eh, data sent to the DECO Alignment Block is dropped. This is used to
  14887. * skip over input data. An error is generated if a DTYPE other than Eh (drop) or Fh (message) is used with
  14888. * the DECO Alignment Block destination.
  14889. * 0b01..Class 1.
  14890. * 0b10..Class 2.
  14891. * 0b11..Both Class 1 and Class 2.
  14892. */
  14893. #define CAAM_CNFIFO_2_DEST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CNFIFO_2_DEST_SHIFT)) & CAAM_CNFIFO_2_DEST_MASK)
  14894. /*! @} */
  14895. /* The count of CAAM_CNFIFO_2 */
  14896. #define CAAM_CNFIFO_2_COUNT (1U)
  14897. /*! @name CIFIFO - CCB 0 Input Data FIFO */
  14898. /*! @{ */
  14899. #define CAAM_CIFIFO_IFIFO_MASK (0xFFFFFFFFU)
  14900. #define CAAM_CIFIFO_IFIFO_SHIFT (0U)
  14901. #define CAAM_CIFIFO_IFIFO(x) (((uint32_t)(((uint32_t)(x)) << CAAM_CIFIFO_IFIFO_SHIFT)) & CAAM_CIFIFO_IFIFO_MASK)
  14902. /*! @} */
  14903. /* The count of CAAM_CIFIFO */
  14904. #define CAAM_CIFIFO_COUNT (1U)
  14905. /*! @name COFIFO - CCB 0 Output Data FIFO */
  14906. /*! @{ */
  14907. #define CAAM_COFIFO_OFIFO_MASK (0xFFFFFFFFFFFFFFFFU)
  14908. #define CAAM_COFIFO_OFIFO_SHIFT (0U)
  14909. #define CAAM_COFIFO_OFIFO(x) (((uint64_t)(((uint64_t)(x)) << CAAM_COFIFO_OFIFO_SHIFT)) & CAAM_COFIFO_OFIFO_MASK)
  14910. /*! @} */
  14911. /* The count of CAAM_COFIFO */
  14912. #define CAAM_COFIFO_COUNT (1U)
  14913. /*! @name DJQCR_MS - DECO0 Job Queue Control Register, most-significant half */
  14914. /*! @{ */
  14915. #define CAAM_DJQCR_MS_ID_MASK (0x7U)
  14916. #define CAAM_DJQCR_MS_ID_SHIFT (0U)
  14917. #define CAAM_DJQCR_MS_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_ID_SHIFT)) & CAAM_DJQCR_MS_ID_MASK)
  14918. #define CAAM_DJQCR_MS_SRC_MASK (0x700U)
  14919. #define CAAM_DJQCR_MS_SRC_SHIFT (8U)
  14920. /*! SRC
  14921. * 0b000..Job Ring 0
  14922. * 0b001..Job Ring 1
  14923. * 0b010..Job Ring 2
  14924. * 0b011..Job Ring 3
  14925. * 0b100..RTIC
  14926. * 0b101..Reserved
  14927. * 0b110..Reserved
  14928. * 0b111..Reserved
  14929. */
  14930. #define CAAM_DJQCR_MS_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SRC_SHIFT)) & CAAM_DJQCR_MS_SRC_MASK)
  14931. #define CAAM_DJQCR_MS_AMTD_MASK (0x8000U)
  14932. #define CAAM_DJQCR_MS_AMTD_SHIFT (15U)
  14933. /*! AMTD
  14934. * 0b0..The Allowed Make Trusted Descriptor bit was NOT set.
  14935. * 0b1..The Allowed Make Trusted Descriptor bit was set.
  14936. */
  14937. #define CAAM_DJQCR_MS_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_AMTD_SHIFT)) & CAAM_DJQCR_MS_AMTD_MASK)
  14938. #define CAAM_DJQCR_MS_SOB_MASK (0x10000U)
  14939. #define CAAM_DJQCR_MS_SOB_SHIFT (16U)
  14940. /*! SOB
  14941. * 0b0..Shared Descriptor has NOT been loaded.
  14942. * 0b1..Shared Descriptor HAS been loaded.
  14943. */
  14944. #define CAAM_DJQCR_MS_SOB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SOB_SHIFT)) & CAAM_DJQCR_MS_SOB_MASK)
  14945. #define CAAM_DJQCR_MS_DWS_MASK (0x80000U)
  14946. #define CAAM_DJQCR_MS_DWS_SHIFT (19U)
  14947. /*! DWS
  14948. * 0b0..Double Word Swap is NOT set.
  14949. * 0b1..Double Word Swap is set.
  14950. */
  14951. #define CAAM_DJQCR_MS_DWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_DWS_SHIFT)) & CAAM_DJQCR_MS_DWS_MASK)
  14952. #define CAAM_DJQCR_MS_SHR_FROM_MASK (0x7000000U)
  14953. #define CAAM_DJQCR_MS_SHR_FROM_SHIFT (24U)
  14954. #define CAAM_DJQCR_MS_SHR_FROM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SHR_FROM_SHIFT)) & CAAM_DJQCR_MS_SHR_FROM_MASK)
  14955. #define CAAM_DJQCR_MS_ILE_MASK (0x8000000U)
  14956. #define CAAM_DJQCR_MS_ILE_SHIFT (27U)
  14957. /*! ILE
  14958. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  14959. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  14960. */
  14961. #define CAAM_DJQCR_MS_ILE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_ILE_SHIFT)) & CAAM_DJQCR_MS_ILE_MASK)
  14962. #define CAAM_DJQCR_MS_FOUR_MASK (0x10000000U)
  14963. #define CAAM_DJQCR_MS_FOUR_SHIFT (28U)
  14964. /*! FOUR
  14965. * 0b0..DECO has not been given at least four words of the descriptor.
  14966. * 0b1..DECO has been given at least four words of the descriptor.
  14967. */
  14968. #define CAAM_DJQCR_MS_FOUR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_FOUR_SHIFT)) & CAAM_DJQCR_MS_FOUR_MASK)
  14969. #define CAAM_DJQCR_MS_WHL_MASK (0x20000000U)
  14970. #define CAAM_DJQCR_MS_WHL_SHIFT (29U)
  14971. /*! WHL
  14972. * 0b0..DECO has not been given the whole descriptor.
  14973. * 0b1..DECO has been given the whole descriptor.
  14974. */
  14975. #define CAAM_DJQCR_MS_WHL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_WHL_SHIFT)) & CAAM_DJQCR_MS_WHL_MASK)
  14976. #define CAAM_DJQCR_MS_SING_MASK (0x40000000U)
  14977. #define CAAM_DJQCR_MS_SING_SHIFT (30U)
  14978. /*! SING
  14979. * 0b0..Do not tell DECO to execute the descriptor in single-step mode.
  14980. * 0b1..Tell DECO to execute the descriptor in single-step mode.
  14981. */
  14982. #define CAAM_DJQCR_MS_SING(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_SING_SHIFT)) & CAAM_DJQCR_MS_SING_MASK)
  14983. #define CAAM_DJQCR_MS_STEP_MASK (0x80000000U)
  14984. #define CAAM_DJQCR_MS_STEP_SHIFT (31U)
  14985. /*! STEP
  14986. * 0b0..DECO has not been told to execute the next command in the descriptor.
  14987. * 0b1..DECO has been told to execute the next command in the descriptor.
  14988. */
  14989. #define CAAM_DJQCR_MS_STEP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_MS_STEP_SHIFT)) & CAAM_DJQCR_MS_STEP_MASK)
  14990. /*! @} */
  14991. /* The count of CAAM_DJQCR_MS */
  14992. #define CAAM_DJQCR_MS_COUNT (1U)
  14993. /*! @name DJQCR_LS - DECO0 Job Queue Control Register, least-significant half */
  14994. /*! @{ */
  14995. #define CAAM_DJQCR_LS_CMD_MASK (0xFFFFFFFFU)
  14996. #define CAAM_DJQCR_LS_CMD_SHIFT (0U)
  14997. #define CAAM_DJQCR_LS_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DJQCR_LS_CMD_SHIFT)) & CAAM_DJQCR_LS_CMD_MASK)
  14998. /*! @} */
  14999. /* The count of CAAM_DJQCR_LS */
  15000. #define CAAM_DJQCR_LS_COUNT (1U)
  15001. /*! @name DDAR - DECO0 Descriptor Address Register */
  15002. /*! @{ */
  15003. #define CAAM_DDAR_DPTR_MASK (0xFFFFFFFFFU)
  15004. #define CAAM_DDAR_DPTR_SHIFT (0U)
  15005. #define CAAM_DDAR_DPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DDAR_DPTR_SHIFT)) & CAAM_DDAR_DPTR_MASK)
  15006. /*! @} */
  15007. /* The count of CAAM_DDAR */
  15008. #define CAAM_DDAR_COUNT (1U)
  15009. /*! @name DOPSTA_MS - DECO0 Operation Status Register, most-significant half */
  15010. /*! @{ */
  15011. #define CAAM_DOPSTA_MS_STATUS_MASK (0xFFU)
  15012. #define CAAM_DOPSTA_MS_STATUS_SHIFT (0U)
  15013. #define CAAM_DOPSTA_MS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_STATUS_SHIFT)) & CAAM_DOPSTA_MS_STATUS_MASK)
  15014. #define CAAM_DOPSTA_MS_COMMAND_INDEX_MASK (0x7F00U)
  15015. #define CAAM_DOPSTA_MS_COMMAND_INDEX_SHIFT (8U)
  15016. #define CAAM_DOPSTA_MS_COMMAND_INDEX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_COMMAND_INDEX_SHIFT)) & CAAM_DOPSTA_MS_COMMAND_INDEX_MASK)
  15017. #define CAAM_DOPSTA_MS_NLJ_MASK (0x8000000U)
  15018. #define CAAM_DOPSTA_MS_NLJ_SHIFT (27U)
  15019. /*! NLJ
  15020. * 0b0..The original job descriptor running in this DECO has not caused another job descriptor to be executed.
  15021. * 0b1..The original job descriptor running in this DECO has caused another job descriptor to be executed.
  15022. */
  15023. #define CAAM_DOPSTA_MS_NLJ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_NLJ_SHIFT)) & CAAM_DOPSTA_MS_NLJ_MASK)
  15024. #define CAAM_DOPSTA_MS_STATUS_TYPE_MASK (0xF0000000U)
  15025. #define CAAM_DOPSTA_MS_STATUS_TYPE_SHIFT (28U)
  15026. /*! STATUS_TYPE
  15027. * 0b0000..no error
  15028. * 0b0001..DMA error
  15029. * 0b0010..CCB error
  15030. * 0b0011..Jump Halt User Status
  15031. * 0b0100..DECO error
  15032. * 0b0101, 0b0110..Reserved
  15033. * 0b0111..Jump Halt Condition Code
  15034. */
  15035. #define CAAM_DOPSTA_MS_STATUS_TYPE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_MS_STATUS_TYPE_SHIFT)) & CAAM_DOPSTA_MS_STATUS_TYPE_MASK)
  15036. /*! @} */
  15037. /* The count of CAAM_DOPSTA_MS */
  15038. #define CAAM_DOPSTA_MS_COUNT (1U)
  15039. /*! @name DOPSTA_LS - DECO0 Operation Status Register, least-significant half */
  15040. /*! @{ */
  15041. #define CAAM_DOPSTA_LS_OUT_CT_MASK (0xFFFFFFFFU)
  15042. #define CAAM_DOPSTA_LS_OUT_CT_SHIFT (0U)
  15043. #define CAAM_DOPSTA_LS_OUT_CT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DOPSTA_LS_OUT_CT_SHIFT)) & CAAM_DOPSTA_LS_OUT_CT_MASK)
  15044. /*! @} */
  15045. /* The count of CAAM_DOPSTA_LS */
  15046. #define CAAM_DOPSTA_LS_COUNT (1U)
  15047. /*! @name DPDIDSR - DECO0 Primary DID Status Register */
  15048. /*! @{ */
  15049. #define CAAM_DPDIDSR_PRIM_DID_MASK (0xFU)
  15050. #define CAAM_DPDIDSR_PRIM_DID_SHIFT (0U)
  15051. #define CAAM_DPDIDSR_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPDIDSR_PRIM_DID_SHIFT)) & CAAM_DPDIDSR_PRIM_DID_MASK)
  15052. #define CAAM_DPDIDSR_PRIM_ICID_MASK (0x3FF80000U)
  15053. #define CAAM_DPDIDSR_PRIM_ICID_SHIFT (19U)
  15054. #define CAAM_DPDIDSR_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPDIDSR_PRIM_ICID_SHIFT)) & CAAM_DPDIDSR_PRIM_ICID_MASK)
  15055. /*! @} */
  15056. /* The count of CAAM_DPDIDSR */
  15057. #define CAAM_DPDIDSR_COUNT (1U)
  15058. /*! @name DODIDSR - DECO0 Output DID Status Register */
  15059. /*! @{ */
  15060. #define CAAM_DODIDSR_OUT_DID_MASK (0xFU)
  15061. #define CAAM_DODIDSR_OUT_DID_SHIFT (0U)
  15062. #define CAAM_DODIDSR_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DODIDSR_OUT_DID_SHIFT)) & CAAM_DODIDSR_OUT_DID_MASK)
  15063. #define CAAM_DODIDSR_OUT_ICID_MASK (0x3FF80000U)
  15064. #define CAAM_DODIDSR_OUT_ICID_SHIFT (19U)
  15065. #define CAAM_DODIDSR_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DODIDSR_OUT_ICID_SHIFT)) & CAAM_DODIDSR_OUT_ICID_MASK)
  15066. /*! @} */
  15067. /* The count of CAAM_DODIDSR */
  15068. #define CAAM_DODIDSR_COUNT (1U)
  15069. /*! @name DMTH_MS - DECO0 Math Register 0_MS..DECO0 Math Register 3_MS */
  15070. /*! @{ */
  15071. #define CAAM_DMTH_MS_MATH_MS_MASK (0xFFFFFFFFU)
  15072. #define CAAM_DMTH_MS_MATH_MS_SHIFT (0U)
  15073. #define CAAM_DMTH_MS_MATH_MS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMTH_MS_MATH_MS_SHIFT)) & CAAM_DMTH_MS_MATH_MS_MASK)
  15074. /*! @} */
  15075. /* The count of CAAM_DMTH_MS */
  15076. #define CAAM_DMTH_MS_COUNT (1U)
  15077. /* The count of CAAM_DMTH_MS */
  15078. #define CAAM_DMTH_MS_COUNT2 (4U)
  15079. /*! @name DMTH_LS - DECO0 Math Register 0_LS..DECO0 Math Register 3_LS */
  15080. /*! @{ */
  15081. #define CAAM_DMTH_LS_MATH_LS_MASK (0xFFFFFFFFU)
  15082. #define CAAM_DMTH_LS_MATH_LS_SHIFT (0U)
  15083. #define CAAM_DMTH_LS_MATH_LS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DMTH_LS_MATH_LS_SHIFT)) & CAAM_DMTH_LS_MATH_LS_MASK)
  15084. /*! @} */
  15085. /* The count of CAAM_DMTH_LS */
  15086. #define CAAM_DMTH_LS_COUNT (1U)
  15087. /* The count of CAAM_DMTH_LS */
  15088. #define CAAM_DMTH_LS_COUNT2 (4U)
  15089. /*! @name DGTR_0 - DECO0 Gather Table Register 0 Word 0 */
  15090. /*! @{ */
  15091. #define CAAM_DGTR_0_ADDRESS_POINTER_MASK (0xFU)
  15092. #define CAAM_DGTR_0_ADDRESS_POINTER_SHIFT (0U)
  15093. /*! ADDRESS_POINTER - most-significant bits of memory address pointed to by table entry
  15094. */
  15095. #define CAAM_DGTR_0_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_0_ADDRESS_POINTER_SHIFT)) & CAAM_DGTR_0_ADDRESS_POINTER_MASK)
  15096. /*! @} */
  15097. /* The count of CAAM_DGTR_0 */
  15098. #define CAAM_DGTR_0_COUNT (1U)
  15099. /* The count of CAAM_DGTR_0 */
  15100. #define CAAM_DGTR_0_COUNT2 (1U)
  15101. /*! @name DGTR_1 - DECO0 Gather Table Register 0 Word 1 */
  15102. /*! @{ */
  15103. #define CAAM_DGTR_1_ADDRESS_POINTER_MASK (0xFFFFFFFFU)
  15104. #define CAAM_DGTR_1_ADDRESS_POINTER_SHIFT (0U)
  15105. #define CAAM_DGTR_1_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_1_ADDRESS_POINTER_SHIFT)) & CAAM_DGTR_1_ADDRESS_POINTER_MASK)
  15106. /*! @} */
  15107. /* The count of CAAM_DGTR_1 */
  15108. #define CAAM_DGTR_1_COUNT (1U)
  15109. /* The count of CAAM_DGTR_1 */
  15110. #define CAAM_DGTR_1_COUNT2 (1U)
  15111. /*! @name DGTR_2 - DECO0 Gather Table Register 0 Word 2 */
  15112. /*! @{ */
  15113. #define CAAM_DGTR_2_Length_MASK (0x3FFFFFFFU)
  15114. #define CAAM_DGTR_2_Length_SHIFT (0U)
  15115. #define CAAM_DGTR_2_Length(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_Length_SHIFT)) & CAAM_DGTR_2_Length_MASK)
  15116. #define CAAM_DGTR_2_F_MASK (0x40000000U)
  15117. #define CAAM_DGTR_2_F_SHIFT (30U)
  15118. /*! F
  15119. * 0b0..This is not the last entry of the SGT.
  15120. * 0b1..This is the last entry of the SGT.
  15121. */
  15122. #define CAAM_DGTR_2_F(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_F_SHIFT)) & CAAM_DGTR_2_F_MASK)
  15123. #define CAAM_DGTR_2_E_MASK (0x80000000U)
  15124. #define CAAM_DGTR_2_E_SHIFT (31U)
  15125. /*! E
  15126. * 0b0..Address Pointer points to a memory buffer.
  15127. * 0b1..Address Pointer points to a Scatter/Gather Table Entry.
  15128. */
  15129. #define CAAM_DGTR_2_E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_2_E_SHIFT)) & CAAM_DGTR_2_E_MASK)
  15130. /*! @} */
  15131. /* The count of CAAM_DGTR_2 */
  15132. #define CAAM_DGTR_2_COUNT (1U)
  15133. /* The count of CAAM_DGTR_2 */
  15134. #define CAAM_DGTR_2_COUNT2 (1U)
  15135. /*! @name DGTR_3 - DECO0 Gather Table Register 0 Word 3 */
  15136. /*! @{ */
  15137. #define CAAM_DGTR_3_Offset_MASK (0x1FFFU)
  15138. #define CAAM_DGTR_3_Offset_SHIFT (0U)
  15139. #define CAAM_DGTR_3_Offset(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DGTR_3_Offset_SHIFT)) & CAAM_DGTR_3_Offset_MASK)
  15140. /*! @} */
  15141. /* The count of CAAM_DGTR_3 */
  15142. #define CAAM_DGTR_3_COUNT (1U)
  15143. /* The count of CAAM_DGTR_3 */
  15144. #define CAAM_DGTR_3_COUNT2 (1U)
  15145. /*! @name DSTR_0 - DECO0 Scatter Table Register 0 Word 0 */
  15146. /*! @{ */
  15147. #define CAAM_DSTR_0_ADDRESS_POINTER_MASK (0xFU)
  15148. #define CAAM_DSTR_0_ADDRESS_POINTER_SHIFT (0U)
  15149. /*! ADDRESS_POINTER - most-significant bits of memory address pointed to by table entry
  15150. */
  15151. #define CAAM_DSTR_0_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_0_ADDRESS_POINTER_SHIFT)) & CAAM_DSTR_0_ADDRESS_POINTER_MASK)
  15152. /*! @} */
  15153. /* The count of CAAM_DSTR_0 */
  15154. #define CAAM_DSTR_0_COUNT (1U)
  15155. /* The count of CAAM_DSTR_0 */
  15156. #define CAAM_DSTR_0_COUNT2 (1U)
  15157. /*! @name DSTR_1 - DECO0 Scatter Table Register 0 Word 1 */
  15158. /*! @{ */
  15159. #define CAAM_DSTR_1_ADDRESS_POINTER_MASK (0xFFFFFFFFU)
  15160. #define CAAM_DSTR_1_ADDRESS_POINTER_SHIFT (0U)
  15161. #define CAAM_DSTR_1_ADDRESS_POINTER(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_1_ADDRESS_POINTER_SHIFT)) & CAAM_DSTR_1_ADDRESS_POINTER_MASK)
  15162. /*! @} */
  15163. /* The count of CAAM_DSTR_1 */
  15164. #define CAAM_DSTR_1_COUNT (1U)
  15165. /* The count of CAAM_DSTR_1 */
  15166. #define CAAM_DSTR_1_COUNT2 (1U)
  15167. /*! @name DSTR_2 - DECO0 Scatter Table Register 0 Word 2 */
  15168. /*! @{ */
  15169. #define CAAM_DSTR_2_Length_MASK (0x3FFFFFFFU)
  15170. #define CAAM_DSTR_2_Length_SHIFT (0U)
  15171. #define CAAM_DSTR_2_Length(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_Length_SHIFT)) & CAAM_DSTR_2_Length_MASK)
  15172. #define CAAM_DSTR_2_F_MASK (0x40000000U)
  15173. #define CAAM_DSTR_2_F_SHIFT (30U)
  15174. /*! F
  15175. * 0b0..This is not the last entry of the SGT.
  15176. * 0b1..This is the last entry of the SGT.
  15177. */
  15178. #define CAAM_DSTR_2_F(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_F_SHIFT)) & CAAM_DSTR_2_F_MASK)
  15179. #define CAAM_DSTR_2_E_MASK (0x80000000U)
  15180. #define CAAM_DSTR_2_E_SHIFT (31U)
  15181. /*! E
  15182. * 0b0..Address Pointer points to a memory buffer.
  15183. * 0b1..Address Pointer points to a Scatter/Gather Table Entry.
  15184. */
  15185. #define CAAM_DSTR_2_E(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_2_E_SHIFT)) & CAAM_DSTR_2_E_MASK)
  15186. /*! @} */
  15187. /* The count of CAAM_DSTR_2 */
  15188. #define CAAM_DSTR_2_COUNT (1U)
  15189. /* The count of CAAM_DSTR_2 */
  15190. #define CAAM_DSTR_2_COUNT2 (1U)
  15191. /*! @name DSTR_3 - DECO0 Scatter Table Register 0 Word 3 */
  15192. /*! @{ */
  15193. #define CAAM_DSTR_3_Offset_MASK (0x1FFFU)
  15194. #define CAAM_DSTR_3_Offset_SHIFT (0U)
  15195. #define CAAM_DSTR_3_Offset(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DSTR_3_Offset_SHIFT)) & CAAM_DSTR_3_Offset_MASK)
  15196. /*! @} */
  15197. /* The count of CAAM_DSTR_3 */
  15198. #define CAAM_DSTR_3_COUNT (1U)
  15199. /* The count of CAAM_DSTR_3 */
  15200. #define CAAM_DSTR_3_COUNT2 (1U)
  15201. /*! @name DDESB - DECO0 Descriptor Buffer Word 0..DECO0 Descriptor Buffer Word 63 */
  15202. /*! @{ */
  15203. #define CAAM_DDESB_DESBW_MASK (0xFFFFFFFFU)
  15204. #define CAAM_DDESB_DESBW_SHIFT (0U)
  15205. #define CAAM_DDESB_DESBW(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDESB_DESBW_SHIFT)) & CAAM_DDESB_DESBW_MASK)
  15206. /*! @} */
  15207. /* The count of CAAM_DDESB */
  15208. #define CAAM_DDESB_COUNT (1U)
  15209. /* The count of CAAM_DDESB */
  15210. #define CAAM_DDESB_COUNT2 (64U)
  15211. /*! @name DDJR - DECO0 Debug Job Register */
  15212. /*! @{ */
  15213. #define CAAM_DDJR_ID_MASK (0x7U)
  15214. #define CAAM_DDJR_ID_SHIFT (0U)
  15215. #define CAAM_DDJR_ID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_ID_SHIFT)) & CAAM_DDJR_ID_MASK)
  15216. #define CAAM_DDJR_SRC_MASK (0x700U)
  15217. #define CAAM_DDJR_SRC_SHIFT (8U)
  15218. /*! SRC
  15219. * 0b000..Job Ring 0
  15220. * 0b001..Job Ring 1
  15221. * 0b010..Job Ring 2
  15222. * 0b011..Job Ring 3
  15223. * 0b100..RTIC
  15224. * 0b101, 0b110, 0b111..Reserved
  15225. */
  15226. #define CAAM_DDJR_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SRC_SHIFT)) & CAAM_DDJR_SRC_MASK)
  15227. #define CAAM_DDJR_JDDS_MASK (0x4000U)
  15228. #define CAAM_DDJR_JDDS_SHIFT (14U)
  15229. /*! JDDS
  15230. * 0b1..SEQ DID
  15231. * 0b0..Non-SEQ DID
  15232. */
  15233. #define CAAM_DDJR_JDDS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_JDDS_SHIFT)) & CAAM_DDJR_JDDS_MASK)
  15234. #define CAAM_DDJR_AMTD_MASK (0x8000U)
  15235. #define CAAM_DDJR_AMTD_SHIFT (15U)
  15236. /*! AMTD
  15237. * 0b0..The Allowed Make Trusted Descriptor bit was NOT set.
  15238. * 0b1..The Allowed Make Trusted Descriptor bit was set.
  15239. */
  15240. #define CAAM_DDJR_AMTD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_AMTD_SHIFT)) & CAAM_DDJR_AMTD_MASK)
  15241. #define CAAM_DDJR_GSD_MASK (0x10000U)
  15242. #define CAAM_DDJR_GSD_SHIFT (16U)
  15243. /*! GSD
  15244. * 0b0..Shared Descriptor was NOT obtained from another DECO.
  15245. * 0b1..Shared Descriptor was obtained from another DECO.
  15246. */
  15247. #define CAAM_DDJR_GSD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_GSD_SHIFT)) & CAAM_DDJR_GSD_MASK)
  15248. #define CAAM_DDJR_DWS_MASK (0x80000U)
  15249. #define CAAM_DDJR_DWS_SHIFT (19U)
  15250. /*! DWS
  15251. * 0b0..Double Word Swap is NOT set.
  15252. * 0b1..Double Word Swap is set.
  15253. */
  15254. #define CAAM_DDJR_DWS(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_DWS_SHIFT)) & CAAM_DDJR_DWS_MASK)
  15255. #define CAAM_DDJR_SHR_FROM_MASK (0x7000000U)
  15256. #define CAAM_DDJR_SHR_FROM_SHIFT (24U)
  15257. #define CAAM_DDJR_SHR_FROM(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SHR_FROM_SHIFT)) & CAAM_DDJR_SHR_FROM_MASK)
  15258. #define CAAM_DDJR_ILE_MASK (0x8000000U)
  15259. #define CAAM_DDJR_ILE_SHIFT (27U)
  15260. /*! ILE
  15261. * 0b0..No byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  15262. * 0b1..Byte-swapping is performed for immediate data transferred to or from the Descriptor Buffer.
  15263. */
  15264. #define CAAM_DDJR_ILE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_ILE_SHIFT)) & CAAM_DDJR_ILE_MASK)
  15265. #define CAAM_DDJR_FOUR_MASK (0x10000000U)
  15266. #define CAAM_DDJR_FOUR_SHIFT (28U)
  15267. /*! FOUR
  15268. * 0b0..DECO has not been given at least four words of the descriptor.
  15269. * 0b1..DECO has been given at least four words of the descriptor.
  15270. */
  15271. #define CAAM_DDJR_FOUR(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_FOUR_SHIFT)) & CAAM_DDJR_FOUR_MASK)
  15272. #define CAAM_DDJR_WHL_MASK (0x20000000U)
  15273. #define CAAM_DDJR_WHL_SHIFT (29U)
  15274. /*! WHL
  15275. * 0b0..DECO has not been given the whole descriptor.
  15276. * 0b1..DECO has been given the whole descriptor.
  15277. */
  15278. #define CAAM_DDJR_WHL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_WHL_SHIFT)) & CAAM_DDJR_WHL_MASK)
  15279. #define CAAM_DDJR_SING_MASK (0x40000000U)
  15280. #define CAAM_DDJR_SING_SHIFT (30U)
  15281. /*! SING
  15282. * 0b0..DECO has not been told to execute the descriptor in single-step mode.
  15283. * 0b1..DECO has been told to execute the descriptor in single-step mode.
  15284. */
  15285. #define CAAM_DDJR_SING(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_SING_SHIFT)) & CAAM_DDJR_SING_MASK)
  15286. #define CAAM_DDJR_STEP_MASK (0x80000000U)
  15287. #define CAAM_DDJR_STEP_SHIFT (31U)
  15288. /*! STEP
  15289. * 0b0..DECO has not been told to execute the next command in the descriptor.
  15290. * 0b1..DECO has been told to execute the next command in the descriptor.
  15291. */
  15292. #define CAAM_DDJR_STEP(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDJR_STEP_SHIFT)) & CAAM_DDJR_STEP_MASK)
  15293. /*! @} */
  15294. /* The count of CAAM_DDJR */
  15295. #define CAAM_DDJR_COUNT (1U)
  15296. /*! @name DDDR - DECO0 Debug DECO Register */
  15297. /*! @{ */
  15298. #define CAAM_DDDR_CT_MASK (0x1U)
  15299. #define CAAM_DDDR_CT_SHIFT (0U)
  15300. /*! CT
  15301. * 0b0..This DECO is NOTcurrently generating the signature of a Trusted Descriptor.
  15302. * 0b1..This DECO is currently generating the signature of a Trusted Descriptor.
  15303. */
  15304. #define CAAM_DDDR_CT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CT_SHIFT)) & CAAM_DDDR_CT_MASK)
  15305. #define CAAM_DDDR_BRB_MASK (0x2U)
  15306. #define CAAM_DDDR_BRB_SHIFT (1U)
  15307. /*! BRB
  15308. * 0b0..The READ machine in the Burster is not busy.
  15309. * 0b1..The READ machine in the Burster is busy.
  15310. */
  15311. #define CAAM_DDDR_BRB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_BRB_SHIFT)) & CAAM_DDDR_BRB_MASK)
  15312. #define CAAM_DDDR_BWB_MASK (0x4U)
  15313. #define CAAM_DDDR_BWB_SHIFT (2U)
  15314. /*! BWB
  15315. * 0b0..The WRITE machine in the Burster is not busy.
  15316. * 0b1..The WRITE machine in the Burster is busy.
  15317. */
  15318. #define CAAM_DDDR_BWB(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_BWB_SHIFT)) & CAAM_DDDR_BWB_MASK)
  15319. #define CAAM_DDDR_NC_MASK (0x8U)
  15320. #define CAAM_DDDR_NC_SHIFT (3U)
  15321. /*! NC
  15322. * 0b0..This DECO is currently executing a command.
  15323. * 0b1..This DECO is not currently executing a command.
  15324. */
  15325. #define CAAM_DDDR_NC(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NC_SHIFT)) & CAAM_DDDR_NC_MASK)
  15326. #define CAAM_DDDR_CSA_MASK (0x10U)
  15327. #define CAAM_DDDR_CSA_SHIFT (4U)
  15328. #define CAAM_DDDR_CSA(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CSA_SHIFT)) & CAAM_DDDR_CSA_MASK)
  15329. #define CAAM_DDDR_CMD_STAGE_MASK (0xE0U)
  15330. #define CAAM_DDDR_CMD_STAGE_SHIFT (5U)
  15331. #define CAAM_DDDR_CMD_STAGE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CMD_STAGE_SHIFT)) & CAAM_DDDR_CMD_STAGE_MASK)
  15332. #define CAAM_DDDR_CMD_INDEX_MASK (0x3F00U)
  15333. #define CAAM_DDDR_CMD_INDEX_SHIFT (8U)
  15334. #define CAAM_DDDR_CMD_INDEX(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_CMD_INDEX_SHIFT)) & CAAM_DDDR_CMD_INDEX_MASK)
  15335. #define CAAM_DDDR_NLJ_MASK (0x4000U)
  15336. #define CAAM_DDDR_NLJ_SHIFT (14U)
  15337. /*! NLJ
  15338. * 0b0..The original job descriptor running in this DECO has not caused another job descriptor to be executed.
  15339. * 0b1..The original job descriptor running in this DECO has caused another job descriptor to be executed.
  15340. */
  15341. #define CAAM_DDDR_NLJ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NLJ_SHIFT)) & CAAM_DDDR_NLJ_MASK)
  15342. #define CAAM_DDDR_PTCL_RUN_MASK (0x8000U)
  15343. #define CAAM_DDDR_PTCL_RUN_SHIFT (15U)
  15344. /*! PTCL_RUN
  15345. * 0b0..No protocol is running in this DECO.
  15346. * 0b1..A protocol is running in this DECO.
  15347. */
  15348. #define CAAM_DDDR_PTCL_RUN(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PTCL_RUN_SHIFT)) & CAAM_DDDR_PTCL_RUN_MASK)
  15349. #define CAAM_DDDR_PDB_STALL_MASK (0x30000U)
  15350. #define CAAM_DDDR_PDB_STALL_SHIFT (16U)
  15351. #define CAAM_DDDR_PDB_STALL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PDB_STALL_SHIFT)) & CAAM_DDDR_PDB_STALL_MASK)
  15352. #define CAAM_DDDR_PDB_WB_ST_MASK (0xC0000U)
  15353. #define CAAM_DDDR_PDB_WB_ST_SHIFT (18U)
  15354. #define CAAM_DDDR_PDB_WB_ST(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_PDB_WB_ST_SHIFT)) & CAAM_DDDR_PDB_WB_ST_MASK)
  15355. #define CAAM_DDDR_DECO_STATE_MASK (0xF00000U)
  15356. #define CAAM_DDDR_DECO_STATE_SHIFT (20U)
  15357. #define CAAM_DDDR_DECO_STATE(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_DECO_STATE_SHIFT)) & CAAM_DDDR_DECO_STATE_MASK)
  15358. #define CAAM_DDDR_NSEQLSEL_MASK (0x3000000U)
  15359. #define CAAM_DDDR_NSEQLSEL_SHIFT (24U)
  15360. /*! NSEQLSEL
  15361. * 0b01..SEQ DID
  15362. * 0b10..Non-SEQ DID
  15363. * 0b11..Trusted DID
  15364. */
  15365. #define CAAM_DDDR_NSEQLSEL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_NSEQLSEL_SHIFT)) & CAAM_DDDR_NSEQLSEL_MASK)
  15366. #define CAAM_DDDR_SEQLSEL_MASK (0xC000000U)
  15367. #define CAAM_DDDR_SEQLSEL_SHIFT (26U)
  15368. /*! SEQLSEL
  15369. * 0b01..SEQ DID
  15370. * 0b10..Non-SEQ DID
  15371. * 0b11..Trusted DID
  15372. */
  15373. #define CAAM_DDDR_SEQLSEL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_SEQLSEL_SHIFT)) & CAAM_DDDR_SEQLSEL_MASK)
  15374. #define CAAM_DDDR_TRCT_MASK (0x30000000U)
  15375. #define CAAM_DDDR_TRCT_SHIFT (28U)
  15376. #define CAAM_DDDR_TRCT(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_TRCT_SHIFT)) & CAAM_DDDR_TRCT_MASK)
  15377. #define CAAM_DDDR_SD_MASK (0x40000000U)
  15378. #define CAAM_DDDR_SD_SHIFT (30U)
  15379. /*! SD
  15380. * 0b0..This DECO has not received a shared descriptor from another DECO.
  15381. * 0b1..This DECO has received a shared descriptor from another DECO.
  15382. */
  15383. #define CAAM_DDDR_SD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_SD_SHIFT)) & CAAM_DDDR_SD_MASK)
  15384. #define CAAM_DDDR_VALID_MASK (0x80000000U)
  15385. #define CAAM_DDDR_VALID_SHIFT (31U)
  15386. /*! VALID
  15387. * 0b0..No descriptor is currently running in this DECO.
  15388. * 0b1..There is currently a descriptor running in this DECO.
  15389. */
  15390. #define CAAM_DDDR_VALID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_VALID_SHIFT)) & CAAM_DDDR_VALID_MASK)
  15391. /*! @} */
  15392. /* The count of CAAM_DDDR */
  15393. #define CAAM_DDDR_COUNT (1U)
  15394. /*! @name DDJP - DECO0 Debug Job Pointer */
  15395. /*! @{ */
  15396. #define CAAM_DDJP_JDPTR_MASK (0xFFFFFFFFFU)
  15397. #define CAAM_DDJP_JDPTR_SHIFT (0U)
  15398. #define CAAM_DDJP_JDPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DDJP_JDPTR_SHIFT)) & CAAM_DDJP_JDPTR_MASK)
  15399. /*! @} */
  15400. /* The count of CAAM_DDJP */
  15401. #define CAAM_DDJP_COUNT (1U)
  15402. /*! @name DSDP - DECO0 Debug Shared Pointer */
  15403. /*! @{ */
  15404. #define CAAM_DSDP_SDPTR_MASK (0xFFFFFFFFFU)
  15405. #define CAAM_DSDP_SDPTR_SHIFT (0U)
  15406. #define CAAM_DSDP_SDPTR(x) (((uint64_t)(((uint64_t)(x)) << CAAM_DSDP_SDPTR_SHIFT)) & CAAM_DSDP_SDPTR_MASK)
  15407. /*! @} */
  15408. /* The count of CAAM_DSDP */
  15409. #define CAAM_DSDP_COUNT (1U)
  15410. /*! @name DDDR_MS - DECO0 Debug DID, most-significant half */
  15411. /*! @{ */
  15412. #define CAAM_DDDR_MS_PRIM_DID_MASK (0xFU)
  15413. #define CAAM_DDDR_MS_PRIM_DID_SHIFT (0U)
  15414. #define CAAM_DDDR_MS_PRIM_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_DID_SHIFT)) & CAAM_DDDR_MS_PRIM_DID_MASK)
  15415. #define CAAM_DDDR_MS_PRIM_TZ_MASK (0x10U)
  15416. #define CAAM_DDDR_MS_PRIM_TZ_SHIFT (4U)
  15417. /*! PRIM_TZ
  15418. * 0b0..TrustZone NonSecureWorld
  15419. * 0b1..TrustZone SecureWorld
  15420. */
  15421. #define CAAM_DDDR_MS_PRIM_TZ(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_TZ_SHIFT)) & CAAM_DDDR_MS_PRIM_TZ_MASK)
  15422. #define CAAM_DDDR_MS_PRIM_ICID_MASK (0xFFE0U)
  15423. #define CAAM_DDDR_MS_PRIM_ICID_SHIFT (5U)
  15424. #define CAAM_DDDR_MS_PRIM_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_PRIM_ICID_SHIFT)) & CAAM_DDDR_MS_PRIM_ICID_MASK)
  15425. #define CAAM_DDDR_MS_OUT_DID_MASK (0xF0000U)
  15426. #define CAAM_DDDR_MS_OUT_DID_SHIFT (16U)
  15427. #define CAAM_DDDR_MS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_OUT_DID_SHIFT)) & CAAM_DDDR_MS_OUT_DID_MASK)
  15428. #define CAAM_DDDR_MS_OUT_ICID_MASK (0xFFE00000U)
  15429. #define CAAM_DDDR_MS_OUT_ICID_SHIFT (21U)
  15430. #define CAAM_DDDR_MS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_MS_OUT_ICID_SHIFT)) & CAAM_DDDR_MS_OUT_ICID_MASK)
  15431. /*! @} */
  15432. /* The count of CAAM_DDDR_MS */
  15433. #define CAAM_DDDR_MS_COUNT (1U)
  15434. /*! @name DDDR_LS - DECO0 Debug DID, least-significant half */
  15435. /*! @{ */
  15436. #define CAAM_DDDR_LS_OUT_DID_MASK (0xFU)
  15437. #define CAAM_DDDR_LS_OUT_DID_SHIFT (0U)
  15438. #define CAAM_DDDR_LS_OUT_DID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_LS_OUT_DID_SHIFT)) & CAAM_DDDR_LS_OUT_DID_MASK)
  15439. #define CAAM_DDDR_LS_OUT_ICID_MASK (0x3FF80000U)
  15440. #define CAAM_DDDR_LS_OUT_ICID_SHIFT (19U)
  15441. #define CAAM_DDDR_LS_OUT_ICID(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DDDR_LS_OUT_ICID_SHIFT)) & CAAM_DDDR_LS_OUT_ICID_MASK)
  15442. /*! @} */
  15443. /* The count of CAAM_DDDR_LS */
  15444. #define CAAM_DDDR_LS_COUNT (1U)
  15445. /*! @name SOL - Sequence Output Length Register */
  15446. /*! @{ */
  15447. #define CAAM_SOL_SOL_MASK (0xFFFFFFFFU)
  15448. #define CAAM_SOL_SOL_SHIFT (0U)
  15449. #define CAAM_SOL_SOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SOL_SOL_SHIFT)) & CAAM_SOL_SOL_MASK)
  15450. /*! @} */
  15451. /* The count of CAAM_SOL */
  15452. #define CAAM_SOL_COUNT (1U)
  15453. /*! @name VSOL - Variable Sequence Output Length Register */
  15454. /*! @{ */
  15455. #define CAAM_VSOL_VSOL_MASK (0xFFFFFFFFU)
  15456. #define CAAM_VSOL_VSOL_SHIFT (0U)
  15457. #define CAAM_VSOL_VSOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_VSOL_VSOL_SHIFT)) & CAAM_VSOL_VSOL_MASK)
  15458. /*! @} */
  15459. /* The count of CAAM_VSOL */
  15460. #define CAAM_VSOL_COUNT (1U)
  15461. /*! @name SIL - Sequence Input Length Register */
  15462. /*! @{ */
  15463. #define CAAM_SIL_SIL_MASK (0xFFFFFFFFU)
  15464. #define CAAM_SIL_SIL_SHIFT (0U)
  15465. #define CAAM_SIL_SIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_SIL_SIL_SHIFT)) & CAAM_SIL_SIL_MASK)
  15466. /*! @} */
  15467. /* The count of CAAM_SIL */
  15468. #define CAAM_SIL_COUNT (1U)
  15469. /*! @name VSIL - Variable Sequence Input Length Register */
  15470. /*! @{ */
  15471. #define CAAM_VSIL_VSIL_MASK (0xFFFFFFFFU)
  15472. #define CAAM_VSIL_VSIL_SHIFT (0U)
  15473. #define CAAM_VSIL_VSIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_VSIL_VSIL_SHIFT)) & CAAM_VSIL_VSIL_MASK)
  15474. /*! @} */
  15475. /* The count of CAAM_VSIL */
  15476. #define CAAM_VSIL_COUNT (1U)
  15477. /*! @name DPOVRD - Protocol Override Register */
  15478. /*! @{ */
  15479. #define CAAM_DPOVRD_DPOVRD_MASK (0xFFFFFFFFU)
  15480. #define CAAM_DPOVRD_DPOVRD_SHIFT (0U)
  15481. #define CAAM_DPOVRD_DPOVRD(x) (((uint32_t)(((uint32_t)(x)) << CAAM_DPOVRD_DPOVRD_SHIFT)) & CAAM_DPOVRD_DPOVRD_MASK)
  15482. /*! @} */
  15483. /* The count of CAAM_DPOVRD */
  15484. #define CAAM_DPOVRD_COUNT (1U)
  15485. /*! @name UVSOL - Variable Sequence Output Length Register; Upper 32 bits */
  15486. /*! @{ */
  15487. #define CAAM_UVSOL_UVSOL_MASK (0xFFFFFFFFU)
  15488. #define CAAM_UVSOL_UVSOL_SHIFT (0U)
  15489. #define CAAM_UVSOL_UVSOL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_UVSOL_UVSOL_SHIFT)) & CAAM_UVSOL_UVSOL_MASK)
  15490. /*! @} */
  15491. /* The count of CAAM_UVSOL */
  15492. #define CAAM_UVSOL_COUNT (1U)
  15493. /*! @name UVSIL - Variable Sequence Input Length Register; Upper 32 bits */
  15494. /*! @{ */
  15495. #define CAAM_UVSIL_UVSIL_MASK (0xFFFFFFFFU)
  15496. #define CAAM_UVSIL_UVSIL_SHIFT (0U)
  15497. #define CAAM_UVSIL_UVSIL(x) (((uint32_t)(((uint32_t)(x)) << CAAM_UVSIL_UVSIL_SHIFT)) & CAAM_UVSIL_UVSIL_MASK)
  15498. /*! @} */
  15499. /* The count of CAAM_UVSIL */
  15500. #define CAAM_UVSIL_COUNT (1U)
  15501. /*!
  15502. * @}
  15503. */ /* end of group CAAM_Register_Masks */
  15504. /* CAAM - Peripheral instance base addresses */
  15505. /** Peripheral CAAM base address */
  15506. #define CAAM_BASE (0x40440000u)
  15507. /** Peripheral CAAM base pointer */
  15508. #define CAAM ((CAAM_Type *)CAAM_BASE)
  15509. /** Array initializer of CAAM peripheral base addresses */
  15510. #define CAAM_BASE_ADDRS { CAAM_BASE }
  15511. /** Array initializer of CAAM peripheral base pointers */
  15512. #define CAAM_BASE_PTRS { CAAM }
  15513. /*!
  15514. * @}
  15515. */ /* end of group CAAM_Peripheral_Access_Layer */
  15516. /* ----------------------------------------------------------------------------
  15517. -- CAN Peripheral Access Layer
  15518. ---------------------------------------------------------------------------- */
  15519. /*!
  15520. * @addtogroup CAN_Peripheral_Access_Layer CAN Peripheral Access Layer
  15521. * @{
  15522. */
  15523. /** CAN - Register Layout Typedef */
  15524. typedef struct {
  15525. __IO uint32_t MCR; /**< Module Configuration register, offset: 0x0 */
  15526. __IO uint32_t CTRL1; /**< Control 1 register, offset: 0x4 */
  15527. __IO uint32_t TIMER; /**< Free Running Timer, offset: 0x8 */
  15528. uint8_t RESERVED_0[4];
  15529. __IO uint32_t RXMGMASK; /**< Rx Mailboxes Global Mask register, offset: 0x10 */
  15530. __IO uint32_t RX14MASK; /**< Rx 14 Mask register, offset: 0x14 */
  15531. __IO uint32_t RX15MASK; /**< Rx 15 Mask register, offset: 0x18 */
  15532. __IO uint32_t ECR; /**< Error Counter, offset: 0x1C */
  15533. __IO uint32_t ESR1; /**< Error and Status 1 register, offset: 0x20 */
  15534. __IO uint32_t IMASK2; /**< Interrupt Masks 2 register, offset: 0x24 */
  15535. __IO uint32_t IMASK1; /**< Interrupt Masks 1 register, offset: 0x28 */
  15536. __IO uint32_t IFLAG2; /**< Interrupt Flags 2 register, offset: 0x2C */
  15537. __IO uint32_t IFLAG1; /**< Interrupt Flags 1 register, offset: 0x30 */
  15538. __IO uint32_t CTRL2; /**< Control 2 register, offset: 0x34 */
  15539. __I uint32_t ESR2; /**< Error and Status 2 register, offset: 0x38 */
  15540. uint8_t RESERVED_1[8];
  15541. __I uint32_t CRCR; /**< CRC register, offset: 0x44 */
  15542. __IO uint32_t RXFGMASK; /**< Rx FIFO Global Mask register, offset: 0x48 */
  15543. __I uint32_t RXFIR; /**< Rx FIFO Information register, offset: 0x4C */
  15544. __IO uint32_t CBT; /**< CAN Bit Timing register, offset: 0x50 */
  15545. uint8_t RESERVED_2[44];
  15546. union { /* offset: 0x80 */
  15547. struct { /* offset: 0x80, array step: 0x10 */
  15548. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  15549. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  15550. __IO uint32_t WORD[2]; /**< Message Buffer 0 WORD_8B Register..Message Buffer 63 WORD_8B Register, array offset: 0x88, array step: index*0x10, index2*0x4 */
  15551. } MB_8B[64];
  15552. struct { /* offset: 0x80, array step: 0x18 */
  15553. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 41 CS Register, array offset: 0x80, array step: 0x18 */
  15554. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 41 ID Register, array offset: 0x84, array step: 0x18 */
  15555. __IO uint32_t WORD[4]; /**< Message Buffer 0 WORD_16B Register..Message Buffer 41 WORD_16B Register, array offset: 0x88, array step: index*0x18, index2*0x4 */
  15556. } MB_16B[42];
  15557. struct { /* offset: 0x80, array step: 0x28 */
  15558. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 23 CS Register, array offset: 0x80, array step: 0x28 */
  15559. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 23 ID Register, array offset: 0x84, array step: 0x28 */
  15560. __IO uint32_t WORD[8]; /**< Message Buffer 0 WORD_32B Register..Message Buffer 23 WORD_32B Register, array offset: 0x88, array step: index*0x28, index2*0x4 */
  15561. } MB_32B[24];
  15562. struct { /* offset: 0x80, array step: 0x48 */
  15563. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 13 CS Register, array offset: 0x80, array step: 0x48 */
  15564. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 13 ID Register, array offset: 0x84, array step: 0x48 */
  15565. __IO uint32_t WORD[16]; /**< Message Buffer 0 WORD_64B Register..Message Buffer 13 WORD_64B Register, array offset: 0x88, array step: index*0x48, index2*0x4 */
  15566. } MB_64B[14];
  15567. struct { /* offset: 0x80, array step: 0x10 */
  15568. __IO uint32_t CS; /**< Message Buffer 0 CS Register..Message Buffer 63 CS Register, array offset: 0x80, array step: 0x10 */
  15569. __IO uint32_t ID; /**< Message Buffer 0 ID Register..Message Buffer 63 ID Register, array offset: 0x84, array step: 0x10 */
  15570. __IO uint32_t WORD0; /**< Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register, array offset: 0x88, array step: 0x10 */
  15571. __IO uint32_t WORD1; /**< Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register, array offset: 0x8C, array step: 0x10 */
  15572. } MB[64];
  15573. };
  15574. uint8_t RESERVED_3[1024];
  15575. __IO uint32_t RXIMR[64]; /**< Rx Individual Mask registers, array offset: 0x880, array step: 0x4 */
  15576. uint8_t RESERVED_4[352];
  15577. __IO uint32_t MECR; /**< Memory Error Control register, offset: 0xAE0 */
  15578. __IO uint32_t ERRIAR; /**< Error Injection Address register, offset: 0xAE4 */
  15579. __IO uint32_t ERRIDPR; /**< Error Injection Data Pattern register, offset: 0xAE8 */
  15580. __IO uint32_t ERRIPPR; /**< Error Injection Parity Pattern register, offset: 0xAEC */
  15581. __I uint32_t RERRAR; /**< Error Report Address register, offset: 0xAF0 */
  15582. __I uint32_t RERRDR; /**< Error Report Data register, offset: 0xAF4 */
  15583. __I uint32_t RERRSYNR; /**< Error Report Syndrome register, offset: 0xAF8 */
  15584. __IO uint32_t ERRSR; /**< Error Status register, offset: 0xAFC */
  15585. uint8_t RESERVED_5[256];
  15586. __IO uint32_t FDCTRL; /**< CAN FD Control register, offset: 0xC00 */
  15587. __IO uint32_t FDCBT; /**< CAN FD Bit Timing register, offset: 0xC04 */
  15588. __I uint32_t FDCRC; /**< CAN FD CRC register, offset: 0xC08 */
  15589. } CAN_Type;
  15590. /* ----------------------------------------------------------------------------
  15591. -- CAN Register Masks
  15592. ---------------------------------------------------------------------------- */
  15593. /*!
  15594. * @addtogroup CAN_Register_Masks CAN Register Masks
  15595. * @{
  15596. */
  15597. /*! @name MCR - Module Configuration register */
  15598. /*! @{ */
  15599. #define CAN_MCR_MAXMB_MASK (0x7FU)
  15600. #define CAN_MCR_MAXMB_SHIFT (0U)
  15601. /*! MAXMB - Number Of The Last Message Buffer
  15602. */
  15603. #define CAN_MCR_MAXMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MAXMB_SHIFT)) & CAN_MCR_MAXMB_MASK)
  15604. #define CAN_MCR_IDAM_MASK (0x300U)
  15605. #define CAN_MCR_IDAM_SHIFT (8U)
  15606. /*! IDAM - ID Acceptance Mode
  15607. * 0b00..Format A: One full ID (standard and extended) per ID filter table element.
  15608. * 0b01..Format B: Two full standard IDs or two partial 14-bit (standard and extended) IDs per ID filter table element.
  15609. * 0b10..Format C: Four partial 8-bit standard IDs per ID filter table element.
  15610. * 0b11..Format D: All frames rejected.
  15611. */
  15612. #define CAN_MCR_IDAM(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IDAM_SHIFT)) & CAN_MCR_IDAM_MASK)
  15613. #define CAN_MCR_FDEN_MASK (0x800U)
  15614. #define CAN_MCR_FDEN_SHIFT (11U)
  15615. /*! FDEN - CAN FD operation enable
  15616. * 0b1..CAN FD is enabled. FlexCAN is able to receive and transmit messages in both CAN FD and CAN 2.0 formats.
  15617. * 0b0..CAN FD is disabled. FlexCAN is able to receive and transmit messages in CAN 2.0 format.
  15618. */
  15619. #define CAN_MCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FDEN_SHIFT)) & CAN_MCR_FDEN_MASK)
  15620. #define CAN_MCR_AEN_MASK (0x1000U)
  15621. #define CAN_MCR_AEN_SHIFT (12U)
  15622. /*! AEN - Abort Enable
  15623. * 0b0..Abort disabled.
  15624. * 0b1..Abort enabled.
  15625. */
  15626. #define CAN_MCR_AEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_AEN_SHIFT)) & CAN_MCR_AEN_MASK)
  15627. #define CAN_MCR_LPRIOEN_MASK (0x2000U)
  15628. #define CAN_MCR_LPRIOEN_SHIFT (13U)
  15629. /*! LPRIOEN - Local Priority Enable
  15630. * 0b0..Local Priority disabled.
  15631. * 0b1..Local Priority enabled.
  15632. */
  15633. #define CAN_MCR_LPRIOEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPRIOEN_SHIFT)) & CAN_MCR_LPRIOEN_MASK)
  15634. #define CAN_MCR_DMA_MASK (0x8000U)
  15635. #define CAN_MCR_DMA_SHIFT (15U)
  15636. /*! DMA - DMA Enable
  15637. * 0b0..DMA feature for RX FIFO disabled.
  15638. * 0b1..DMA feature for RX FIFO enabled.
  15639. */
  15640. #define CAN_MCR_DMA(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DMA_SHIFT)) & CAN_MCR_DMA_MASK)
  15641. #define CAN_MCR_IRMQ_MASK (0x10000U)
  15642. #define CAN_MCR_IRMQ_SHIFT (16U)
  15643. /*! IRMQ - Individual Rx Masking And Queue Enable
  15644. * 0b0..Individual Rx masking and queue feature are disabled. For backward compatibility with legacy
  15645. * applications, the reading of C/S word locks the MB even if it is EMPTY.
  15646. * 0b1..Individual Rx masking and queue feature are enabled.
  15647. */
  15648. #define CAN_MCR_IRMQ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_IRMQ_SHIFT)) & CAN_MCR_IRMQ_MASK)
  15649. #define CAN_MCR_SRXDIS_MASK (0x20000U)
  15650. #define CAN_MCR_SRXDIS_SHIFT (17U)
  15651. /*! SRXDIS - Self Reception Disable
  15652. * 0b0..Self-reception enabled.
  15653. * 0b1..Self-reception disabled.
  15654. */
  15655. #define CAN_MCR_SRXDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SRXDIS_SHIFT)) & CAN_MCR_SRXDIS_MASK)
  15656. #define CAN_MCR_DOZE_MASK (0x40000U)
  15657. #define CAN_MCR_DOZE_SHIFT (18U)
  15658. /*! DOZE - Doze Mode Enable
  15659. * 0b0..FlexCAN is not enabled to enter low-power mode when Doze mode is requested.
  15660. * 0b1..FlexCAN is enabled to enter low-power mode when Doze mode is requested.
  15661. */
  15662. #define CAN_MCR_DOZE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_DOZE_SHIFT)) & CAN_MCR_DOZE_MASK)
  15663. #define CAN_MCR_WAKSRC_MASK (0x80000U)
  15664. #define CAN_MCR_WAKSRC_SHIFT (19U)
  15665. /*! WAKSRC - Wake Up Source
  15666. * 0b0..FlexCAN uses the unfiltered Rx input to detect recessive to dominant edges on the CAN bus.
  15667. * 0b1..FlexCAN uses the filtered Rx input to detect recessive to dominant edges on the CAN bus.
  15668. */
  15669. #define CAN_MCR_WAKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKSRC_SHIFT)) & CAN_MCR_WAKSRC_MASK)
  15670. #define CAN_MCR_LPMACK_MASK (0x100000U)
  15671. #define CAN_MCR_LPMACK_SHIFT (20U)
  15672. /*! LPMACK - Low-Power Mode Acknowledge
  15673. * 0b0..FlexCAN is not in a low-power mode.
  15674. * 0b1..FlexCAN is in a low-power mode.
  15675. */
  15676. #define CAN_MCR_LPMACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_LPMACK_SHIFT)) & CAN_MCR_LPMACK_MASK)
  15677. #define CAN_MCR_WRNEN_MASK (0x200000U)
  15678. #define CAN_MCR_WRNEN_SHIFT (21U)
  15679. /*! WRNEN - Warning Interrupt Enable
  15680. * 0b0..TWRNINT and RWRNINT bits are zero, independent of the values in the error counters.
  15681. * 0b1..TWRNINT and RWRNINT bits are set when the respective error counter transitions from less than 96 to greater than or equal to 96.
  15682. */
  15683. #define CAN_MCR_WRNEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WRNEN_SHIFT)) & CAN_MCR_WRNEN_MASK)
  15684. #define CAN_MCR_SLFWAK_MASK (0x400000U)
  15685. #define CAN_MCR_SLFWAK_SHIFT (22U)
  15686. /*! SLFWAK - Self Wake Up
  15687. * 0b0..FlexCAN Self Wake Up feature is disabled.
  15688. * 0b1..FlexCAN Self Wake Up feature is enabled.
  15689. */
  15690. #define CAN_MCR_SLFWAK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SLFWAK_SHIFT)) & CAN_MCR_SLFWAK_MASK)
  15691. #define CAN_MCR_SUPV_MASK (0x800000U)
  15692. #define CAN_MCR_SUPV_SHIFT (23U)
  15693. /*! SUPV - Supervisor Mode
  15694. * 0b0..FlexCAN is in User mode. Affected registers allow both Supervisor and Unrestricted accesses.
  15695. * 0b1..FlexCAN is in Supervisor mode. Affected registers allow only Supervisor access. Unrestricted access
  15696. * behaves as though the access was done to an unimplemented register location.
  15697. */
  15698. #define CAN_MCR_SUPV(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SUPV_SHIFT)) & CAN_MCR_SUPV_MASK)
  15699. #define CAN_MCR_FRZACK_MASK (0x1000000U)
  15700. #define CAN_MCR_FRZACK_SHIFT (24U)
  15701. /*! FRZACK - Freeze Mode Acknowledge
  15702. * 0b0..FlexCAN not in Freeze mode, prescaler running.
  15703. * 0b1..FlexCAN in Freeze mode, prescaler stopped.
  15704. */
  15705. #define CAN_MCR_FRZACK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZACK_SHIFT)) & CAN_MCR_FRZACK_MASK)
  15706. #define CAN_MCR_SOFTRST_MASK (0x2000000U)
  15707. #define CAN_MCR_SOFTRST_SHIFT (25U)
  15708. /*! SOFTRST - Soft Reset
  15709. * 0b0..No reset request.
  15710. * 0b1..Resets the registers affected by soft reset.
  15711. */
  15712. #define CAN_MCR_SOFTRST(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_SOFTRST_SHIFT)) & CAN_MCR_SOFTRST_MASK)
  15713. #define CAN_MCR_WAKMSK_MASK (0x4000000U)
  15714. #define CAN_MCR_WAKMSK_SHIFT (26U)
  15715. /*! WAKMSK - Wake Up Interrupt Mask
  15716. * 0b0..Wake Up interrupt is disabled.
  15717. * 0b1..Wake Up interrupt is enabled.
  15718. */
  15719. #define CAN_MCR_WAKMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_WAKMSK_SHIFT)) & CAN_MCR_WAKMSK_MASK)
  15720. #define CAN_MCR_NOTRDY_MASK (0x8000000U)
  15721. #define CAN_MCR_NOTRDY_SHIFT (27U)
  15722. /*! NOTRDY - FlexCAN Not Ready
  15723. * 0b0..FlexCAN module is either in Normal mode, Listen-Only mode, or Loop-Back mode.
  15724. * 0b1..FlexCAN module is either in Disable mode, Doze mode, Stop mode, or Freeze mode.
  15725. */
  15726. #define CAN_MCR_NOTRDY(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_NOTRDY_SHIFT)) & CAN_MCR_NOTRDY_MASK)
  15727. #define CAN_MCR_HALT_MASK (0x10000000U)
  15728. #define CAN_MCR_HALT_SHIFT (28U)
  15729. /*! HALT - Halt FlexCAN
  15730. * 0b0..No Freeze mode request.
  15731. * 0b1..Enters Freeze mode if the FRZ bit is asserted.
  15732. */
  15733. #define CAN_MCR_HALT(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_HALT_SHIFT)) & CAN_MCR_HALT_MASK)
  15734. #define CAN_MCR_RFEN_MASK (0x20000000U)
  15735. #define CAN_MCR_RFEN_SHIFT (29U)
  15736. /*! RFEN - Rx FIFO Enable
  15737. * 0b0..Rx FIFO not enabled.
  15738. * 0b1..Rx FIFO enabled.
  15739. */
  15740. #define CAN_MCR_RFEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_RFEN_SHIFT)) & CAN_MCR_RFEN_MASK)
  15741. #define CAN_MCR_FRZ_MASK (0x40000000U)
  15742. #define CAN_MCR_FRZ_SHIFT (30U)
  15743. /*! FRZ - Freeze Enable
  15744. * 0b0..Not enabled to enter Freeze mode.
  15745. * 0b1..Enabled to enter Freeze mode.
  15746. */
  15747. #define CAN_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_FRZ_SHIFT)) & CAN_MCR_FRZ_MASK)
  15748. #define CAN_MCR_MDIS_MASK (0x80000000U)
  15749. #define CAN_MCR_MDIS_SHIFT (31U)
  15750. /*! MDIS - Module Disable
  15751. * 0b0..Enable the FlexCAN module.
  15752. * 0b1..Disable the FlexCAN module.
  15753. */
  15754. #define CAN_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MCR_MDIS_SHIFT)) & CAN_MCR_MDIS_MASK)
  15755. /*! @} */
  15756. /*! @name CTRL1 - Control 1 register */
  15757. /*! @{ */
  15758. #define CAN_CTRL1_PROPSEG_MASK (0x7U)
  15759. #define CAN_CTRL1_PROPSEG_SHIFT (0U)
  15760. /*! PROPSEG - Propagation Segment
  15761. */
  15762. #define CAN_CTRL1_PROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PROPSEG_SHIFT)) & CAN_CTRL1_PROPSEG_MASK)
  15763. #define CAN_CTRL1_LOM_MASK (0x8U)
  15764. #define CAN_CTRL1_LOM_SHIFT (3U)
  15765. /*! LOM - Listen-Only Mode
  15766. * 0b0..Listen-Only mode is deactivated.
  15767. * 0b1..FlexCAN module operates in Listen-Only mode.
  15768. */
  15769. #define CAN_CTRL1_LOM(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LOM_SHIFT)) & CAN_CTRL1_LOM_MASK)
  15770. #define CAN_CTRL1_LBUF_MASK (0x10U)
  15771. #define CAN_CTRL1_LBUF_SHIFT (4U)
  15772. /*! LBUF - Lowest Buffer Transmitted First
  15773. * 0b0..Buffer with highest priority is transmitted first.
  15774. * 0b1..Lowest number buffer is transmitted first.
  15775. */
  15776. #define CAN_CTRL1_LBUF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LBUF_SHIFT)) & CAN_CTRL1_LBUF_MASK)
  15777. #define CAN_CTRL1_TSYN_MASK (0x20U)
  15778. #define CAN_CTRL1_TSYN_SHIFT (5U)
  15779. /*! TSYN - Timer Sync
  15780. * 0b0..Timer sync feature disabled
  15781. * 0b1..Timer sync feature enabled
  15782. */
  15783. #define CAN_CTRL1_TSYN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TSYN_SHIFT)) & CAN_CTRL1_TSYN_MASK)
  15784. #define CAN_CTRL1_BOFFREC_MASK (0x40U)
  15785. #define CAN_CTRL1_BOFFREC_SHIFT (6U)
  15786. /*! BOFFREC - Bus Off Recovery
  15787. * 0b0..Automatic recovering from Bus Off state enabled.
  15788. * 0b1..Automatic recovering from Bus Off state disabled.
  15789. */
  15790. #define CAN_CTRL1_BOFFREC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFREC_SHIFT)) & CAN_CTRL1_BOFFREC_MASK)
  15791. #define CAN_CTRL1_SMP_MASK (0x80U)
  15792. #define CAN_CTRL1_SMP_SHIFT (7U)
  15793. /*! SMP - CAN Bit Sampling
  15794. * 0b0..Just one sample is used to determine the bit value.
  15795. * 0b1..Three samples are used to determine the value of the received bit: the regular one (sample point) and two
  15796. * preceding samples; a majority rule is used.
  15797. */
  15798. #define CAN_CTRL1_SMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_SMP_SHIFT)) & CAN_CTRL1_SMP_MASK)
  15799. #define CAN_CTRL1_RWRNMSK_MASK (0x400U)
  15800. #define CAN_CTRL1_RWRNMSK_SHIFT (10U)
  15801. /*! RWRNMSK - Rx Warning Interrupt Mask
  15802. * 0b0..Rx Warning interrupt disabled.
  15803. * 0b1..Rx Warning interrupt enabled.
  15804. */
  15805. #define CAN_CTRL1_RWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RWRNMSK_SHIFT)) & CAN_CTRL1_RWRNMSK_MASK)
  15806. #define CAN_CTRL1_TWRNMSK_MASK (0x800U)
  15807. #define CAN_CTRL1_TWRNMSK_SHIFT (11U)
  15808. /*! TWRNMSK - Tx Warning Interrupt Mask
  15809. * 0b0..Tx Warning interrupt disabled.
  15810. * 0b1..Tx Warning interrupt enabled.
  15811. */
  15812. #define CAN_CTRL1_TWRNMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_TWRNMSK_SHIFT)) & CAN_CTRL1_TWRNMSK_MASK)
  15813. #define CAN_CTRL1_LPB_MASK (0x1000U)
  15814. #define CAN_CTRL1_LPB_SHIFT (12U)
  15815. /*! LPB - Loop Back Mode
  15816. * 0b0..Loop Back disabled.
  15817. * 0b1..Loop Back enabled.
  15818. */
  15819. #define CAN_CTRL1_LPB(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_LPB_SHIFT)) & CAN_CTRL1_LPB_MASK)
  15820. #define CAN_CTRL1_CLKSRC_MASK (0x2000U)
  15821. #define CAN_CTRL1_CLKSRC_SHIFT (13U)
  15822. /*! CLKSRC - CAN Engine Clock Source
  15823. * 0b0..The CAN engine clock source is the oscillator clock. Under this condition, the oscillator clock frequency must be lower than the bus clock.
  15824. * 0b1..The CAN engine clock source is the peripheral clock.
  15825. */
  15826. #define CAN_CTRL1_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_CLKSRC_SHIFT)) & CAN_CTRL1_CLKSRC_MASK)
  15827. #define CAN_CTRL1_ERRMSK_MASK (0x4000U)
  15828. #define CAN_CTRL1_ERRMSK_SHIFT (14U)
  15829. /*! ERRMSK - Error Interrupt Mask
  15830. * 0b0..Error interrupt disabled.
  15831. * 0b1..Error interrupt enabled.
  15832. */
  15833. #define CAN_CTRL1_ERRMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_ERRMSK_SHIFT)) & CAN_CTRL1_ERRMSK_MASK)
  15834. #define CAN_CTRL1_BOFFMSK_MASK (0x8000U)
  15835. #define CAN_CTRL1_BOFFMSK_SHIFT (15U)
  15836. /*! BOFFMSK - Bus Off Interrupt Mask
  15837. * 0b0..Bus Off interrupt disabled.
  15838. * 0b1..Bus Off interrupt enabled.
  15839. */
  15840. #define CAN_CTRL1_BOFFMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_BOFFMSK_SHIFT)) & CAN_CTRL1_BOFFMSK_MASK)
  15841. #define CAN_CTRL1_PSEG2_MASK (0x70000U)
  15842. #define CAN_CTRL1_PSEG2_SHIFT (16U)
  15843. /*! PSEG2 - Phase Segment 2
  15844. */
  15845. #define CAN_CTRL1_PSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG2_SHIFT)) & CAN_CTRL1_PSEG2_MASK)
  15846. #define CAN_CTRL1_PSEG1_MASK (0x380000U)
  15847. #define CAN_CTRL1_PSEG1_SHIFT (19U)
  15848. /*! PSEG1 - Phase Segment 1
  15849. */
  15850. #define CAN_CTRL1_PSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PSEG1_SHIFT)) & CAN_CTRL1_PSEG1_MASK)
  15851. #define CAN_CTRL1_RJW_MASK (0xC00000U)
  15852. #define CAN_CTRL1_RJW_SHIFT (22U)
  15853. /*! RJW - Resync Jump Width
  15854. */
  15855. #define CAN_CTRL1_RJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_RJW_SHIFT)) & CAN_CTRL1_RJW_MASK)
  15856. #define CAN_CTRL1_PRESDIV_MASK (0xFF000000U)
  15857. #define CAN_CTRL1_PRESDIV_SHIFT (24U)
  15858. /*! PRESDIV - Prescaler Division Factor
  15859. */
  15860. #define CAN_CTRL1_PRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL1_PRESDIV_SHIFT)) & CAN_CTRL1_PRESDIV_MASK)
  15861. /*! @} */
  15862. /*! @name TIMER - Free Running Timer */
  15863. /*! @{ */
  15864. #define CAN_TIMER_TIMER_MASK (0xFFFFU)
  15865. #define CAN_TIMER_TIMER_SHIFT (0U)
  15866. /*! TIMER - Timer Value
  15867. */
  15868. #define CAN_TIMER_TIMER(x) (((uint32_t)(((uint32_t)(x)) << CAN_TIMER_TIMER_SHIFT)) & CAN_TIMER_TIMER_MASK)
  15869. /*! @} */
  15870. /*! @name RXMGMASK - Rx Mailboxes Global Mask register */
  15871. /*! @{ */
  15872. #define CAN_RXMGMASK_MG_MASK (0xFFFFFFFFU)
  15873. #define CAN_RXMGMASK_MG_SHIFT (0U)
  15874. /*! MG - Rx Mailboxes Global Mask Bits
  15875. */
  15876. #define CAN_RXMGMASK_MG(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXMGMASK_MG_SHIFT)) & CAN_RXMGMASK_MG_MASK)
  15877. /*! @} */
  15878. /*! @name RX14MASK - Rx 14 Mask register */
  15879. /*! @{ */
  15880. #define CAN_RX14MASK_RX14M_MASK (0xFFFFFFFFU)
  15881. #define CAN_RX14MASK_RX14M_SHIFT (0U)
  15882. /*! RX14M - Rx Buffer 14 Mask Bits
  15883. */
  15884. #define CAN_RX14MASK_RX14M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX14MASK_RX14M_SHIFT)) & CAN_RX14MASK_RX14M_MASK)
  15885. /*! @} */
  15886. /*! @name RX15MASK - Rx 15 Mask register */
  15887. /*! @{ */
  15888. #define CAN_RX15MASK_RX15M_MASK (0xFFFFFFFFU)
  15889. #define CAN_RX15MASK_RX15M_SHIFT (0U)
  15890. /*! RX15M - Rx Buffer 15 Mask Bits
  15891. */
  15892. #define CAN_RX15MASK_RX15M(x) (((uint32_t)(((uint32_t)(x)) << CAN_RX15MASK_RX15M_SHIFT)) & CAN_RX15MASK_RX15M_MASK)
  15893. /*! @} */
  15894. /*! @name ECR - Error Counter */
  15895. /*! @{ */
  15896. #define CAN_ECR_TXERRCNT_MASK (0xFFU)
  15897. #define CAN_ECR_TXERRCNT_SHIFT (0U)
  15898. /*! TXERRCNT - Transmit Error Counter
  15899. */
  15900. #define CAN_ECR_TXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_SHIFT)) & CAN_ECR_TXERRCNT_MASK)
  15901. #define CAN_ECR_RXERRCNT_MASK (0xFF00U)
  15902. #define CAN_ECR_RXERRCNT_SHIFT (8U)
  15903. /*! RXERRCNT - Receive Error Counter
  15904. */
  15905. #define CAN_ECR_RXERRCNT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_SHIFT)) & CAN_ECR_RXERRCNT_MASK)
  15906. #define CAN_ECR_TXERRCNT_FAST_MASK (0xFF0000U)
  15907. #define CAN_ECR_TXERRCNT_FAST_SHIFT (16U)
  15908. /*! TXERRCNT_FAST - Transmit Error Counter for fast bits
  15909. */
  15910. #define CAN_ECR_TXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_TXERRCNT_FAST_SHIFT)) & CAN_ECR_TXERRCNT_FAST_MASK)
  15911. #define CAN_ECR_RXERRCNT_FAST_MASK (0xFF000000U)
  15912. #define CAN_ECR_RXERRCNT_FAST_SHIFT (24U)
  15913. /*! RXERRCNT_FAST - Receive Error Counter for fast bits
  15914. */
  15915. #define CAN_ECR_RXERRCNT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ECR_RXERRCNT_FAST_SHIFT)) & CAN_ECR_RXERRCNT_FAST_MASK)
  15916. /*! @} */
  15917. /*! @name ESR1 - Error and Status 1 register */
  15918. /*! @{ */
  15919. #define CAN_ESR1_WAKINT_MASK (0x1U)
  15920. #define CAN_ESR1_WAKINT_SHIFT (0U)
  15921. /*! WAKINT - Wake-Up Interrupt
  15922. * 0b0..No such occurrence.
  15923. * 0b1..Indicates a recessive to dominant transition was received on the CAN bus.
  15924. */
  15925. #define CAN_ESR1_WAKINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_WAKINT_SHIFT)) & CAN_ESR1_WAKINT_MASK)
  15926. #define CAN_ESR1_ERRINT_MASK (0x2U)
  15927. #define CAN_ESR1_ERRINT_SHIFT (1U)
  15928. /*! ERRINT - Error Interrupt
  15929. * 0b0..No such occurrence.
  15930. * 0b1..Indicates setting of any error bit in the Error and Status register.
  15931. */
  15932. #define CAN_ESR1_ERRINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_SHIFT)) & CAN_ESR1_ERRINT_MASK)
  15933. #define CAN_ESR1_BOFFINT_MASK (0x4U)
  15934. #define CAN_ESR1_BOFFINT_SHIFT (2U)
  15935. /*! BOFFINT - Bus Off Interrupt
  15936. * 0b0..No such occurrence.
  15937. * 0b1..FlexCAN module entered Bus Off state.
  15938. */
  15939. #define CAN_ESR1_BOFFINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFINT_SHIFT)) & CAN_ESR1_BOFFINT_MASK)
  15940. #define CAN_ESR1_RX_MASK (0x8U)
  15941. #define CAN_ESR1_RX_SHIFT (3U)
  15942. /*! RX - FlexCAN In Reception
  15943. * 0b0..FlexCAN is not receiving a message.
  15944. * 0b1..FlexCAN is receiving a message.
  15945. */
  15946. #define CAN_ESR1_RX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RX_SHIFT)) & CAN_ESR1_RX_MASK)
  15947. #define CAN_ESR1_FLTCONF_MASK (0x30U)
  15948. #define CAN_ESR1_FLTCONF_SHIFT (4U)
  15949. /*! FLTCONF - Fault Confinement State
  15950. * 0b00..Error Active
  15951. * 0b01..Error Passive
  15952. * 0b1x..Bus Off
  15953. */
  15954. #define CAN_ESR1_FLTCONF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FLTCONF_SHIFT)) & CAN_ESR1_FLTCONF_MASK)
  15955. #define CAN_ESR1_TX_MASK (0x40U)
  15956. #define CAN_ESR1_TX_SHIFT (6U)
  15957. /*! TX - FlexCAN In Transmission
  15958. * 0b0..FlexCAN is not transmitting a message.
  15959. * 0b1..FlexCAN is transmitting a message.
  15960. */
  15961. #define CAN_ESR1_TX(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TX_SHIFT)) & CAN_ESR1_TX_MASK)
  15962. #define CAN_ESR1_IDLE_MASK (0x80U)
  15963. #define CAN_ESR1_IDLE_SHIFT (7U)
  15964. /*! IDLE - IDLE
  15965. * 0b0..No such occurrence.
  15966. * 0b1..CAN bus is now IDLE.
  15967. */
  15968. #define CAN_ESR1_IDLE(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_IDLE_SHIFT)) & CAN_ESR1_IDLE_MASK)
  15969. #define CAN_ESR1_RXWRN_MASK (0x100U)
  15970. #define CAN_ESR1_RXWRN_SHIFT (8U)
  15971. /*! RXWRN - Rx Error Warning
  15972. * 0b0..No such occurrence.
  15973. * 0b1..RXERRCNT is greater than or equal to 96.
  15974. */
  15975. #define CAN_ESR1_RXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RXWRN_SHIFT)) & CAN_ESR1_RXWRN_MASK)
  15976. #define CAN_ESR1_TXWRN_MASK (0x200U)
  15977. #define CAN_ESR1_TXWRN_SHIFT (9U)
  15978. /*! TXWRN - TX Error Warning
  15979. * 0b0..No such occurrence.
  15980. * 0b1..TXERRCNT is greater than or equal to 96.
  15981. */
  15982. #define CAN_ESR1_TXWRN(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TXWRN_SHIFT)) & CAN_ESR1_TXWRN_MASK)
  15983. #define CAN_ESR1_STFERR_MASK (0x400U)
  15984. #define CAN_ESR1_STFERR_SHIFT (10U)
  15985. /*! STFERR - Stuffing Error
  15986. * 0b0..No such occurrence.
  15987. * 0b1..A stuffing error occurred since last read of this register.
  15988. */
  15989. #define CAN_ESR1_STFERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_SHIFT)) & CAN_ESR1_STFERR_MASK)
  15990. #define CAN_ESR1_FRMERR_MASK (0x800U)
  15991. #define CAN_ESR1_FRMERR_SHIFT (11U)
  15992. /*! FRMERR - Form Error
  15993. * 0b0..No such occurrence.
  15994. * 0b1..A Form Error occurred since last read of this register.
  15995. */
  15996. #define CAN_ESR1_FRMERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_SHIFT)) & CAN_ESR1_FRMERR_MASK)
  15997. #define CAN_ESR1_CRCERR_MASK (0x1000U)
  15998. #define CAN_ESR1_CRCERR_SHIFT (12U)
  15999. /*! CRCERR - Cyclic Redundancy Check Error
  16000. * 0b0..No such occurrence.
  16001. * 0b1..A CRC error occurred since last read of this register.
  16002. */
  16003. #define CAN_ESR1_CRCERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_SHIFT)) & CAN_ESR1_CRCERR_MASK)
  16004. #define CAN_ESR1_ACKERR_MASK (0x2000U)
  16005. #define CAN_ESR1_ACKERR_SHIFT (13U)
  16006. /*! ACKERR - Acknowledge Error
  16007. * 0b0..No such occurrence.
  16008. * 0b1..An ACK error occurred since last read of this register.
  16009. */
  16010. #define CAN_ESR1_ACKERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ACKERR_SHIFT)) & CAN_ESR1_ACKERR_MASK)
  16011. #define CAN_ESR1_BIT0ERR_MASK (0x4000U)
  16012. #define CAN_ESR1_BIT0ERR_SHIFT (14U)
  16013. /*! BIT0ERR - Bit0 Error
  16014. * 0b0..No such occurrence.
  16015. * 0b1..At least one bit sent as dominant is received as recessive.
  16016. */
  16017. #define CAN_ESR1_BIT0ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_SHIFT)) & CAN_ESR1_BIT0ERR_MASK)
  16018. #define CAN_ESR1_BIT1ERR_MASK (0x8000U)
  16019. #define CAN_ESR1_BIT1ERR_SHIFT (15U)
  16020. /*! BIT1ERR - Bit1 Error
  16021. * 0b0..No such occurrence.
  16022. * 0b1..At least one bit sent as recessive is received as dominant.
  16023. */
  16024. #define CAN_ESR1_BIT1ERR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_SHIFT)) & CAN_ESR1_BIT1ERR_MASK)
  16025. #define CAN_ESR1_RWRNINT_MASK (0x10000U)
  16026. #define CAN_ESR1_RWRNINT_SHIFT (16U)
  16027. /*! RWRNINT - Rx Warning Interrupt Flag
  16028. * 0b0..No such occurrence.
  16029. * 0b1..The Rx error counter transitioned from less than 96 to greater than or equal to 96.
  16030. */
  16031. #define CAN_ESR1_RWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_RWRNINT_SHIFT)) & CAN_ESR1_RWRNINT_MASK)
  16032. #define CAN_ESR1_TWRNINT_MASK (0x20000U)
  16033. #define CAN_ESR1_TWRNINT_SHIFT (17U)
  16034. /*! TWRNINT - Tx Warning Interrupt Flag
  16035. * 0b0..No such occurrence.
  16036. * 0b1..The Tx error counter transitioned from less than 96 to greater than or equal to 96.
  16037. */
  16038. #define CAN_ESR1_TWRNINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_TWRNINT_SHIFT)) & CAN_ESR1_TWRNINT_MASK)
  16039. #define CAN_ESR1_SYNCH_MASK (0x40000U)
  16040. #define CAN_ESR1_SYNCH_SHIFT (18U)
  16041. /*! SYNCH - CAN Synchronization Status
  16042. * 0b0..FlexCAN is not synchronized to the CAN bus.
  16043. * 0b1..FlexCAN is synchronized to the CAN bus.
  16044. */
  16045. #define CAN_ESR1_SYNCH(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_SYNCH_SHIFT)) & CAN_ESR1_SYNCH_MASK)
  16046. #define CAN_ESR1_BOFFDONEINT_MASK (0x80000U)
  16047. #define CAN_ESR1_BOFFDONEINT_SHIFT (19U)
  16048. /*! BOFFDONEINT - Bus Off Done Interrupt
  16049. * 0b0..No such occurrence.
  16050. * 0b1..FlexCAN module has completed Bus Off process.
  16051. */
  16052. #define CAN_ESR1_BOFFDONEINT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BOFFDONEINT_SHIFT)) & CAN_ESR1_BOFFDONEINT_MASK)
  16053. #define CAN_ESR1_ERRINT_FAST_MASK (0x100000U)
  16054. #define CAN_ESR1_ERRINT_FAST_SHIFT (20U)
  16055. /*! ERRINT_FAST - Error interrupt for errors detected in Data Phase of CAN FD frames with BRS bit set
  16056. * 0b0..No such occurrence.
  16057. * 0b1..Indicates setting of any error bit detected in the data phase of CAN FD frames with the BRS bit set.
  16058. */
  16059. #define CAN_ESR1_ERRINT_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERRINT_FAST_SHIFT)) & CAN_ESR1_ERRINT_FAST_MASK)
  16060. #define CAN_ESR1_ERROVR_MASK (0x200000U)
  16061. #define CAN_ESR1_ERROVR_SHIFT (21U)
  16062. /*! ERROVR - Error Overrun
  16063. * 0b0..Overrun has not occurred.
  16064. * 0b1..Overrun has occurred.
  16065. */
  16066. #define CAN_ESR1_ERROVR(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_ERROVR_SHIFT)) & CAN_ESR1_ERROVR_MASK)
  16067. #define CAN_ESR1_STFERR_FAST_MASK (0x4000000U)
  16068. #define CAN_ESR1_STFERR_FAST_SHIFT (26U)
  16069. /*! STFERR_FAST - Stuffing Error in the Data Phase of CAN FD frames with the BRS bit set
  16070. * 0b0..No such occurrence.
  16071. * 0b1..A stuffing error occurred since last read of this register.
  16072. */
  16073. #define CAN_ESR1_STFERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_STFERR_FAST_SHIFT)) & CAN_ESR1_STFERR_FAST_MASK)
  16074. #define CAN_ESR1_FRMERR_FAST_MASK (0x8000000U)
  16075. #define CAN_ESR1_FRMERR_FAST_SHIFT (27U)
  16076. /*! FRMERR_FAST - Form Error in the Data Phase of CAN FD frames with the BRS bit set
  16077. * 0b0..No such occurrence.
  16078. * 0b1..A form error occurred since last read of this register.
  16079. */
  16080. #define CAN_ESR1_FRMERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_FRMERR_FAST_SHIFT)) & CAN_ESR1_FRMERR_FAST_MASK)
  16081. #define CAN_ESR1_CRCERR_FAST_MASK (0x10000000U)
  16082. #define CAN_ESR1_CRCERR_FAST_SHIFT (28U)
  16083. /*! CRCERR_FAST - Cyclic Redundancy Check Error in the CRC field of CAN FD frames with the BRS bit set
  16084. * 0b0..No such occurrence.
  16085. * 0b1..A CRC error occurred since last read of this register.
  16086. */
  16087. #define CAN_ESR1_CRCERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_CRCERR_FAST_SHIFT)) & CAN_ESR1_CRCERR_FAST_MASK)
  16088. #define CAN_ESR1_BIT0ERR_FAST_MASK (0x40000000U)
  16089. #define CAN_ESR1_BIT0ERR_FAST_SHIFT (30U)
  16090. /*! BIT0ERR_FAST - Bit0 Error in the Data Phase of CAN FD frames with the BRS bit set
  16091. * 0b0..No such occurrence.
  16092. * 0b1..At least one bit sent as dominant is received as recessive.
  16093. */
  16094. #define CAN_ESR1_BIT0ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT0ERR_FAST_SHIFT)) & CAN_ESR1_BIT0ERR_FAST_MASK)
  16095. #define CAN_ESR1_BIT1ERR_FAST_MASK (0x80000000U)
  16096. #define CAN_ESR1_BIT1ERR_FAST_SHIFT (31U)
  16097. /*! BIT1ERR_FAST - Bit1 Error in the Data Phase of CAN FD frames with the BRS bit set
  16098. * 0b0..No such occurrence.
  16099. * 0b1..At least one bit sent as recessive is received as dominant.
  16100. */
  16101. #define CAN_ESR1_BIT1ERR_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR1_BIT1ERR_FAST_SHIFT)) & CAN_ESR1_BIT1ERR_FAST_MASK)
  16102. /*! @} */
  16103. /*! @name IMASK2 - Interrupt Masks 2 register */
  16104. /*! @{ */
  16105. #define CAN_IMASK2_BUF63TO32M_MASK (0xFFFFFFFFU)
  16106. #define CAN_IMASK2_BUF63TO32M_SHIFT (0U)
  16107. /*! BUF63TO32M - Buffer MBi Mask
  16108. */
  16109. #define CAN_IMASK2_BUF63TO32M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK2_BUF63TO32M_SHIFT)) & CAN_IMASK2_BUF63TO32M_MASK)
  16110. /*! @} */
  16111. /*! @name IMASK1 - Interrupt Masks 1 register */
  16112. /*! @{ */
  16113. #define CAN_IMASK1_BUF31TO0M_MASK (0xFFFFFFFFU)
  16114. #define CAN_IMASK1_BUF31TO0M_SHIFT (0U)
  16115. /*! BUF31TO0M - Buffer MBi Mask
  16116. */
  16117. #define CAN_IMASK1_BUF31TO0M(x) (((uint32_t)(((uint32_t)(x)) << CAN_IMASK1_BUF31TO0M_SHIFT)) & CAN_IMASK1_BUF31TO0M_MASK)
  16118. /*! @} */
  16119. /*! @name IFLAG2 - Interrupt Flags 2 register */
  16120. /*! @{ */
  16121. #define CAN_IFLAG2_BUF63TO32I_MASK (0xFFFFFFFFU)
  16122. #define CAN_IFLAG2_BUF63TO32I_SHIFT (0U)
  16123. /*! BUF63TO32I - Buffer MBi Interrupt
  16124. */
  16125. #define CAN_IFLAG2_BUF63TO32I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG2_BUF63TO32I_SHIFT)) & CAN_IFLAG2_BUF63TO32I_MASK)
  16126. /*! @} */
  16127. /*! @name IFLAG1 - Interrupt Flags 1 register */
  16128. /*! @{ */
  16129. #define CAN_IFLAG1_BUF0I_MASK (0x1U)
  16130. #define CAN_IFLAG1_BUF0I_SHIFT (0U)
  16131. /*! BUF0I - Buffer MB0 Interrupt Or Clear FIFO bit
  16132. * 0b0..The corresponding buffer has no occurrence of successfully completed transmission or reception when MCR[RFEN]=0.
  16133. * 0b1..The corresponding buffer has successfully completed transmission or reception when MCR[RFEN]=0.
  16134. */
  16135. #define CAN_IFLAG1_BUF0I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF0I_SHIFT)) & CAN_IFLAG1_BUF0I_MASK)
  16136. #define CAN_IFLAG1_BUF4TO1I_MASK (0x1EU)
  16137. #define CAN_IFLAG1_BUF4TO1I_SHIFT (1U)
  16138. /*! BUF4TO1I - Buffer MBi Interrupt Or Reserved
  16139. */
  16140. #define CAN_IFLAG1_BUF4TO1I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF4TO1I_SHIFT)) & CAN_IFLAG1_BUF4TO1I_MASK)
  16141. #define CAN_IFLAG1_BUF5I_MASK (0x20U)
  16142. #define CAN_IFLAG1_BUF5I_SHIFT (5U)
  16143. /*! BUF5I - Buffer MB5 Interrupt Or Frames available in Rx FIFO
  16144. * 0b0..No occurrence of MB5 completing transmission/reception when MCR[RFEN]=0, or of frame(s) available in the FIFO, when MCR[RFEN]=1
  16145. * 0b1..MB5 completed transmission/reception when MCR[RFEN]=0, or frame(s) available in the Rx FIFO when
  16146. * MCR[RFEN]=1. It generates a DMA request in case of MCR[RFEN] and MCR[DMA] are enabled.
  16147. */
  16148. #define CAN_IFLAG1_BUF5I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF5I_SHIFT)) & CAN_IFLAG1_BUF5I_MASK)
  16149. #define CAN_IFLAG1_BUF6I_MASK (0x40U)
  16150. #define CAN_IFLAG1_BUF6I_SHIFT (6U)
  16151. /*! BUF6I - Buffer MB6 Interrupt Or Rx FIFO Warning
  16152. * 0b0..No occurrence of MB6 completing transmission/reception when MCR[RFEN]=0, or of Rx FIFO almost full when MCR[RFEN]=1
  16153. * 0b1..MB6 completed transmission/reception when MCR[RFEN]=0, or Rx FIFO almost full when MCR[RFEN]=1
  16154. */
  16155. #define CAN_IFLAG1_BUF6I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF6I_SHIFT)) & CAN_IFLAG1_BUF6I_MASK)
  16156. #define CAN_IFLAG1_BUF7I_MASK (0x80U)
  16157. #define CAN_IFLAG1_BUF7I_SHIFT (7U)
  16158. /*! BUF7I - Buffer MB7 Interrupt Or Rx FIFO Overflow
  16159. * 0b0..No occurrence of MB7 completing transmission/reception when MCR[RFEN]=0, or of Rx FIFO overflow when MCR[RFEN]=1
  16160. * 0b1..MB7 completed transmission/reception when MCR[RFEN]=0, or Rx FIFO overflow when MCR[RFEN]=1
  16161. */
  16162. #define CAN_IFLAG1_BUF7I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF7I_SHIFT)) & CAN_IFLAG1_BUF7I_MASK)
  16163. #define CAN_IFLAG1_BUF31TO8I_MASK (0xFFFFFF00U)
  16164. #define CAN_IFLAG1_BUF31TO8I_SHIFT (8U)
  16165. /*! BUF31TO8I - Buffer MBi Interrupt
  16166. */
  16167. #define CAN_IFLAG1_BUF31TO8I(x) (((uint32_t)(((uint32_t)(x)) << CAN_IFLAG1_BUF31TO8I_SHIFT)) & CAN_IFLAG1_BUF31TO8I_MASK)
  16168. /*! @} */
  16169. /*! @name CTRL2 - Control 2 register */
  16170. /*! @{ */
  16171. #define CAN_CTRL2_EDFLTDIS_MASK (0x800U)
  16172. #define CAN_CTRL2_EDFLTDIS_SHIFT (11U)
  16173. /*! EDFLTDIS - Edge Filter Disable
  16174. * 0b0..Edge filter is enabled
  16175. * 0b1..Edge filter is disabled
  16176. */
  16177. #define CAN_CTRL2_EDFLTDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EDFLTDIS_SHIFT)) & CAN_CTRL2_EDFLTDIS_MASK)
  16178. #define CAN_CTRL2_ISOCANFDEN_MASK (0x1000U)
  16179. #define CAN_CTRL2_ISOCANFDEN_SHIFT (12U)
  16180. /*! ISOCANFDEN - ISO CAN FD Enable
  16181. * 0b0..FlexCAN operates using the non-ISO CAN FD protocol.
  16182. * 0b1..FlexCAN operates using the ISO CAN FD protocol (ISO 11898-1).
  16183. */
  16184. #define CAN_CTRL2_ISOCANFDEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ISOCANFDEN_SHIFT)) & CAN_CTRL2_ISOCANFDEN_MASK)
  16185. #define CAN_CTRL2_PREXCEN_MASK (0x4000U)
  16186. #define CAN_CTRL2_PREXCEN_SHIFT (14U)
  16187. /*! PREXCEN - Protocol Exception Enable
  16188. * 0b0..Protocol exception is disabled.
  16189. * 0b1..Protocol exception is enabled.
  16190. */
  16191. #define CAN_CTRL2_PREXCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_PREXCEN_SHIFT)) & CAN_CTRL2_PREXCEN_MASK)
  16192. #define CAN_CTRL2_TIMER_SRC_MASK (0x8000U)
  16193. #define CAN_CTRL2_TIMER_SRC_SHIFT (15U)
  16194. /*! TIMER_SRC - Timer Source
  16195. * 0b0..The free running timer is clocked by the CAN bit clock, which defines the baud rate on the CAN bus.
  16196. * 0b1..The free running timer is clocked by an external time tick. The period can be either adjusted to be equal
  16197. * to the baud rate on the CAN bus, or a different value as required. See the device-specific section for
  16198. * details about the external time tick.
  16199. */
  16200. #define CAN_CTRL2_TIMER_SRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TIMER_SRC_SHIFT)) & CAN_CTRL2_TIMER_SRC_MASK)
  16201. #define CAN_CTRL2_EACEN_MASK (0x10000U)
  16202. #define CAN_CTRL2_EACEN_SHIFT (16U)
  16203. /*! EACEN - Entire Frame Arbitration Field Comparison Enable For Rx Mailboxes
  16204. * 0b0..Rx mailbox filter's IDE bit is always compared and RTR is never compared despite mask bits.
  16205. * 0b1..Enables the comparison of both Rx mailbox filter's IDE and RTR bit with their corresponding bits within
  16206. * the incoming frame. Mask bits do apply.
  16207. */
  16208. #define CAN_CTRL2_EACEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_EACEN_SHIFT)) & CAN_CTRL2_EACEN_MASK)
  16209. #define CAN_CTRL2_RRS_MASK (0x20000U)
  16210. #define CAN_CTRL2_RRS_SHIFT (17U)
  16211. /*! RRS - Remote Request Storing
  16212. * 0b0..Remote response frame is generated.
  16213. * 0b1..Remote request frame is stored.
  16214. */
  16215. #define CAN_CTRL2_RRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RRS_SHIFT)) & CAN_CTRL2_RRS_MASK)
  16216. #define CAN_CTRL2_MRP_MASK (0x40000U)
  16217. #define CAN_CTRL2_MRP_SHIFT (18U)
  16218. /*! MRP - Mailboxes Reception Priority
  16219. * 0b0..Matching starts from Rx FIFO and continues on mailboxes.
  16220. * 0b1..Matching starts from mailboxes and continues on Rx FIFO.
  16221. */
  16222. #define CAN_CTRL2_MRP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_MRP_SHIFT)) & CAN_CTRL2_MRP_MASK)
  16223. #define CAN_CTRL2_TASD_MASK (0xF80000U)
  16224. #define CAN_CTRL2_TASD_SHIFT (19U)
  16225. /*! TASD - Tx Arbitration Start Delay
  16226. */
  16227. #define CAN_CTRL2_TASD(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_TASD_SHIFT)) & CAN_CTRL2_TASD_MASK)
  16228. #define CAN_CTRL2_RFFN_MASK (0xF000000U)
  16229. #define CAN_CTRL2_RFFN_SHIFT (24U)
  16230. /*! RFFN - Number Of Rx FIFO Filters
  16231. */
  16232. #define CAN_CTRL2_RFFN(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_RFFN_SHIFT)) & CAN_CTRL2_RFFN_MASK)
  16233. #define CAN_CTRL2_WRMFRZ_MASK (0x10000000U)
  16234. #define CAN_CTRL2_WRMFRZ_SHIFT (28U)
  16235. /*! WRMFRZ - Write-Access To Memory In Freeze Mode
  16236. * 0b0..Maintain the write access restrictions.
  16237. * 0b1..Enable unrestricted write access to FlexCAN memory.
  16238. */
  16239. #define CAN_CTRL2_WRMFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_WRMFRZ_SHIFT)) & CAN_CTRL2_WRMFRZ_MASK)
  16240. #define CAN_CTRL2_ECRWRE_MASK (0x20000000U)
  16241. #define CAN_CTRL2_ECRWRE_SHIFT (29U)
  16242. /*! ECRWRE - Error-correction Configuration Register Write Enable
  16243. * 0b0..Disable update.
  16244. * 0b1..Enable update.
  16245. */
  16246. #define CAN_CTRL2_ECRWRE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ECRWRE_SHIFT)) & CAN_CTRL2_ECRWRE_MASK)
  16247. #define CAN_CTRL2_BOFFDONEMSK_MASK (0x40000000U)
  16248. #define CAN_CTRL2_BOFFDONEMSK_SHIFT (30U)
  16249. /*! BOFFDONEMSK - Bus Off Done Interrupt Mask
  16250. * 0b0..Bus off done interrupt disabled.
  16251. * 0b1..Bus off done interrupt enabled.
  16252. */
  16253. #define CAN_CTRL2_BOFFDONEMSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_BOFFDONEMSK_SHIFT)) & CAN_CTRL2_BOFFDONEMSK_MASK)
  16254. #define CAN_CTRL2_ERRMSK_FAST_MASK (0x80000000U)
  16255. #define CAN_CTRL2_ERRMSK_FAST_SHIFT (31U)
  16256. /*! ERRMSK_FAST - Error Interrupt Mask for errors detected in the data phase of fast CAN FD frames
  16257. * 0b0..ERRINT_FAST error interrupt disabled.
  16258. * 0b1..ERRINT_FAST error interrupt enabled.
  16259. */
  16260. #define CAN_CTRL2_ERRMSK_FAST(x) (((uint32_t)(((uint32_t)(x)) << CAN_CTRL2_ERRMSK_FAST_SHIFT)) & CAN_CTRL2_ERRMSK_FAST_MASK)
  16261. /*! @} */
  16262. /*! @name ESR2 - Error and Status 2 register */
  16263. /*! @{ */
  16264. #define CAN_ESR2_IMB_MASK (0x2000U)
  16265. #define CAN_ESR2_IMB_SHIFT (13U)
  16266. /*! IMB - Inactive Mailbox
  16267. * 0b0..If ESR2[VPS] is asserted, the ESR2[LPTM] is not an inactive mailbox.
  16268. * 0b1..If ESR2[VPS] is asserted, there is at least one inactive mailbox. LPTM content is the number of the first one.
  16269. */
  16270. #define CAN_ESR2_IMB(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_IMB_SHIFT)) & CAN_ESR2_IMB_MASK)
  16271. #define CAN_ESR2_VPS_MASK (0x4000U)
  16272. #define CAN_ESR2_VPS_SHIFT (14U)
  16273. /*! VPS - Valid Priority Status
  16274. * 0b0..Contents of IMB and LPTM are invalid.
  16275. * 0b1..Contents of IMB and LPTM are valid.
  16276. */
  16277. #define CAN_ESR2_VPS(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_VPS_SHIFT)) & CAN_ESR2_VPS_MASK)
  16278. #define CAN_ESR2_LPTM_MASK (0x7F0000U)
  16279. #define CAN_ESR2_LPTM_SHIFT (16U)
  16280. /*! LPTM - Lowest Priority Tx Mailbox
  16281. */
  16282. #define CAN_ESR2_LPTM(x) (((uint32_t)(((uint32_t)(x)) << CAN_ESR2_LPTM_SHIFT)) & CAN_ESR2_LPTM_MASK)
  16283. /*! @} */
  16284. /*! @name CRCR - CRC register */
  16285. /*! @{ */
  16286. #define CAN_CRCR_TXCRC_MASK (0x7FFFU)
  16287. #define CAN_CRCR_TXCRC_SHIFT (0U)
  16288. /*! TXCRC - Transmitted CRC value
  16289. */
  16290. #define CAN_CRCR_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_TXCRC_SHIFT)) & CAN_CRCR_TXCRC_MASK)
  16291. #define CAN_CRCR_MBCRC_MASK (0x7F0000U)
  16292. #define CAN_CRCR_MBCRC_SHIFT (16U)
  16293. /*! MBCRC - CRC Mailbox
  16294. */
  16295. #define CAN_CRCR_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CRCR_MBCRC_SHIFT)) & CAN_CRCR_MBCRC_MASK)
  16296. /*! @} */
  16297. /*! @name RXFGMASK - Rx FIFO Global Mask register */
  16298. /*! @{ */
  16299. #define CAN_RXFGMASK_FGM_MASK (0xFFFFFFFFU)
  16300. #define CAN_RXFGMASK_FGM_SHIFT (0U)
  16301. /*! FGM - Rx FIFO Global Mask Bits
  16302. */
  16303. #define CAN_RXFGMASK_FGM(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFGMASK_FGM_SHIFT)) & CAN_RXFGMASK_FGM_MASK)
  16304. /*! @} */
  16305. /*! @name RXFIR - Rx FIFO Information register */
  16306. /*! @{ */
  16307. #define CAN_RXFIR_IDHIT_MASK (0x1FFU)
  16308. #define CAN_RXFIR_IDHIT_SHIFT (0U)
  16309. /*! IDHIT - Identifier Acceptance Filter Hit Indicator
  16310. */
  16311. #define CAN_RXFIR_IDHIT(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXFIR_IDHIT_SHIFT)) & CAN_RXFIR_IDHIT_MASK)
  16312. /*! @} */
  16313. /*! @name CBT - CAN Bit Timing register */
  16314. /*! @{ */
  16315. #define CAN_CBT_EPSEG2_MASK (0x1FU)
  16316. #define CAN_CBT_EPSEG2_SHIFT (0U)
  16317. /*! EPSEG2 - Extended Phase Segment 2
  16318. */
  16319. #define CAN_CBT_EPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG2_SHIFT)) & CAN_CBT_EPSEG2_MASK)
  16320. #define CAN_CBT_EPSEG1_MASK (0x3E0U)
  16321. #define CAN_CBT_EPSEG1_SHIFT (5U)
  16322. /*! EPSEG1 - Extended Phase Segment 1
  16323. */
  16324. #define CAN_CBT_EPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPSEG1_SHIFT)) & CAN_CBT_EPSEG1_MASK)
  16325. #define CAN_CBT_EPROPSEG_MASK (0xFC00U)
  16326. #define CAN_CBT_EPROPSEG_SHIFT (10U)
  16327. /*! EPROPSEG - Extended Propagation Segment
  16328. */
  16329. #define CAN_CBT_EPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPROPSEG_SHIFT)) & CAN_CBT_EPROPSEG_MASK)
  16330. #define CAN_CBT_ERJW_MASK (0x1F0000U)
  16331. #define CAN_CBT_ERJW_SHIFT (16U)
  16332. /*! ERJW - Extended Resync Jump Width
  16333. */
  16334. #define CAN_CBT_ERJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_ERJW_SHIFT)) & CAN_CBT_ERJW_MASK)
  16335. #define CAN_CBT_EPRESDIV_MASK (0x7FE00000U)
  16336. #define CAN_CBT_EPRESDIV_SHIFT (21U)
  16337. /*! EPRESDIV - Extended Prescaler Division Factor
  16338. */
  16339. #define CAN_CBT_EPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_EPRESDIV_SHIFT)) & CAN_CBT_EPRESDIV_MASK)
  16340. #define CAN_CBT_BTF_MASK (0x80000000U)
  16341. #define CAN_CBT_BTF_SHIFT (31U)
  16342. /*! BTF - Bit Timing Format Enable
  16343. * 0b0..Extended bit time definitions disabled.
  16344. * 0b1..Extended bit time definitions enabled.
  16345. */
  16346. #define CAN_CBT_BTF(x) (((uint32_t)(((uint32_t)(x)) << CAN_CBT_BTF_SHIFT)) & CAN_CBT_BTF_MASK)
  16347. /*! @} */
  16348. /* The count of CAN_CS */
  16349. #define CAN_CS_COUNT_MB8B (64U)
  16350. /* The count of CAN_ID */
  16351. #define CAN_ID_COUNT_MB8B (64U)
  16352. /* The count of CAN_WORD */
  16353. #define CAN_WORD_COUNT_MB8B (64U)
  16354. /* The count of CAN_WORD */
  16355. #define CAN_WORD_COUNT_MB8B2 (2U)
  16356. /* The count of CAN_CS */
  16357. #define CAN_CS_COUNT_MB16B (42U)
  16358. /* The count of CAN_ID */
  16359. #define CAN_ID_COUNT_MB16B (42U)
  16360. /* The count of CAN_WORD */
  16361. #define CAN_WORD_COUNT_MB16B (42U)
  16362. /* The count of CAN_WORD */
  16363. #define CAN_WORD_COUNT_MB16B2 (4U)
  16364. /* The count of CAN_CS */
  16365. #define CAN_CS_COUNT_MB32B (24U)
  16366. /* The count of CAN_ID */
  16367. #define CAN_ID_COUNT_MB32B (24U)
  16368. /* The count of CAN_WORD */
  16369. #define CAN_WORD_COUNT_MB32B (24U)
  16370. /* The count of CAN_WORD */
  16371. #define CAN_WORD_COUNT_MB32B2 (8U)
  16372. /*! @name CS - Message Buffer 0 CS Register..Message Buffer 13 CS Register */
  16373. /*! @{ */
  16374. #define CAN_CS_TIME_STAMP_MASK (0xFFFFU)
  16375. #define CAN_CS_TIME_STAMP_SHIFT (0U)
  16376. /*! TIME_STAMP - Free-Running Counter Time stamp. This 16-bit field is a copy of the Free-Running
  16377. * Timer, captured for Tx and Rx frames at the time when the beginning of the Identifier field
  16378. * appears on the CAN bus.
  16379. */
  16380. #define CAN_CS_TIME_STAMP(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_TIME_STAMP_SHIFT)) & CAN_CS_TIME_STAMP_MASK)
  16381. #define CAN_CS_DLC_MASK (0xF0000U)
  16382. #define CAN_CS_DLC_SHIFT (16U)
  16383. /*! DLC - Length of the data to be stored/transmitted.
  16384. */
  16385. #define CAN_CS_DLC(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_DLC_SHIFT)) & CAN_CS_DLC_MASK)
  16386. #define CAN_CS_RTR_MASK (0x100000U)
  16387. #define CAN_CS_RTR_SHIFT (20U)
  16388. /*! RTR - Remote Transmission Request. One/zero for remote/data frame.
  16389. */
  16390. #define CAN_CS_RTR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_RTR_SHIFT)) & CAN_CS_RTR_MASK)
  16391. #define CAN_CS_IDE_MASK (0x200000U)
  16392. #define CAN_CS_IDE_SHIFT (21U)
  16393. /*! IDE - ID Extended. One/zero for extended/standard format frame.
  16394. */
  16395. #define CAN_CS_IDE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_IDE_SHIFT)) & CAN_CS_IDE_MASK)
  16396. #define CAN_CS_SRR_MASK (0x400000U)
  16397. #define CAN_CS_SRR_SHIFT (22U)
  16398. /*! SRR - Substitute Remote Request. Contains a fixed recessive bit.
  16399. */
  16400. #define CAN_CS_SRR(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_SRR_SHIFT)) & CAN_CS_SRR_MASK)
  16401. #define CAN_CS_CODE_MASK (0xF000000U)
  16402. #define CAN_CS_CODE_SHIFT (24U)
  16403. /*! CODE - Message Buffer Code. This 4-bit field can be accessed (read or write) by the CPU and by
  16404. * the FlexCAN module itself, as part of the message buffer matching and arbitration process.
  16405. */
  16406. #define CAN_CS_CODE(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_CODE_SHIFT)) & CAN_CS_CODE_MASK)
  16407. #define CAN_CS_ESI_MASK (0x20000000U)
  16408. #define CAN_CS_ESI_SHIFT (29U)
  16409. /*! ESI - Error State Indicator. This bit indicates if the transmitting node is error active or error passive.
  16410. */
  16411. #define CAN_CS_ESI(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_ESI_SHIFT)) & CAN_CS_ESI_MASK)
  16412. #define CAN_CS_BRS_MASK (0x40000000U)
  16413. #define CAN_CS_BRS_SHIFT (30U)
  16414. /*! BRS - Bit Rate Switch. This bit defines whether the bit rate is switched inside a CAN FD format frame.
  16415. */
  16416. #define CAN_CS_BRS(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_BRS_SHIFT)) & CAN_CS_BRS_MASK)
  16417. #define CAN_CS_EDL_MASK (0x80000000U)
  16418. #define CAN_CS_EDL_SHIFT (31U)
  16419. /*! EDL - Extended Data Length. This bit distinguishes between CAN format and CAN FD format frames.
  16420. * The EDL bit must not be set for Message Buffers configured to RANSWER with code field 0b1010.
  16421. */
  16422. #define CAN_CS_EDL(x) (((uint32_t)(((uint32_t)(x)) << CAN_CS_EDL_SHIFT)) & CAN_CS_EDL_MASK)
  16423. /*! @} */
  16424. /* The count of CAN_CS */
  16425. #define CAN_CS_COUNT_MB64B (14U)
  16426. /*! @name ID - Message Buffer 0 ID Register..Message Buffer 13 ID Register */
  16427. /*! @{ */
  16428. #define CAN_ID_EXT_MASK (0x3FFFFU)
  16429. #define CAN_ID_EXT_SHIFT (0U)
  16430. /*! EXT - Contains extended (LOW word) identifier of message buffer.
  16431. */
  16432. #define CAN_ID_EXT(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_EXT_SHIFT)) & CAN_ID_EXT_MASK)
  16433. #define CAN_ID_STD_MASK (0x1FFC0000U)
  16434. #define CAN_ID_STD_SHIFT (18U)
  16435. /*! STD - Contains standard/extended (HIGH word) identifier of message buffer.
  16436. */
  16437. #define CAN_ID_STD(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_STD_SHIFT)) & CAN_ID_STD_MASK)
  16438. #define CAN_ID_PRIO_MASK (0xE0000000U)
  16439. #define CAN_ID_PRIO_SHIFT (29U)
  16440. /*! PRIO - Local priority. This 3-bit fieldis only used when LPRIO_EN bit is set in MCR and it only
  16441. * makes sense for Tx buffers. These bits are not transmitted. They are appended to the regular
  16442. * ID to define the transmission priority.
  16443. */
  16444. #define CAN_ID_PRIO(x) (((uint32_t)(((uint32_t)(x)) << CAN_ID_PRIO_SHIFT)) & CAN_ID_PRIO_MASK)
  16445. /*! @} */
  16446. /* The count of CAN_ID */
  16447. #define CAN_ID_COUNT_MB64B (14U)
  16448. /*! @name WORD - Message Buffer 0 WORD_64B Register..Message Buffer 13 WORD_64B Register */
  16449. /*! @{ */
  16450. #define CAN_WORD_DATA_BYTE_3_MASK (0xFFU)
  16451. #define CAN_WORD_DATA_BYTE_3_SHIFT (0U)
  16452. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  16453. */
  16454. #define CAN_WORD_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_3_SHIFT)) & CAN_WORD_DATA_BYTE_3_MASK)
  16455. #define CAN_WORD_DATA_BYTE_7_MASK (0xFFU)
  16456. #define CAN_WORD_DATA_BYTE_7_SHIFT (0U)
  16457. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  16458. */
  16459. #define CAN_WORD_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_7_SHIFT)) & CAN_WORD_DATA_BYTE_7_MASK)
  16460. #define CAN_WORD_DATA_BYTE_11_MASK (0xFFU)
  16461. #define CAN_WORD_DATA_BYTE_11_SHIFT (0U)
  16462. /*! DATA_BYTE_11 - Data byte 0 of Rx/Tx frame.
  16463. */
  16464. #define CAN_WORD_DATA_BYTE_11(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_11_SHIFT)) & CAN_WORD_DATA_BYTE_11_MASK)
  16465. #define CAN_WORD_DATA_BYTE_15_MASK (0xFFU)
  16466. #define CAN_WORD_DATA_BYTE_15_SHIFT (0U)
  16467. /*! DATA_BYTE_15 - Data byte 0 of Rx/Tx frame.
  16468. */
  16469. #define CAN_WORD_DATA_BYTE_15(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_15_SHIFT)) & CAN_WORD_DATA_BYTE_15_MASK)
  16470. #define CAN_WORD_DATA_BYTE_19_MASK (0xFFU)
  16471. #define CAN_WORD_DATA_BYTE_19_SHIFT (0U)
  16472. /*! DATA_BYTE_19 - Data byte 0 of Rx/Tx frame.
  16473. */
  16474. #define CAN_WORD_DATA_BYTE_19(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_19_SHIFT)) & CAN_WORD_DATA_BYTE_19_MASK)
  16475. #define CAN_WORD_DATA_BYTE_23_MASK (0xFFU)
  16476. #define CAN_WORD_DATA_BYTE_23_SHIFT (0U)
  16477. /*! DATA_BYTE_23 - Data byte 0 of Rx/Tx frame.
  16478. */
  16479. #define CAN_WORD_DATA_BYTE_23(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_23_SHIFT)) & CAN_WORD_DATA_BYTE_23_MASK)
  16480. #define CAN_WORD_DATA_BYTE_27_MASK (0xFFU)
  16481. #define CAN_WORD_DATA_BYTE_27_SHIFT (0U)
  16482. /*! DATA_BYTE_27 - Data byte 0 of Rx/Tx frame.
  16483. */
  16484. #define CAN_WORD_DATA_BYTE_27(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_27_SHIFT)) & CAN_WORD_DATA_BYTE_27_MASK)
  16485. #define CAN_WORD_DATA_BYTE_31_MASK (0xFFU)
  16486. #define CAN_WORD_DATA_BYTE_31_SHIFT (0U)
  16487. /*! DATA_BYTE_31 - Data byte 0 of Rx/Tx frame.
  16488. */
  16489. #define CAN_WORD_DATA_BYTE_31(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_31_SHIFT)) & CAN_WORD_DATA_BYTE_31_MASK)
  16490. #define CAN_WORD_DATA_BYTE_35_MASK (0xFFU)
  16491. #define CAN_WORD_DATA_BYTE_35_SHIFT (0U)
  16492. /*! DATA_BYTE_35 - Data byte 0 of Rx/Tx frame.
  16493. */
  16494. #define CAN_WORD_DATA_BYTE_35(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_35_SHIFT)) & CAN_WORD_DATA_BYTE_35_MASK)
  16495. #define CAN_WORD_DATA_BYTE_39_MASK (0xFFU)
  16496. #define CAN_WORD_DATA_BYTE_39_SHIFT (0U)
  16497. /*! DATA_BYTE_39 - Data byte 0 of Rx/Tx frame.
  16498. */
  16499. #define CAN_WORD_DATA_BYTE_39(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_39_SHIFT)) & CAN_WORD_DATA_BYTE_39_MASK)
  16500. #define CAN_WORD_DATA_BYTE_43_MASK (0xFFU)
  16501. #define CAN_WORD_DATA_BYTE_43_SHIFT (0U)
  16502. /*! DATA_BYTE_43 - Data byte 0 of Rx/Tx frame.
  16503. */
  16504. #define CAN_WORD_DATA_BYTE_43(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_43_SHIFT)) & CAN_WORD_DATA_BYTE_43_MASK)
  16505. #define CAN_WORD_DATA_BYTE_47_MASK (0xFFU)
  16506. #define CAN_WORD_DATA_BYTE_47_SHIFT (0U)
  16507. /*! DATA_BYTE_47 - Data byte 0 of Rx/Tx frame.
  16508. */
  16509. #define CAN_WORD_DATA_BYTE_47(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_47_SHIFT)) & CAN_WORD_DATA_BYTE_47_MASK)
  16510. #define CAN_WORD_DATA_BYTE_51_MASK (0xFFU)
  16511. #define CAN_WORD_DATA_BYTE_51_SHIFT (0U)
  16512. /*! DATA_BYTE_51 - Data byte 0 of Rx/Tx frame.
  16513. */
  16514. #define CAN_WORD_DATA_BYTE_51(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_51_SHIFT)) & CAN_WORD_DATA_BYTE_51_MASK)
  16515. #define CAN_WORD_DATA_BYTE_55_MASK (0xFFU)
  16516. #define CAN_WORD_DATA_BYTE_55_SHIFT (0U)
  16517. /*! DATA_BYTE_55 - Data byte 0 of Rx/Tx frame.
  16518. */
  16519. #define CAN_WORD_DATA_BYTE_55(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_55_SHIFT)) & CAN_WORD_DATA_BYTE_55_MASK)
  16520. #define CAN_WORD_DATA_BYTE_59_MASK (0xFFU)
  16521. #define CAN_WORD_DATA_BYTE_59_SHIFT (0U)
  16522. /*! DATA_BYTE_59 - Data byte 0 of Rx/Tx frame.
  16523. */
  16524. #define CAN_WORD_DATA_BYTE_59(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_59_SHIFT)) & CAN_WORD_DATA_BYTE_59_MASK)
  16525. #define CAN_WORD_DATA_BYTE_63_MASK (0xFFU)
  16526. #define CAN_WORD_DATA_BYTE_63_SHIFT (0U)
  16527. /*! DATA_BYTE_63 - Data byte 0 of Rx/Tx frame.
  16528. */
  16529. #define CAN_WORD_DATA_BYTE_63(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_63_SHIFT)) & CAN_WORD_DATA_BYTE_63_MASK)
  16530. #define CAN_WORD_DATA_BYTE_2_MASK (0xFF00U)
  16531. #define CAN_WORD_DATA_BYTE_2_SHIFT (8U)
  16532. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  16533. */
  16534. #define CAN_WORD_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_2_SHIFT)) & CAN_WORD_DATA_BYTE_2_MASK)
  16535. #define CAN_WORD_DATA_BYTE_6_MASK (0xFF00U)
  16536. #define CAN_WORD_DATA_BYTE_6_SHIFT (8U)
  16537. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  16538. */
  16539. #define CAN_WORD_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_6_SHIFT)) & CAN_WORD_DATA_BYTE_6_MASK)
  16540. #define CAN_WORD_DATA_BYTE_10_MASK (0xFF00U)
  16541. #define CAN_WORD_DATA_BYTE_10_SHIFT (8U)
  16542. /*! DATA_BYTE_10 - Data byte 1 of Rx/Tx frame.
  16543. */
  16544. #define CAN_WORD_DATA_BYTE_10(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_10_SHIFT)) & CAN_WORD_DATA_BYTE_10_MASK)
  16545. #define CAN_WORD_DATA_BYTE_14_MASK (0xFF00U)
  16546. #define CAN_WORD_DATA_BYTE_14_SHIFT (8U)
  16547. /*! DATA_BYTE_14 - Data byte 1 of Rx/Tx frame.
  16548. */
  16549. #define CAN_WORD_DATA_BYTE_14(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_14_SHIFT)) & CAN_WORD_DATA_BYTE_14_MASK)
  16550. #define CAN_WORD_DATA_BYTE_18_MASK (0xFF00U)
  16551. #define CAN_WORD_DATA_BYTE_18_SHIFT (8U)
  16552. /*! DATA_BYTE_18 - Data byte 1 of Rx/Tx frame.
  16553. */
  16554. #define CAN_WORD_DATA_BYTE_18(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_18_SHIFT)) & CAN_WORD_DATA_BYTE_18_MASK)
  16555. #define CAN_WORD_DATA_BYTE_22_MASK (0xFF00U)
  16556. #define CAN_WORD_DATA_BYTE_22_SHIFT (8U)
  16557. /*! DATA_BYTE_22 - Data byte 1 of Rx/Tx frame.
  16558. */
  16559. #define CAN_WORD_DATA_BYTE_22(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_22_SHIFT)) & CAN_WORD_DATA_BYTE_22_MASK)
  16560. #define CAN_WORD_DATA_BYTE_26_MASK (0xFF00U)
  16561. #define CAN_WORD_DATA_BYTE_26_SHIFT (8U)
  16562. /*! DATA_BYTE_26 - Data byte 1 of Rx/Tx frame.
  16563. */
  16564. #define CAN_WORD_DATA_BYTE_26(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_26_SHIFT)) & CAN_WORD_DATA_BYTE_26_MASK)
  16565. #define CAN_WORD_DATA_BYTE_30_MASK (0xFF00U)
  16566. #define CAN_WORD_DATA_BYTE_30_SHIFT (8U)
  16567. /*! DATA_BYTE_30 - Data byte 1 of Rx/Tx frame.
  16568. */
  16569. #define CAN_WORD_DATA_BYTE_30(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_30_SHIFT)) & CAN_WORD_DATA_BYTE_30_MASK)
  16570. #define CAN_WORD_DATA_BYTE_34_MASK (0xFF00U)
  16571. #define CAN_WORD_DATA_BYTE_34_SHIFT (8U)
  16572. /*! DATA_BYTE_34 - Data byte 1 of Rx/Tx frame.
  16573. */
  16574. #define CAN_WORD_DATA_BYTE_34(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_34_SHIFT)) & CAN_WORD_DATA_BYTE_34_MASK)
  16575. #define CAN_WORD_DATA_BYTE_38_MASK (0xFF00U)
  16576. #define CAN_WORD_DATA_BYTE_38_SHIFT (8U)
  16577. /*! DATA_BYTE_38 - Data byte 1 of Rx/Tx frame.
  16578. */
  16579. #define CAN_WORD_DATA_BYTE_38(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_38_SHIFT)) & CAN_WORD_DATA_BYTE_38_MASK)
  16580. #define CAN_WORD_DATA_BYTE_42_MASK (0xFF00U)
  16581. #define CAN_WORD_DATA_BYTE_42_SHIFT (8U)
  16582. /*! DATA_BYTE_42 - Data byte 1 of Rx/Tx frame.
  16583. */
  16584. #define CAN_WORD_DATA_BYTE_42(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_42_SHIFT)) & CAN_WORD_DATA_BYTE_42_MASK)
  16585. #define CAN_WORD_DATA_BYTE_46_MASK (0xFF00U)
  16586. #define CAN_WORD_DATA_BYTE_46_SHIFT (8U)
  16587. /*! DATA_BYTE_46 - Data byte 1 of Rx/Tx frame.
  16588. */
  16589. #define CAN_WORD_DATA_BYTE_46(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_46_SHIFT)) & CAN_WORD_DATA_BYTE_46_MASK)
  16590. #define CAN_WORD_DATA_BYTE_50_MASK (0xFF00U)
  16591. #define CAN_WORD_DATA_BYTE_50_SHIFT (8U)
  16592. /*! DATA_BYTE_50 - Data byte 1 of Rx/Tx frame.
  16593. */
  16594. #define CAN_WORD_DATA_BYTE_50(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_50_SHIFT)) & CAN_WORD_DATA_BYTE_50_MASK)
  16595. #define CAN_WORD_DATA_BYTE_54_MASK (0xFF00U)
  16596. #define CAN_WORD_DATA_BYTE_54_SHIFT (8U)
  16597. /*! DATA_BYTE_54 - Data byte 1 of Rx/Tx frame.
  16598. */
  16599. #define CAN_WORD_DATA_BYTE_54(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_54_SHIFT)) & CAN_WORD_DATA_BYTE_54_MASK)
  16600. #define CAN_WORD_DATA_BYTE_58_MASK (0xFF00U)
  16601. #define CAN_WORD_DATA_BYTE_58_SHIFT (8U)
  16602. /*! DATA_BYTE_58 - Data byte 1 of Rx/Tx frame.
  16603. */
  16604. #define CAN_WORD_DATA_BYTE_58(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_58_SHIFT)) & CAN_WORD_DATA_BYTE_58_MASK)
  16605. #define CAN_WORD_DATA_BYTE_62_MASK (0xFF00U)
  16606. #define CAN_WORD_DATA_BYTE_62_SHIFT (8U)
  16607. /*! DATA_BYTE_62 - Data byte 1 of Rx/Tx frame.
  16608. */
  16609. #define CAN_WORD_DATA_BYTE_62(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_62_SHIFT)) & CAN_WORD_DATA_BYTE_62_MASK)
  16610. #define CAN_WORD_DATA_BYTE_1_MASK (0xFF0000U)
  16611. #define CAN_WORD_DATA_BYTE_1_SHIFT (16U)
  16612. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  16613. */
  16614. #define CAN_WORD_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_1_SHIFT)) & CAN_WORD_DATA_BYTE_1_MASK)
  16615. #define CAN_WORD_DATA_BYTE_5_MASK (0xFF0000U)
  16616. #define CAN_WORD_DATA_BYTE_5_SHIFT (16U)
  16617. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  16618. */
  16619. #define CAN_WORD_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_5_SHIFT)) & CAN_WORD_DATA_BYTE_5_MASK)
  16620. #define CAN_WORD_DATA_BYTE_9_MASK (0xFF0000U)
  16621. #define CAN_WORD_DATA_BYTE_9_SHIFT (16U)
  16622. /*! DATA_BYTE_9 - Data byte 2 of Rx/Tx frame.
  16623. */
  16624. #define CAN_WORD_DATA_BYTE_9(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_9_SHIFT)) & CAN_WORD_DATA_BYTE_9_MASK)
  16625. #define CAN_WORD_DATA_BYTE_13_MASK (0xFF0000U)
  16626. #define CAN_WORD_DATA_BYTE_13_SHIFT (16U)
  16627. /*! DATA_BYTE_13 - Data byte 2 of Rx/Tx frame.
  16628. */
  16629. #define CAN_WORD_DATA_BYTE_13(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_13_SHIFT)) & CAN_WORD_DATA_BYTE_13_MASK)
  16630. #define CAN_WORD_DATA_BYTE_17_MASK (0xFF0000U)
  16631. #define CAN_WORD_DATA_BYTE_17_SHIFT (16U)
  16632. /*! DATA_BYTE_17 - Data byte 2 of Rx/Tx frame.
  16633. */
  16634. #define CAN_WORD_DATA_BYTE_17(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_17_SHIFT)) & CAN_WORD_DATA_BYTE_17_MASK)
  16635. #define CAN_WORD_DATA_BYTE_21_MASK (0xFF0000U)
  16636. #define CAN_WORD_DATA_BYTE_21_SHIFT (16U)
  16637. /*! DATA_BYTE_21 - Data byte 2 of Rx/Tx frame.
  16638. */
  16639. #define CAN_WORD_DATA_BYTE_21(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_21_SHIFT)) & CAN_WORD_DATA_BYTE_21_MASK)
  16640. #define CAN_WORD_DATA_BYTE_25_MASK (0xFF0000U)
  16641. #define CAN_WORD_DATA_BYTE_25_SHIFT (16U)
  16642. /*! DATA_BYTE_25 - Data byte 2 of Rx/Tx frame.
  16643. */
  16644. #define CAN_WORD_DATA_BYTE_25(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_25_SHIFT)) & CAN_WORD_DATA_BYTE_25_MASK)
  16645. #define CAN_WORD_DATA_BYTE_29_MASK (0xFF0000U)
  16646. #define CAN_WORD_DATA_BYTE_29_SHIFT (16U)
  16647. /*! DATA_BYTE_29 - Data byte 2 of Rx/Tx frame.
  16648. */
  16649. #define CAN_WORD_DATA_BYTE_29(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_29_SHIFT)) & CAN_WORD_DATA_BYTE_29_MASK)
  16650. #define CAN_WORD_DATA_BYTE_33_MASK (0xFF0000U)
  16651. #define CAN_WORD_DATA_BYTE_33_SHIFT (16U)
  16652. /*! DATA_BYTE_33 - Data byte 2 of Rx/Tx frame.
  16653. */
  16654. #define CAN_WORD_DATA_BYTE_33(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_33_SHIFT)) & CAN_WORD_DATA_BYTE_33_MASK)
  16655. #define CAN_WORD_DATA_BYTE_37_MASK (0xFF0000U)
  16656. #define CAN_WORD_DATA_BYTE_37_SHIFT (16U)
  16657. /*! DATA_BYTE_37 - Data byte 2 of Rx/Tx frame.
  16658. */
  16659. #define CAN_WORD_DATA_BYTE_37(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_37_SHIFT)) & CAN_WORD_DATA_BYTE_37_MASK)
  16660. #define CAN_WORD_DATA_BYTE_41_MASK (0xFF0000U)
  16661. #define CAN_WORD_DATA_BYTE_41_SHIFT (16U)
  16662. /*! DATA_BYTE_41 - Data byte 2 of Rx/Tx frame.
  16663. */
  16664. #define CAN_WORD_DATA_BYTE_41(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_41_SHIFT)) & CAN_WORD_DATA_BYTE_41_MASK)
  16665. #define CAN_WORD_DATA_BYTE_45_MASK (0xFF0000U)
  16666. #define CAN_WORD_DATA_BYTE_45_SHIFT (16U)
  16667. /*! DATA_BYTE_45 - Data byte 2 of Rx/Tx frame.
  16668. */
  16669. #define CAN_WORD_DATA_BYTE_45(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_45_SHIFT)) & CAN_WORD_DATA_BYTE_45_MASK)
  16670. #define CAN_WORD_DATA_BYTE_49_MASK (0xFF0000U)
  16671. #define CAN_WORD_DATA_BYTE_49_SHIFT (16U)
  16672. /*! DATA_BYTE_49 - Data byte 2 of Rx/Tx frame.
  16673. */
  16674. #define CAN_WORD_DATA_BYTE_49(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_49_SHIFT)) & CAN_WORD_DATA_BYTE_49_MASK)
  16675. #define CAN_WORD_DATA_BYTE_53_MASK (0xFF0000U)
  16676. #define CAN_WORD_DATA_BYTE_53_SHIFT (16U)
  16677. /*! DATA_BYTE_53 - Data byte 2 of Rx/Tx frame.
  16678. */
  16679. #define CAN_WORD_DATA_BYTE_53(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_53_SHIFT)) & CAN_WORD_DATA_BYTE_53_MASK)
  16680. #define CAN_WORD_DATA_BYTE_57_MASK (0xFF0000U)
  16681. #define CAN_WORD_DATA_BYTE_57_SHIFT (16U)
  16682. /*! DATA_BYTE_57 - Data byte 2 of Rx/Tx frame.
  16683. */
  16684. #define CAN_WORD_DATA_BYTE_57(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_57_SHIFT)) & CAN_WORD_DATA_BYTE_57_MASK)
  16685. #define CAN_WORD_DATA_BYTE_61_MASK (0xFF0000U)
  16686. #define CAN_WORD_DATA_BYTE_61_SHIFT (16U)
  16687. /*! DATA_BYTE_61 - Data byte 2 of Rx/Tx frame.
  16688. */
  16689. #define CAN_WORD_DATA_BYTE_61(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_61_SHIFT)) & CAN_WORD_DATA_BYTE_61_MASK)
  16690. #define CAN_WORD_DATA_BYTE_0_MASK (0xFF000000U)
  16691. #define CAN_WORD_DATA_BYTE_0_SHIFT (24U)
  16692. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  16693. */
  16694. #define CAN_WORD_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_0_SHIFT)) & CAN_WORD_DATA_BYTE_0_MASK)
  16695. #define CAN_WORD_DATA_BYTE_4_MASK (0xFF000000U)
  16696. #define CAN_WORD_DATA_BYTE_4_SHIFT (24U)
  16697. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  16698. */
  16699. #define CAN_WORD_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_4_SHIFT)) & CAN_WORD_DATA_BYTE_4_MASK)
  16700. #define CAN_WORD_DATA_BYTE_8_MASK (0xFF000000U)
  16701. #define CAN_WORD_DATA_BYTE_8_SHIFT (24U)
  16702. /*! DATA_BYTE_8 - Data byte 3 of Rx/Tx frame.
  16703. */
  16704. #define CAN_WORD_DATA_BYTE_8(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_8_SHIFT)) & CAN_WORD_DATA_BYTE_8_MASK)
  16705. #define CAN_WORD_DATA_BYTE_12_MASK (0xFF000000U)
  16706. #define CAN_WORD_DATA_BYTE_12_SHIFT (24U)
  16707. /*! DATA_BYTE_12 - Data byte 3 of Rx/Tx frame.
  16708. */
  16709. #define CAN_WORD_DATA_BYTE_12(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_12_SHIFT)) & CAN_WORD_DATA_BYTE_12_MASK)
  16710. #define CAN_WORD_DATA_BYTE_16_MASK (0xFF000000U)
  16711. #define CAN_WORD_DATA_BYTE_16_SHIFT (24U)
  16712. /*! DATA_BYTE_16 - Data byte 3 of Rx/Tx frame.
  16713. */
  16714. #define CAN_WORD_DATA_BYTE_16(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_16_SHIFT)) & CAN_WORD_DATA_BYTE_16_MASK)
  16715. #define CAN_WORD_DATA_BYTE_20_MASK (0xFF000000U)
  16716. #define CAN_WORD_DATA_BYTE_20_SHIFT (24U)
  16717. /*! DATA_BYTE_20 - Data byte 3 of Rx/Tx frame.
  16718. */
  16719. #define CAN_WORD_DATA_BYTE_20(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_20_SHIFT)) & CAN_WORD_DATA_BYTE_20_MASK)
  16720. #define CAN_WORD_DATA_BYTE_24_MASK (0xFF000000U)
  16721. #define CAN_WORD_DATA_BYTE_24_SHIFT (24U)
  16722. /*! DATA_BYTE_24 - Data byte 3 of Rx/Tx frame.
  16723. */
  16724. #define CAN_WORD_DATA_BYTE_24(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_24_SHIFT)) & CAN_WORD_DATA_BYTE_24_MASK)
  16725. #define CAN_WORD_DATA_BYTE_28_MASK (0xFF000000U)
  16726. #define CAN_WORD_DATA_BYTE_28_SHIFT (24U)
  16727. /*! DATA_BYTE_28 - Data byte 3 of Rx/Tx frame.
  16728. */
  16729. #define CAN_WORD_DATA_BYTE_28(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_28_SHIFT)) & CAN_WORD_DATA_BYTE_28_MASK)
  16730. #define CAN_WORD_DATA_BYTE_32_MASK (0xFF000000U)
  16731. #define CAN_WORD_DATA_BYTE_32_SHIFT (24U)
  16732. /*! DATA_BYTE_32 - Data byte 3 of Rx/Tx frame.
  16733. */
  16734. #define CAN_WORD_DATA_BYTE_32(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_32_SHIFT)) & CAN_WORD_DATA_BYTE_32_MASK)
  16735. #define CAN_WORD_DATA_BYTE_36_MASK (0xFF000000U)
  16736. #define CAN_WORD_DATA_BYTE_36_SHIFT (24U)
  16737. /*! DATA_BYTE_36 - Data byte 3 of Rx/Tx frame.
  16738. */
  16739. #define CAN_WORD_DATA_BYTE_36(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_36_SHIFT)) & CAN_WORD_DATA_BYTE_36_MASK)
  16740. #define CAN_WORD_DATA_BYTE_40_MASK (0xFF000000U)
  16741. #define CAN_WORD_DATA_BYTE_40_SHIFT (24U)
  16742. /*! DATA_BYTE_40 - Data byte 3 of Rx/Tx frame.
  16743. */
  16744. #define CAN_WORD_DATA_BYTE_40(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_40_SHIFT)) & CAN_WORD_DATA_BYTE_40_MASK)
  16745. #define CAN_WORD_DATA_BYTE_44_MASK (0xFF000000U)
  16746. #define CAN_WORD_DATA_BYTE_44_SHIFT (24U)
  16747. /*! DATA_BYTE_44 - Data byte 3 of Rx/Tx frame.
  16748. */
  16749. #define CAN_WORD_DATA_BYTE_44(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_44_SHIFT)) & CAN_WORD_DATA_BYTE_44_MASK)
  16750. #define CAN_WORD_DATA_BYTE_48_MASK (0xFF000000U)
  16751. #define CAN_WORD_DATA_BYTE_48_SHIFT (24U)
  16752. /*! DATA_BYTE_48 - Data byte 3 of Rx/Tx frame.
  16753. */
  16754. #define CAN_WORD_DATA_BYTE_48(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_48_SHIFT)) & CAN_WORD_DATA_BYTE_48_MASK)
  16755. #define CAN_WORD_DATA_BYTE_52_MASK (0xFF000000U)
  16756. #define CAN_WORD_DATA_BYTE_52_SHIFT (24U)
  16757. /*! DATA_BYTE_52 - Data byte 3 of Rx/Tx frame.
  16758. */
  16759. #define CAN_WORD_DATA_BYTE_52(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_52_SHIFT)) & CAN_WORD_DATA_BYTE_52_MASK)
  16760. #define CAN_WORD_DATA_BYTE_56_MASK (0xFF000000U)
  16761. #define CAN_WORD_DATA_BYTE_56_SHIFT (24U)
  16762. /*! DATA_BYTE_56 - Data byte 3 of Rx/Tx frame.
  16763. */
  16764. #define CAN_WORD_DATA_BYTE_56(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_56_SHIFT)) & CAN_WORD_DATA_BYTE_56_MASK)
  16765. #define CAN_WORD_DATA_BYTE_60_MASK (0xFF000000U)
  16766. #define CAN_WORD_DATA_BYTE_60_SHIFT (24U)
  16767. /*! DATA_BYTE_60 - Data byte 3 of Rx/Tx frame.
  16768. */
  16769. #define CAN_WORD_DATA_BYTE_60(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD_DATA_BYTE_60_SHIFT)) & CAN_WORD_DATA_BYTE_60_MASK)
  16770. /*! @} */
  16771. /* The count of CAN_WORD */
  16772. #define CAN_WORD_COUNT_MB64B (14U)
  16773. /* The count of CAN_WORD */
  16774. #define CAN_WORD_COUNT_MB64B2 (16U)
  16775. /* The count of CAN_CS */
  16776. #define CAN_CS_COUNT (64U)
  16777. /* The count of CAN_ID */
  16778. #define CAN_ID_COUNT (64U)
  16779. /*! @name WORD0 - Message Buffer 0 WORD0 Register..Message Buffer 63 WORD0 Register */
  16780. /*! @{ */
  16781. #define CAN_WORD0_DATA_BYTE_3_MASK (0xFFU)
  16782. #define CAN_WORD0_DATA_BYTE_3_SHIFT (0U)
  16783. /*! DATA_BYTE_3 - Data byte 0 of Rx/Tx frame.
  16784. */
  16785. #define CAN_WORD0_DATA_BYTE_3(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_3_SHIFT)) & CAN_WORD0_DATA_BYTE_3_MASK)
  16786. #define CAN_WORD0_DATA_BYTE_2_MASK (0xFF00U)
  16787. #define CAN_WORD0_DATA_BYTE_2_SHIFT (8U)
  16788. /*! DATA_BYTE_2 - Data byte 1 of Rx/Tx frame.
  16789. */
  16790. #define CAN_WORD0_DATA_BYTE_2(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_2_SHIFT)) & CAN_WORD0_DATA_BYTE_2_MASK)
  16791. #define CAN_WORD0_DATA_BYTE_1_MASK (0xFF0000U)
  16792. #define CAN_WORD0_DATA_BYTE_1_SHIFT (16U)
  16793. /*! DATA_BYTE_1 - Data byte 2 of Rx/Tx frame.
  16794. */
  16795. #define CAN_WORD0_DATA_BYTE_1(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_1_SHIFT)) & CAN_WORD0_DATA_BYTE_1_MASK)
  16796. #define CAN_WORD0_DATA_BYTE_0_MASK (0xFF000000U)
  16797. #define CAN_WORD0_DATA_BYTE_0_SHIFT (24U)
  16798. /*! DATA_BYTE_0 - Data byte 3 of Rx/Tx frame.
  16799. */
  16800. #define CAN_WORD0_DATA_BYTE_0(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD0_DATA_BYTE_0_SHIFT)) & CAN_WORD0_DATA_BYTE_0_MASK)
  16801. /*! @} */
  16802. /* The count of CAN_WORD0 */
  16803. #define CAN_WORD0_COUNT (64U)
  16804. /*! @name WORD1 - Message Buffer 0 WORD1 Register..Message Buffer 63 WORD1 Register */
  16805. /*! @{ */
  16806. #define CAN_WORD1_DATA_BYTE_7_MASK (0xFFU)
  16807. #define CAN_WORD1_DATA_BYTE_7_SHIFT (0U)
  16808. /*! DATA_BYTE_7 - Data byte 0 of Rx/Tx frame.
  16809. */
  16810. #define CAN_WORD1_DATA_BYTE_7(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_7_SHIFT)) & CAN_WORD1_DATA_BYTE_7_MASK)
  16811. #define CAN_WORD1_DATA_BYTE_6_MASK (0xFF00U)
  16812. #define CAN_WORD1_DATA_BYTE_6_SHIFT (8U)
  16813. /*! DATA_BYTE_6 - Data byte 1 of Rx/Tx frame.
  16814. */
  16815. #define CAN_WORD1_DATA_BYTE_6(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_6_SHIFT)) & CAN_WORD1_DATA_BYTE_6_MASK)
  16816. #define CAN_WORD1_DATA_BYTE_5_MASK (0xFF0000U)
  16817. #define CAN_WORD1_DATA_BYTE_5_SHIFT (16U)
  16818. /*! DATA_BYTE_5 - Data byte 2 of Rx/Tx frame.
  16819. */
  16820. #define CAN_WORD1_DATA_BYTE_5(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_5_SHIFT)) & CAN_WORD1_DATA_BYTE_5_MASK)
  16821. #define CAN_WORD1_DATA_BYTE_4_MASK (0xFF000000U)
  16822. #define CAN_WORD1_DATA_BYTE_4_SHIFT (24U)
  16823. /*! DATA_BYTE_4 - Data byte 3 of Rx/Tx frame.
  16824. */
  16825. #define CAN_WORD1_DATA_BYTE_4(x) (((uint32_t)(((uint32_t)(x)) << CAN_WORD1_DATA_BYTE_4_SHIFT)) & CAN_WORD1_DATA_BYTE_4_MASK)
  16826. /*! @} */
  16827. /* The count of CAN_WORD1 */
  16828. #define CAN_WORD1_COUNT (64U)
  16829. /*! @name RXIMR - Rx Individual Mask registers */
  16830. /*! @{ */
  16831. #define CAN_RXIMR_MI_MASK (0xFFFFFFFFU)
  16832. #define CAN_RXIMR_MI_SHIFT (0U)
  16833. /*! MI - Individual Mask Bits
  16834. */
  16835. #define CAN_RXIMR_MI(x) (((uint32_t)(((uint32_t)(x)) << CAN_RXIMR_MI_SHIFT)) & CAN_RXIMR_MI_MASK)
  16836. /*! @} */
  16837. /* The count of CAN_RXIMR */
  16838. #define CAN_RXIMR_COUNT (64U)
  16839. /*! @name MECR - Memory Error Control register */
  16840. /*! @{ */
  16841. #define CAN_MECR_NCEFAFRZ_MASK (0x80U)
  16842. #define CAN_MECR_NCEFAFRZ_SHIFT (7U)
  16843. /*! NCEFAFRZ - Non-Correctable Errors In FlexCAN Access Put Device In Freeze Mode
  16844. * 0b0..Keep normal operation.
  16845. * 0b1..Put FlexCAN in Freeze mode (see section "Freeze mode").
  16846. */
  16847. #define CAN_MECR_NCEFAFRZ(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_NCEFAFRZ_SHIFT)) & CAN_MECR_NCEFAFRZ_MASK)
  16848. #define CAN_MECR_ECCDIS_MASK (0x100U)
  16849. #define CAN_MECR_ECCDIS_SHIFT (8U)
  16850. /*! ECCDIS - Error Correction Disable
  16851. * 0b0..Enable memory error correction.
  16852. * 0b1..Disable memory error correction.
  16853. */
  16854. #define CAN_MECR_ECCDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECCDIS_SHIFT)) & CAN_MECR_ECCDIS_MASK)
  16855. #define CAN_MECR_RERRDIS_MASK (0x200U)
  16856. #define CAN_MECR_RERRDIS_SHIFT (9U)
  16857. /*! RERRDIS - Error Report Disable
  16858. * 0b0..Enable updates of the error report registers.
  16859. * 0b1..Disable updates of the error report registers.
  16860. */
  16861. #define CAN_MECR_RERRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_RERRDIS_SHIFT)) & CAN_MECR_RERRDIS_MASK)
  16862. #define CAN_MECR_EXTERRIE_MASK (0x2000U)
  16863. #define CAN_MECR_EXTERRIE_SHIFT (13U)
  16864. /*! EXTERRIE - Extended Error Injection Enable
  16865. * 0b0..Error injection is applied only to the 32-bit word.
  16866. * 0b1..Error injection is applied to the 64-bit word.
  16867. */
  16868. #define CAN_MECR_EXTERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_EXTERRIE_SHIFT)) & CAN_MECR_EXTERRIE_MASK)
  16869. #define CAN_MECR_FAERRIE_MASK (0x4000U)
  16870. #define CAN_MECR_FAERRIE_SHIFT (14U)
  16871. /*! FAERRIE - FlexCAN Access Error Injection Enable
  16872. * 0b0..Injection is disabled.
  16873. * 0b1..Injection is enabled.
  16874. */
  16875. #define CAN_MECR_FAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FAERRIE_SHIFT)) & CAN_MECR_FAERRIE_MASK)
  16876. #define CAN_MECR_HAERRIE_MASK (0x8000U)
  16877. #define CAN_MECR_HAERRIE_SHIFT (15U)
  16878. /*! HAERRIE - Host Access Error Injection Enable
  16879. * 0b0..Injection is disabled.
  16880. * 0b1..Injection is enabled.
  16881. */
  16882. #define CAN_MECR_HAERRIE(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HAERRIE_SHIFT)) & CAN_MECR_HAERRIE_MASK)
  16883. #define CAN_MECR_CEI_MSK_MASK (0x10000U)
  16884. #define CAN_MECR_CEI_MSK_SHIFT (16U)
  16885. /*! CEI_MSK - Correctable Errors Interrupt Mask
  16886. * 0b0..Interrupt is disabled.
  16887. * 0b1..Interrupt is enabled.
  16888. */
  16889. #define CAN_MECR_CEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_CEI_MSK_SHIFT)) & CAN_MECR_CEI_MSK_MASK)
  16890. #define CAN_MECR_FANCEI_MSK_MASK (0x40000U)
  16891. #define CAN_MECR_FANCEI_MSK_SHIFT (18U)
  16892. /*! FANCEI_MSK - FlexCAN Access With Non-Correctable Errors Interrupt Mask
  16893. * 0b0..Interrupt is disabled.
  16894. * 0b1..Interrupt is enabled.
  16895. */
  16896. #define CAN_MECR_FANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_FANCEI_MSK_SHIFT)) & CAN_MECR_FANCEI_MSK_MASK)
  16897. #define CAN_MECR_HANCEI_MSK_MASK (0x80000U)
  16898. #define CAN_MECR_HANCEI_MSK_SHIFT (19U)
  16899. /*! HANCEI_MSK - Host Access With Non-Correctable Errors Interrupt Mask
  16900. * 0b0..Interrupt is disabled.
  16901. * 0b1..Interrupt is enabled.
  16902. */
  16903. #define CAN_MECR_HANCEI_MSK(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_HANCEI_MSK_SHIFT)) & CAN_MECR_HANCEI_MSK_MASK)
  16904. #define CAN_MECR_ECRWRDIS_MASK (0x80000000U)
  16905. #define CAN_MECR_ECRWRDIS_SHIFT (31U)
  16906. /*! ECRWRDIS - Error Configuration Register Write Disable
  16907. * 0b0..Write is enabled.
  16908. * 0b1..Write is disabled.
  16909. */
  16910. #define CAN_MECR_ECRWRDIS(x) (((uint32_t)(((uint32_t)(x)) << CAN_MECR_ECRWRDIS_SHIFT)) & CAN_MECR_ECRWRDIS_MASK)
  16911. /*! @} */
  16912. /*! @name ERRIAR - Error Injection Address register */
  16913. /*! @{ */
  16914. #define CAN_ERRIAR_INJADDR_L_MASK (0x3U)
  16915. #define CAN_ERRIAR_INJADDR_L_SHIFT (0U)
  16916. /*! INJADDR_L - Error Injection Address Low
  16917. */
  16918. #define CAN_ERRIAR_INJADDR_L(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_L_SHIFT)) & CAN_ERRIAR_INJADDR_L_MASK)
  16919. #define CAN_ERRIAR_INJADDR_H_MASK (0x3FFCU)
  16920. #define CAN_ERRIAR_INJADDR_H_SHIFT (2U)
  16921. /*! INJADDR_H - Error Injection Address High
  16922. */
  16923. #define CAN_ERRIAR_INJADDR_H(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIAR_INJADDR_H_SHIFT)) & CAN_ERRIAR_INJADDR_H_MASK)
  16924. /*! @} */
  16925. /*! @name ERRIDPR - Error Injection Data Pattern register */
  16926. /*! @{ */
  16927. #define CAN_ERRIDPR_DFLIP_MASK (0xFFFFFFFFU)
  16928. #define CAN_ERRIDPR_DFLIP_SHIFT (0U)
  16929. /*! DFLIP - Data flip pattern
  16930. */
  16931. #define CAN_ERRIDPR_DFLIP(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIDPR_DFLIP_SHIFT)) & CAN_ERRIDPR_DFLIP_MASK)
  16932. /*! @} */
  16933. /*! @name ERRIPPR - Error Injection Parity Pattern register */
  16934. /*! @{ */
  16935. #define CAN_ERRIPPR_PFLIP0_MASK (0x1FU)
  16936. #define CAN_ERRIPPR_PFLIP0_SHIFT (0U)
  16937. /*! PFLIP0 - Parity Flip Pattern For Byte 0 (Least Significant)
  16938. */
  16939. #define CAN_ERRIPPR_PFLIP0(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP0_SHIFT)) & CAN_ERRIPPR_PFLIP0_MASK)
  16940. #define CAN_ERRIPPR_PFLIP1_MASK (0x1F00U)
  16941. #define CAN_ERRIPPR_PFLIP1_SHIFT (8U)
  16942. /*! PFLIP1 - Parity Flip Pattern For Byte 1
  16943. */
  16944. #define CAN_ERRIPPR_PFLIP1(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP1_SHIFT)) & CAN_ERRIPPR_PFLIP1_MASK)
  16945. #define CAN_ERRIPPR_PFLIP2_MASK (0x1F0000U)
  16946. #define CAN_ERRIPPR_PFLIP2_SHIFT (16U)
  16947. /*! PFLIP2 - Parity Flip Pattern For Byte 2
  16948. */
  16949. #define CAN_ERRIPPR_PFLIP2(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP2_SHIFT)) & CAN_ERRIPPR_PFLIP2_MASK)
  16950. #define CAN_ERRIPPR_PFLIP3_MASK (0x1F000000U)
  16951. #define CAN_ERRIPPR_PFLIP3_SHIFT (24U)
  16952. /*! PFLIP3 - Parity Flip Pattern For Byte 3 (most significant)
  16953. */
  16954. #define CAN_ERRIPPR_PFLIP3(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRIPPR_PFLIP3_SHIFT)) & CAN_ERRIPPR_PFLIP3_MASK)
  16955. /*! @} */
  16956. /*! @name RERRAR - Error Report Address register */
  16957. /*! @{ */
  16958. #define CAN_RERRAR_ERRADDR_MASK (0x3FFFU)
  16959. #define CAN_RERRAR_ERRADDR_SHIFT (0U)
  16960. /*! ERRADDR - Address Where Error Detected
  16961. */
  16962. #define CAN_RERRAR_ERRADDR(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_ERRADDR_SHIFT)) & CAN_RERRAR_ERRADDR_MASK)
  16963. #define CAN_RERRAR_SAID_MASK (0x70000U)
  16964. #define CAN_RERRAR_SAID_SHIFT (16U)
  16965. /*! SAID - SAID
  16966. */
  16967. #define CAN_RERRAR_SAID(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_SAID_SHIFT)) & CAN_RERRAR_SAID_MASK)
  16968. #define CAN_RERRAR_NCE_MASK (0x1000000U)
  16969. #define CAN_RERRAR_NCE_SHIFT (24U)
  16970. /*! NCE - Non-Correctable Error
  16971. * 0b0..Reporting a correctable error
  16972. * 0b1..Reporting a non-correctable error
  16973. */
  16974. #define CAN_RERRAR_NCE(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRAR_NCE_SHIFT)) & CAN_RERRAR_NCE_MASK)
  16975. /*! @} */
  16976. /*! @name RERRDR - Error Report Data register */
  16977. /*! @{ */
  16978. #define CAN_RERRDR_RDATA_MASK (0xFFFFFFFFU)
  16979. #define CAN_RERRDR_RDATA_SHIFT (0U)
  16980. /*! RDATA - Raw data word read from memory with error
  16981. */
  16982. #define CAN_RERRDR_RDATA(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRDR_RDATA_SHIFT)) & CAN_RERRDR_RDATA_MASK)
  16983. /*! @} */
  16984. /*! @name RERRSYNR - Error Report Syndrome register */
  16985. /*! @{ */
  16986. #define CAN_RERRSYNR_SYND0_MASK (0x1FU)
  16987. #define CAN_RERRSYNR_SYND0_SHIFT (0U)
  16988. /*! SYND0 - Error Syndrome For Byte 0 (least significant)
  16989. */
  16990. #define CAN_RERRSYNR_SYND0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND0_SHIFT)) & CAN_RERRSYNR_SYND0_MASK)
  16991. #define CAN_RERRSYNR_BE0_MASK (0x80U)
  16992. #define CAN_RERRSYNR_BE0_SHIFT (7U)
  16993. /*! BE0 - Byte Enabled For Byte 0 (least significant)
  16994. * 0b0..The byte was not read.
  16995. * 0b1..The byte was read.
  16996. */
  16997. #define CAN_RERRSYNR_BE0(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE0_SHIFT)) & CAN_RERRSYNR_BE0_MASK)
  16998. #define CAN_RERRSYNR_SYND1_MASK (0x1F00U)
  16999. #define CAN_RERRSYNR_SYND1_SHIFT (8U)
  17000. /*! SYND1 - Error Syndrome for Byte 1
  17001. */
  17002. #define CAN_RERRSYNR_SYND1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND1_SHIFT)) & CAN_RERRSYNR_SYND1_MASK)
  17003. #define CAN_RERRSYNR_BE1_MASK (0x8000U)
  17004. #define CAN_RERRSYNR_BE1_SHIFT (15U)
  17005. /*! BE1 - Byte Enabled For Byte 1
  17006. * 0b0..The byte was not read.
  17007. * 0b1..The byte was read.
  17008. */
  17009. #define CAN_RERRSYNR_BE1(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE1_SHIFT)) & CAN_RERRSYNR_BE1_MASK)
  17010. #define CAN_RERRSYNR_SYND2_MASK (0x1F0000U)
  17011. #define CAN_RERRSYNR_SYND2_SHIFT (16U)
  17012. /*! SYND2 - Error Syndrome For Byte 2
  17013. */
  17014. #define CAN_RERRSYNR_SYND2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND2_SHIFT)) & CAN_RERRSYNR_SYND2_MASK)
  17015. #define CAN_RERRSYNR_BE2_MASK (0x800000U)
  17016. #define CAN_RERRSYNR_BE2_SHIFT (23U)
  17017. /*! BE2 - Byte Enabled For Byte 2
  17018. * 0b0..The byte was not read.
  17019. * 0b1..The byte was read.
  17020. */
  17021. #define CAN_RERRSYNR_BE2(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE2_SHIFT)) & CAN_RERRSYNR_BE2_MASK)
  17022. #define CAN_RERRSYNR_SYND3_MASK (0x1F000000U)
  17023. #define CAN_RERRSYNR_SYND3_SHIFT (24U)
  17024. /*! SYND3 - Error Syndrome For Byte 3 (most significant)
  17025. */
  17026. #define CAN_RERRSYNR_SYND3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_SYND3_SHIFT)) & CAN_RERRSYNR_SYND3_MASK)
  17027. #define CAN_RERRSYNR_BE3_MASK (0x80000000U)
  17028. #define CAN_RERRSYNR_BE3_SHIFT (31U)
  17029. /*! BE3 - Byte Enabled For Byte 3 (most significant)
  17030. * 0b0..The byte was not read.
  17031. * 0b1..The byte was read.
  17032. */
  17033. #define CAN_RERRSYNR_BE3(x) (((uint32_t)(((uint32_t)(x)) << CAN_RERRSYNR_BE3_SHIFT)) & CAN_RERRSYNR_BE3_MASK)
  17034. /*! @} */
  17035. /*! @name ERRSR - Error Status register */
  17036. /*! @{ */
  17037. #define CAN_ERRSR_CEIOF_MASK (0x1U)
  17038. #define CAN_ERRSR_CEIOF_SHIFT (0U)
  17039. /*! CEIOF - Correctable Error Interrupt Overrun Flag
  17040. * 0b0..No overrun on correctable errors
  17041. * 0b1..Overrun on correctable errors
  17042. */
  17043. #define CAN_ERRSR_CEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIOF_SHIFT)) & CAN_ERRSR_CEIOF_MASK)
  17044. #define CAN_ERRSR_FANCEIOF_MASK (0x4U)
  17045. #define CAN_ERRSR_FANCEIOF_SHIFT (2U)
  17046. /*! FANCEIOF - FlexCAN Access With Non-Correctable Error Interrupt Overrun Flag
  17047. * 0b0..No overrun on non-correctable errors in FlexCAN access
  17048. * 0b1..Overrun on non-correctable errors in FlexCAN access
  17049. */
  17050. #define CAN_ERRSR_FANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIOF_SHIFT)) & CAN_ERRSR_FANCEIOF_MASK)
  17051. #define CAN_ERRSR_HANCEIOF_MASK (0x8U)
  17052. #define CAN_ERRSR_HANCEIOF_SHIFT (3U)
  17053. /*! HANCEIOF - Host Access With Non-Correctable Error Interrupt Overrun Flag
  17054. * 0b0..No overrun on non-correctable errors in host access
  17055. * 0b1..Overrun on non-correctable errors in host access
  17056. */
  17057. #define CAN_ERRSR_HANCEIOF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIOF_SHIFT)) & CAN_ERRSR_HANCEIOF_MASK)
  17058. #define CAN_ERRSR_CEIF_MASK (0x10000U)
  17059. #define CAN_ERRSR_CEIF_SHIFT (16U)
  17060. /*! CEIF - Correctable Error Interrupt Flag
  17061. * 0b0..No correctable errors were detected so far.
  17062. * 0b1..A correctable error was detected.
  17063. */
  17064. #define CAN_ERRSR_CEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_CEIF_SHIFT)) & CAN_ERRSR_CEIF_MASK)
  17065. #define CAN_ERRSR_FANCEIF_MASK (0x40000U)
  17066. #define CAN_ERRSR_FANCEIF_SHIFT (18U)
  17067. /*! FANCEIF - FlexCAN Access With Non-Correctable Error Interrupt Flag
  17068. * 0b0..No non-correctable errors were detected in FlexCAN accesses so far.
  17069. * 0b1..A non-correctable error was detected in a FlexCAN access.
  17070. */
  17071. #define CAN_ERRSR_FANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_FANCEIF_SHIFT)) & CAN_ERRSR_FANCEIF_MASK)
  17072. #define CAN_ERRSR_HANCEIF_MASK (0x80000U)
  17073. #define CAN_ERRSR_HANCEIF_SHIFT (19U)
  17074. /*! HANCEIF - Host Access With Non-Correctable Error Interrupt Flag
  17075. * 0b0..No non-correctable errors were detected in host accesses so far.
  17076. * 0b1..A non-correctable error was detected in a host access.
  17077. */
  17078. #define CAN_ERRSR_HANCEIF(x) (((uint32_t)(((uint32_t)(x)) << CAN_ERRSR_HANCEIF_SHIFT)) & CAN_ERRSR_HANCEIF_MASK)
  17079. /*! @} */
  17080. /*! @name FDCTRL - CAN FD Control register */
  17081. /*! @{ */
  17082. #define CAN_FDCTRL_TDCVAL_MASK (0x3FU)
  17083. #define CAN_FDCTRL_TDCVAL_SHIFT (0U)
  17084. /*! TDCVAL - Transceiver Delay Compensation Value
  17085. */
  17086. #define CAN_FDCTRL_TDCVAL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCVAL_SHIFT)) & CAN_FDCTRL_TDCVAL_MASK)
  17087. #define CAN_FDCTRL_TDCOFF_MASK (0x1F00U)
  17088. #define CAN_FDCTRL_TDCOFF_SHIFT (8U)
  17089. /*! TDCOFF - Transceiver Delay Compensation Offset
  17090. */
  17091. #define CAN_FDCTRL_TDCOFF(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCOFF_SHIFT)) & CAN_FDCTRL_TDCOFF_MASK)
  17092. #define CAN_FDCTRL_TDCFAIL_MASK (0x4000U)
  17093. #define CAN_FDCTRL_TDCFAIL_SHIFT (14U)
  17094. /*! TDCFAIL - Transceiver Delay Compensation Fail
  17095. * 0b0..Measured loop delay is in range.
  17096. * 0b1..Measured loop delay is out of range.
  17097. */
  17098. #define CAN_FDCTRL_TDCFAIL(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCFAIL_SHIFT)) & CAN_FDCTRL_TDCFAIL_MASK)
  17099. #define CAN_FDCTRL_TDCEN_MASK (0x8000U)
  17100. #define CAN_FDCTRL_TDCEN_SHIFT (15U)
  17101. /*! TDCEN - Transceiver Delay Compensation Enable
  17102. * 0b0..TDC is disabled
  17103. * 0b1..TDC is enabled
  17104. */
  17105. #define CAN_FDCTRL_TDCEN(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_TDCEN_SHIFT)) & CAN_FDCTRL_TDCEN_MASK)
  17106. #define CAN_FDCTRL_MBDSR0_MASK (0x30000U)
  17107. #define CAN_FDCTRL_MBDSR0_SHIFT (16U)
  17108. /*! MBDSR0 - Message Buffer Data Size for Region 0
  17109. * 0b00..Selects 8 bytes per message buffer.
  17110. * 0b01..Selects 16 bytes per message buffer.
  17111. * 0b10..Selects 32 bytes per message buffer.
  17112. * 0b11..Selects 64 bytes per message buffer.
  17113. */
  17114. #define CAN_FDCTRL_MBDSR0(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR0_SHIFT)) & CAN_FDCTRL_MBDSR0_MASK)
  17115. #define CAN_FDCTRL_MBDSR1_MASK (0x180000U)
  17116. #define CAN_FDCTRL_MBDSR1_SHIFT (19U)
  17117. /*! MBDSR1 - Message Buffer Data Size for Region 1
  17118. * 0b00..Selects 8 bytes per message buffer.
  17119. * 0b01..Selects 16 bytes per message buffer.
  17120. * 0b10..Selects 32 bytes per message buffer.
  17121. * 0b11..Selects 64 bytes per message buffer.
  17122. */
  17123. #define CAN_FDCTRL_MBDSR1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_MBDSR1_SHIFT)) & CAN_FDCTRL_MBDSR1_MASK)
  17124. #define CAN_FDCTRL_FDRATE_MASK (0x80000000U)
  17125. #define CAN_FDCTRL_FDRATE_SHIFT (31U)
  17126. /*! FDRATE - Bit Rate Switch Enable
  17127. * 0b0..Transmit a frame in nominal rate. The BRS bit in the Tx MB has no effect.
  17128. * 0b1..Transmit a frame with bit rate switching if the BRS bit in the Tx MB is recessive.
  17129. */
  17130. #define CAN_FDCTRL_FDRATE(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCTRL_FDRATE_SHIFT)) & CAN_FDCTRL_FDRATE_MASK)
  17131. /*! @} */
  17132. /*! @name FDCBT - CAN FD Bit Timing register */
  17133. /*! @{ */
  17134. #define CAN_FDCBT_FPSEG2_MASK (0x7U)
  17135. #define CAN_FDCBT_FPSEG2_SHIFT (0U)
  17136. /*! FPSEG2 - Fast Phase Segment 2
  17137. */
  17138. #define CAN_FDCBT_FPSEG2(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG2_SHIFT)) & CAN_FDCBT_FPSEG2_MASK)
  17139. #define CAN_FDCBT_FPSEG1_MASK (0xE0U)
  17140. #define CAN_FDCBT_FPSEG1_SHIFT (5U)
  17141. /*! FPSEG1 - Fast Phase Segment 1
  17142. */
  17143. #define CAN_FDCBT_FPSEG1(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPSEG1_SHIFT)) & CAN_FDCBT_FPSEG1_MASK)
  17144. #define CAN_FDCBT_FPROPSEG_MASK (0x7C00U)
  17145. #define CAN_FDCBT_FPROPSEG_SHIFT (10U)
  17146. /*! FPROPSEG - Fast Propagation Segment
  17147. */
  17148. #define CAN_FDCBT_FPROPSEG(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPROPSEG_SHIFT)) & CAN_FDCBT_FPROPSEG_MASK)
  17149. #define CAN_FDCBT_FRJW_MASK (0x70000U)
  17150. #define CAN_FDCBT_FRJW_SHIFT (16U)
  17151. /*! FRJW - Fast Resync Jump Width
  17152. */
  17153. #define CAN_FDCBT_FRJW(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FRJW_SHIFT)) & CAN_FDCBT_FRJW_MASK)
  17154. #define CAN_FDCBT_FPRESDIV_MASK (0x3FF00000U)
  17155. #define CAN_FDCBT_FPRESDIV_SHIFT (20U)
  17156. /*! FPRESDIV - Fast Prescaler Division Factor
  17157. */
  17158. #define CAN_FDCBT_FPRESDIV(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCBT_FPRESDIV_SHIFT)) & CAN_FDCBT_FPRESDIV_MASK)
  17159. /*! @} */
  17160. /*! @name FDCRC - CAN FD CRC register */
  17161. /*! @{ */
  17162. #define CAN_FDCRC_FD_TXCRC_MASK (0x1FFFFFU)
  17163. #define CAN_FDCRC_FD_TXCRC_SHIFT (0U)
  17164. /*! FD_TXCRC - Extended Transmitted CRC value
  17165. */
  17166. #define CAN_FDCRC_FD_TXCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_TXCRC_SHIFT)) & CAN_FDCRC_FD_TXCRC_MASK)
  17167. #define CAN_FDCRC_FD_MBCRC_MASK (0x7F000000U)
  17168. #define CAN_FDCRC_FD_MBCRC_SHIFT (24U)
  17169. /*! FD_MBCRC - CRC Mailbox Number for FD_TXCRC
  17170. */
  17171. #define CAN_FDCRC_FD_MBCRC(x) (((uint32_t)(((uint32_t)(x)) << CAN_FDCRC_FD_MBCRC_SHIFT)) & CAN_FDCRC_FD_MBCRC_MASK)
  17172. /*! @} */
  17173. /*!
  17174. * @}
  17175. */ /* end of group CAN_Register_Masks */
  17176. /* CAN - Peripheral instance base addresses */
  17177. /** Peripheral CAN1 base address */
  17178. #define CAN1_BASE (0x400C4000u)
  17179. /** Peripheral CAN1 base pointer */
  17180. #define CAN1 ((CAN_Type *)CAN1_BASE)
  17181. /** Peripheral CAN2 base address */
  17182. #define CAN2_BASE (0x400C8000u)
  17183. /** Peripheral CAN2 base pointer */
  17184. #define CAN2 ((CAN_Type *)CAN2_BASE)
  17185. /** Peripheral CAN3 base address */
  17186. #define CAN3_BASE (0x40C3C000u)
  17187. /** Peripheral CAN3 base pointer */
  17188. #define CAN3 ((CAN_Type *)CAN3_BASE)
  17189. /** Array initializer of CAN peripheral base addresses */
  17190. #define CAN_BASE_ADDRS { 0u, CAN1_BASE, CAN2_BASE, CAN3_BASE }
  17191. /** Array initializer of CAN peripheral base pointers */
  17192. #define CAN_BASE_PTRS { (CAN_Type *)0u, CAN1, CAN2, CAN3 }
  17193. /** Interrupt vectors for the CAN peripheral type */
  17194. #define CAN_Rx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17195. #define CAN_Tx_Warning_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17196. #define CAN_Wake_Up_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17197. #define CAN_Error_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17198. #define CAN_Bus_Off_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17199. #define CAN_ORed_Message_buffer_IRQS { NotAvail_IRQn, CAN1_IRQn, CAN2_IRQn, CAN3_IRQn }
  17200. /*!
  17201. * @}
  17202. */ /* end of group CAN_Peripheral_Access_Layer */
  17203. /* ----------------------------------------------------------------------------
  17204. -- CAN_WRAPPER Peripheral Access Layer
  17205. ---------------------------------------------------------------------------- */
  17206. /*!
  17207. * @addtogroup CAN_WRAPPER_Peripheral_Access_Layer CAN_WRAPPER Peripheral Access Layer
  17208. * @{
  17209. */
  17210. /** CAN_WRAPPER - Register Layout Typedef */
  17211. typedef struct {
  17212. uint8_t RESERVED_0[2528];
  17213. __IO uint32_t GFWR; /**< Glitch Filter Width Register, offset: 0x9E0 */
  17214. } CAN_WRAPPER_Type;
  17215. /* ----------------------------------------------------------------------------
  17216. -- CAN_WRAPPER Register Masks
  17217. ---------------------------------------------------------------------------- */
  17218. /*!
  17219. * @addtogroup CAN_WRAPPER_Register_Masks CAN_WRAPPER Register Masks
  17220. * @{
  17221. */
  17222. /*! @name GFWR - Glitch Filter Width Register */
  17223. /*! @{ */
  17224. #define CAN_WRAPPER_GFWR_GFWR_MASK (0xFFU)
  17225. #define CAN_WRAPPER_GFWR_GFWR_SHIFT (0U)
  17226. /*! GFWR - Glitch Filter Width
  17227. */
  17228. #define CAN_WRAPPER_GFWR_GFWR(x) (((uint32_t)(((uint32_t)(x)) << CAN_WRAPPER_GFWR_GFWR_SHIFT)) & CAN_WRAPPER_GFWR_GFWR_MASK)
  17229. /*! @} */
  17230. /*!
  17231. * @}
  17232. */ /* end of group CAN_WRAPPER_Register_Masks */
  17233. /* CAN_WRAPPER - Peripheral instance base addresses */
  17234. /** Peripheral CAN1_WRAPPER base address */
  17235. #define CAN1_WRAPPER_BASE (0x400C4000u)
  17236. /** Peripheral CAN1_WRAPPER base pointer */
  17237. #define CAN1_WRAPPER ((CAN_WRAPPER_Type *)CAN1_WRAPPER_BASE)
  17238. /** Peripheral CAN2_WRAPPER base address */
  17239. #define CAN2_WRAPPER_BASE (0x400C8000u)
  17240. /** Peripheral CAN2_WRAPPER base pointer */
  17241. #define CAN2_WRAPPER ((CAN_WRAPPER_Type *)CAN2_WRAPPER_BASE)
  17242. /** Peripheral CAN3_WRAPPER base address */
  17243. #define CAN3_WRAPPER_BASE (0x40C3C000u)
  17244. /** Peripheral CAN3_WRAPPER base pointer */
  17245. #define CAN3_WRAPPER ((CAN_WRAPPER_Type *)CAN3_WRAPPER_BASE)
  17246. /** Array initializer of CAN_WRAPPER peripheral base addresses */
  17247. #define CAN_WRAPPER_BASE_ADDRS { 0u, CAN1_WRAPPER_BASE, CAN2_WRAPPER_BASE, CAN3_WRAPPER_BASE }
  17248. /** Array initializer of CAN_WRAPPER peripheral base pointers */
  17249. #define CAN_WRAPPER_BASE_PTRS { (CAN_WRAPPER_Type *)0u, CAN1_WRAPPER, CAN2_WRAPPER, CAN3_WRAPPER }
  17250. /*!
  17251. * @}
  17252. */ /* end of group CAN_WRAPPER_Peripheral_Access_Layer */
  17253. /* ----------------------------------------------------------------------------
  17254. -- CCM Peripheral Access Layer
  17255. ---------------------------------------------------------------------------- */
  17256. /*!
  17257. * @addtogroup CCM_Peripheral_Access_Layer CCM Peripheral Access Layer
  17258. * @{
  17259. */
  17260. /** CCM - Register Layout Typedef */
  17261. typedef struct {
  17262. struct { /* offset: 0x0, array step: 0x80 */
  17263. __IO uint32_t CONTROL; /**< Clock root control, array offset: 0x0, array step: 0x80 */
  17264. __IO uint32_t CONTROL_SET; /**< Clock root control, array offset: 0x4, array step: 0x80 */
  17265. __IO uint32_t CONTROL_CLR; /**< Clock root control, array offset: 0x8, array step: 0x80 */
  17266. __IO uint32_t CONTROL_TOG; /**< Clock root control, array offset: 0xC, array step: 0x80 */
  17267. uint8_t RESERVED_0[16];
  17268. __I uint32_t STATUS0; /**< Clock root working status, array offset: 0x20, array step: 0x80 */
  17269. __I uint32_t STATUS1; /**< Clock root low power status, array offset: 0x24, array step: 0x80 */
  17270. uint8_t RESERVED_1[4];
  17271. __I uint32_t CONFIG; /**< Clock root configuration, array offset: 0x2C, array step: 0x80 */
  17272. __IO uint32_t AUTHEN; /**< Clock root access control, array offset: 0x30, array step: 0x80 */
  17273. __IO uint32_t AUTHEN_SET; /**< Clock root access control, array offset: 0x34, array step: 0x80 */
  17274. __IO uint32_t AUTHEN_CLR; /**< Clock root access control, array offset: 0x38, array step: 0x80 */
  17275. __IO uint32_t AUTHEN_TOG; /**< Clock root access control, array offset: 0x3C, array step: 0x80 */
  17276. __IO uint32_t SETPOINT[16]; /**< Setpoint setting, array offset: 0x40, array step: index*0x80, index2*0x4 */
  17277. } CLOCK_ROOT[79];
  17278. uint8_t RESERVED_0[6272];
  17279. struct { /* offset: 0x4000, array step: 0x80 */
  17280. __IO uint32_t CONTROL; /**< Clock group control, array offset: 0x4000, array step: 0x80 */
  17281. __IO uint32_t CONTROL_SET; /**< Clock group control, array offset: 0x4004, array step: 0x80 */
  17282. __IO uint32_t CONTROL_CLR; /**< Clock group control, array offset: 0x4008, array step: 0x80 */
  17283. __IO uint32_t CONTROL_TOG; /**< Clock group control, array offset: 0x400C, array step: 0x80 */
  17284. uint8_t RESERVED_0[16];
  17285. __IO uint32_t STATUS0; /**< Clock group working status, array offset: 0x4020, array step: 0x80 */
  17286. __I uint32_t STATUS1; /**< Clock group low power/extend status, array offset: 0x4024, array step: 0x80 */
  17287. uint8_t RESERVED_1[4];
  17288. __I uint32_t CONFIG; /**< Clock group configuration, array offset: 0x402C, array step: 0x80 */
  17289. __IO uint32_t AUTHEN; /**< Clock group access control, array offset: 0x4030, array step: 0x80 */
  17290. __IO uint32_t AUTHEN_SET; /**< Clock group access control, array offset: 0x4034, array step: 0x80 */
  17291. __IO uint32_t AUTHEN_CLR; /**< Clock group access control, array offset: 0x4038, array step: 0x80 */
  17292. __IO uint32_t AUTHEN_TOG; /**< Clock group access control, array offset: 0x403C, array step: 0x80 */
  17293. __IO uint32_t SETPOINT[16]; /**< Setpoint setting, array offset: 0x4040, array step: index*0x80, index2*0x4 */
  17294. } CLOCK_GROUP[2];
  17295. uint8_t RESERVED_1[1792];
  17296. struct { /* offset: 0x4800, array step: 0x20 */
  17297. __IO uint32_t GPR_SHARED; /**< General Purpose Register, array offset: 0x4800, array step: 0x20 */
  17298. __IO uint32_t SET; /**< General Purpose Register, array offset: 0x4804, array step: 0x20 */
  17299. __IO uint32_t CLR; /**< General Purpose Register, array offset: 0x4808, array step: 0x20 */
  17300. __IO uint32_t TOG; /**< General Purpose Register, array offset: 0x480C, array step: 0x20 */
  17301. __IO uint32_t AUTHEN; /**< GPR access control, array offset: 0x4810, array step: 0x20 */
  17302. __IO uint32_t AUTHEN_SET; /**< GPR access control, array offset: 0x4814, array step: 0x20 */
  17303. __IO uint32_t AUTHEN_CLR; /**< GPR access control, array offset: 0x4818, array step: 0x20 */
  17304. __IO uint32_t AUTHEN_TOG; /**< GPR access control, array offset: 0x481C, array step: 0x20 */
  17305. } GPR_SHARED[8];
  17306. uint8_t RESERVED_2[800];
  17307. __IO uint32_t GPR_PRIVATE1; /**< General Purpose Register, offset: 0x4C20 */
  17308. __IO uint32_t GPR_PRIVATE1_SET; /**< General Purpose Register, offset: 0x4C24 */
  17309. __IO uint32_t GPR_PRIVATE1_CLR; /**< General Purpose Register, offset: 0x4C28 */
  17310. __IO uint32_t GPR_PRIVATE1_TOG; /**< General Purpose Register, offset: 0x4C2C */
  17311. __IO uint32_t GPR_PRIVATE1_AUTHEN; /**< GPR access control, offset: 0x4C30 */
  17312. __IO uint32_t GPR_PRIVATE1_AUTHEN_SET; /**< GPR access control, offset: 0x4C34 */
  17313. __IO uint32_t GPR_PRIVATE1_AUTHEN_CLR; /**< GPR access control, offset: 0x4C38 */
  17314. __IO uint32_t GPR_PRIVATE1_AUTHEN_TOG; /**< GPR access control, offset: 0x4C3C */
  17315. __IO uint32_t GPR_PRIVATE2; /**< General Purpose Register, offset: 0x4C40 */
  17316. __IO uint32_t GPR_PRIVATE2_SET; /**< General Purpose Register, offset: 0x4C44 */
  17317. __IO uint32_t GPR_PRIVATE2_CLR; /**< General Purpose Register, offset: 0x4C48 */
  17318. __IO uint32_t GPR_PRIVATE2_TOG; /**< General Purpose Register, offset: 0x4C4C */
  17319. __IO uint32_t GPR_PRIVATE2_AUTHEN; /**< GPR access control, offset: 0x4C50 */
  17320. __IO uint32_t GPR_PRIVATE2_AUTHEN_SET; /**< GPR access control, offset: 0x4C54 */
  17321. __IO uint32_t GPR_PRIVATE2_AUTHEN_CLR; /**< GPR access control, offset: 0x4C58 */
  17322. __IO uint32_t GPR_PRIVATE2_AUTHEN_TOG; /**< GPR access control, offset: 0x4C5C */
  17323. __IO uint32_t GPR_PRIVATE3; /**< General Purpose Register, offset: 0x4C60 */
  17324. __IO uint32_t GPR_PRIVATE3_SET; /**< General Purpose Register, offset: 0x4C64 */
  17325. __IO uint32_t GPR_PRIVATE3_CLR; /**< General Purpose Register, offset: 0x4C68 */
  17326. __IO uint32_t GPR_PRIVATE3_TOG; /**< General Purpose Register, offset: 0x4C6C */
  17327. __IO uint32_t GPR_PRIVATE3_AUTHEN; /**< GPR access control, offset: 0x4C70 */
  17328. __IO uint32_t GPR_PRIVATE3_AUTHEN_SET; /**< GPR access control, offset: 0x4C74 */
  17329. __IO uint32_t GPR_PRIVATE3_AUTHEN_CLR; /**< GPR access control, offset: 0x4C78 */
  17330. __IO uint32_t GPR_PRIVATE3_AUTHEN_TOG; /**< GPR access control, offset: 0x4C7C */
  17331. __IO uint32_t GPR_PRIVATE4; /**< General Purpose Register, offset: 0x4C80 */
  17332. __IO uint32_t GPR_PRIVATE4_SET; /**< General Purpose Register, offset: 0x4C84 */
  17333. __IO uint32_t GPR_PRIVATE4_CLR; /**< General Purpose Register, offset: 0x4C88 */
  17334. __IO uint32_t GPR_PRIVATE4_TOG; /**< General Purpose Register, offset: 0x4C8C */
  17335. __IO uint32_t GPR_PRIVATE4_AUTHEN; /**< GPR access control, offset: 0x4C90 */
  17336. __IO uint32_t GPR_PRIVATE4_AUTHEN_SET; /**< GPR access control, offset: 0x4C94 */
  17337. __IO uint32_t GPR_PRIVATE4_AUTHEN_CLR; /**< GPR access control, offset: 0x4C98 */
  17338. __IO uint32_t GPR_PRIVATE4_AUTHEN_TOG; /**< GPR access control, offset: 0x4C9C */
  17339. __IO uint32_t GPR_PRIVATE5; /**< General Purpose Register, offset: 0x4CA0 */
  17340. __IO uint32_t GPR_PRIVATE5_SET; /**< General Purpose Register, offset: 0x4CA4 */
  17341. __IO uint32_t GPR_PRIVATE5_CLR; /**< General Purpose Register, offset: 0x4CA8 */
  17342. __IO uint32_t GPR_PRIVATE5_TOG; /**< General Purpose Register, offset: 0x4CAC */
  17343. __IO uint32_t GPR_PRIVATE5_AUTHEN; /**< GPR access control, offset: 0x4CB0 */
  17344. __IO uint32_t GPR_PRIVATE5_AUTHEN_SET; /**< GPR access control, offset: 0x4CB4 */
  17345. __IO uint32_t GPR_PRIVATE5_AUTHEN_CLR; /**< GPR access control, offset: 0x4CB8 */
  17346. __IO uint32_t GPR_PRIVATE5_AUTHEN_TOG; /**< GPR access control, offset: 0x4CBC */
  17347. __IO uint32_t GPR_PRIVATE6; /**< General Purpose Register, offset: 0x4CC0 */
  17348. __IO uint32_t GPR_PRIVATE6_SET; /**< General Purpose Register, offset: 0x4CC4 */
  17349. __IO uint32_t GPR_PRIVATE6_CLR; /**< General Purpose Register, offset: 0x4CC8 */
  17350. __IO uint32_t GPR_PRIVATE6_TOG; /**< General Purpose Register, offset: 0x4CCC */
  17351. __IO uint32_t GPR_PRIVATE6_AUTHEN; /**< GPR access control, offset: 0x4CD0 */
  17352. __IO uint32_t GPR_PRIVATE6_AUTHEN_SET; /**< GPR access control, offset: 0x4CD4 */
  17353. __IO uint32_t GPR_PRIVATE6_AUTHEN_CLR; /**< GPR access control, offset: 0x4CD8 */
  17354. __IO uint32_t GPR_PRIVATE6_AUTHEN_TOG; /**< GPR access control, offset: 0x4CDC */
  17355. __IO uint32_t GPR_PRIVATE7; /**< General Purpose Register, offset: 0x4CE0 */
  17356. __IO uint32_t GPR_PRIVATE7_SET; /**< General Purpose Register, offset: 0x4CE4 */
  17357. __IO uint32_t GPR_PRIVATE7_CLR; /**< General Purpose Register, offset: 0x4CE8 */
  17358. __IO uint32_t GPR_PRIVATE7_TOG; /**< General Purpose Register, offset: 0x4CEC */
  17359. __IO uint32_t GPR_PRIVATE7_AUTHEN; /**< GPR access control, offset: 0x4CF0 */
  17360. __IO uint32_t GPR_PRIVATE7_AUTHEN_SET; /**< GPR access control, offset: 0x4CF4 */
  17361. __IO uint32_t GPR_PRIVATE7_AUTHEN_CLR; /**< GPR access control, offset: 0x4CF8 */
  17362. __IO uint32_t GPR_PRIVATE7_AUTHEN_TOG; /**< GPR access control, offset: 0x4CFC */
  17363. uint8_t RESERVED_3[768];
  17364. struct { /* offset: 0x5000, array step: 0x20 */
  17365. __IO uint32_t DIRECT; /**< Clock source direct control, array offset: 0x5000, array step: 0x20 */
  17366. __IO uint32_t DOMAINr; /**< Clock source domain control, array offset: 0x5004, array step: 0x20 */
  17367. __IO uint32_t SETPOINT; /**< Clock source Setpoint setting, array offset: 0x5008, array step: 0x20 */
  17368. uint8_t RESERVED_0[4];
  17369. __I uint32_t STATUS0; /**< Clock source working status, array offset: 0x5010, array step: 0x20 */
  17370. __I uint32_t STATUS1; /**< Clock source low power status, array offset: 0x5014, array step: 0x20 */
  17371. __I uint32_t CONFIG; /**< Clock source configuration, array offset: 0x5018, array step: 0x20 */
  17372. __IO uint32_t AUTHEN; /**< Clock source access control, array offset: 0x501C, array step: 0x20 */
  17373. } OSCPLL[29];
  17374. uint8_t RESERVED_4[3168];
  17375. struct { /* offset: 0x6000, array step: 0x20 */
  17376. __IO uint32_t DIRECT; /**< LPCG direct control, array offset: 0x6000, array step: 0x20 */
  17377. __IO uint32_t DOMAINr; /**< LPCG domain control, array offset: 0x6004, array step: 0x20 */
  17378. __IO uint32_t SETPOINT; /**< LPCG Setpoint setting, array offset: 0x6008, array step: 0x20 */
  17379. uint8_t RESERVED_0[4];
  17380. __I uint32_t STATUS0; /**< LPCG working status, array offset: 0x6010, array step: 0x20 */
  17381. __I uint32_t STATUS1; /**< LPCG low power status, array offset: 0x6014, array step: 0x20 */
  17382. __I uint32_t CONFIG; /**< LPCG configuration, array offset: 0x6018, array step: 0x20 */
  17383. __IO uint32_t AUTHEN; /**< LPCG access control, array offset: 0x601C, array step: 0x20 */
  17384. } LPCG[138];
  17385. } CCM_Type;
  17386. /* ----------------------------------------------------------------------------
  17387. -- CCM Register Masks
  17388. ---------------------------------------------------------------------------- */
  17389. /*!
  17390. * @addtogroup CCM_Register_Masks CCM Register Masks
  17391. * @{
  17392. */
  17393. /*! @name CLOCK_ROOT_CONTROL - Clock root control */
  17394. /*! @{ */
  17395. #define CCM_CLOCK_ROOT_CONTROL_DIV_MASK (0xFFU)
  17396. #define CCM_CLOCK_ROOT_CONTROL_DIV_SHIFT (0U)
  17397. /*! DIV - Clock divider
  17398. */
  17399. #define CCM_CLOCK_ROOT_CONTROL_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_DIV_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_DIV_MASK)
  17400. #define CCM_CLOCK_ROOT_CONTROL_MUX_MASK (0x700U)
  17401. #define CCM_CLOCK_ROOT_CONTROL_MUX_SHIFT (8U)
  17402. /*! MUX - Clock multiplexer
  17403. */
  17404. #define CCM_CLOCK_ROOT_CONTROL_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_MUX_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_MUX_MASK)
  17405. #define CCM_CLOCK_ROOT_CONTROL_OFF_MASK (0x1000000U)
  17406. #define CCM_CLOCK_ROOT_CONTROL_OFF_SHIFT (24U)
  17407. /*! OFF - OFF
  17408. * 0b0..Turn on clock
  17409. * 0b1..Turn off clock
  17410. */
  17411. #define CCM_CLOCK_ROOT_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_OFF_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_OFF_MASK)
  17412. /*! @} */
  17413. /* The count of CCM_CLOCK_ROOT_CONTROL */
  17414. #define CCM_CLOCK_ROOT_CONTROL_COUNT (79U)
  17415. /*! @name CLOCK_ROOT_CONTROL_SET - Clock root control */
  17416. /*! @{ */
  17417. #define CCM_CLOCK_ROOT_CONTROL_SET_DIV_MASK (0xFFU)
  17418. #define CCM_CLOCK_ROOT_CONTROL_SET_DIV_SHIFT (0U)
  17419. /*! DIV - Clock divider
  17420. */
  17421. #define CCM_CLOCK_ROOT_CONTROL_SET_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_SET_DIV_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_SET_DIV_MASK)
  17422. #define CCM_CLOCK_ROOT_CONTROL_SET_MUX_MASK (0x700U)
  17423. #define CCM_CLOCK_ROOT_CONTROL_SET_MUX_SHIFT (8U)
  17424. /*! MUX - Clock multiplexer
  17425. */
  17426. #define CCM_CLOCK_ROOT_CONTROL_SET_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_SET_MUX_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_SET_MUX_MASK)
  17427. #define CCM_CLOCK_ROOT_CONTROL_SET_OFF_MASK (0x1000000U)
  17428. #define CCM_CLOCK_ROOT_CONTROL_SET_OFF_SHIFT (24U)
  17429. /*! OFF - OFF
  17430. */
  17431. #define CCM_CLOCK_ROOT_CONTROL_SET_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_SET_OFF_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_SET_OFF_MASK)
  17432. /*! @} */
  17433. /* The count of CCM_CLOCK_ROOT_CONTROL_SET */
  17434. #define CCM_CLOCK_ROOT_CONTROL_SET_COUNT (79U)
  17435. /*! @name CLOCK_ROOT_CONTROL_CLR - Clock root control */
  17436. /*! @{ */
  17437. #define CCM_CLOCK_ROOT_CONTROL_CLR_DIV_MASK (0xFFU)
  17438. #define CCM_CLOCK_ROOT_CONTROL_CLR_DIV_SHIFT (0U)
  17439. /*! DIV - Clock divider
  17440. */
  17441. #define CCM_CLOCK_ROOT_CONTROL_CLR_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_CLR_DIV_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_CLR_DIV_MASK)
  17442. #define CCM_CLOCK_ROOT_CONTROL_CLR_MUX_MASK (0x700U)
  17443. #define CCM_CLOCK_ROOT_CONTROL_CLR_MUX_SHIFT (8U)
  17444. /*! MUX - Clock multiplexer
  17445. */
  17446. #define CCM_CLOCK_ROOT_CONTROL_CLR_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_CLR_MUX_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_CLR_MUX_MASK)
  17447. #define CCM_CLOCK_ROOT_CONTROL_CLR_OFF_MASK (0x1000000U)
  17448. #define CCM_CLOCK_ROOT_CONTROL_CLR_OFF_SHIFT (24U)
  17449. /*! OFF - OFF
  17450. */
  17451. #define CCM_CLOCK_ROOT_CONTROL_CLR_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_CLR_OFF_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_CLR_OFF_MASK)
  17452. /*! @} */
  17453. /* The count of CCM_CLOCK_ROOT_CONTROL_CLR */
  17454. #define CCM_CLOCK_ROOT_CONTROL_CLR_COUNT (79U)
  17455. /*! @name CLOCK_ROOT_CONTROL_TOG - Clock root control */
  17456. /*! @{ */
  17457. #define CCM_CLOCK_ROOT_CONTROL_TOG_DIV_MASK (0xFFU)
  17458. #define CCM_CLOCK_ROOT_CONTROL_TOG_DIV_SHIFT (0U)
  17459. /*! DIV - Clock divider
  17460. */
  17461. #define CCM_CLOCK_ROOT_CONTROL_TOG_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_TOG_DIV_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_TOG_DIV_MASK)
  17462. #define CCM_CLOCK_ROOT_CONTROL_TOG_MUX_MASK (0x700U)
  17463. #define CCM_CLOCK_ROOT_CONTROL_TOG_MUX_SHIFT (8U)
  17464. /*! MUX - Clock multiplexer
  17465. */
  17466. #define CCM_CLOCK_ROOT_CONTROL_TOG_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_TOG_MUX_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_TOG_MUX_MASK)
  17467. #define CCM_CLOCK_ROOT_CONTROL_TOG_OFF_MASK (0x1000000U)
  17468. #define CCM_CLOCK_ROOT_CONTROL_TOG_OFF_SHIFT (24U)
  17469. /*! OFF - OFF
  17470. */
  17471. #define CCM_CLOCK_ROOT_CONTROL_TOG_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONTROL_TOG_OFF_SHIFT)) & CCM_CLOCK_ROOT_CONTROL_TOG_OFF_MASK)
  17472. /*! @} */
  17473. /* The count of CCM_CLOCK_ROOT_CONTROL_TOG */
  17474. #define CCM_CLOCK_ROOT_CONTROL_TOG_COUNT (79U)
  17475. /*! @name CLOCK_ROOT_STATUS0 - Clock root working status */
  17476. /*! @{ */
  17477. #define CCM_CLOCK_ROOT_STATUS0_DIV_MASK (0xFFU)
  17478. #define CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT (0U)
  17479. /*! DIV - Current clock root DIV setting
  17480. */
  17481. #define CCM_CLOCK_ROOT_STATUS0_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_DIV_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_DIV_MASK)
  17482. #define CCM_CLOCK_ROOT_STATUS0_MUX_MASK (0x700U)
  17483. #define CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT (8U)
  17484. /*! MUX - Current clock root MUX setting
  17485. */
  17486. #define CCM_CLOCK_ROOT_STATUS0_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_MUX_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_MUX_MASK)
  17487. #define CCM_CLOCK_ROOT_STATUS0_OFF_MASK (0x1000000U)
  17488. #define CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT (24U)
  17489. /*! OFF - Current clock root OFF setting
  17490. * 0b0..Clock is running
  17491. * 0b1..Clock is disabled/off
  17492. */
  17493. #define CCM_CLOCK_ROOT_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_OFF_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_OFF_MASK)
  17494. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN_MASK (0x8000000U)
  17495. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN_SHIFT (27U)
  17496. /*! POWERDOWN - Current clock root POWERDOWN setting
  17497. * 0b1..Clock root is Powered Down
  17498. * 0b0..Clock root is running
  17499. */
  17500. #define CCM_CLOCK_ROOT_STATUS0_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_POWERDOWN_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_POWERDOWN_MASK)
  17501. #define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_MASK (0x10000000U)
  17502. #define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_SHIFT (28U)
  17503. /*! SLICE_BUSY - Internal updating in generation logic
  17504. * 0b1..Clock generation logic is applying the new setting
  17505. * 0b0..Clock generation logic is not busy
  17506. */
  17507. #define CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_SLICE_BUSY_MASK)
  17508. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_MASK (0x20000000U)
  17509. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_SHIFT (29U)
  17510. /*! UPDATE_FORWARD - Internal status synchronization to clock generation logic
  17511. * 0b1..Synchronization in process
  17512. * 0b0..Synchronization not in process
  17513. */
  17514. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_UPDATE_FORWARD_MASK)
  17515. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_MASK (0x40000000U)
  17516. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_SHIFT (30U)
  17517. /*! UPDATE_REVERSE - Internal status synchronization from clock generation logic
  17518. * 0b1..Synchronization in process
  17519. * 0b0..Synchronization not in process
  17520. */
  17521. #define CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_UPDATE_REVERSE_MASK)
  17522. #define CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK (0x80000000U)
  17523. #define CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT (31U)
  17524. /*! CHANGING - Internal updating in clock root
  17525. * 0b1..Clock generation logic is updating currently
  17526. * 0b0..Clock Status is not updating currently
  17527. */
  17528. #define CCM_CLOCK_ROOT_STATUS0_CHANGING(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS0_CHANGING_SHIFT)) & CCM_CLOCK_ROOT_STATUS0_CHANGING_MASK)
  17529. /*! @} */
  17530. /* The count of CCM_CLOCK_ROOT_STATUS0 */
  17531. #define CCM_CLOCK_ROOT_STATUS0_COUNT (79U)
  17532. /*! @name CLOCK_ROOT_STATUS1 - Clock root low power status */
  17533. /*! @{ */
  17534. #define CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  17535. #define CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  17536. /*! TARGET_SETPOINT - Target Setpoint
  17537. */
  17538. #define CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_TARGET_SETPOINT_MASK)
  17539. #define CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  17540. #define CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  17541. /*! CURRENT_SETPOINT - Current Setpoint
  17542. */
  17543. #define CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_CURRENT_SETPOINT_MASK)
  17544. #define CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_MASK (0x1000000U)
  17545. #define CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_SHIFT (24U)
  17546. /*! DOWN_REQUEST - Clock frequency decrease request
  17547. * 0b1..Frequency decrease requested
  17548. * 0b0..Frequency decrease not requested
  17549. */
  17550. #define CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_DOWN_REQUEST_MASK)
  17551. #define CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_MASK (0x2000000U)
  17552. #define CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_SHIFT (25U)
  17553. /*! DOWN_DONE - Clock frequency decrease finish
  17554. * 0b1..Frequency decrease completed
  17555. * 0b0..Frequency decrease not completed
  17556. */
  17557. #define CCM_CLOCK_ROOT_STATUS1_DOWN_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_DOWN_DONE_MASK)
  17558. #define CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_MASK (0x4000000U)
  17559. #define CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_SHIFT (26U)
  17560. /*! UP_REQUEST - Clock frequency increase request
  17561. * 0b1..Frequency increase requested
  17562. * 0b0..Frequency increase not requested
  17563. */
  17564. #define CCM_CLOCK_ROOT_STATUS1_UP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_UP_REQUEST_MASK)
  17565. #define CCM_CLOCK_ROOT_STATUS1_UP_DONE_MASK (0x8000000U)
  17566. #define CCM_CLOCK_ROOT_STATUS1_UP_DONE_SHIFT (27U)
  17567. /*! UP_DONE - Clock frequency increase finish
  17568. * 0b1..Frequency increase completed
  17569. * 0b0..Frequency increase not completed
  17570. */
  17571. #define CCM_CLOCK_ROOT_STATUS1_UP_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_STATUS1_UP_DONE_SHIFT)) & CCM_CLOCK_ROOT_STATUS1_UP_DONE_MASK)
  17572. /*! @} */
  17573. /* The count of CCM_CLOCK_ROOT_STATUS1 */
  17574. #define CCM_CLOCK_ROOT_STATUS1_COUNT (79U)
  17575. /*! @name CLOCK_ROOT_CONFIG - Clock root configuration */
  17576. /*! @{ */
  17577. #define CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  17578. #define CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  17579. /*! SETPOINT_PRESENT - Setpoint present
  17580. * 0b1..Setpoint is implemented.
  17581. * 0b0..Setpoint is not implemented.
  17582. */
  17583. #define CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_CLOCK_ROOT_CONFIG_SETPOINT_PRESENT_MASK)
  17584. /*! @} */
  17585. /* The count of CCM_CLOCK_ROOT_CONFIG */
  17586. #define CCM_CLOCK_ROOT_CONFIG_COUNT (79U)
  17587. /*! @name CLOCK_ROOT_AUTHEN - Clock root access control */
  17588. /*! @{ */
  17589. #define CCM_CLOCK_ROOT_AUTHEN_TZ_USER_MASK (0x1U)
  17590. #define CCM_CLOCK_ROOT_AUTHEN_TZ_USER_SHIFT (0U)
  17591. /*! TZ_USER - User access
  17592. * 0b1..Clock can be changed in user mode
  17593. * 0b0..Clock cannot be changed in user mode
  17594. */
  17595. #define CCM_CLOCK_ROOT_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TZ_USER_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TZ_USER_MASK)
  17596. #define CCM_CLOCK_ROOT_AUTHEN_TZ_NS_MASK (0x2U)
  17597. #define CCM_CLOCK_ROOT_AUTHEN_TZ_NS_SHIFT (1U)
  17598. /*! TZ_NS - Non-secure access
  17599. * 0b0..Cannot be changed in Non-secure mode
  17600. * 0b1..Can be changed in Non-secure mode
  17601. */
  17602. #define CCM_CLOCK_ROOT_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TZ_NS_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TZ_NS_MASK)
  17603. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_MASK (0x10U)
  17604. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_SHIFT (4U)
  17605. /*! LOCK_TZ - Lock truszone setting
  17606. * 0b0..Trustzone setting is not locked
  17607. * 0b1..Trustzone setting is locked
  17608. */
  17609. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_LOCK_TZ_MASK)
  17610. #define CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_MASK (0xF00U)
  17611. #define CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_SHIFT (8U)
  17612. /*! WHITE_LIST - Whitelist
  17613. * 0b0000..This domain is NOT allowed to change clock
  17614. * 0b0001..This domain is allowed to change clock
  17615. */
  17616. #define CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_WHITE_LIST_MASK)
  17617. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_MASK (0x1000U)
  17618. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_SHIFT (12U)
  17619. /*! LOCK_LIST - Lock Whitelist
  17620. * 0b0..Whitelist is not locked
  17621. * 0b1..Whitelist is locked
  17622. */
  17623. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_LOCK_LIST_MASK)
  17624. #define CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  17625. #define CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  17626. /*! DOMAIN_MODE - Low power and access control by domain
  17627. * 0b1..Clock works in Domain Mode
  17628. * 0b0..Clock does NOT work in Domain Mode
  17629. */
  17630. #define CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_DOMAIN_MODE_MASK)
  17631. #define CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  17632. #define CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  17633. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17634. * 0b1..Clock works in Setpoint Mode
  17635. * 0b0..Clock does NOT work in Setpoint Mode
  17636. */
  17637. #define CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SETPOINT_MODE_MASK)
  17638. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_MASK (0x100000U)
  17639. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_SHIFT (20U)
  17640. /*! LOCK_MODE - Lock low power and access mode
  17641. * 0b0..MODE is not locked
  17642. * 0b1..MODE is locked
  17643. */
  17644. #define CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_LOCK_MODE_MASK)
  17645. /*! @} */
  17646. /* The count of CCM_CLOCK_ROOT_AUTHEN */
  17647. #define CCM_CLOCK_ROOT_AUTHEN_COUNT (79U)
  17648. /*! @name CLOCK_ROOT_AUTHEN_SET - Clock root access control */
  17649. /*! @{ */
  17650. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_MASK (0x1U)
  17651. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_SHIFT (0U)
  17652. /*! TZ_USER - User access
  17653. */
  17654. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_TZ_USER_MASK)
  17655. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_MASK (0x2U)
  17656. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_SHIFT (1U)
  17657. /*! TZ_NS - Non-secure access
  17658. */
  17659. #define CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_TZ_NS_MASK)
  17660. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  17661. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  17662. /*! LOCK_TZ - Lock truszone setting
  17663. */
  17664. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_TZ_MASK)
  17665. #define CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  17666. #define CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  17667. /*! WHITE_LIST - Whitelist
  17668. */
  17669. #define CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_WHITE_LIST_MASK)
  17670. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  17671. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  17672. /*! LOCK_LIST - Lock Whitelist
  17673. */
  17674. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_LIST_MASK)
  17675. #define CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  17676. #define CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  17677. /*! DOMAIN_MODE - Low power and access control by domain
  17678. */
  17679. #define CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_DOMAIN_MODE_MASK)
  17680. #define CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_MASK (0x20000U)
  17681. #define CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_SHIFT (17U)
  17682. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17683. */
  17684. #define CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_SETPOINT_MODE_MASK)
  17685. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  17686. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  17687. /*! LOCK_MODE - Lock low power and access mode
  17688. */
  17689. #define CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_SET_LOCK_MODE_MASK)
  17690. /*! @} */
  17691. /* The count of CCM_CLOCK_ROOT_AUTHEN_SET */
  17692. #define CCM_CLOCK_ROOT_AUTHEN_SET_COUNT (79U)
  17693. /*! @name CLOCK_ROOT_AUTHEN_CLR - Clock root access control */
  17694. /*! @{ */
  17695. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  17696. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  17697. /*! TZ_USER - User access
  17698. */
  17699. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_USER_MASK)
  17700. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  17701. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  17702. /*! TZ_NS - Non-secure access
  17703. */
  17704. #define CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_TZ_NS_MASK)
  17705. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  17706. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  17707. /*! LOCK_TZ - Lock truszone setting
  17708. */
  17709. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_TZ_MASK)
  17710. #define CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  17711. #define CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  17712. /*! WHITE_LIST - Whitelist
  17713. */
  17714. #define CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_WHITE_LIST_MASK)
  17715. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  17716. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  17717. /*! LOCK_LIST - Lock Whitelist
  17718. */
  17719. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_LIST_MASK)
  17720. #define CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  17721. #define CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  17722. /*! DOMAIN_MODE - Low power and access control by domain
  17723. */
  17724. #define CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_DOMAIN_MODE_MASK)
  17725. #define CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_MASK (0x20000U)
  17726. #define CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_SHIFT (17U)
  17727. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17728. */
  17729. #define CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_SETPOINT_MODE_MASK)
  17730. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  17731. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  17732. /*! LOCK_MODE - Lock low power and access mode
  17733. */
  17734. #define CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_CLR_LOCK_MODE_MASK)
  17735. /*! @} */
  17736. /* The count of CCM_CLOCK_ROOT_AUTHEN_CLR */
  17737. #define CCM_CLOCK_ROOT_AUTHEN_CLR_COUNT (79U)
  17738. /*! @name CLOCK_ROOT_AUTHEN_TOG - Clock root access control */
  17739. /*! @{ */
  17740. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  17741. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  17742. /*! TZ_USER - User access
  17743. */
  17744. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_USER_MASK)
  17745. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  17746. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  17747. /*! TZ_NS - Non-secure access
  17748. */
  17749. #define CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_TZ_NS_MASK)
  17750. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  17751. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  17752. /*! LOCK_TZ - Lock truszone setting
  17753. */
  17754. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_TZ_MASK)
  17755. #define CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  17756. #define CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  17757. /*! WHITE_LIST - Whitelist
  17758. */
  17759. #define CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_WHITE_LIST_MASK)
  17760. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  17761. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  17762. /*! LOCK_LIST - Lock Whitelist
  17763. */
  17764. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_LIST_MASK)
  17765. #define CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  17766. #define CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  17767. /*! DOMAIN_MODE - Low power and access control by domain
  17768. */
  17769. #define CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_DOMAIN_MODE_MASK)
  17770. #define CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_MASK (0x20000U)
  17771. #define CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_SHIFT (17U)
  17772. /*! SETPOINT_MODE - Low power and access control by Setpoint
  17773. */
  17774. #define CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_SETPOINT_MODE_MASK)
  17775. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  17776. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  17777. /*! LOCK_MODE - Lock low power and access mode
  17778. */
  17779. #define CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_CLOCK_ROOT_AUTHEN_TOG_LOCK_MODE_MASK)
  17780. /*! @} */
  17781. /* The count of CCM_CLOCK_ROOT_AUTHEN_TOG */
  17782. #define CCM_CLOCK_ROOT_AUTHEN_TOG_COUNT (79U)
  17783. /*! @name CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT - Setpoint setting */
  17784. /*! @{ */
  17785. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_MASK (0xFFU)
  17786. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_SHIFT (0U)
  17787. /*! DIV - Clock divider
  17788. */
  17789. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_SHIFT)) & CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_DIV_MASK)
  17790. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_MASK (0x700U)
  17791. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_SHIFT (8U)
  17792. /*! MUX - Clock multiplexer
  17793. */
  17794. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_SHIFT)) & CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_MUX_MASK)
  17795. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_MASK (0x1000000U)
  17796. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_SHIFT (24U)
  17797. /*! OFF - OFF
  17798. * 0b1..OFF
  17799. * 0b0..ON
  17800. */
  17801. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_SHIFT)) & CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_OFF_MASK)
  17802. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_MASK (0xF0000000U)
  17803. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_SHIFT (28U)
  17804. /*! GRADE - Grade
  17805. */
  17806. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_SHIFT)) & CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_GRADE_MASK)
  17807. /*! @} */
  17808. /* The count of CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT */
  17809. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_COUNT (79U)
  17810. /* The count of CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT */
  17811. #define CCM_CLOCK_ROOT_CLOCK_ROOT_SETPOINT_SETPOINT_COUNT2 (16U)
  17812. /*! @name CLOCK_GROUP_CONTROL - Clock group control */
  17813. /*! @{ */
  17814. #define CCM_CLOCK_GROUP_CONTROL_DIV0_MASK (0xFU)
  17815. #define CCM_CLOCK_GROUP_CONTROL_DIV0_SHIFT (0U)
  17816. /*! DIV0 - Clock divider0
  17817. */
  17818. #define CCM_CLOCK_GROUP_CONTROL_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_DIV0_MASK)
  17819. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV_MASK (0xFF0000U)
  17820. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV_SHIFT (16U)
  17821. /*! RSTDIV - Clock group global restart count
  17822. */
  17823. #define CCM_CLOCK_GROUP_CONTROL_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_RSTDIV_MASK)
  17824. #define CCM_CLOCK_GROUP_CONTROL_OFF_MASK (0x1000000U)
  17825. #define CCM_CLOCK_GROUP_CONTROL_OFF_SHIFT (24U)
  17826. /*! OFF - OFF
  17827. * 0b0..Clock is running
  17828. * 0b1..Turn off clock
  17829. */
  17830. #define CCM_CLOCK_GROUP_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_OFF_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_OFF_MASK)
  17831. /*! @} */
  17832. /* The count of CCM_CLOCK_GROUP_CONTROL */
  17833. #define CCM_CLOCK_GROUP_CONTROL_COUNT (2U)
  17834. /*! @name CLOCK_GROUP_CONTROL_SET - Clock group control */
  17835. /*! @{ */
  17836. #define CCM_CLOCK_GROUP_CONTROL_SET_DIV0_MASK (0xFU)
  17837. #define CCM_CLOCK_GROUP_CONTROL_SET_DIV0_SHIFT (0U)
  17838. /*! DIV0 - Clock divider0
  17839. */
  17840. #define CCM_CLOCK_GROUP_CONTROL_SET_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_SET_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_SET_DIV0_MASK)
  17841. #define CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_MASK (0xFF0000U)
  17842. #define CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_SHIFT (16U)
  17843. /*! RSTDIV - Clock group global restart count
  17844. */
  17845. #define CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_SET_RSTDIV_MASK)
  17846. #define CCM_CLOCK_GROUP_CONTROL_SET_OFF_MASK (0x1000000U)
  17847. #define CCM_CLOCK_GROUP_CONTROL_SET_OFF_SHIFT (24U)
  17848. /*! OFF - OFF
  17849. */
  17850. #define CCM_CLOCK_GROUP_CONTROL_SET_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_SET_OFF_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_SET_OFF_MASK)
  17851. /*! @} */
  17852. /* The count of CCM_CLOCK_GROUP_CONTROL_SET */
  17853. #define CCM_CLOCK_GROUP_CONTROL_SET_COUNT (2U)
  17854. /*! @name CLOCK_GROUP_CONTROL_CLR - Clock group control */
  17855. /*! @{ */
  17856. #define CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_MASK (0xFU)
  17857. #define CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_SHIFT (0U)
  17858. /*! DIV0 - Clock divider0
  17859. */
  17860. #define CCM_CLOCK_GROUP_CONTROL_CLR_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_CLR_DIV0_MASK)
  17861. #define CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_MASK (0xFF0000U)
  17862. #define CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_SHIFT (16U)
  17863. /*! RSTDIV - Clock group global restart count
  17864. */
  17865. #define CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_CLR_RSTDIV_MASK)
  17866. #define CCM_CLOCK_GROUP_CONTROL_CLR_OFF_MASK (0x1000000U)
  17867. #define CCM_CLOCK_GROUP_CONTROL_CLR_OFF_SHIFT (24U)
  17868. /*! OFF - OFF
  17869. */
  17870. #define CCM_CLOCK_GROUP_CONTROL_CLR_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_CLR_OFF_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_CLR_OFF_MASK)
  17871. /*! @} */
  17872. /* The count of CCM_CLOCK_GROUP_CONTROL_CLR */
  17873. #define CCM_CLOCK_GROUP_CONTROL_CLR_COUNT (2U)
  17874. /*! @name CLOCK_GROUP_CONTROL_TOG - Clock group control */
  17875. /*! @{ */
  17876. #define CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_MASK (0xFU)
  17877. #define CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_SHIFT (0U)
  17878. /*! DIV0 - Clock divider0
  17879. */
  17880. #define CCM_CLOCK_GROUP_CONTROL_TOG_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_TOG_DIV0_MASK)
  17881. #define CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_MASK (0xFF0000U)
  17882. #define CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_SHIFT (16U)
  17883. /*! RSTDIV - Clock group global restart count
  17884. */
  17885. #define CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_TOG_RSTDIV_MASK)
  17886. #define CCM_CLOCK_GROUP_CONTROL_TOG_OFF_MASK (0x1000000U)
  17887. #define CCM_CLOCK_GROUP_CONTROL_TOG_OFF_SHIFT (24U)
  17888. /*! OFF - OFF
  17889. */
  17890. #define CCM_CLOCK_GROUP_CONTROL_TOG_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONTROL_TOG_OFF_SHIFT)) & CCM_CLOCK_GROUP_CONTROL_TOG_OFF_MASK)
  17891. /*! @} */
  17892. /* The count of CCM_CLOCK_GROUP_CONTROL_TOG */
  17893. #define CCM_CLOCK_GROUP_CONTROL_TOG_COUNT (2U)
  17894. /*! @name CLOCK_GROUP_STATUS0 - Clock group working status */
  17895. /*! @{ */
  17896. #define CCM_CLOCK_GROUP_STATUS0_DIV0_MASK (0xFU)
  17897. #define CCM_CLOCK_GROUP_STATUS0_DIV0_SHIFT (0U)
  17898. /*! DIV0 - Clock divider
  17899. */
  17900. #define CCM_CLOCK_GROUP_STATUS0_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_DIV0_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_DIV0_MASK)
  17901. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV_MASK (0xFF0000U)
  17902. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV_SHIFT (16U)
  17903. /*! RSTDIV - Clock divider
  17904. */
  17905. #define CCM_CLOCK_GROUP_STATUS0_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_RSTDIV_MASK)
  17906. #define CCM_CLOCK_GROUP_STATUS0_OFF_MASK (0x1000000U)
  17907. #define CCM_CLOCK_GROUP_STATUS0_OFF_SHIFT (24U)
  17908. /*! OFF - OFF
  17909. * 0b0..Clock is running.
  17910. * 0b1..Turn off clock.
  17911. */
  17912. #define CCM_CLOCK_GROUP_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_OFF_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_OFF_MASK)
  17913. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN_MASK (0x8000000U)
  17914. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN_SHIFT (27U)
  17915. /*! POWERDOWN - Current clock root POWERDOWN setting
  17916. * 0b1..Clock root is Powered Down
  17917. * 0b0..Clock root is running
  17918. */
  17919. #define CCM_CLOCK_GROUP_STATUS0_POWERDOWN(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_POWERDOWN_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_POWERDOWN_MASK)
  17920. #define CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_MASK (0x10000000U)
  17921. #define CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_SHIFT (28U)
  17922. /*! SLICE_BUSY - Internal updating in generation logic
  17923. * 0b1..Clock generation logic is applying the new setting
  17924. * 0b0..Clock generation logic is not busy
  17925. */
  17926. #define CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_SLICE_BUSY_MASK)
  17927. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_MASK (0x20000000U)
  17928. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_SHIFT (29U)
  17929. /*! UPDATE_FORWARD - Internal status synchronization to clock generation logic
  17930. * 0b1..Synchronization in process
  17931. * 0b0..Synchronization not in process
  17932. */
  17933. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_UPDATE_FORWARD_MASK)
  17934. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_MASK (0x40000000U)
  17935. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_SHIFT (30U)
  17936. /*! UPDATE_REVERSE - Internal status synchronization from clock generation logic
  17937. * 0b1..Synchronization in process
  17938. * 0b0..Synchronization not in process
  17939. */
  17940. #define CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_UPDATE_REVERSE_MASK)
  17941. #define CCM_CLOCK_GROUP_STATUS0_CHANGING_MASK (0x80000000U)
  17942. #define CCM_CLOCK_GROUP_STATUS0_CHANGING_SHIFT (31U)
  17943. /*! CHANGING - Internal updating in clock group
  17944. * 0b1..Clock root logic is updating currently
  17945. * 0b0..Clock root is not updating currently
  17946. */
  17947. #define CCM_CLOCK_GROUP_STATUS0_CHANGING(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS0_CHANGING_SHIFT)) & CCM_CLOCK_GROUP_STATUS0_CHANGING_MASK)
  17948. /*! @} */
  17949. /* The count of CCM_CLOCK_GROUP_STATUS0 */
  17950. #define CCM_CLOCK_GROUP_STATUS0_COUNT (2U)
  17951. /*! @name CLOCK_GROUP_STATUS1 - Clock group low power/extend status */
  17952. /*! @{ */
  17953. #define CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  17954. #define CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  17955. /*! TARGET_SETPOINT - Next Setpoint to change to
  17956. */
  17957. #define CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_TARGET_SETPOINT_MASK)
  17958. #define CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  17959. #define CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  17960. /*! CURRENT_SETPOINT - Current Setpoint
  17961. */
  17962. #define CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_CURRENT_SETPOINT_MASK)
  17963. #define CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_MASK (0x1000000U)
  17964. #define CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_SHIFT (24U)
  17965. /*! DOWN_REQUEST - Clock frequency decrease request
  17966. * 0b1..Handshake signal with GPC status indicating frequency decrease is requested
  17967. * 0b0..No handshake signal is not requested
  17968. */
  17969. #define CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_DOWN_REQUEST_MASK)
  17970. #define CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_MASK (0x2000000U)
  17971. #define CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_SHIFT (25U)
  17972. /*! DOWN_DONE - Clock frequency decrease complete
  17973. * 0b1..Handshake signal with GPC status indicating frequency decrease is complete
  17974. * 0b0..Handshake signal with GPC status indicating frequency decrease is not complete
  17975. */
  17976. #define CCM_CLOCK_GROUP_STATUS1_DOWN_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_DOWN_DONE_MASK)
  17977. #define CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_MASK (0x4000000U)
  17978. #define CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_SHIFT (26U)
  17979. /*! UP_REQUEST - Clock frequency increase request
  17980. * 0b1..Handshake signal with GPC status indicating frequency increase is requested
  17981. * 0b0..No handshake signal is not requested
  17982. */
  17983. #define CCM_CLOCK_GROUP_STATUS1_UP_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_UP_REQUEST_MASK)
  17984. #define CCM_CLOCK_GROUP_STATUS1_UP_DONE_MASK (0x8000000U)
  17985. #define CCM_CLOCK_GROUP_STATUS1_UP_DONE_SHIFT (27U)
  17986. /*! UP_DONE - Clock frequency increase complete
  17987. * 0b1..Handshake signal with GPC status indicating frequency increase is complete
  17988. * 0b0..Handshake signal with GPC status indicating frequency increase is not complete
  17989. */
  17990. #define CCM_CLOCK_GROUP_STATUS1_UP_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_STATUS1_UP_DONE_SHIFT)) & CCM_CLOCK_GROUP_STATUS1_UP_DONE_MASK)
  17991. /*! @} */
  17992. /* The count of CCM_CLOCK_GROUP_STATUS1 */
  17993. #define CCM_CLOCK_GROUP_STATUS1_COUNT (2U)
  17994. /*! @name CLOCK_GROUP_CONFIG - Clock group configuration */
  17995. /*! @{ */
  17996. #define CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  17997. #define CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  17998. /*! SETPOINT_PRESENT - Setpoint present
  17999. * 0b1..Setpoint is implemented.
  18000. * 0b0..Setpoint is not implemented.
  18001. */
  18002. #define CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_CLOCK_GROUP_CONFIG_SETPOINT_PRESENT_MASK)
  18003. /*! @} */
  18004. /* The count of CCM_CLOCK_GROUP_CONFIG */
  18005. #define CCM_CLOCK_GROUP_CONFIG_COUNT (2U)
  18006. /*! @name CLOCK_GROUP_AUTHEN - Clock group access control */
  18007. /*! @{ */
  18008. #define CCM_CLOCK_GROUP_AUTHEN_TZ_USER_MASK (0x1U)
  18009. #define CCM_CLOCK_GROUP_AUTHEN_TZ_USER_SHIFT (0U)
  18010. /*! TZ_USER - User access
  18011. * 0b1..Clock can be changed in user mode.
  18012. * 0b0..Clock cannot be changed in user mode.
  18013. */
  18014. #define CCM_CLOCK_GROUP_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TZ_USER_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TZ_USER_MASK)
  18015. #define CCM_CLOCK_GROUP_AUTHEN_TZ_NS_MASK (0x2U)
  18016. #define CCM_CLOCK_GROUP_AUTHEN_TZ_NS_SHIFT (1U)
  18017. /*! TZ_NS - Non-secure access
  18018. * 0b0..Cannot be changed in Non-secure mode.
  18019. * 0b1..Can be changed in Non-secure mode.
  18020. */
  18021. #define CCM_CLOCK_GROUP_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TZ_NS_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TZ_NS_MASK)
  18022. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_MASK (0x10U)
  18023. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_SHIFT (4U)
  18024. /*! LOCK_TZ - Lock truszone setting
  18025. * 0b0..Trustzone setting is not locked.
  18026. * 0b1..Trustzone setting is locked.
  18027. */
  18028. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_LOCK_TZ_MASK)
  18029. #define CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18030. #define CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_SHIFT (8U)
  18031. /*! WHITE_LIST - Whitelist
  18032. */
  18033. #define CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_WHITE_LIST_MASK)
  18034. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18035. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_SHIFT (12U)
  18036. /*! LOCK_LIST - Lock Whitelist
  18037. * 0b0..Whitelist is not locked.
  18038. * 0b1..Whitelist is locked.
  18039. */
  18040. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_LOCK_LIST_MASK)
  18041. #define CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18042. #define CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18043. /*! DOMAIN_MODE - Low power and access control by domain
  18044. * 0b1..Clock works in Domain Mode.
  18045. * 0b0..Clock does not work in Domain Mode.
  18046. */
  18047. #define CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_DOMAIN_MODE_MASK)
  18048. #define CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  18049. #define CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  18050. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18051. */
  18052. #define CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SETPOINT_MODE_MASK)
  18053. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18054. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_SHIFT (20U)
  18055. /*! LOCK_MODE - Lock low power and access mode
  18056. * 0b0..MODE is not locked.
  18057. * 0b1..MODE is locked.
  18058. */
  18059. #define CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_LOCK_MODE_MASK)
  18060. /*! @} */
  18061. /* The count of CCM_CLOCK_GROUP_AUTHEN */
  18062. #define CCM_CLOCK_GROUP_AUTHEN_COUNT (2U)
  18063. /*! @name CLOCK_GROUP_AUTHEN_SET - Clock group access control */
  18064. /*! @{ */
  18065. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18066. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18067. /*! TZ_USER - User access
  18068. */
  18069. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_TZ_USER_MASK)
  18070. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18071. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18072. /*! TZ_NS - Non-secure access
  18073. */
  18074. #define CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_TZ_NS_MASK)
  18075. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18076. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18077. /*! LOCK_TZ - Lock truszone setting
  18078. */
  18079. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_TZ_MASK)
  18080. #define CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18081. #define CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18082. /*! WHITE_LIST - Whitelist
  18083. */
  18084. #define CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_WHITE_LIST_MASK)
  18085. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18086. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18087. /*! LOCK_LIST - Lock Whitelist
  18088. */
  18089. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_LIST_MASK)
  18090. #define CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18091. #define CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18092. /*! DOMAIN_MODE - Low power and access control by domain
  18093. */
  18094. #define CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_DOMAIN_MODE_MASK)
  18095. #define CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_MASK (0x20000U)
  18096. #define CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_SHIFT (17U)
  18097. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18098. */
  18099. #define CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_SETPOINT_MODE_MASK)
  18100. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18101. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18102. /*! LOCK_MODE - Lock low power and access mode
  18103. */
  18104. #define CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_SET_LOCK_MODE_MASK)
  18105. /*! @} */
  18106. /* The count of CCM_CLOCK_GROUP_AUTHEN_SET */
  18107. #define CCM_CLOCK_GROUP_AUTHEN_SET_COUNT (2U)
  18108. /*! @name CLOCK_GROUP_AUTHEN_CLR - Clock group access control */
  18109. /*! @{ */
  18110. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18111. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18112. /*! TZ_USER - User access
  18113. */
  18114. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_USER_MASK)
  18115. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18116. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18117. /*! TZ_NS - Non-secure access
  18118. */
  18119. #define CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_TZ_NS_MASK)
  18120. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18121. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18122. /*! LOCK_TZ - Lock truszone setting
  18123. */
  18124. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_TZ_MASK)
  18125. #define CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18126. #define CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18127. /*! WHITE_LIST - Whitelist
  18128. */
  18129. #define CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_WHITE_LIST_MASK)
  18130. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18131. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18132. /*! LOCK_LIST - Lock Whitelist
  18133. */
  18134. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_LIST_MASK)
  18135. #define CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18136. #define CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18137. /*! DOMAIN_MODE - Low power and access control by domain
  18138. */
  18139. #define CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_DOMAIN_MODE_MASK)
  18140. #define CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_MASK (0x20000U)
  18141. #define CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_SHIFT (17U)
  18142. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18143. */
  18144. #define CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_SETPOINT_MODE_MASK)
  18145. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18146. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18147. /*! LOCK_MODE - Lock low power and access mode
  18148. */
  18149. #define CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_CLR_LOCK_MODE_MASK)
  18150. /*! @} */
  18151. /* The count of CCM_CLOCK_GROUP_AUTHEN_CLR */
  18152. #define CCM_CLOCK_GROUP_AUTHEN_CLR_COUNT (2U)
  18153. /*! @name CLOCK_GROUP_AUTHEN_TOG - Clock group access control */
  18154. /*! @{ */
  18155. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18156. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18157. /*! TZ_USER - User access
  18158. */
  18159. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_USER_MASK)
  18160. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18161. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18162. /*! TZ_NS - Non-secure access
  18163. */
  18164. #define CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_TZ_NS_MASK)
  18165. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18166. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18167. /*! LOCK_TZ - Lock truszone setting
  18168. */
  18169. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_TZ_MASK)
  18170. #define CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18171. #define CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18172. /*! WHITE_LIST - Whitelist
  18173. */
  18174. #define CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_WHITE_LIST_MASK)
  18175. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18176. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18177. /*! LOCK_LIST - Lock Whitelist
  18178. */
  18179. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_LIST_MASK)
  18180. #define CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18181. #define CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18182. /*! DOMAIN_MODE - Low power and access control by domain
  18183. */
  18184. #define CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_DOMAIN_MODE_MASK)
  18185. #define CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_MASK (0x20000U)
  18186. #define CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_SHIFT (17U)
  18187. /*! SETPOINT_MODE - Low power and access control by Setpoint
  18188. */
  18189. #define CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_SETPOINT_MODE_MASK)
  18190. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18191. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18192. /*! LOCK_MODE - Lock low power and access mode
  18193. */
  18194. #define CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_CLOCK_GROUP_AUTHEN_TOG_LOCK_MODE_MASK)
  18195. /*! @} */
  18196. /* The count of CCM_CLOCK_GROUP_AUTHEN_TOG */
  18197. #define CCM_CLOCK_GROUP_AUTHEN_TOG_COUNT (2U)
  18198. /*! @name CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT - Setpoint setting */
  18199. /*! @{ */
  18200. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_MASK (0xFU)
  18201. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_SHIFT (0U)
  18202. /*! DIV0 - Clock divider
  18203. * 0b0000..Direct output.
  18204. * 0b0001..Divide by 2.
  18205. * 0b0010..Divide by 3.
  18206. * 0b0011..Divide by 4.
  18207. * 0b1111..Divide by 16.
  18208. */
  18209. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_SHIFT)) & CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_DIV0_MASK)
  18210. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_MASK (0xFF0000U)
  18211. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_SHIFT (16U)
  18212. /*! RSTDIV - Clock group global restart count
  18213. */
  18214. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_SHIFT)) & CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_RSTDIV_MASK)
  18215. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_MASK (0x1000000U)
  18216. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_SHIFT (24U)
  18217. /*! OFF - OFF
  18218. * 0b0..Clock is running.
  18219. * 0b1..Turn off clock.
  18220. */
  18221. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_SHIFT)) & CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_OFF_MASK)
  18222. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_MASK (0xF0000000U)
  18223. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_SHIFT (28U)
  18224. /*! GRADE - Grade
  18225. */
  18226. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE(x) (((uint32_t)(((uint32_t)(x)) << CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_SHIFT)) & CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_GRADE_MASK)
  18227. /*! @} */
  18228. /* The count of CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT */
  18229. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_COUNT (2U)
  18230. /* The count of CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT */
  18231. #define CCM_CLOCK_GROUP_CLOCK_GROUP_SETPOINT_SETPOINT_COUNT2 (16U)
  18232. /*! @name GPR_SHARED - General Purpose Register */
  18233. /*! @{ */
  18234. #define CCM_GPR_SHARED_GPR_MASK (0xFFFFFFFFU)
  18235. #define CCM_GPR_SHARED_GPR_SHIFT (0U)
  18236. /*! GPR - GP register
  18237. */
  18238. #define CCM_GPR_SHARED_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_GPR_SHIFT)) & CCM_GPR_SHARED_GPR_MASK)
  18239. /*! @} */
  18240. /* The count of CCM_GPR_SHARED */
  18241. #define CCM_GPR_SHARED_COUNT (8U)
  18242. /*! @name GPR_SHARED_SET - General Purpose Register */
  18243. /*! @{ */
  18244. #define CCM_GPR_SHARED_SET_GPR_MASK (0xFFFFFFFFU)
  18245. #define CCM_GPR_SHARED_SET_GPR_SHIFT (0U)
  18246. /*! GPR - GP register
  18247. */
  18248. #define CCM_GPR_SHARED_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_SET_GPR_SHIFT)) & CCM_GPR_SHARED_SET_GPR_MASK)
  18249. /*! @} */
  18250. /* The count of CCM_GPR_SHARED_SET */
  18251. #define CCM_GPR_SHARED_SET_COUNT (8U)
  18252. /*! @name GPR_SHARED_CLR - General Purpose Register */
  18253. /*! @{ */
  18254. #define CCM_GPR_SHARED_CLR_GPR_MASK (0xFFFFFFFFU)
  18255. #define CCM_GPR_SHARED_CLR_GPR_SHIFT (0U)
  18256. /*! GPR - GP register
  18257. */
  18258. #define CCM_GPR_SHARED_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_CLR_GPR_SHIFT)) & CCM_GPR_SHARED_CLR_GPR_MASK)
  18259. /*! @} */
  18260. /* The count of CCM_GPR_SHARED_CLR */
  18261. #define CCM_GPR_SHARED_CLR_COUNT (8U)
  18262. /*! @name GPR_SHARED_TOG - General Purpose Register */
  18263. /*! @{ */
  18264. #define CCM_GPR_SHARED_TOG_GPR_MASK (0xFFFFFFFFU)
  18265. #define CCM_GPR_SHARED_TOG_GPR_SHIFT (0U)
  18266. /*! GPR - GP register
  18267. */
  18268. #define CCM_GPR_SHARED_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_TOG_GPR_SHIFT)) & CCM_GPR_SHARED_TOG_GPR_MASK)
  18269. /*! @} */
  18270. /* The count of CCM_GPR_SHARED_TOG */
  18271. #define CCM_GPR_SHARED_TOG_COUNT (8U)
  18272. /*! @name GPR_SHARED_AUTHEN - GPR access control */
  18273. /*! @{ */
  18274. #define CCM_GPR_SHARED_AUTHEN_TZ_USER_MASK (0x1U)
  18275. #define CCM_GPR_SHARED_AUTHEN_TZ_USER_SHIFT (0U)
  18276. /*! TZ_USER - User access
  18277. * 0b1..Clock can be changed in user mode.
  18278. * 0b0..Clock cannot be changed in user mode.
  18279. */
  18280. #define CCM_GPR_SHARED_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TZ_USER_MASK)
  18281. #define CCM_GPR_SHARED_AUTHEN_TZ_NS_MASK (0x2U)
  18282. #define CCM_GPR_SHARED_AUTHEN_TZ_NS_SHIFT (1U)
  18283. /*! TZ_NS - Non-secure access
  18284. * 0b0..Cannot be changed in Non-secure mode.
  18285. * 0b1..Can be changed in Non-secure mode.
  18286. */
  18287. #define CCM_GPR_SHARED_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TZ_NS_MASK)
  18288. #define CCM_GPR_SHARED_AUTHEN_LOCK_TZ_MASK (0x10U)
  18289. #define CCM_GPR_SHARED_AUTHEN_LOCK_TZ_SHIFT (4U)
  18290. /*! LOCK_TZ - Lock truszone setting
  18291. * 0b0..Trustzone setting is not locked.
  18292. * 0b1..Trustzone setting is locked.
  18293. */
  18294. #define CCM_GPR_SHARED_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED_AUTHEN_LOCK_TZ_MASK)
  18295. #define CCM_GPR_SHARED_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18296. #define CCM_GPR_SHARED_AUTHEN_WHITE_LIST_SHIFT (8U)
  18297. /*! WHITE_LIST - Whitelist
  18298. * 0b0000..This domain is NOT allowed to change clock.
  18299. * 0b0001..This domain is allowed to change clock.
  18300. */
  18301. #define CCM_GPR_SHARED_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_WHITE_LIST_MASK)
  18302. #define CCM_GPR_SHARED_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18303. #define CCM_GPR_SHARED_AUTHEN_LOCK_LIST_SHIFT (12U)
  18304. /*! LOCK_LIST - Lock Whitelist
  18305. * 0b0..Whitelist is not locked.
  18306. * 0b1..Whitelist is locked.
  18307. */
  18308. #define CCM_GPR_SHARED_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_LOCK_LIST_MASK)
  18309. #define CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18310. #define CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18311. /*! DOMAIN_MODE - Low power and access control by domain
  18312. * 0b1..Clock works in Domain Mode.
  18313. * 0b0..Clock does NOT work in Domain Mode.
  18314. */
  18315. #define CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_DOMAIN_MODE_MASK)
  18316. #define CCM_GPR_SHARED_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18317. #define CCM_GPR_SHARED_AUTHEN_LOCK_MODE_SHIFT (20U)
  18318. /*! LOCK_MODE - Lock low power and access mode
  18319. * 0b0..MODE is not locked.
  18320. * 0b1..MODE is locked.
  18321. */
  18322. #define CCM_GPR_SHARED_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_LOCK_MODE_MASK)
  18323. /*! @} */
  18324. /* The count of CCM_GPR_SHARED_AUTHEN */
  18325. #define CCM_GPR_SHARED_AUTHEN_COUNT (8U)
  18326. /*! @name GPR_SHARED_AUTHEN_SET - GPR access control */
  18327. /*! @{ */
  18328. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18329. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18330. /*! TZ_USER - User access
  18331. */
  18332. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_TZ_USER_MASK)
  18333. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18334. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18335. /*! TZ_NS - Non-secure access
  18336. */
  18337. #define CCM_GPR_SHARED_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_TZ_NS_MASK)
  18338. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18339. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18340. /*! LOCK_TZ - Lock truszone setting
  18341. */
  18342. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_LOCK_TZ_MASK)
  18343. #define CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18344. #define CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18345. /*! WHITE_LIST - Whitelist
  18346. */
  18347. #define CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_WHITE_LIST_MASK)
  18348. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18349. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18350. /*! LOCK_LIST - Lock Whitelist
  18351. */
  18352. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_LOCK_LIST_MASK)
  18353. #define CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18354. #define CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18355. /*! DOMAIN_MODE - Low power and access control by domain
  18356. */
  18357. #define CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_DOMAIN_MODE_MASK)
  18358. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18359. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18360. /*! LOCK_MODE - Lock low power and access mode
  18361. */
  18362. #define CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_SET_LOCK_MODE_MASK)
  18363. /*! @} */
  18364. /* The count of CCM_GPR_SHARED_AUTHEN_SET */
  18365. #define CCM_GPR_SHARED_AUTHEN_SET_COUNT (8U)
  18366. /*! @name GPR_SHARED_AUTHEN_CLR - GPR access control */
  18367. /*! @{ */
  18368. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18369. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18370. /*! TZ_USER - User access
  18371. */
  18372. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_TZ_USER_MASK)
  18373. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18374. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18375. /*! TZ_NS - Non-secure access
  18376. */
  18377. #define CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_TZ_NS_MASK)
  18378. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18379. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18380. /*! LOCK_TZ - Lock truszone setting
  18381. */
  18382. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_LOCK_TZ_MASK)
  18383. #define CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18384. #define CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18385. /*! WHITE_LIST - Whitelist
  18386. */
  18387. #define CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_WHITE_LIST_MASK)
  18388. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18389. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18390. /*! LOCK_LIST - Lock Whitelist
  18391. */
  18392. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_LOCK_LIST_MASK)
  18393. #define CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18394. #define CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18395. /*! DOMAIN_MODE - Low power and access control by domain
  18396. */
  18397. #define CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_DOMAIN_MODE_MASK)
  18398. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18399. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18400. /*! LOCK_MODE - Lock low power and access mode
  18401. */
  18402. #define CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_CLR_LOCK_MODE_MASK)
  18403. /*! @} */
  18404. /* The count of CCM_GPR_SHARED_AUTHEN_CLR */
  18405. #define CCM_GPR_SHARED_AUTHEN_CLR_COUNT (8U)
  18406. /*! @name GPR_SHARED_AUTHEN_TOG - GPR access control */
  18407. /*! @{ */
  18408. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18409. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18410. /*! TZ_USER - User access
  18411. */
  18412. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_TZ_USER_MASK)
  18413. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18414. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18415. /*! TZ_NS - Non-secure access
  18416. */
  18417. #define CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_TZ_NS_MASK)
  18418. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18419. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18420. /*! LOCK_TZ - Lock truszone setting
  18421. */
  18422. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_LOCK_TZ_MASK)
  18423. #define CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18424. #define CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18425. /*! WHITE_LIST - Whitelist
  18426. */
  18427. #define CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_WHITE_LIST_MASK)
  18428. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18429. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18430. /*! LOCK_LIST - Lock Whitelist
  18431. */
  18432. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_LOCK_LIST_MASK)
  18433. #define CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18434. #define CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18435. /*! DOMAIN_MODE - Low power and access control by domain
  18436. */
  18437. #define CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_DOMAIN_MODE_MASK)
  18438. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18439. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18440. /*! LOCK_MODE - Lock low power and access mode
  18441. */
  18442. #define CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_SHARED_AUTHEN_TOG_LOCK_MODE_MASK)
  18443. /*! @} */
  18444. /* The count of CCM_GPR_SHARED_AUTHEN_TOG */
  18445. #define CCM_GPR_SHARED_AUTHEN_TOG_COUNT (8U)
  18446. /*! @name GPR_PRIVATE1 - General Purpose Register */
  18447. /*! @{ */
  18448. #define CCM_GPR_PRIVATE1_GPR_MASK (0xFFFFFFFFU)
  18449. #define CCM_GPR_PRIVATE1_GPR_SHIFT (0U)
  18450. /*! GPR - GP register
  18451. */
  18452. #define CCM_GPR_PRIVATE1_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_GPR_SHIFT)) & CCM_GPR_PRIVATE1_GPR_MASK)
  18453. /*! @} */
  18454. /*! @name GPR_PRIVATE1_SET - General Purpose Register */
  18455. /*! @{ */
  18456. #define CCM_GPR_PRIVATE1_SET_GPR_MASK (0xFFFFFFFFU)
  18457. #define CCM_GPR_PRIVATE1_SET_GPR_SHIFT (0U)
  18458. /*! GPR - GP register
  18459. */
  18460. #define CCM_GPR_PRIVATE1_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE1_SET_GPR_MASK)
  18461. /*! @} */
  18462. /*! @name GPR_PRIVATE1_CLR - General Purpose Register */
  18463. /*! @{ */
  18464. #define CCM_GPR_PRIVATE1_CLR_GPR_MASK (0xFFFFFFFFU)
  18465. #define CCM_GPR_PRIVATE1_CLR_GPR_SHIFT (0U)
  18466. /*! GPR - GP register
  18467. */
  18468. #define CCM_GPR_PRIVATE1_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE1_CLR_GPR_MASK)
  18469. /*! @} */
  18470. /*! @name GPR_PRIVATE1_TOG - General Purpose Register */
  18471. /*! @{ */
  18472. #define CCM_GPR_PRIVATE1_TOG_GPR_MASK (0xFFFFFFFFU)
  18473. #define CCM_GPR_PRIVATE1_TOG_GPR_SHIFT (0U)
  18474. /*! GPR - GP register
  18475. */
  18476. #define CCM_GPR_PRIVATE1_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE1_TOG_GPR_MASK)
  18477. /*! @} */
  18478. /*! @name GPR_PRIVATE1_AUTHEN - GPR access control */
  18479. /*! @{ */
  18480. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_MASK (0x1U)
  18481. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_SHIFT (0U)
  18482. /*! TZ_USER - User access
  18483. * 0b1..Clock can be changed in user mode.
  18484. * 0b0..Clock cannot be changed in user mode.
  18485. */
  18486. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TZ_USER_MASK)
  18487. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_MASK (0x2U)
  18488. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_SHIFT (1U)
  18489. /*! TZ_NS - Non-secure access
  18490. * 0b0..Cannot be changed in Non-secure mode.
  18491. * 0b1..Can be changed in Non-secure mode.
  18492. */
  18493. #define CCM_GPR_PRIVATE1_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TZ_NS_MASK)
  18494. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_MASK (0x10U)
  18495. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_SHIFT (4U)
  18496. /*! LOCK_TZ - Lock truszone setting
  18497. * 0b0..Trustzone setting is not locked.
  18498. * 0b1..Trustzone setting is locked.
  18499. */
  18500. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_LOCK_TZ_MASK)
  18501. #define CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18502. #define CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_SHIFT (8U)
  18503. /*! WHITE_LIST - Whitelist
  18504. * 0b0000..This domain is NOT allowed to change clock.
  18505. * 0b0001..This domain is allowed to change clock.
  18506. */
  18507. #define CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_WHITE_LIST_MASK)
  18508. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18509. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_SHIFT (12U)
  18510. /*! LOCK_LIST - Lock Whitelist
  18511. * 0b0..Whitelist is not locked.
  18512. * 0b1..Whitelist is locked.
  18513. */
  18514. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_LOCK_LIST_MASK)
  18515. #define CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18516. #define CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18517. /*! DOMAIN_MODE - Low power and access control by Domain
  18518. * 0b1..Clock works in Domain Mode.
  18519. * 0b0..Clock does NOT work in Domain Mode.
  18520. */
  18521. #define CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_DOMAIN_MODE_MASK)
  18522. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18523. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_SHIFT (20U)
  18524. /*! LOCK_MODE - Lock low power and access mode
  18525. * 0b0..MODE is not locked.
  18526. * 0b1..MODE is locked.
  18527. */
  18528. #define CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_LOCK_MODE_MASK)
  18529. /*! @} */
  18530. /*! @name GPR_PRIVATE1_AUTHEN_SET - GPR access control */
  18531. /*! @{ */
  18532. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18533. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18534. /*! TZ_USER - User access
  18535. */
  18536. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_USER_MASK)
  18537. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18538. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18539. /*! TZ_NS - Non-secure access
  18540. */
  18541. #define CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_TZ_NS_MASK)
  18542. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18543. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18544. /*! LOCK_TZ - Lock truszone setting
  18545. */
  18546. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_TZ_MASK)
  18547. #define CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18548. #define CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18549. /*! WHITE_LIST - Whitelist
  18550. */
  18551. #define CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_WHITE_LIST_MASK)
  18552. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18553. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18554. /*! LOCK_LIST - Lock Whitelist
  18555. */
  18556. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_LIST_MASK)
  18557. #define CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18558. #define CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18559. /*! DOMAIN_MODE - Low power and access control by Domain
  18560. */
  18561. #define CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_DOMAIN_MODE_MASK)
  18562. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18563. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18564. /*! LOCK_MODE - Lock low power and access mode
  18565. */
  18566. #define CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_SET_LOCK_MODE_MASK)
  18567. /*! @} */
  18568. /*! @name GPR_PRIVATE1_AUTHEN_CLR - GPR access control */
  18569. /*! @{ */
  18570. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18571. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18572. /*! TZ_USER - User access
  18573. */
  18574. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_USER_MASK)
  18575. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18576. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18577. /*! TZ_NS - Non-secure access
  18578. */
  18579. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_TZ_NS_MASK)
  18580. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18581. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18582. /*! LOCK_TZ - Lock truszone setting
  18583. */
  18584. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_TZ_MASK)
  18585. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18586. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18587. /*! WHITE_LIST - Whitelist
  18588. */
  18589. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_WHITE_LIST_MASK)
  18590. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18591. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18592. /*! LOCK_LIST - Lock Whitelist
  18593. */
  18594. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_LIST_MASK)
  18595. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18596. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18597. /*! DOMAIN_MODE - Low power and access control by Domain
  18598. */
  18599. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_DOMAIN_MODE_MASK)
  18600. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18601. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18602. /*! LOCK_MODE - Lock low power and access mode
  18603. */
  18604. #define CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_CLR_LOCK_MODE_MASK)
  18605. /*! @} */
  18606. /*! @name GPR_PRIVATE1_AUTHEN_TOG - GPR access control */
  18607. /*! @{ */
  18608. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18609. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18610. /*! TZ_USER - User access
  18611. */
  18612. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_USER_MASK)
  18613. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18614. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18615. /*! TZ_NS - Non-secure access
  18616. */
  18617. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_TZ_NS_MASK)
  18618. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18619. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18620. /*! LOCK_TZ - Lock truszone setting
  18621. */
  18622. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_TZ_MASK)
  18623. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18624. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18625. /*! WHITE_LIST - Whitelist
  18626. */
  18627. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_WHITE_LIST_MASK)
  18628. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18629. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18630. /*! LOCK_LIST - Lock Whitelist
  18631. */
  18632. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_LIST_MASK)
  18633. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18634. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18635. /*! DOMAIN_MODE - Low power and access control by Domain
  18636. */
  18637. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_DOMAIN_MODE_MASK)
  18638. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18639. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18640. /*! LOCK_MODE - Lock low power and access mode
  18641. */
  18642. #define CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE1_AUTHEN_TOG_LOCK_MODE_MASK)
  18643. /*! @} */
  18644. /*! @name GPR_PRIVATE2 - General Purpose Register */
  18645. /*! @{ */
  18646. #define CCM_GPR_PRIVATE2_GPR_MASK (0xFFFFFFFFU)
  18647. #define CCM_GPR_PRIVATE2_GPR_SHIFT (0U)
  18648. /*! GPR - GP register
  18649. */
  18650. #define CCM_GPR_PRIVATE2_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_GPR_SHIFT)) & CCM_GPR_PRIVATE2_GPR_MASK)
  18651. /*! @} */
  18652. /*! @name GPR_PRIVATE2_SET - General Purpose Register */
  18653. /*! @{ */
  18654. #define CCM_GPR_PRIVATE2_SET_GPR_MASK (0xFFFFFFFFU)
  18655. #define CCM_GPR_PRIVATE2_SET_GPR_SHIFT (0U)
  18656. /*! GPR - GP register
  18657. */
  18658. #define CCM_GPR_PRIVATE2_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE2_SET_GPR_MASK)
  18659. /*! @} */
  18660. /*! @name GPR_PRIVATE2_CLR - General Purpose Register */
  18661. /*! @{ */
  18662. #define CCM_GPR_PRIVATE2_CLR_GPR_MASK (0xFFFFFFFFU)
  18663. #define CCM_GPR_PRIVATE2_CLR_GPR_SHIFT (0U)
  18664. /*! GPR - GP register
  18665. */
  18666. #define CCM_GPR_PRIVATE2_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE2_CLR_GPR_MASK)
  18667. /*! @} */
  18668. /*! @name GPR_PRIVATE2_TOG - General Purpose Register */
  18669. /*! @{ */
  18670. #define CCM_GPR_PRIVATE2_TOG_GPR_MASK (0xFFFFFFFFU)
  18671. #define CCM_GPR_PRIVATE2_TOG_GPR_SHIFT (0U)
  18672. /*! GPR - GP register
  18673. */
  18674. #define CCM_GPR_PRIVATE2_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE2_TOG_GPR_MASK)
  18675. /*! @} */
  18676. /*! @name GPR_PRIVATE2_AUTHEN - GPR access control */
  18677. /*! @{ */
  18678. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_MASK (0x1U)
  18679. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_SHIFT (0U)
  18680. /*! TZ_USER - User access
  18681. * 0b1..Clock can be changed in user mode.
  18682. * 0b0..Clock cannot be changed in user mode.
  18683. */
  18684. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TZ_USER_MASK)
  18685. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_MASK (0x2U)
  18686. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_SHIFT (1U)
  18687. /*! TZ_NS - Non-secure access
  18688. * 0b0..Cannot be changed in Non-secure mode.
  18689. * 0b1..Can be changed in Non-secure mode.
  18690. */
  18691. #define CCM_GPR_PRIVATE2_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TZ_NS_MASK)
  18692. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_MASK (0x10U)
  18693. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_SHIFT (4U)
  18694. /*! LOCK_TZ - Lock truszone setting
  18695. * 0b0..Trustzone setting is not locked.
  18696. * 0b1..Trustzone setting is locked.
  18697. */
  18698. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_LOCK_TZ_MASK)
  18699. #define CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18700. #define CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_SHIFT (8U)
  18701. /*! WHITE_LIST - Whitelist
  18702. * 0b0000..This domain is NOT allowed to change clock.
  18703. * 0b0001..This domain is allowed to change clock.
  18704. */
  18705. #define CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_WHITE_LIST_MASK)
  18706. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18707. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_SHIFT (12U)
  18708. /*! LOCK_LIST - Lock Whitelist
  18709. * 0b0..Whitelist is not locked.
  18710. * 0b1..Whitelist is locked.
  18711. */
  18712. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_LOCK_LIST_MASK)
  18713. #define CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18714. #define CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18715. /*! DOMAIN_MODE - Low power and access control by Domain
  18716. * 0b1..Clock works in Domain Mode.
  18717. * 0b0..Clock does NOT work in Domain Mode.
  18718. */
  18719. #define CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_DOMAIN_MODE_MASK)
  18720. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18721. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_SHIFT (20U)
  18722. /*! LOCK_MODE - Lock low power and access mode
  18723. * 0b0..MODE is not locked.
  18724. * 0b1..MODE is locked.
  18725. */
  18726. #define CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_LOCK_MODE_MASK)
  18727. /*! @} */
  18728. /*! @name GPR_PRIVATE2_AUTHEN_SET - GPR access control */
  18729. /*! @{ */
  18730. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18731. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18732. /*! TZ_USER - User access
  18733. */
  18734. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_USER_MASK)
  18735. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18736. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18737. /*! TZ_NS - Non-secure access
  18738. */
  18739. #define CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_TZ_NS_MASK)
  18740. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18741. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18742. /*! LOCK_TZ - Lock truszone setting
  18743. */
  18744. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_TZ_MASK)
  18745. #define CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18746. #define CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18747. /*! WHITE_LIST - Whitelist
  18748. */
  18749. #define CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_WHITE_LIST_MASK)
  18750. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18751. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18752. /*! LOCK_LIST - Lock Whitelist
  18753. */
  18754. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_LIST_MASK)
  18755. #define CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18756. #define CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18757. /*! DOMAIN_MODE - Low power and access control by Domain
  18758. */
  18759. #define CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_DOMAIN_MODE_MASK)
  18760. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18761. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18762. /*! LOCK_MODE - Lock low power and access mode
  18763. */
  18764. #define CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_SET_LOCK_MODE_MASK)
  18765. /*! @} */
  18766. /*! @name GPR_PRIVATE2_AUTHEN_CLR - GPR access control */
  18767. /*! @{ */
  18768. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18769. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18770. /*! TZ_USER - User access
  18771. */
  18772. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_USER_MASK)
  18773. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18774. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18775. /*! TZ_NS - Non-secure access
  18776. */
  18777. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_TZ_NS_MASK)
  18778. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18779. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18780. /*! LOCK_TZ - Lock truszone setting
  18781. */
  18782. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_TZ_MASK)
  18783. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18784. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18785. /*! WHITE_LIST - Whitelist
  18786. */
  18787. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_WHITE_LIST_MASK)
  18788. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18789. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18790. /*! LOCK_LIST - Lock Whitelist
  18791. */
  18792. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_LIST_MASK)
  18793. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18794. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18795. /*! DOMAIN_MODE - Low power and access control by Domain
  18796. */
  18797. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_DOMAIN_MODE_MASK)
  18798. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18799. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18800. /*! LOCK_MODE - Lock low power and access mode
  18801. */
  18802. #define CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_CLR_LOCK_MODE_MASK)
  18803. /*! @} */
  18804. /*! @name GPR_PRIVATE2_AUTHEN_TOG - GPR access control */
  18805. /*! @{ */
  18806. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  18807. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  18808. /*! TZ_USER - User access
  18809. */
  18810. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_USER_MASK)
  18811. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  18812. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  18813. /*! TZ_NS - Non-secure access
  18814. */
  18815. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_TZ_NS_MASK)
  18816. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  18817. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  18818. /*! LOCK_TZ - Lock truszone setting
  18819. */
  18820. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_TZ_MASK)
  18821. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  18822. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  18823. /*! WHITE_LIST - Whitelist
  18824. */
  18825. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_WHITE_LIST_MASK)
  18826. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  18827. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  18828. /*! LOCK_LIST - Lock Whitelist
  18829. */
  18830. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_LIST_MASK)
  18831. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  18832. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  18833. /*! DOMAIN_MODE - Low power and access control by Domain
  18834. */
  18835. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_DOMAIN_MODE_MASK)
  18836. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  18837. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  18838. /*! LOCK_MODE - Lock low power and access mode
  18839. */
  18840. #define CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE2_AUTHEN_TOG_LOCK_MODE_MASK)
  18841. /*! @} */
  18842. /*! @name GPR_PRIVATE3 - General Purpose Register */
  18843. /*! @{ */
  18844. #define CCM_GPR_PRIVATE3_GPR_MASK (0xFFFFFFFFU)
  18845. #define CCM_GPR_PRIVATE3_GPR_SHIFT (0U)
  18846. /*! GPR - GP register
  18847. */
  18848. #define CCM_GPR_PRIVATE3_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_GPR_SHIFT)) & CCM_GPR_PRIVATE3_GPR_MASK)
  18849. /*! @} */
  18850. /*! @name GPR_PRIVATE3_SET - General Purpose Register */
  18851. /*! @{ */
  18852. #define CCM_GPR_PRIVATE3_SET_GPR_MASK (0xFFFFFFFFU)
  18853. #define CCM_GPR_PRIVATE3_SET_GPR_SHIFT (0U)
  18854. /*! GPR - GP register
  18855. */
  18856. #define CCM_GPR_PRIVATE3_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE3_SET_GPR_MASK)
  18857. /*! @} */
  18858. /*! @name GPR_PRIVATE3_CLR - General Purpose Register */
  18859. /*! @{ */
  18860. #define CCM_GPR_PRIVATE3_CLR_GPR_MASK (0xFFFFFFFFU)
  18861. #define CCM_GPR_PRIVATE3_CLR_GPR_SHIFT (0U)
  18862. /*! GPR - GP register
  18863. */
  18864. #define CCM_GPR_PRIVATE3_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE3_CLR_GPR_MASK)
  18865. /*! @} */
  18866. /*! @name GPR_PRIVATE3_TOG - General Purpose Register */
  18867. /*! @{ */
  18868. #define CCM_GPR_PRIVATE3_TOG_GPR_MASK (0xFFFFFFFFU)
  18869. #define CCM_GPR_PRIVATE3_TOG_GPR_SHIFT (0U)
  18870. /*! GPR - GP register
  18871. */
  18872. #define CCM_GPR_PRIVATE3_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE3_TOG_GPR_MASK)
  18873. /*! @} */
  18874. /*! @name GPR_PRIVATE3_AUTHEN - GPR access control */
  18875. /*! @{ */
  18876. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_MASK (0x1U)
  18877. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_SHIFT (0U)
  18878. /*! TZ_USER - User access
  18879. * 0b1..Clock can be changed in user mode.
  18880. * 0b0..Clock cannot be changed in user mode.
  18881. */
  18882. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TZ_USER_MASK)
  18883. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_MASK (0x2U)
  18884. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_SHIFT (1U)
  18885. /*! TZ_NS - Non-secure access
  18886. * 0b0..Cannot be changed in Non-secure mode.
  18887. * 0b1..Can be changed in Non-secure mode.
  18888. */
  18889. #define CCM_GPR_PRIVATE3_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TZ_NS_MASK)
  18890. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_MASK (0x10U)
  18891. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_SHIFT (4U)
  18892. /*! LOCK_TZ - Lock truszone setting
  18893. * 0b0..Trustzone setting is not locked.
  18894. * 0b1..Trustzone setting is locked.
  18895. */
  18896. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_LOCK_TZ_MASK)
  18897. #define CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_MASK (0xF00U)
  18898. #define CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_SHIFT (8U)
  18899. /*! WHITE_LIST - Whitelist
  18900. * 0b0000..This domain is NOT allowed to change clock.
  18901. * 0b0001..This domain is allowed to change clock.
  18902. */
  18903. #define CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_WHITE_LIST_MASK)
  18904. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_MASK (0x1000U)
  18905. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_SHIFT (12U)
  18906. /*! LOCK_LIST - Lock Whitelist
  18907. * 0b0..Whitelist is not locked.
  18908. * 0b1..Whitelist is locked.
  18909. */
  18910. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_LOCK_LIST_MASK)
  18911. #define CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  18912. #define CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  18913. /*! DOMAIN_MODE - Low power and access control by Domain
  18914. * 0b1..Clock works in Domain Mode.
  18915. * 0b0..Clock does NOT work in Domain Mode.
  18916. */
  18917. #define CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_DOMAIN_MODE_MASK)
  18918. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_MASK (0x100000U)
  18919. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_SHIFT (20U)
  18920. /*! LOCK_MODE - Lock low power and access mode
  18921. * 0b0..MODE is not locked.
  18922. * 0b1..MODE is locked.
  18923. */
  18924. #define CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_LOCK_MODE_MASK)
  18925. /*! @} */
  18926. /*! @name GPR_PRIVATE3_AUTHEN_SET - GPR access control */
  18927. /*! @{ */
  18928. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_MASK (0x1U)
  18929. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_SHIFT (0U)
  18930. /*! TZ_USER - User access
  18931. */
  18932. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_USER_MASK)
  18933. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_MASK (0x2U)
  18934. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_SHIFT (1U)
  18935. /*! TZ_NS - Non-secure access
  18936. */
  18937. #define CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_TZ_NS_MASK)
  18938. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  18939. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  18940. /*! LOCK_TZ - Lock truszone setting
  18941. */
  18942. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_TZ_MASK)
  18943. #define CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  18944. #define CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  18945. /*! WHITE_LIST - Whitelist
  18946. */
  18947. #define CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_WHITE_LIST_MASK)
  18948. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  18949. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  18950. /*! LOCK_LIST - Lock Whitelist
  18951. */
  18952. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_LIST_MASK)
  18953. #define CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  18954. #define CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  18955. /*! DOMAIN_MODE - Low power and access control by Domain
  18956. */
  18957. #define CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_DOMAIN_MODE_MASK)
  18958. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  18959. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  18960. /*! LOCK_MODE - Lock low power and access mode
  18961. */
  18962. #define CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_SET_LOCK_MODE_MASK)
  18963. /*! @} */
  18964. /*! @name GPR_PRIVATE3_AUTHEN_CLR - GPR access control */
  18965. /*! @{ */
  18966. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  18967. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  18968. /*! TZ_USER - User access
  18969. */
  18970. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_USER_MASK)
  18971. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  18972. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  18973. /*! TZ_NS - Non-secure access
  18974. */
  18975. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_TZ_NS_MASK)
  18976. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  18977. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  18978. /*! LOCK_TZ - Lock truszone setting
  18979. */
  18980. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_TZ_MASK)
  18981. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  18982. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  18983. /*! WHITE_LIST - Whitelist
  18984. */
  18985. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_WHITE_LIST_MASK)
  18986. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  18987. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  18988. /*! LOCK_LIST - Lock Whitelist
  18989. */
  18990. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_LIST_MASK)
  18991. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  18992. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  18993. /*! DOMAIN_MODE - Low power and access control by Domain
  18994. */
  18995. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_DOMAIN_MODE_MASK)
  18996. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  18997. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  18998. /*! LOCK_MODE - Lock low power and access mode
  18999. */
  19000. #define CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_CLR_LOCK_MODE_MASK)
  19001. /*! @} */
  19002. /*! @name GPR_PRIVATE3_AUTHEN_TOG - GPR access control */
  19003. /*! @{ */
  19004. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19005. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19006. /*! TZ_USER - User access
  19007. */
  19008. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_USER_MASK)
  19009. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19010. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19011. /*! TZ_NS - Non-secure access
  19012. */
  19013. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_TZ_NS_MASK)
  19014. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19015. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19016. /*! LOCK_TZ - Lock truszone setting
  19017. */
  19018. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_TZ_MASK)
  19019. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19020. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19021. /*! WHITE_LIST - Whitelist
  19022. */
  19023. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_WHITE_LIST_MASK)
  19024. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19025. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19026. /*! LOCK_LIST - Lock Whitelist
  19027. */
  19028. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_LIST_MASK)
  19029. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19030. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19031. /*! DOMAIN_MODE - Low power and access control by Domain
  19032. */
  19033. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_DOMAIN_MODE_MASK)
  19034. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19035. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19036. /*! LOCK_MODE - Lock low power and access mode
  19037. */
  19038. #define CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE3_AUTHEN_TOG_LOCK_MODE_MASK)
  19039. /*! @} */
  19040. /*! @name GPR_PRIVATE4 - General Purpose Register */
  19041. /*! @{ */
  19042. #define CCM_GPR_PRIVATE4_GPR_MASK (0xFFFFFFFFU)
  19043. #define CCM_GPR_PRIVATE4_GPR_SHIFT (0U)
  19044. /*! GPR - GP register
  19045. */
  19046. #define CCM_GPR_PRIVATE4_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_GPR_SHIFT)) & CCM_GPR_PRIVATE4_GPR_MASK)
  19047. /*! @} */
  19048. /*! @name GPR_PRIVATE4_SET - General Purpose Register */
  19049. /*! @{ */
  19050. #define CCM_GPR_PRIVATE4_SET_GPR_MASK (0xFFFFFFFFU)
  19051. #define CCM_GPR_PRIVATE4_SET_GPR_SHIFT (0U)
  19052. /*! GPR - GP register
  19053. */
  19054. #define CCM_GPR_PRIVATE4_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE4_SET_GPR_MASK)
  19055. /*! @} */
  19056. /*! @name GPR_PRIVATE4_CLR - General Purpose Register */
  19057. /*! @{ */
  19058. #define CCM_GPR_PRIVATE4_CLR_GPR_MASK (0xFFFFFFFFU)
  19059. #define CCM_GPR_PRIVATE4_CLR_GPR_SHIFT (0U)
  19060. /*! GPR - GP register
  19061. */
  19062. #define CCM_GPR_PRIVATE4_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE4_CLR_GPR_MASK)
  19063. /*! @} */
  19064. /*! @name GPR_PRIVATE4_TOG - General Purpose Register */
  19065. /*! @{ */
  19066. #define CCM_GPR_PRIVATE4_TOG_GPR_MASK (0xFFFFFFFFU)
  19067. #define CCM_GPR_PRIVATE4_TOG_GPR_SHIFT (0U)
  19068. /*! GPR - GP register
  19069. */
  19070. #define CCM_GPR_PRIVATE4_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE4_TOG_GPR_MASK)
  19071. /*! @} */
  19072. /*! @name GPR_PRIVATE4_AUTHEN - GPR access control */
  19073. /*! @{ */
  19074. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_MASK (0x1U)
  19075. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_SHIFT (0U)
  19076. /*! TZ_USER - User access
  19077. * 0b1..Clock can be changed in user mode.
  19078. * 0b0..Clock cannot be changed in user mode.
  19079. */
  19080. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TZ_USER_MASK)
  19081. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_MASK (0x2U)
  19082. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_SHIFT (1U)
  19083. /*! TZ_NS - Non-secure access
  19084. * 0b0..Cannot be changed in Non-secure mode.
  19085. * 0b1..Can be changed in Non-secure mode.
  19086. */
  19087. #define CCM_GPR_PRIVATE4_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TZ_NS_MASK)
  19088. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_MASK (0x10U)
  19089. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_SHIFT (4U)
  19090. /*! LOCK_TZ - Lock truszone setting
  19091. * 0b0..Trustzone setting is not locked.
  19092. * 0b1..Trustzone setting is locked.
  19093. */
  19094. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_LOCK_TZ_MASK)
  19095. #define CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19096. #define CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_SHIFT (8U)
  19097. /*! WHITE_LIST - Whitelist
  19098. * 0b0000..This domain is NOT allowed to change clock.
  19099. * 0b0001..This domain is allowed to change clock.
  19100. */
  19101. #define CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_WHITE_LIST_MASK)
  19102. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19103. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_SHIFT (12U)
  19104. /*! LOCK_LIST - Lock Whitelist
  19105. * 0b0..Whitelist is not locked.
  19106. * 0b1..Whitelist is locked.
  19107. */
  19108. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_LOCK_LIST_MASK)
  19109. #define CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19110. #define CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19111. /*! DOMAIN_MODE - Low power and access control by Domain
  19112. * 0b1..Clock works in Domain Mode.
  19113. * 0b0..Clock does NOT work in Domain Mode.
  19114. */
  19115. #define CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_DOMAIN_MODE_MASK)
  19116. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19117. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_SHIFT (20U)
  19118. /*! LOCK_MODE - Lock low power and access mode
  19119. * 0b0..MODE is not locked.
  19120. * 0b1..MODE is locked.
  19121. */
  19122. #define CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_LOCK_MODE_MASK)
  19123. /*! @} */
  19124. /*! @name GPR_PRIVATE4_AUTHEN_SET - GPR access control */
  19125. /*! @{ */
  19126. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19127. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19128. /*! TZ_USER - User access
  19129. */
  19130. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_USER_MASK)
  19131. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19132. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19133. /*! TZ_NS - Non-secure access
  19134. */
  19135. #define CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_TZ_NS_MASK)
  19136. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19137. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19138. /*! LOCK_TZ - Lock truszone setting
  19139. */
  19140. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_TZ_MASK)
  19141. #define CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19142. #define CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19143. /*! WHITE_LIST - Whitelist
  19144. */
  19145. #define CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_WHITE_LIST_MASK)
  19146. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19147. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19148. /*! LOCK_LIST - Lock Whitelist
  19149. */
  19150. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_LIST_MASK)
  19151. #define CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19152. #define CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19153. /*! DOMAIN_MODE - Low power and access control by Domain
  19154. */
  19155. #define CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_DOMAIN_MODE_MASK)
  19156. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19157. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19158. /*! LOCK_MODE - Lock low power and access mode
  19159. */
  19160. #define CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_SET_LOCK_MODE_MASK)
  19161. /*! @} */
  19162. /*! @name GPR_PRIVATE4_AUTHEN_CLR - GPR access control */
  19163. /*! @{ */
  19164. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19165. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19166. /*! TZ_USER - User access
  19167. */
  19168. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_USER_MASK)
  19169. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19170. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19171. /*! TZ_NS - Non-secure access
  19172. */
  19173. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_TZ_NS_MASK)
  19174. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19175. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19176. /*! LOCK_TZ - Lock truszone setting
  19177. */
  19178. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_TZ_MASK)
  19179. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19180. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19181. /*! WHITE_LIST - Whitelist
  19182. */
  19183. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_WHITE_LIST_MASK)
  19184. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19185. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19186. /*! LOCK_LIST - Lock Whitelist
  19187. */
  19188. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_LIST_MASK)
  19189. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19190. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19191. /*! DOMAIN_MODE - Low power and access control by Domain
  19192. */
  19193. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_DOMAIN_MODE_MASK)
  19194. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19195. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19196. /*! LOCK_MODE - Lock low power and access mode
  19197. */
  19198. #define CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_CLR_LOCK_MODE_MASK)
  19199. /*! @} */
  19200. /*! @name GPR_PRIVATE4_AUTHEN_TOG - GPR access control */
  19201. /*! @{ */
  19202. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19203. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19204. /*! TZ_USER - User access
  19205. */
  19206. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_USER_MASK)
  19207. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19208. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19209. /*! TZ_NS - Non-secure access
  19210. */
  19211. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_TZ_NS_MASK)
  19212. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19213. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19214. /*! LOCK_TZ - Lock truszone setting
  19215. */
  19216. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_TZ_MASK)
  19217. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19218. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19219. /*! WHITE_LIST - Whitelist
  19220. */
  19221. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_WHITE_LIST_MASK)
  19222. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19223. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19224. /*! LOCK_LIST - Lock Whitelist
  19225. */
  19226. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_LIST_MASK)
  19227. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19228. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19229. /*! DOMAIN_MODE - Low power and access control by Domain
  19230. */
  19231. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_DOMAIN_MODE_MASK)
  19232. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19233. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19234. /*! LOCK_MODE - Lock low power and access mode
  19235. */
  19236. #define CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE4_AUTHEN_TOG_LOCK_MODE_MASK)
  19237. /*! @} */
  19238. /*! @name GPR_PRIVATE5 - General Purpose Register */
  19239. /*! @{ */
  19240. #define CCM_GPR_PRIVATE5_GPR_MASK (0xFFFFFFFFU)
  19241. #define CCM_GPR_PRIVATE5_GPR_SHIFT (0U)
  19242. /*! GPR - GP register
  19243. */
  19244. #define CCM_GPR_PRIVATE5_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_GPR_SHIFT)) & CCM_GPR_PRIVATE5_GPR_MASK)
  19245. /*! @} */
  19246. /*! @name GPR_PRIVATE5_SET - General Purpose Register */
  19247. /*! @{ */
  19248. #define CCM_GPR_PRIVATE5_SET_GPR_MASK (0xFFFFFFFFU)
  19249. #define CCM_GPR_PRIVATE5_SET_GPR_SHIFT (0U)
  19250. /*! GPR - GP register
  19251. */
  19252. #define CCM_GPR_PRIVATE5_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE5_SET_GPR_MASK)
  19253. /*! @} */
  19254. /*! @name GPR_PRIVATE5_CLR - General Purpose Register */
  19255. /*! @{ */
  19256. #define CCM_GPR_PRIVATE5_CLR_GPR_MASK (0xFFFFFFFFU)
  19257. #define CCM_GPR_PRIVATE5_CLR_GPR_SHIFT (0U)
  19258. /*! GPR - GP register
  19259. */
  19260. #define CCM_GPR_PRIVATE5_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE5_CLR_GPR_MASK)
  19261. /*! @} */
  19262. /*! @name GPR_PRIVATE5_TOG - General Purpose Register */
  19263. /*! @{ */
  19264. #define CCM_GPR_PRIVATE5_TOG_GPR_MASK (0xFFFFFFFFU)
  19265. #define CCM_GPR_PRIVATE5_TOG_GPR_SHIFT (0U)
  19266. /*! GPR - GP register
  19267. */
  19268. #define CCM_GPR_PRIVATE5_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE5_TOG_GPR_MASK)
  19269. /*! @} */
  19270. /*! @name GPR_PRIVATE5_AUTHEN - GPR access control */
  19271. /*! @{ */
  19272. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_MASK (0x1U)
  19273. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_SHIFT (0U)
  19274. /*! TZ_USER - User access
  19275. * 0b1..Clock can be changed in user mode.
  19276. * 0b0..Clock cannot be changed in user mode.
  19277. */
  19278. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TZ_USER_MASK)
  19279. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_MASK (0x2U)
  19280. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_SHIFT (1U)
  19281. /*! TZ_NS - Non-secure access
  19282. * 0b0..Cannot be changed in Non-secure mode.
  19283. * 0b1..Can be changed in Non-secure mode.
  19284. */
  19285. #define CCM_GPR_PRIVATE5_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TZ_NS_MASK)
  19286. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_MASK (0x10U)
  19287. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_SHIFT (4U)
  19288. /*! LOCK_TZ - Lock truszone setting
  19289. * 0b0..Trustzone setting is not locked.
  19290. * 0b1..Trustzone setting is locked.
  19291. */
  19292. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_LOCK_TZ_MASK)
  19293. #define CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19294. #define CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_SHIFT (8U)
  19295. /*! WHITE_LIST - Whitelist
  19296. * 0b0000..This domain is NOT allowed to change clock.
  19297. * 0b0001..This domain is allowed to change clock.
  19298. */
  19299. #define CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_WHITE_LIST_MASK)
  19300. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19301. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_SHIFT (12U)
  19302. /*! LOCK_LIST - Lock Whitelist
  19303. * 0b0..Whitelist is not locked.
  19304. * 0b1..Whitelist is locked.
  19305. */
  19306. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_LOCK_LIST_MASK)
  19307. #define CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19308. #define CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19309. /*! DOMAIN_MODE - Low power and access control by Domain
  19310. * 0b1..Clock works in Domain Mode.
  19311. * 0b0..Clock does NOT work in Domain Mode.
  19312. */
  19313. #define CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_DOMAIN_MODE_MASK)
  19314. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19315. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_SHIFT (20U)
  19316. /*! LOCK_MODE - Lock low power and access mode
  19317. * 0b0..MODE is not locked.
  19318. * 0b1..MODE is locked.
  19319. */
  19320. #define CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_LOCK_MODE_MASK)
  19321. /*! @} */
  19322. /*! @name GPR_PRIVATE5_AUTHEN_SET - GPR access control */
  19323. /*! @{ */
  19324. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19325. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19326. /*! TZ_USER - User access
  19327. */
  19328. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_USER_MASK)
  19329. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19330. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19331. /*! TZ_NS - Non-secure access
  19332. */
  19333. #define CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_TZ_NS_MASK)
  19334. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19335. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19336. /*! LOCK_TZ - Lock truszone setting
  19337. */
  19338. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_TZ_MASK)
  19339. #define CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19340. #define CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19341. /*! WHITE_LIST - Whitelist
  19342. */
  19343. #define CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_WHITE_LIST_MASK)
  19344. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19345. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19346. /*! LOCK_LIST - Lock Whitelist
  19347. */
  19348. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_LIST_MASK)
  19349. #define CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19350. #define CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19351. /*! DOMAIN_MODE - Low power and access control by Domain
  19352. */
  19353. #define CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_DOMAIN_MODE_MASK)
  19354. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19355. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19356. /*! LOCK_MODE - Lock low power and access mode
  19357. */
  19358. #define CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_SET_LOCK_MODE_MASK)
  19359. /*! @} */
  19360. /*! @name GPR_PRIVATE5_AUTHEN_CLR - GPR access control */
  19361. /*! @{ */
  19362. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19363. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19364. /*! TZ_USER - User access
  19365. */
  19366. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_USER_MASK)
  19367. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19368. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19369. /*! TZ_NS - Non-secure access
  19370. */
  19371. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_TZ_NS_MASK)
  19372. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19373. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19374. /*! LOCK_TZ - Lock truszone setting
  19375. */
  19376. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_TZ_MASK)
  19377. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19378. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19379. /*! WHITE_LIST - Whitelist
  19380. */
  19381. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_WHITE_LIST_MASK)
  19382. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19383. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19384. /*! LOCK_LIST - Lock Whitelist
  19385. */
  19386. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_LIST_MASK)
  19387. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19388. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19389. /*! DOMAIN_MODE - Low power and access control by Domain
  19390. */
  19391. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_DOMAIN_MODE_MASK)
  19392. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19393. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19394. /*! LOCK_MODE - Lock low power and access mode
  19395. */
  19396. #define CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_CLR_LOCK_MODE_MASK)
  19397. /*! @} */
  19398. /*! @name GPR_PRIVATE5_AUTHEN_TOG - GPR access control */
  19399. /*! @{ */
  19400. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19401. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19402. /*! TZ_USER - User access
  19403. */
  19404. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_USER_MASK)
  19405. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19406. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19407. /*! TZ_NS - Non-secure access
  19408. */
  19409. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_TZ_NS_MASK)
  19410. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19411. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19412. /*! LOCK_TZ - Lock truszone setting
  19413. */
  19414. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_TZ_MASK)
  19415. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19416. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19417. /*! WHITE_LIST - Whitelist
  19418. */
  19419. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_WHITE_LIST_MASK)
  19420. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19421. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19422. /*! LOCK_LIST - Lock Whitelist
  19423. */
  19424. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_LIST_MASK)
  19425. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19426. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19427. /*! DOMAIN_MODE - Low power and access control by Domain
  19428. */
  19429. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_DOMAIN_MODE_MASK)
  19430. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19431. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19432. /*! LOCK_MODE - Lock low power and access mode
  19433. */
  19434. #define CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE5_AUTHEN_TOG_LOCK_MODE_MASK)
  19435. /*! @} */
  19436. /*! @name GPR_PRIVATE6 - General Purpose Register */
  19437. /*! @{ */
  19438. #define CCM_GPR_PRIVATE6_GPR_MASK (0xFFFFFFFFU)
  19439. #define CCM_GPR_PRIVATE6_GPR_SHIFT (0U)
  19440. /*! GPR - GP register
  19441. */
  19442. #define CCM_GPR_PRIVATE6_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_GPR_SHIFT)) & CCM_GPR_PRIVATE6_GPR_MASK)
  19443. /*! @} */
  19444. /*! @name GPR_PRIVATE6_SET - General Purpose Register */
  19445. /*! @{ */
  19446. #define CCM_GPR_PRIVATE6_SET_GPR_MASK (0xFFFFFFFFU)
  19447. #define CCM_GPR_PRIVATE6_SET_GPR_SHIFT (0U)
  19448. /*! GPR - GP register
  19449. */
  19450. #define CCM_GPR_PRIVATE6_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE6_SET_GPR_MASK)
  19451. /*! @} */
  19452. /*! @name GPR_PRIVATE6_CLR - General Purpose Register */
  19453. /*! @{ */
  19454. #define CCM_GPR_PRIVATE6_CLR_GPR_MASK (0xFFFFFFFFU)
  19455. #define CCM_GPR_PRIVATE6_CLR_GPR_SHIFT (0U)
  19456. /*! GPR - GP register
  19457. */
  19458. #define CCM_GPR_PRIVATE6_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE6_CLR_GPR_MASK)
  19459. /*! @} */
  19460. /*! @name GPR_PRIVATE6_TOG - General Purpose Register */
  19461. /*! @{ */
  19462. #define CCM_GPR_PRIVATE6_TOG_GPR_MASK (0xFFFFFFFFU)
  19463. #define CCM_GPR_PRIVATE6_TOG_GPR_SHIFT (0U)
  19464. /*! GPR - GP register
  19465. */
  19466. #define CCM_GPR_PRIVATE6_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE6_TOG_GPR_MASK)
  19467. /*! @} */
  19468. /*! @name GPR_PRIVATE6_AUTHEN - GPR access control */
  19469. /*! @{ */
  19470. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_MASK (0x1U)
  19471. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_SHIFT (0U)
  19472. /*! TZ_USER - User access
  19473. * 0b1..Clock can be changed in user mode.
  19474. * 0b0..Clock cannot be changed in user mode.
  19475. */
  19476. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TZ_USER_MASK)
  19477. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_MASK (0x2U)
  19478. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_SHIFT (1U)
  19479. /*! TZ_NS - Non-secure access
  19480. * 0b0..Cannot be changed in Non-secure mode.
  19481. * 0b1..Can be changed in Non-secure mode.
  19482. */
  19483. #define CCM_GPR_PRIVATE6_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TZ_NS_MASK)
  19484. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_MASK (0x10U)
  19485. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_SHIFT (4U)
  19486. /*! LOCK_TZ - Lock truszone setting
  19487. * 0b0..Trustzone setting is not locked.
  19488. * 0b1..Trustzone setting is locked.
  19489. */
  19490. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_LOCK_TZ_MASK)
  19491. #define CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19492. #define CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_SHIFT (8U)
  19493. /*! WHITE_LIST - Whitelist
  19494. * 0b0000..This domain is NOT allowed to change clock.
  19495. * 0b0001..This domain is allowed to change clock.
  19496. */
  19497. #define CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_WHITE_LIST_MASK)
  19498. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19499. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_SHIFT (12U)
  19500. /*! LOCK_LIST - Lock Whitelist
  19501. * 0b0..Whitelist is not locked.
  19502. * 0b1..Whitelist is locked.
  19503. */
  19504. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_LOCK_LIST_MASK)
  19505. #define CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19506. #define CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19507. /*! DOMAIN_MODE - Low power and access control by Domain
  19508. * 0b1..Clock works in Domain Mode.
  19509. * 0b0..Clock does NOT work in Domain Mode.
  19510. */
  19511. #define CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_DOMAIN_MODE_MASK)
  19512. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19513. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_SHIFT (20U)
  19514. /*! LOCK_MODE - Lock low power and access mode
  19515. * 0b0..MODE is not locked.
  19516. * 0b1..MODE is locked.
  19517. */
  19518. #define CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_LOCK_MODE_MASK)
  19519. /*! @} */
  19520. /*! @name GPR_PRIVATE6_AUTHEN_SET - GPR access control */
  19521. /*! @{ */
  19522. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19523. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19524. /*! TZ_USER - User access
  19525. */
  19526. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_USER_MASK)
  19527. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19528. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19529. /*! TZ_NS - Non-secure access
  19530. */
  19531. #define CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_TZ_NS_MASK)
  19532. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19533. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19534. /*! LOCK_TZ - Lock truszone setting
  19535. */
  19536. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_TZ_MASK)
  19537. #define CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19538. #define CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19539. /*! WHITE_LIST - Whitelist
  19540. */
  19541. #define CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_WHITE_LIST_MASK)
  19542. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19543. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19544. /*! LOCK_LIST - Lock Whitelist
  19545. */
  19546. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_LIST_MASK)
  19547. #define CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19548. #define CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19549. /*! DOMAIN_MODE - Low power and access control by Domain
  19550. */
  19551. #define CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_DOMAIN_MODE_MASK)
  19552. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19553. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19554. /*! LOCK_MODE - Lock low power and access mode
  19555. */
  19556. #define CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_SET_LOCK_MODE_MASK)
  19557. /*! @} */
  19558. /*! @name GPR_PRIVATE6_AUTHEN_CLR - GPR access control */
  19559. /*! @{ */
  19560. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19561. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19562. /*! TZ_USER - User access
  19563. */
  19564. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_USER_MASK)
  19565. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19566. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19567. /*! TZ_NS - Non-secure access
  19568. */
  19569. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_TZ_NS_MASK)
  19570. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19571. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19572. /*! LOCK_TZ - Lock truszone setting
  19573. */
  19574. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_TZ_MASK)
  19575. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19576. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19577. /*! WHITE_LIST - Whitelist
  19578. */
  19579. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_WHITE_LIST_MASK)
  19580. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19581. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19582. /*! LOCK_LIST - Lock Whitelist
  19583. */
  19584. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_LIST_MASK)
  19585. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19586. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19587. /*! DOMAIN_MODE - Low power and access control by Domain
  19588. */
  19589. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_DOMAIN_MODE_MASK)
  19590. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19591. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19592. /*! LOCK_MODE - Lock low power and access mode
  19593. */
  19594. #define CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_CLR_LOCK_MODE_MASK)
  19595. /*! @} */
  19596. /*! @name GPR_PRIVATE6_AUTHEN_TOG - GPR access control */
  19597. /*! @{ */
  19598. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19599. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19600. /*! TZ_USER - User access
  19601. */
  19602. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_USER_MASK)
  19603. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19604. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19605. /*! TZ_NS - Non-secure access
  19606. */
  19607. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_TZ_NS_MASK)
  19608. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19609. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19610. /*! LOCK_TZ - Lock truszone setting
  19611. */
  19612. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_TZ_MASK)
  19613. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19614. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19615. /*! WHITE_LIST - Whitelist
  19616. */
  19617. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_WHITE_LIST_MASK)
  19618. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19619. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19620. /*! LOCK_LIST - Lock Whitelist
  19621. */
  19622. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_LIST_MASK)
  19623. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19624. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19625. /*! DOMAIN_MODE - Low power and access control by Domain
  19626. */
  19627. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_DOMAIN_MODE_MASK)
  19628. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19629. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19630. /*! LOCK_MODE - Lock low power and access mode
  19631. */
  19632. #define CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE6_AUTHEN_TOG_LOCK_MODE_MASK)
  19633. /*! @} */
  19634. /*! @name GPR_PRIVATE7 - General Purpose Register */
  19635. /*! @{ */
  19636. #define CCM_GPR_PRIVATE7_GPR_MASK (0xFFFFFFFFU)
  19637. #define CCM_GPR_PRIVATE7_GPR_SHIFT (0U)
  19638. /*! GPR - GP register
  19639. */
  19640. #define CCM_GPR_PRIVATE7_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_GPR_SHIFT)) & CCM_GPR_PRIVATE7_GPR_MASK)
  19641. /*! @} */
  19642. /*! @name GPR_PRIVATE7_SET - General Purpose Register */
  19643. /*! @{ */
  19644. #define CCM_GPR_PRIVATE7_SET_GPR_MASK (0xFFFFFFFFU)
  19645. #define CCM_GPR_PRIVATE7_SET_GPR_SHIFT (0U)
  19646. /*! GPR - GP register
  19647. */
  19648. #define CCM_GPR_PRIVATE7_SET_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_SET_GPR_SHIFT)) & CCM_GPR_PRIVATE7_SET_GPR_MASK)
  19649. /*! @} */
  19650. /*! @name GPR_PRIVATE7_CLR - General Purpose Register */
  19651. /*! @{ */
  19652. #define CCM_GPR_PRIVATE7_CLR_GPR_MASK (0xFFFFFFFFU)
  19653. #define CCM_GPR_PRIVATE7_CLR_GPR_SHIFT (0U)
  19654. /*! GPR - GP register
  19655. */
  19656. #define CCM_GPR_PRIVATE7_CLR_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_CLR_GPR_SHIFT)) & CCM_GPR_PRIVATE7_CLR_GPR_MASK)
  19657. /*! @} */
  19658. /*! @name GPR_PRIVATE7_TOG - General Purpose Register */
  19659. /*! @{ */
  19660. #define CCM_GPR_PRIVATE7_TOG_GPR_MASK (0xFFFFFFFFU)
  19661. #define CCM_GPR_PRIVATE7_TOG_GPR_SHIFT (0U)
  19662. /*! GPR - GP register
  19663. */
  19664. #define CCM_GPR_PRIVATE7_TOG_GPR(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_TOG_GPR_SHIFT)) & CCM_GPR_PRIVATE7_TOG_GPR_MASK)
  19665. /*! @} */
  19666. /*! @name GPR_PRIVATE7_AUTHEN - GPR access control */
  19667. /*! @{ */
  19668. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_MASK (0x1U)
  19669. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_SHIFT (0U)
  19670. /*! TZ_USER - User access
  19671. * 0b1..Clock can be changed in user mode.
  19672. * 0b0..Clock cannot be changed in user mode.
  19673. */
  19674. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TZ_USER_MASK)
  19675. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_MASK (0x2U)
  19676. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_SHIFT (1U)
  19677. /*! TZ_NS - Non-secure access
  19678. * 0b0..Cannot be changed in Non-secure mode.
  19679. * 0b1..Can be changed in Non-secure mode.
  19680. */
  19681. #define CCM_GPR_PRIVATE7_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TZ_NS_MASK)
  19682. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_MASK (0x10U)
  19683. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_SHIFT (4U)
  19684. /*! LOCK_TZ - Lock truszone setting
  19685. * 0b0..Trustzone setting is not locked.
  19686. * 0b1..Trustzone setting is locked.
  19687. */
  19688. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_LOCK_TZ_MASK)
  19689. #define CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_MASK (0xF00U)
  19690. #define CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_SHIFT (8U)
  19691. /*! WHITE_LIST - Whitelist
  19692. * 0b0000..This domain is NOT allowed to change clock.
  19693. * 0b0001..This domain is allowed to change clock.
  19694. */
  19695. #define CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_WHITE_LIST_MASK)
  19696. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_MASK (0x1000U)
  19697. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_SHIFT (12U)
  19698. /*! LOCK_LIST - Lock Whitelist
  19699. * 0b0..Whitelist is not locked.
  19700. * 0b1..Whitelist is locked.
  19701. */
  19702. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_LOCK_LIST_MASK)
  19703. #define CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  19704. #define CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  19705. /*! DOMAIN_MODE - Low power and access control by Domain
  19706. * 0b1..Clock works in Domain Mode.
  19707. * 0b0..Clock does NOT work in Domain Mode.
  19708. */
  19709. #define CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_DOMAIN_MODE_MASK)
  19710. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_MASK (0x100000U)
  19711. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_SHIFT (20U)
  19712. /*! LOCK_MODE - Lock low power and access mode
  19713. * 0b0..MODE is not locked.
  19714. * 0b1..MODE is locked.
  19715. */
  19716. #define CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_LOCK_MODE_MASK)
  19717. /*! @} */
  19718. /*! @name GPR_PRIVATE7_AUTHEN_SET - GPR access control */
  19719. /*! @{ */
  19720. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_MASK (0x1U)
  19721. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_SHIFT (0U)
  19722. /*! TZ_USER - User access
  19723. */
  19724. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_USER_MASK)
  19725. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_MASK (0x2U)
  19726. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_SHIFT (1U)
  19727. /*! TZ_NS - Non-secure access
  19728. */
  19729. #define CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_TZ_NS_MASK)
  19730. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  19731. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  19732. /*! LOCK_TZ - Lock truszone setting
  19733. */
  19734. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_TZ_MASK)
  19735. #define CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  19736. #define CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  19737. /*! WHITE_LIST - Whitelist
  19738. */
  19739. #define CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_WHITE_LIST_MASK)
  19740. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  19741. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  19742. /*! LOCK_LIST - Lock Whitelist
  19743. */
  19744. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_LIST_MASK)
  19745. #define CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  19746. #define CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  19747. /*! DOMAIN_MODE - Low power and access control by Domain
  19748. */
  19749. #define CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_DOMAIN_MODE_MASK)
  19750. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  19751. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  19752. /*! LOCK_MODE - Lock low power and access mode
  19753. */
  19754. #define CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_SET_LOCK_MODE_MASK)
  19755. /*! @} */
  19756. /*! @name GPR_PRIVATE7_AUTHEN_CLR - GPR access control */
  19757. /*! @{ */
  19758. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  19759. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  19760. /*! TZ_USER - User access
  19761. */
  19762. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_USER_MASK)
  19763. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  19764. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  19765. /*! TZ_NS - Non-secure access
  19766. */
  19767. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_TZ_NS_MASK)
  19768. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  19769. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  19770. /*! LOCK_TZ - Lock truszone setting
  19771. */
  19772. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_TZ_MASK)
  19773. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  19774. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  19775. /*! WHITE_LIST - Whitelist
  19776. */
  19777. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_WHITE_LIST_MASK)
  19778. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  19779. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  19780. /*! LOCK_LIST - Lock Whitelist
  19781. */
  19782. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_LIST_MASK)
  19783. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  19784. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  19785. /*! DOMAIN_MODE - Low power and access control by Domain
  19786. */
  19787. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_DOMAIN_MODE_MASK)
  19788. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  19789. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  19790. /*! LOCK_MODE - Lock low power and access mode
  19791. */
  19792. #define CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_CLR_LOCK_MODE_MASK)
  19793. /*! @} */
  19794. /*! @name GPR_PRIVATE7_AUTHEN_TOG - GPR access control */
  19795. /*! @{ */
  19796. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  19797. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  19798. /*! TZ_USER - User access
  19799. */
  19800. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_USER_MASK)
  19801. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  19802. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  19803. /*! TZ_NS - Non-secure access
  19804. */
  19805. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_TZ_NS_MASK)
  19806. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  19807. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  19808. /*! LOCK_TZ - Lock truszone setting
  19809. */
  19810. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_TZ_MASK)
  19811. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  19812. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  19813. /*! WHITE_LIST - Whitelist
  19814. */
  19815. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_WHITE_LIST_MASK)
  19816. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  19817. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  19818. /*! LOCK_LIST - Lock Whitelist
  19819. */
  19820. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_LIST_MASK)
  19821. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  19822. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  19823. /*! DOMAIN_MODE - Low power and access control by Domain
  19824. */
  19825. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_DOMAIN_MODE_MASK)
  19826. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  19827. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  19828. /*! LOCK_MODE - Lock low power and access mode
  19829. */
  19830. #define CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_GPR_PRIVATE7_AUTHEN_TOG_LOCK_MODE_MASK)
  19831. /*! @} */
  19832. /*! @name OSCPLL_DIRECT - Clock source direct control */
  19833. /*! @{ */
  19834. #define CCM_OSCPLL_DIRECT_ON_MASK (0x1U)
  19835. #define CCM_OSCPLL_DIRECT_ON_SHIFT (0U)
  19836. /*! ON - turn on clock source
  19837. * 0b0..OSCPLL is OFF
  19838. * 0b1..OSCPLL is ON
  19839. */
  19840. #define CCM_OSCPLL_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DIRECT_ON_SHIFT)) & CCM_OSCPLL_DIRECT_ON_MASK)
  19841. /*! @} */
  19842. /* The count of CCM_OSCPLL_DIRECT */
  19843. #define CCM_OSCPLL_DIRECT_COUNT (29U)
  19844. /*! @name OSCPLL_DOMAIN - Clock source domain control */
  19845. /*! @{ */
  19846. #define CCM_OSCPLL_DOMAIN_LEVEL_MASK (0x7U)
  19847. #define CCM_OSCPLL_DOMAIN_LEVEL_SHIFT (0U)
  19848. /*! LEVEL - Current dependence level
  19849. * 0b000..This clock source is not needed in any mode, and can be turned off
  19850. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19851. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19852. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19853. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19854. * 0b101, 0b110, 0b111..Reserved
  19855. */
  19856. #define CCM_OSCPLL_DOMAIN_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL_MASK)
  19857. #define CCM_OSCPLL_DOMAIN_LEVEL0_MASK (0x70000U)
  19858. #define CCM_OSCPLL_DOMAIN_LEVEL0_SHIFT (16U)
  19859. /*! LEVEL0 - Dependence level
  19860. * 0b000..This clock source is not needed in any mode, and can be turned off
  19861. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19862. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19863. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19864. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19865. * 0b101, 0b110, 0b111..Reserved
  19866. */
  19867. #define CCM_OSCPLL_DOMAIN_LEVEL0(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL0_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL0_MASK)
  19868. #define CCM_OSCPLL_DOMAIN_LEVEL1_MASK (0x700000U)
  19869. #define CCM_OSCPLL_DOMAIN_LEVEL1_SHIFT (20U)
  19870. /*! LEVEL1 - Depend level
  19871. * 0b000..This clock source is not needed in any mode, and can be turned off
  19872. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19873. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19874. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19875. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19876. * 0b101, 0b110, 0b111..Reserved
  19877. */
  19878. #define CCM_OSCPLL_DOMAIN_LEVEL1(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL1_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL1_MASK)
  19879. #define CCM_OSCPLL_DOMAIN_LEVEL2_MASK (0x7000000U)
  19880. #define CCM_OSCPLL_DOMAIN_LEVEL2_SHIFT (24U)
  19881. /*! LEVEL2 - Depend level
  19882. * 0b000..This clock source is not needed in any mode, and can be turned off
  19883. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19884. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19885. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19886. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19887. * 0b101, 0b110, 0b111..Reserved
  19888. */
  19889. #define CCM_OSCPLL_DOMAIN_LEVEL2(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL2_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL2_MASK)
  19890. #define CCM_OSCPLL_DOMAIN_LEVEL3_MASK (0x70000000U)
  19891. #define CCM_OSCPLL_DOMAIN_LEVEL3_SHIFT (28U)
  19892. /*! LEVEL3 - Depend level
  19893. * 0b000..This clock source is not needed in any mode, and can be turned off
  19894. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  19895. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  19896. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  19897. * 0b100..This clock source is always on in any mode (including SUSPEND)
  19898. * 0b101, 0b110, 0b111..Reserved
  19899. */
  19900. #define CCM_OSCPLL_DOMAIN_LEVEL3(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_DOMAIN_LEVEL3_SHIFT)) & CCM_OSCPLL_DOMAIN_LEVEL3_MASK)
  19901. /*! @} */
  19902. /* The count of CCM_OSCPLL_DOMAIN */
  19903. #define CCM_OSCPLL_DOMAIN_COUNT (29U)
  19904. /*! @name OSCPLL_SETPOINT - Clock source Setpoint setting */
  19905. /*! @{ */
  19906. #define CCM_OSCPLL_SETPOINT_SETPOINT_MASK (0xFFFFU)
  19907. #define CCM_OSCPLL_SETPOINT_SETPOINT_SHIFT (0U)
  19908. /*! SETPOINT - Setpoint
  19909. */
  19910. #define CCM_OSCPLL_SETPOINT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_SETPOINT_SETPOINT_SHIFT)) & CCM_OSCPLL_SETPOINT_SETPOINT_MASK)
  19911. #define CCM_OSCPLL_SETPOINT_STANDBY_MASK (0xFFFF0000U)
  19912. #define CCM_OSCPLL_SETPOINT_STANDBY_SHIFT (16U)
  19913. /*! STANDBY - Standby
  19914. */
  19915. #define CCM_OSCPLL_SETPOINT_STANDBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_SETPOINT_STANDBY_SHIFT)) & CCM_OSCPLL_SETPOINT_STANDBY_MASK)
  19916. /*! @} */
  19917. /* The count of CCM_OSCPLL_SETPOINT */
  19918. #define CCM_OSCPLL_SETPOINT_COUNT (29U)
  19919. /*! @name OSCPLL_STATUS0 - Clock source working status */
  19920. /*! @{ */
  19921. #define CCM_OSCPLL_STATUS0_ON_MASK (0x1U)
  19922. #define CCM_OSCPLL_STATUS0_ON_SHIFT (0U)
  19923. /*! ON - Clock source current state
  19924. * 0b0..Clock source is OFF
  19925. * 0b1..Clock source is ON
  19926. */
  19927. #define CCM_OSCPLL_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_ON_SHIFT)) & CCM_OSCPLL_STATUS0_ON_MASK)
  19928. #define CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK (0x10U)
  19929. #define CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT (4U)
  19930. /*! STATUS_EARLY - Clock source active
  19931. * 0b1..Clock source is active
  19932. * 0b0..Clock source is not active
  19933. */
  19934. #define CCM_OSCPLL_STATUS0_STATUS_EARLY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_EARLY_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_EARLY_MASK)
  19935. #define CCM_OSCPLL_STATUS0_STATUS_LATE_MASK (0x20U)
  19936. #define CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT (5U)
  19937. /*! STATUS_LATE - Clock source ready
  19938. * 0b1..Clock source is ready to use
  19939. * 0b0..Clock source is not ready to use
  19940. */
  19941. #define CCM_OSCPLL_STATUS0_STATUS_LATE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_STATUS_LATE_SHIFT)) & CCM_OSCPLL_STATUS0_STATUS_LATE_MASK)
  19942. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_MASK (0xF00U)
  19943. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_SHIFT (8U)
  19944. /*! ACTIVE_DOMAIN - Domains that own this clock source
  19945. * 0b0000..Clock not owned by any domain
  19946. * 0b0001..Clock owned by Domain0
  19947. * 0b0010..Clock owned by Domain1
  19948. * 0b0011..Clock owned by Domain0 and Domain1
  19949. * 0b0100..Clock owned by Domain2
  19950. * 0b0101..Clock owned by Domain0 and Domain2
  19951. * 0b0110..Clock owned by Domain1 and Domain2
  19952. * 0b0111..Clock owned by Domain0, Domain1 and Domain 2
  19953. * 0b1000..Clock owned by Domain3
  19954. * 0b1001..Clock owned by Domain0 and Domain3
  19955. * 0b1010..Clock owned by Domain1 and Domain3
  19956. * 0b1011..Clock owned by Domain2 and Domain3
  19957. * 0b1100..Clock owned by Domain0, Domain 1, and Domain3
  19958. * 0b1101..Clock owned by Domain0, Domain 2, and Domain3
  19959. * 0b1110..Clock owned by Domain1, Domain 2, and Domain3
  19960. * 0b1111..Clock owned by all domains
  19961. */
  19962. #define CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_SHIFT)) & CCM_OSCPLL_STATUS0_ACTIVE_DOMAIN_MASK)
  19963. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_MASK (0xF000U)
  19964. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_SHIFT (12U)
  19965. /*! DOMAIN_ENABLE - Enable status from each domain
  19966. * 0b0000..No domain request
  19967. * 0b0001..Request from Domain0
  19968. * 0b0010..Request from Domain1
  19969. * 0b0011..Request from Domain0 and Domain1
  19970. * 0b0100..Request from Domain2
  19971. * 0b0101..Request from Domain0 and Domain2
  19972. * 0b0110..Request from Domain1 and Domain2
  19973. * 0b0111..Request from Domain0, Domain1 and Domain 2
  19974. * 0b1000..Request from Domain3
  19975. * 0b1001..Request from Domain0 and Domain3
  19976. * 0b1010..Request from Domain1 and Domain3
  19977. * 0b1011..Request from Domain2 and Domain3
  19978. * 0b1100..Request from Domain0, Domain 1, and Domain3
  19979. * 0b1101..Request from Domain0, Domain 2, and Domain3
  19980. * 0b1110..Request from Domain1, Domain 2, and Domain3
  19981. * 0b1111..Request from all domains
  19982. */
  19983. #define CCM_OSCPLL_STATUS0_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_SHIFT)) & CCM_OSCPLL_STATUS0_DOMAIN_ENABLE_MASK)
  19984. #define CCM_OSCPLL_STATUS0_IN_USE_MASK (0x10000000U)
  19985. #define CCM_OSCPLL_STATUS0_IN_USE_SHIFT (28U)
  19986. /*! IN_USE - In use
  19987. * 0b1..Clock source is being used by clock roots
  19988. * 0b0..Clock source is not being used by clock roots
  19989. */
  19990. #define CCM_OSCPLL_STATUS0_IN_USE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS0_IN_USE_SHIFT)) & CCM_OSCPLL_STATUS0_IN_USE_MASK)
  19991. /*! @} */
  19992. /* The count of CCM_OSCPLL_STATUS0 */
  19993. #define CCM_OSCPLL_STATUS0_COUNT (29U)
  19994. /*! @name OSCPLL_STATUS1 - Clock source low power status */
  19995. /*! @{ */
  19996. #define CCM_OSCPLL_STATUS1_CPU0_MODE_MASK (0x3U)
  19997. #define CCM_OSCPLL_STATUS1_CPU0_MODE_SHIFT (0U)
  19998. /*! CPU0_MODE - Domain0 Low Power Mode
  19999. * 0b00..Run
  20000. * 0b01..Wait
  20001. * 0b10..Stop
  20002. * 0b11..Suspend
  20003. */
  20004. #define CCM_OSCPLL_STATUS1_CPU0_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU0_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU0_MODE_MASK)
  20005. #define CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_MASK (0x4U)
  20006. #define CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_SHIFT (2U)
  20007. /*! CPU0_MODE_REQUEST - Domain0 request enter Low Power Mode
  20008. * 0b1..Request from domain to enter Low Power Mode
  20009. * 0b0..No request
  20010. */
  20011. #define CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_CPU0_MODE_REQUEST_MASK)
  20012. #define CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_MASK (0x8U)
  20013. #define CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_SHIFT (3U)
  20014. /*! CPU0_MODE_DONE - Domain0 Low Power Mode task done
  20015. * 0b1..Clock is gated-off
  20016. * 0b0..Clock is not gated
  20017. */
  20018. #define CCM_OSCPLL_STATUS1_CPU0_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU0_MODE_DONE_MASK)
  20019. #define CCM_OSCPLL_STATUS1_CPU1_MODE_MASK (0x30U)
  20020. #define CCM_OSCPLL_STATUS1_CPU1_MODE_SHIFT (4U)
  20021. /*! CPU1_MODE - Domain1 Low Power Mode
  20022. * 0b00..Run
  20023. * 0b01..Wait
  20024. * 0b10..Stop
  20025. * 0b11..Suspend
  20026. */
  20027. #define CCM_OSCPLL_STATUS1_CPU1_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU1_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU1_MODE_MASK)
  20028. #define CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_MASK (0x40U)
  20029. #define CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_SHIFT (6U)
  20030. /*! CPU1_MODE_REQUEST - Domain1 request enter Low Power Mode
  20031. * 0b1..Request from domain to enter Low Power Mode
  20032. * 0b0..No request
  20033. */
  20034. #define CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_CPU1_MODE_REQUEST_MASK)
  20035. #define CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_MASK (0x80U)
  20036. #define CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_SHIFT (7U)
  20037. /*! CPU1_MODE_DONE - Domain1 Low Power Mode task done
  20038. * 0b1..Clock is gated-off
  20039. * 0b0..Clock is not gated
  20040. */
  20041. #define CCM_OSCPLL_STATUS1_CPU1_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU1_MODE_DONE_MASK)
  20042. #define CCM_OSCPLL_STATUS1_CPU2_MODE_MASK (0x300U)
  20043. #define CCM_OSCPLL_STATUS1_CPU2_MODE_SHIFT (8U)
  20044. /*! CPU2_MODE - Domain2 Low Power Mode
  20045. * 0b00..Run
  20046. * 0b01..Wait
  20047. * 0b10..Stop
  20048. * 0b11..Suspend
  20049. */
  20050. #define CCM_OSCPLL_STATUS1_CPU2_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU2_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU2_MODE_MASK)
  20051. #define CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_MASK (0x400U)
  20052. #define CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_SHIFT (10U)
  20053. /*! CPU2_MODE_REQUEST - Domain2 request enter Low Power Mode
  20054. * 0b1..Request from domain to enter Low Power Mode
  20055. * 0b0..No request
  20056. */
  20057. #define CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_CPU2_MODE_REQUEST_MASK)
  20058. #define CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_MASK (0x800U)
  20059. #define CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_SHIFT (11U)
  20060. /*! CPU2_MODE_DONE - Domain2 Low Power Mode task done
  20061. * 0b1..Clock is gated-off
  20062. * 0b0..Clock is not gated
  20063. */
  20064. #define CCM_OSCPLL_STATUS1_CPU2_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU2_MODE_DONE_MASK)
  20065. #define CCM_OSCPLL_STATUS1_CPU3_MODE_MASK (0x3000U)
  20066. #define CCM_OSCPLL_STATUS1_CPU3_MODE_SHIFT (12U)
  20067. /*! CPU3_MODE - Domain3 Low Power Mode
  20068. * 0b00..Run
  20069. * 0b01..Wait
  20070. * 0b10..Stop
  20071. * 0b11..Suspend
  20072. */
  20073. #define CCM_OSCPLL_STATUS1_CPU3_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU3_MODE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU3_MODE_MASK)
  20074. #define CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_MASK (0x4000U)
  20075. #define CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_SHIFT (14U)
  20076. /*! CPU3_MODE_REQUEST - Domain3 request enter Low Power Mode
  20077. * 0b1..Request from domain to enter Low Power Mode
  20078. * 0b0..No request
  20079. */
  20080. #define CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_CPU3_MODE_REQUEST_MASK)
  20081. #define CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_MASK (0x8000U)
  20082. #define CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_SHIFT (15U)
  20083. /*! CPU3_MODE_DONE - Domain3 Low Power Mode task done
  20084. * 0b1..Clock is gated-off
  20085. * 0b0..Clock is not gated
  20086. */
  20087. #define CCM_OSCPLL_STATUS1_CPU3_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_CPU3_MODE_DONE_MASK)
  20088. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  20089. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  20090. /*! TARGET_SETPOINT - Next Setpoint to change to
  20091. */
  20092. #define CCM_OSCPLL_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_OSCPLL_STATUS1_TARGET_SETPOINT_MASK)
  20093. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  20094. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  20095. /*! CURRENT_SETPOINT - Current Setpoint
  20096. */
  20097. #define CCM_OSCPLL_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_OSCPLL_STATUS1_CURRENT_SETPOINT_MASK)
  20098. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_MASK (0x1000000U)
  20099. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_SHIFT (24U)
  20100. /*! SETPOINT_OFF_REQUEST - Clock gate turn off request from GPC Setpoint
  20101. * 0b1..Clock gate requested to be turned off
  20102. * 0b0..No request
  20103. */
  20104. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_SETPOINT_OFF_REQUEST_MASK)
  20105. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_MASK (0x2000000U)
  20106. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_SHIFT (25U)
  20107. /*! SETPOINT_OFF_DONE - Clock source turn off finish from GPC Setpoint
  20108. * 0b1..Clock source is turned off
  20109. * 0b0..Clock source is not turned off
  20110. */
  20111. #define CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_SETPOINT_OFF_DONE_MASK)
  20112. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_MASK (0x4000000U)
  20113. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_SHIFT (26U)
  20114. /*! SETPOINT_ON_REQUEST - Clock gate turn on request from GPC Setpoint
  20115. * 0b1..Clock gate requested to be turned on
  20116. * 0b0..No request
  20117. */
  20118. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_SETPOINT_ON_REQUEST_MASK)
  20119. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_MASK (0x8000000U)
  20120. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_SHIFT (27U)
  20121. /*! SETPOINT_ON_DONE - Clock gate turn on finish from GPC Setpoint
  20122. * 0b1..Request to turn on clock gate
  20123. * 0b0..No request
  20124. */
  20125. #define CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_SETPOINT_ON_DONE_MASK)
  20126. #define CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_MASK (0x10000000U)
  20127. #define CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_SHIFT (28U)
  20128. /*! STANDBY_IN_REQUEST - Clock gate turn off request from GPC standby
  20129. * 0b1..Clock gate requested to be turned off
  20130. * 0b0..No request
  20131. */
  20132. #define CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_STANDBY_IN_REQUEST_MASK)
  20133. #define CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_MASK (0x20000000U)
  20134. #define CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_SHIFT (29U)
  20135. /*! STANDBY_IN_DONE - Clock source turn off finish from GPC standby
  20136. * 0b1..Clock source is turned off
  20137. * 0b0..Clock source is not turned off
  20138. */
  20139. #define CCM_OSCPLL_STATUS1_STANDBY_IN_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_STANDBY_IN_DONE_MASK)
  20140. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_MASK (0x40000000U)
  20141. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_SHIFT (30U)
  20142. /*! STANDBY_OUT_DONE - Clock gate turn on finish from GPC standby
  20143. * 0b1..Request to turn on Clock gate is complete
  20144. * 0b0..Request to turn on Clock gate is not complete
  20145. */
  20146. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_SHIFT)) & CCM_OSCPLL_STATUS1_STANDBY_OUT_DONE_MASK)
  20147. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_MASK (0x80000000U)
  20148. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_SHIFT (31U)
  20149. /*! STANDBY_OUT_REQUEST - Clock gate turn on request from GPC standby
  20150. * 0b1..Clock gate requested to be turned on
  20151. * 0b0..No request
  20152. */
  20153. #define CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_SHIFT)) & CCM_OSCPLL_STATUS1_STANDBY_OUT_REQUEST_MASK)
  20154. /*! @} */
  20155. /* The count of CCM_OSCPLL_STATUS1 */
  20156. #define CCM_OSCPLL_STATUS1_COUNT (29U)
  20157. /*! @name OSCPLL_CONFIG - Clock source configuration */
  20158. /*! @{ */
  20159. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_MASK (0x2U)
  20160. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_SHIFT (1U)
  20161. /*! AUTOMODE_PRESENT - Automode Present
  20162. * 0b1..Present
  20163. * 0b0..Not present
  20164. */
  20165. #define CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_SHIFT)) & CCM_OSCPLL_CONFIG_AUTOMODE_PRESENT_MASK)
  20166. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  20167. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  20168. /*! SETPOINT_PRESENT - Setpoint present
  20169. * 0b1..Setpoint is implemented.
  20170. * 0b0..Setpoint is not implemented.
  20171. */
  20172. #define CCM_OSCPLL_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_OSCPLL_CONFIG_SETPOINT_PRESENT_MASK)
  20173. /*! @} */
  20174. /* The count of CCM_OSCPLL_CONFIG */
  20175. #define CCM_OSCPLL_CONFIG_COUNT (29U)
  20176. /*! @name OSCPLL_AUTHEN - Clock source access control */
  20177. /*! @{ */
  20178. #define CCM_OSCPLL_AUTHEN_TZ_USER_MASK (0x1U)
  20179. #define CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT (0U)
  20180. /*! TZ_USER - User access
  20181. * 0b1..Clock can be changed in user mode.
  20182. * 0b0..Clock cannot be changed in user mode.
  20183. */
  20184. #define CCM_OSCPLL_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_USER_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_USER_MASK)
  20185. #define CCM_OSCPLL_AUTHEN_TZ_NS_MASK (0x2U)
  20186. #define CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT (1U)
  20187. /*! TZ_NS - Non-secure access
  20188. * 0b0..Cannot be changed in Non-secure mode.
  20189. * 0b1..Can be changed in Non-secure mode.
  20190. */
  20191. #define CCM_OSCPLL_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_TZ_NS_SHIFT)) & CCM_OSCPLL_AUTHEN_TZ_NS_MASK)
  20192. #define CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK (0x10U)
  20193. #define CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT (4U)
  20194. /*! LOCK_TZ - lock truszone setting
  20195. * 0b0..Trustzone setting is not locked.
  20196. * 0b1..Trustzone setting is locked.
  20197. */
  20198. #define CCM_OSCPLL_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_TZ_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_TZ_MASK)
  20199. #define CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20200. #define CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT (8U)
  20201. /*! WHITE_LIST - Whitelist
  20202. */
  20203. #define CCM_OSCPLL_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_WHITE_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_WHITE_LIST_MASK)
  20204. #define CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20205. #define CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT (12U)
  20206. /*! LOCK_LIST - Lock Whitelist
  20207. * 0b0..Whitelist is not locked.
  20208. * 0b1..Whitelist is locked.
  20209. */
  20210. #define CCM_OSCPLL_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_LIST_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_LIST_MASK)
  20211. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20212. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20213. /*! DOMAIN_MODE - Low power and access control by domain
  20214. * 0b1..Clock works in Domain Mode.
  20215. * 0b0..Clock does not work in Domain Mode.
  20216. */
  20217. #define CCM_OSCPLL_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_DOMAIN_MODE_MASK)
  20218. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  20219. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  20220. /*! SETPOINT_MODE - LPCG works in Setpoint controlled Mode.
  20221. */
  20222. #define CCM_OSCPLL_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_SETPOINT_MODE_MASK)
  20223. #define CCM_OSCPLL_AUTHEN_CPULPM_MASK (0x40000U)
  20224. #define CCM_OSCPLL_AUTHEN_CPULPM_SHIFT (18U)
  20225. /*! CPULPM - CPU Low Power Mode
  20226. * 0b1..PLL functions in Low Power Mode
  20227. * 0b0..PLL does not function in Low power Mode
  20228. */
  20229. #define CCM_OSCPLL_AUTHEN_CPULPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_CPULPM_SHIFT)) & CCM_OSCPLL_AUTHEN_CPULPM_MASK)
  20230. #define CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20231. #define CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT (20U)
  20232. /*! LOCK_MODE - Lock low power and access mode
  20233. * 0b0..MODE is not locked.
  20234. * 0b1..MODE is locked.
  20235. */
  20236. #define CCM_OSCPLL_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OSCPLL_AUTHEN_LOCK_MODE_SHIFT)) & CCM_OSCPLL_AUTHEN_LOCK_MODE_MASK)
  20237. /*! @} */
  20238. /* The count of CCM_OSCPLL_AUTHEN */
  20239. #define CCM_OSCPLL_AUTHEN_COUNT (29U)
  20240. /*! @name LPCG_DIRECT - LPCG direct control */
  20241. /*! @{ */
  20242. #define CCM_LPCG_DIRECT_ON_MASK (0x1U)
  20243. #define CCM_LPCG_DIRECT_ON_SHIFT (0U)
  20244. /*! ON - LPCG on
  20245. * 0b0..LPCG is OFF.
  20246. * 0b1..LPCG is ON.
  20247. */
  20248. #define CCM_LPCG_DIRECT_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DIRECT_ON_SHIFT)) & CCM_LPCG_DIRECT_ON_MASK)
  20249. /*! @} */
  20250. /* The count of CCM_LPCG_DIRECT */
  20251. #define CCM_LPCG_DIRECT_COUNT (138U)
  20252. /*! @name LPCG_DOMAIN - LPCG domain control */
  20253. /*! @{ */
  20254. #define CCM_LPCG_DOMAIN_LEVEL_MASK (0x7U)
  20255. #define CCM_LPCG_DOMAIN_LEVEL_SHIFT (0U)
  20256. /*! LEVEL - Current dependence level
  20257. * 0b000..This clock source is not needed in any mode, and can be turned off
  20258. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20259. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20260. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20261. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20262. * 0b101, 0b110, 0b111..Reserved
  20263. */
  20264. #define CCM_LPCG_DOMAIN_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL_MASK)
  20265. #define CCM_LPCG_DOMAIN_LEVEL0_MASK (0x70000U)
  20266. #define CCM_LPCG_DOMAIN_LEVEL0_SHIFT (16U)
  20267. /*! LEVEL0 - Depend level
  20268. * 0b000..This clock source is not needed in any mode, and can be turned off
  20269. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20270. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20271. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20272. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20273. * 0b101, 0b110, 0b111..Reserved
  20274. */
  20275. #define CCM_LPCG_DOMAIN_LEVEL0(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL0_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL0_MASK)
  20276. #define CCM_LPCG_DOMAIN_LEVEL1_MASK (0x700000U)
  20277. #define CCM_LPCG_DOMAIN_LEVEL1_SHIFT (20U)
  20278. /*! LEVEL1 - Depend level
  20279. * 0b000..This clock source is not needed in any mode, and can be turned off
  20280. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20281. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20282. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20283. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20284. * 0b101, 0b110, 0b111..Reserved
  20285. */
  20286. #define CCM_LPCG_DOMAIN_LEVEL1(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL1_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL1_MASK)
  20287. #define CCM_LPCG_DOMAIN_LEVEL2_MASK (0x7000000U)
  20288. #define CCM_LPCG_DOMAIN_LEVEL2_SHIFT (24U)
  20289. /*! LEVEL2 - Depend level
  20290. * 0b000..This clock source is not needed in any mode, and can be turned off
  20291. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20292. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20293. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20294. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20295. * 0b101, 0b110, 0b111..Reserved
  20296. */
  20297. #define CCM_LPCG_DOMAIN_LEVEL2(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL2_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL2_MASK)
  20298. #define CCM_LPCG_DOMAIN_LEVEL3_MASK (0x70000000U)
  20299. #define CCM_LPCG_DOMAIN_LEVEL3_SHIFT (28U)
  20300. /*! LEVEL3 - Depend level
  20301. * 0b000..This clock source is not needed in any mode, and can be turned off
  20302. * 0b001..This clock source is needed in RUN mode, but not needed in WAIT, STOP mode
  20303. * 0b010..This clock source is needed in RUN and WAIT mode, but not needed in STOP mode
  20304. * 0b011..This clock source is needed in RUN, WAIT and STOP mode
  20305. * 0b100..This clock source is always on in any mode (including SUSPEND)
  20306. * 0b101, 0b110, 0b111..Reserved
  20307. */
  20308. #define CCM_LPCG_DOMAIN_LEVEL3(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_DOMAIN_LEVEL3_SHIFT)) & CCM_LPCG_DOMAIN_LEVEL3_MASK)
  20309. /*! @} */
  20310. /* The count of CCM_LPCG_DOMAIN */
  20311. #define CCM_LPCG_DOMAIN_COUNT (138U)
  20312. /*! @name LPCG_SETPOINT - LPCG Setpoint setting */
  20313. /*! @{ */
  20314. #define CCM_LPCG_SETPOINT_SETPOINT_MASK (0xFFFFU)
  20315. #define CCM_LPCG_SETPOINT_SETPOINT_SHIFT (0U)
  20316. /*! SETPOINT - Setpoints
  20317. */
  20318. #define CCM_LPCG_SETPOINT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_SETPOINT_SETPOINT_SHIFT)) & CCM_LPCG_SETPOINT_SETPOINT_MASK)
  20319. #define CCM_LPCG_SETPOINT_STANDBY_MASK (0xFFFF0000U)
  20320. #define CCM_LPCG_SETPOINT_STANDBY_SHIFT (16U)
  20321. /*! STANDBY - Standby
  20322. */
  20323. #define CCM_LPCG_SETPOINT_STANDBY(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_SETPOINT_STANDBY_SHIFT)) & CCM_LPCG_SETPOINT_STANDBY_MASK)
  20324. /*! @} */
  20325. /* The count of CCM_LPCG_SETPOINT */
  20326. #define CCM_LPCG_SETPOINT_COUNT (138U)
  20327. /*! @name LPCG_STATUS0 - LPCG working status */
  20328. /*! @{ */
  20329. #define CCM_LPCG_STATUS0_ON_MASK (0x1U)
  20330. #define CCM_LPCG_STATUS0_ON_SHIFT (0U)
  20331. /*! ON - LPCG current state
  20332. * 0b0..LPCG is OFF.
  20333. * 0b1..LPCG is ON.
  20334. */
  20335. #define CCM_LPCG_STATUS0_ON(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_ON_SHIFT)) & CCM_LPCG_STATUS0_ON_MASK)
  20336. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN_MASK (0xF00U)
  20337. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN_SHIFT (8U)
  20338. /*! ACTIVE_DOMAIN - Domains that own this clock gate
  20339. * 0b0000..Clock not owned by any domain
  20340. * 0b0001..Clock owned by Domain0
  20341. * 0b0010..Clock owned by Domain1
  20342. * 0b0011..Clock owned by Domain0 and Domain1
  20343. * 0b0100..Clock owned by Domain2
  20344. * 0b0101..Clock owned by Domain0 and Domain2
  20345. * 0b0110..Clock owned by Domain1 and Domain2
  20346. * 0b0111..Clock owned by Domain0, Domain1 and Domain 2
  20347. * 0b1000..Clock owned by Domain3
  20348. * 0b1001..Clock owned by Domain0 and Domain3
  20349. * 0b1010..Clock owned by Domain1 and Domain3
  20350. * 0b1011..Clock owned by Domain2 and Domain3
  20351. * 0b1100..Clock owned by Domain0, Domain 1, and Domain3
  20352. * 0b1101..Clock owned by Domain0, Domain 2, and Domain3
  20353. * 0b1110..Clock owned by Domain1, Domain 2, and Domain3
  20354. * 0b1111..Clock owned by all domains
  20355. */
  20356. #define CCM_LPCG_STATUS0_ACTIVE_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_ACTIVE_DOMAIN_SHIFT)) & CCM_LPCG_STATUS0_ACTIVE_DOMAIN_MASK)
  20357. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE_MASK (0xF000U)
  20358. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE_SHIFT (12U)
  20359. /*! DOMAIN_ENABLE - Enable status from each domain
  20360. * 0b0000..No domain request
  20361. * 0b0001..Request from Domain0
  20362. * 0b0010..Request from Domain1
  20363. * 0b0011..Request from Domain0 and Domain1
  20364. * 0b0100..Request from Domain2
  20365. * 0b0101..Request from Domain0 and Domain2
  20366. * 0b0110..Request from Domain1 and Domain2
  20367. * 0b0111..Request from Domain0, Domain1 and Domain 2
  20368. * 0b1000..Request from Domain3
  20369. * 0b1001..Request from Domain0 and Domain3
  20370. * 0b1010..Request from Domain1 and Domain3
  20371. * 0b1011..Request from Domain2 and Domain3
  20372. * 0b1100..Request from Domain0, Domain 1, and Domain3
  20373. * 0b1101..Request from Domain0, Domain 2, and Domain3
  20374. * 0b1110..Request from Domain1, Domain 2, and Domain3
  20375. * 0b1111..Request from all domains
  20376. */
  20377. #define CCM_LPCG_STATUS0_DOMAIN_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS0_DOMAIN_ENABLE_SHIFT)) & CCM_LPCG_STATUS0_DOMAIN_ENABLE_MASK)
  20378. /*! @} */
  20379. /* The count of CCM_LPCG_STATUS0 */
  20380. #define CCM_LPCG_STATUS0_COUNT (138U)
  20381. /*! @name LPCG_STATUS1 - LPCG low power status */
  20382. /*! @{ */
  20383. #define CCM_LPCG_STATUS1_CPU0_MODE_MASK (0x3U)
  20384. #define CCM_LPCG_STATUS1_CPU0_MODE_SHIFT (0U)
  20385. /*! CPU0_MODE - Domain0 Low Power Mode
  20386. * 0b00..Run
  20387. * 0b01..Wait
  20388. * 0b10..Stop
  20389. * 0b11..Suspend
  20390. */
  20391. #define CCM_LPCG_STATUS1_CPU0_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU0_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU0_MODE_MASK)
  20392. #define CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_MASK (0x4U)
  20393. #define CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_SHIFT (2U)
  20394. /*! CPU0_MODE_REQUEST - Domain0 request enter Low Power Mode
  20395. * 0b1..Request from domain to enter Low Power Mode
  20396. * 0b0..No request
  20397. */
  20398. #define CCM_LPCG_STATUS1_CPU0_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_CPU0_MODE_REQUEST_MASK)
  20399. #define CCM_LPCG_STATUS1_CPU0_MODE_DONE_MASK (0x8U)
  20400. #define CCM_LPCG_STATUS1_CPU0_MODE_DONE_SHIFT (3U)
  20401. /*! CPU0_MODE_DONE - Domain0 Low Power Mode task done
  20402. * 0b1..Clock is gated-off
  20403. * 0b0..Clock is not gated
  20404. */
  20405. #define CCM_LPCG_STATUS1_CPU0_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU0_MODE_DONE_SHIFT)) & CCM_LPCG_STATUS1_CPU0_MODE_DONE_MASK)
  20406. #define CCM_LPCG_STATUS1_CPU1_MODE_MASK (0x30U)
  20407. #define CCM_LPCG_STATUS1_CPU1_MODE_SHIFT (4U)
  20408. /*! CPU1_MODE - Domain1 Low Power Mode
  20409. * 0b00..Run
  20410. * 0b01..Wait
  20411. * 0b10..Stop
  20412. * 0b11..Suspend
  20413. */
  20414. #define CCM_LPCG_STATUS1_CPU1_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU1_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU1_MODE_MASK)
  20415. #define CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_MASK (0x40U)
  20416. #define CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_SHIFT (6U)
  20417. /*! CPU1_MODE_REQUEST - Domain1 request enter Low Power Mode
  20418. * 0b1..Request from domain to enter Low Power Mode
  20419. * 0b0..No request
  20420. */
  20421. #define CCM_LPCG_STATUS1_CPU1_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_CPU1_MODE_REQUEST_MASK)
  20422. #define CCM_LPCG_STATUS1_CPU1_MODE_DONE_MASK (0x80U)
  20423. #define CCM_LPCG_STATUS1_CPU1_MODE_DONE_SHIFT (7U)
  20424. /*! CPU1_MODE_DONE - Domain1 Low Power Mode task done
  20425. * 0b1..Clock is gated-off
  20426. * 0b0..Clock is not gated
  20427. */
  20428. #define CCM_LPCG_STATUS1_CPU1_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU1_MODE_DONE_SHIFT)) & CCM_LPCG_STATUS1_CPU1_MODE_DONE_MASK)
  20429. #define CCM_LPCG_STATUS1_CPU2_MODE_MASK (0x300U)
  20430. #define CCM_LPCG_STATUS1_CPU2_MODE_SHIFT (8U)
  20431. /*! CPU2_MODE - Domain2 Low Power Mode
  20432. * 0b00..Run
  20433. * 0b01..Wait
  20434. * 0b10..Stop
  20435. * 0b11..Suspend
  20436. */
  20437. #define CCM_LPCG_STATUS1_CPU2_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU2_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU2_MODE_MASK)
  20438. #define CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_MASK (0x400U)
  20439. #define CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_SHIFT (10U)
  20440. /*! CPU2_MODE_REQUEST - Domain2 request enter Low Power Mode
  20441. * 0b1..Request from domain to enter Low Power Mode
  20442. * 0b0..No request
  20443. */
  20444. #define CCM_LPCG_STATUS1_CPU2_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_CPU2_MODE_REQUEST_MASK)
  20445. #define CCM_LPCG_STATUS1_CPU2_MODE_DONE_MASK (0x800U)
  20446. #define CCM_LPCG_STATUS1_CPU2_MODE_DONE_SHIFT (11U)
  20447. /*! CPU2_MODE_DONE - Domain2 Low Power Mode task done
  20448. * 0b1..Clock is gated-off
  20449. * 0b0..Clock is not gated
  20450. */
  20451. #define CCM_LPCG_STATUS1_CPU2_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU2_MODE_DONE_SHIFT)) & CCM_LPCG_STATUS1_CPU2_MODE_DONE_MASK)
  20452. #define CCM_LPCG_STATUS1_CPU3_MODE_MASK (0x3000U)
  20453. #define CCM_LPCG_STATUS1_CPU3_MODE_SHIFT (12U)
  20454. /*! CPU3_MODE - Domain3 Low Power Mode
  20455. * 0b00..Run
  20456. * 0b01..Wait
  20457. * 0b10..Stop
  20458. * 0b11..Suspend
  20459. */
  20460. #define CCM_LPCG_STATUS1_CPU3_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU3_MODE_SHIFT)) & CCM_LPCG_STATUS1_CPU3_MODE_MASK)
  20461. #define CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_MASK (0x4000U)
  20462. #define CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_SHIFT (14U)
  20463. /*! CPU3_MODE_REQUEST - Domain3 request enter Low Power Mode
  20464. * 0b1..Request from domain to enter Low Power Mode
  20465. * 0b0..No request
  20466. */
  20467. #define CCM_LPCG_STATUS1_CPU3_MODE_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_CPU3_MODE_REQUEST_MASK)
  20468. #define CCM_LPCG_STATUS1_CPU3_MODE_DONE_MASK (0x8000U)
  20469. #define CCM_LPCG_STATUS1_CPU3_MODE_DONE_SHIFT (15U)
  20470. /*! CPU3_MODE_DONE - Domain3 Low Power Mode task done
  20471. * 0b1..Clock is gated-off
  20472. * 0b0..Clock is not gated
  20473. */
  20474. #define CCM_LPCG_STATUS1_CPU3_MODE_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CPU3_MODE_DONE_SHIFT)) & CCM_LPCG_STATUS1_CPU3_MODE_DONE_MASK)
  20475. #define CCM_LPCG_STATUS1_TARGET_SETPOINT_MASK (0xF0000U)
  20476. #define CCM_LPCG_STATUS1_TARGET_SETPOINT_SHIFT (16U)
  20477. /*! TARGET_SETPOINT - Next Setpoint to change to
  20478. */
  20479. #define CCM_LPCG_STATUS1_TARGET_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_TARGET_SETPOINT_SHIFT)) & CCM_LPCG_STATUS1_TARGET_SETPOINT_MASK)
  20480. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT_MASK (0xF00000U)
  20481. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT_SHIFT (20U)
  20482. /*! CURRENT_SETPOINT - Current Setpoint
  20483. */
  20484. #define CCM_LPCG_STATUS1_CURRENT_SETPOINT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_CURRENT_SETPOINT_SHIFT)) & CCM_LPCG_STATUS1_CURRENT_SETPOINT_MASK)
  20485. #define CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_MASK (0x1000000U)
  20486. #define CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_SHIFT (24U)
  20487. /*! SETPOINT_OFF_REQUEST - Clock gate turn off request from GPC Setpoint
  20488. * 0b1..Clock gate requested to be turned off
  20489. * 0b0..No request
  20490. */
  20491. #define CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_SETPOINT_OFF_REQUEST_MASK)
  20492. #define CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_MASK (0x2000000U)
  20493. #define CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_SHIFT (25U)
  20494. /*! SETPOINT_OFF_DONE - Clock gate turn off finish from GPC Setpoint
  20495. * 0b1..Clock gate is turned off
  20496. * 0b0..Clock gate is not turned off
  20497. */
  20498. #define CCM_LPCG_STATUS1_SETPOINT_OFF_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_SHIFT)) & CCM_LPCG_STATUS1_SETPOINT_OFF_DONE_MASK)
  20499. #define CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_MASK (0x4000000U)
  20500. #define CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_SHIFT (26U)
  20501. /*! SETPOINT_ON_REQUEST - Clock gate turn on request from GPC Setpoint
  20502. * 0b1..Clock gate requested to be turned on
  20503. * 0b0..No request
  20504. */
  20505. #define CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_SHIFT)) & CCM_LPCG_STATUS1_SETPOINT_ON_REQUEST_MASK)
  20506. #define CCM_LPCG_STATUS1_SETPOINT_ON_DONE_MASK (0x8000000U)
  20507. #define CCM_LPCG_STATUS1_SETPOINT_ON_DONE_SHIFT (27U)
  20508. /*! SETPOINT_ON_DONE - Clock gate turn on finish from GPC Setpoint
  20509. * 0b1..Clock gate is turned on
  20510. * 0b0..Clock gate is not turned on
  20511. */
  20512. #define CCM_LPCG_STATUS1_SETPOINT_ON_DONE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_STATUS1_SETPOINT_ON_DONE_SHIFT)) & CCM_LPCG_STATUS1_SETPOINT_ON_DONE_MASK)
  20513. /*! @} */
  20514. /* The count of CCM_LPCG_STATUS1 */
  20515. #define CCM_LPCG_STATUS1_COUNT (138U)
  20516. /*! @name LPCG_CONFIG - LPCG configuration */
  20517. /*! @{ */
  20518. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT_MASK (0x10U)
  20519. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT_SHIFT (4U)
  20520. /*! SETPOINT_PRESENT - Setpoint present
  20521. * 0b1..Setpoint is implemented.
  20522. * 0b0..Setpoint is not implemented.
  20523. */
  20524. #define CCM_LPCG_CONFIG_SETPOINT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_CONFIG_SETPOINT_PRESENT_SHIFT)) & CCM_LPCG_CONFIG_SETPOINT_PRESENT_MASK)
  20525. /*! @} */
  20526. /* The count of CCM_LPCG_CONFIG */
  20527. #define CCM_LPCG_CONFIG_COUNT (138U)
  20528. /*! @name LPCG_AUTHEN - LPCG access control */
  20529. /*! @{ */
  20530. #define CCM_LPCG_AUTHEN_TZ_USER_MASK (0x1U)
  20531. #define CCM_LPCG_AUTHEN_TZ_USER_SHIFT (0U)
  20532. /*! TZ_USER - User access
  20533. * 0b1..LPCG can be changed in user mode.
  20534. * 0b0..LPCG cannot be changed in user mode.
  20535. */
  20536. #define CCM_LPCG_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_USER_SHIFT)) & CCM_LPCG_AUTHEN_TZ_USER_MASK)
  20537. #define CCM_LPCG_AUTHEN_TZ_NS_MASK (0x2U)
  20538. #define CCM_LPCG_AUTHEN_TZ_NS_SHIFT (1U)
  20539. /*! TZ_NS - Non-secure access
  20540. * 0b0..Cannot be changed in Non-secure mode.
  20541. * 0b1..Can be changed in Non-secure mode.
  20542. */
  20543. #define CCM_LPCG_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_TZ_NS_SHIFT)) & CCM_LPCG_AUTHEN_TZ_NS_MASK)
  20544. #define CCM_LPCG_AUTHEN_LOCK_TZ_MASK (0x10U)
  20545. #define CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT (4U)
  20546. /*! LOCK_TZ - lock truszone setting
  20547. * 0b0..Trustzone setting is not locked.
  20548. * 0b1..Trustzone setting is locked.
  20549. */
  20550. #define CCM_LPCG_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_TZ_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_TZ_MASK)
  20551. #define CCM_LPCG_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20552. #define CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT (8U)
  20553. /*! WHITE_LIST - Whitelist
  20554. */
  20555. #define CCM_LPCG_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_WHITE_LIST_SHIFT)) & CCM_LPCG_AUTHEN_WHITE_LIST_MASK)
  20556. #define CCM_LPCG_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20557. #define CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT (12U)
  20558. /*! LOCK_LIST - Lock Whitelist
  20559. * 0b0..Whitelist is not locked.
  20560. * 0b1..Whitelist is locked.
  20561. */
  20562. #define CCM_LPCG_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_LIST_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_LIST_MASK)
  20563. #define CCM_LPCG_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20564. #define CCM_LPCG_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20565. /*! DOMAIN_MODE - Low power and access control by domain
  20566. * 0b1..Clock works in Domain Mode
  20567. * 0b0..Clock does not work in Domain Mode
  20568. */
  20569. #define CCM_LPCG_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_LPCG_AUTHEN_DOMAIN_MODE_MASK)
  20570. #define CCM_LPCG_AUTHEN_SETPOINT_MODE_MASK (0x20000U)
  20571. #define CCM_LPCG_AUTHEN_SETPOINT_MODE_SHIFT (17U)
  20572. /*! SETPOINT_MODE - Low power and access control by Setpoint
  20573. * 0b1..LPCG is functioning in Setpoint controlled Mode
  20574. * 0b0..LPCG is not functioning in Setpoint controlled Mode
  20575. */
  20576. #define CCM_LPCG_AUTHEN_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_SETPOINT_MODE_SHIFT)) & CCM_LPCG_AUTHEN_SETPOINT_MODE_MASK)
  20577. #define CCM_LPCG_AUTHEN_CPULPM_MASK (0x40000U)
  20578. #define CCM_LPCG_AUTHEN_CPULPM_SHIFT (18U)
  20579. /*! CPULPM - CPU Low Power Mode
  20580. * 0b1..LPCG is functioning in Low Power Mode
  20581. * 0b0..LPCG is not functioning in Low power Mode
  20582. */
  20583. #define CCM_LPCG_AUTHEN_CPULPM(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_CPULPM_SHIFT)) & CCM_LPCG_AUTHEN_CPULPM_MASK)
  20584. #define CCM_LPCG_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20585. #define CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT (20U)
  20586. /*! LOCK_MODE - Lock low power and access mode
  20587. * 0b0..MODE is not locked.
  20588. * 0b1..MODE is locked.
  20589. */
  20590. #define CCM_LPCG_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_LPCG_AUTHEN_LOCK_MODE_SHIFT)) & CCM_LPCG_AUTHEN_LOCK_MODE_MASK)
  20591. /*! @} */
  20592. /* The count of CCM_LPCG_AUTHEN */
  20593. #define CCM_LPCG_AUTHEN_COUNT (138U)
  20594. /*!
  20595. * @}
  20596. */ /* end of group CCM_Register_Masks */
  20597. /* CCM - Peripheral instance base addresses */
  20598. /** Peripheral CCM base address */
  20599. #define CCM_BASE (0x40CC0000u)
  20600. /** Peripheral CCM base pointer */
  20601. #define CCM ((CCM_Type *)CCM_BASE)
  20602. /** Array initializer of CCM peripheral base addresses */
  20603. #define CCM_BASE_ADDRS { CCM_BASE }
  20604. /** Array initializer of CCM peripheral base pointers */
  20605. #define CCM_BASE_PTRS { CCM }
  20606. /*!
  20607. * @}
  20608. */ /* end of group CCM_Peripheral_Access_Layer */
  20609. /* ----------------------------------------------------------------------------
  20610. -- CCM_OBS Peripheral Access Layer
  20611. ---------------------------------------------------------------------------- */
  20612. /*!
  20613. * @addtogroup CCM_OBS_Peripheral_Access_Layer CCM_OBS Peripheral Access Layer
  20614. * @{
  20615. */
  20616. /** CCM_OBS - Register Layout Typedef */
  20617. typedef struct {
  20618. struct { /* offset: 0x0, array step: 0x80 */
  20619. __IO uint32_t CONTROL; /**< Observe control, array offset: 0x0, array step: 0x80 */
  20620. __IO uint32_t CONTROL_SET; /**< Observe control, array offset: 0x4, array step: 0x80 */
  20621. __IO uint32_t CONTROL_CLR; /**< Observe control, array offset: 0x8, array step: 0x80 */
  20622. __IO uint32_t CONTROL_TOG; /**< Observe control, array offset: 0xC, array step: 0x80 */
  20623. uint8_t RESERVED_0[16];
  20624. __I uint32_t STATUS0; /**< Observe status, array offset: 0x20, array step: 0x80 */
  20625. uint8_t RESERVED_1[12];
  20626. __IO uint32_t AUTHEN; /**< Observe access control, array offset: 0x30, array step: 0x80 */
  20627. __IO uint32_t AUTHEN_SET; /**< Observe access control, array offset: 0x34, array step: 0x80 */
  20628. __IO uint32_t AUTHEN_CLR; /**< Observe access control, array offset: 0x38, array step: 0x80 */
  20629. __IO uint32_t AUTHEN_TOG; /**< Observe access control, array offset: 0x3C, array step: 0x80 */
  20630. __I uint32_t FREQUENCY_CURRENT; /**< Current frequency detected, array offset: 0x40, array step: 0x80 */
  20631. __I uint32_t FREQUENCY_MIN; /**< Minimum frequency detected, array offset: 0x44, array step: 0x80 */
  20632. __I uint32_t FREQUENCY_MAX; /**< Maximum frequency detected, array offset: 0x48, array step: 0x80 */
  20633. uint8_t RESERVED_2[52];
  20634. } OBSERVE[6];
  20635. } CCM_OBS_Type;
  20636. /* ----------------------------------------------------------------------------
  20637. -- CCM_OBS Register Masks
  20638. ---------------------------------------------------------------------------- */
  20639. /*!
  20640. * @addtogroup CCM_OBS_Register_Masks CCM_OBS Register Masks
  20641. * @{
  20642. */
  20643. /*! @name OBSERVE_CONTROL - Observe control */
  20644. /*! @{ */
  20645. #define CCM_OBS_OBSERVE_CONTROL_SELECT_MASK (0x1FFU)
  20646. #define CCM_OBS_OBSERVE_CONTROL_SELECT_SHIFT (0U)
  20647. /*! SELECT - Observe signal selector
  20648. */
  20649. #define CCM_OBS_OBSERVE_CONTROL_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SELECT_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SELECT_MASK)
  20650. #define CCM_OBS_OBSERVE_CONTROL_RAW_MASK (0x1000U)
  20651. #define CCM_OBS_OBSERVE_CONTROL_RAW_SHIFT (12U)
  20652. /*! RAW - Observe raw signal
  20653. * 0b0..Select divided signal.
  20654. * 0b1..Select raw signal.
  20655. */
  20656. #define CCM_OBS_OBSERVE_CONTROL_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_RAW_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_RAW_MASK)
  20657. #define CCM_OBS_OBSERVE_CONTROL_INV_MASK (0x2000U)
  20658. #define CCM_OBS_OBSERVE_CONTROL_INV_SHIFT (13U)
  20659. /*! INV - Invert
  20660. * 0b0..Clock phase remain same.
  20661. * 0b1..Invert clock phase before measurement or send to IO.
  20662. */
  20663. #define CCM_OBS_OBSERVE_CONTROL_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_INV_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_INV_MASK)
  20664. #define CCM_OBS_OBSERVE_CONTROL_RESET_MASK (0x8000U)
  20665. #define CCM_OBS_OBSERVE_CONTROL_RESET_SHIFT (15U)
  20666. /*! RESET - Reset observe divider
  20667. * 0b0..No reset
  20668. * 0b1..Reset observe divider
  20669. */
  20670. #define CCM_OBS_OBSERVE_CONTROL_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_RESET_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_RESET_MASK)
  20671. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE_MASK (0xFF0000U)
  20672. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE_SHIFT (16U)
  20673. /*! DIVIDE - Divider for observe signal
  20674. */
  20675. #define CCM_OBS_OBSERVE_CONTROL_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_DIVIDE_MASK)
  20676. #define CCM_OBS_OBSERVE_CONTROL_OFF_MASK (0x1000000U)
  20677. #define CCM_OBS_OBSERVE_CONTROL_OFF_SHIFT (24U)
  20678. /*! OFF - Turn off
  20679. * 0b0..observe slice is on
  20680. * 0b1..observe slice is off
  20681. */
  20682. #define CCM_OBS_OBSERVE_CONTROL_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_OFF_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_OFF_MASK)
  20683. /*! @} */
  20684. /* The count of CCM_OBS_OBSERVE_CONTROL */
  20685. #define CCM_OBS_OBSERVE_CONTROL_COUNT (6U)
  20686. /*! @name OBSERVE_CONTROL_SET - Observe control */
  20687. /*! @{ */
  20688. #define CCM_OBS_OBSERVE_CONTROL_SET_SELECT_MASK (0x1FFU)
  20689. #define CCM_OBS_OBSERVE_CONTROL_SET_SELECT_SHIFT (0U)
  20690. /*! SELECT - Observe signal selector
  20691. */
  20692. #define CCM_OBS_OBSERVE_CONTROL_SET_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_SELECT_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_SELECT_MASK)
  20693. #define CCM_OBS_OBSERVE_CONTROL_SET_RAW_MASK (0x1000U)
  20694. #define CCM_OBS_OBSERVE_CONTROL_SET_RAW_SHIFT (12U)
  20695. /*! RAW - Observe raw signal
  20696. */
  20697. #define CCM_OBS_OBSERVE_CONTROL_SET_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_RAW_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_RAW_MASK)
  20698. #define CCM_OBS_OBSERVE_CONTROL_SET_INV_MASK (0x2000U)
  20699. #define CCM_OBS_OBSERVE_CONTROL_SET_INV_SHIFT (13U)
  20700. /*! INV - Invert
  20701. */
  20702. #define CCM_OBS_OBSERVE_CONTROL_SET_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_INV_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_INV_MASK)
  20703. #define CCM_OBS_OBSERVE_CONTROL_SET_RESET_MASK (0x8000U)
  20704. #define CCM_OBS_OBSERVE_CONTROL_SET_RESET_SHIFT (15U)
  20705. /*! RESET - Reset observe divider
  20706. */
  20707. #define CCM_OBS_OBSERVE_CONTROL_SET_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_RESET_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_RESET_MASK)
  20708. #define CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_MASK (0xFF0000U)
  20709. #define CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_SHIFT (16U)
  20710. /*! DIVIDE - Divider for observe signal
  20711. */
  20712. #define CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_DIVIDE_MASK)
  20713. #define CCM_OBS_OBSERVE_CONTROL_SET_OFF_MASK (0x1000000U)
  20714. #define CCM_OBS_OBSERVE_CONTROL_SET_OFF_SHIFT (24U)
  20715. /*! OFF - Turn off
  20716. */
  20717. #define CCM_OBS_OBSERVE_CONTROL_SET_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_SET_OFF_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_SET_OFF_MASK)
  20718. /*! @} */
  20719. /* The count of CCM_OBS_OBSERVE_CONTROL_SET */
  20720. #define CCM_OBS_OBSERVE_CONTROL_SET_COUNT (6U)
  20721. /*! @name OBSERVE_CONTROL_CLR - Observe control */
  20722. /*! @{ */
  20723. #define CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_MASK (0x1FFU)
  20724. #define CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_SHIFT (0U)
  20725. /*! SELECT - Observe signal selector
  20726. */
  20727. #define CCM_OBS_OBSERVE_CONTROL_CLR_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_SELECT_MASK)
  20728. #define CCM_OBS_OBSERVE_CONTROL_CLR_RAW_MASK (0x1000U)
  20729. #define CCM_OBS_OBSERVE_CONTROL_CLR_RAW_SHIFT (12U)
  20730. /*! RAW - Observe raw signal
  20731. */
  20732. #define CCM_OBS_OBSERVE_CONTROL_CLR_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_RAW_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_RAW_MASK)
  20733. #define CCM_OBS_OBSERVE_CONTROL_CLR_INV_MASK (0x2000U)
  20734. #define CCM_OBS_OBSERVE_CONTROL_CLR_INV_SHIFT (13U)
  20735. /*! INV - Invert
  20736. */
  20737. #define CCM_OBS_OBSERVE_CONTROL_CLR_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_INV_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_INV_MASK)
  20738. #define CCM_OBS_OBSERVE_CONTROL_CLR_RESET_MASK (0x8000U)
  20739. #define CCM_OBS_OBSERVE_CONTROL_CLR_RESET_SHIFT (15U)
  20740. /*! RESET - Reset observe divider
  20741. */
  20742. #define CCM_OBS_OBSERVE_CONTROL_CLR_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_RESET_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_RESET_MASK)
  20743. #define CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_MASK (0xFF0000U)
  20744. #define CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_SHIFT (16U)
  20745. /*! DIVIDE - Divider for observe signal
  20746. */
  20747. #define CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_DIVIDE_MASK)
  20748. #define CCM_OBS_OBSERVE_CONTROL_CLR_OFF_MASK (0x1000000U)
  20749. #define CCM_OBS_OBSERVE_CONTROL_CLR_OFF_SHIFT (24U)
  20750. /*! OFF - Turn off
  20751. */
  20752. #define CCM_OBS_OBSERVE_CONTROL_CLR_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_CLR_OFF_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_CLR_OFF_MASK)
  20753. /*! @} */
  20754. /* The count of CCM_OBS_OBSERVE_CONTROL_CLR */
  20755. #define CCM_OBS_OBSERVE_CONTROL_CLR_COUNT (6U)
  20756. /*! @name OBSERVE_CONTROL_TOG - Observe control */
  20757. /*! @{ */
  20758. #define CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_MASK (0x1FFU)
  20759. #define CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_SHIFT (0U)
  20760. /*! SELECT - Observe signal selector
  20761. */
  20762. #define CCM_OBS_OBSERVE_CONTROL_TOG_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_SELECT_MASK)
  20763. #define CCM_OBS_OBSERVE_CONTROL_TOG_RAW_MASK (0x1000U)
  20764. #define CCM_OBS_OBSERVE_CONTROL_TOG_RAW_SHIFT (12U)
  20765. /*! RAW - Observe raw signal
  20766. */
  20767. #define CCM_OBS_OBSERVE_CONTROL_TOG_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_RAW_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_RAW_MASK)
  20768. #define CCM_OBS_OBSERVE_CONTROL_TOG_INV_MASK (0x2000U)
  20769. #define CCM_OBS_OBSERVE_CONTROL_TOG_INV_SHIFT (13U)
  20770. /*! INV - Invert
  20771. */
  20772. #define CCM_OBS_OBSERVE_CONTROL_TOG_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_INV_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_INV_MASK)
  20773. #define CCM_OBS_OBSERVE_CONTROL_TOG_RESET_MASK (0x8000U)
  20774. #define CCM_OBS_OBSERVE_CONTROL_TOG_RESET_SHIFT (15U)
  20775. /*! RESET - Reset observe divider
  20776. */
  20777. #define CCM_OBS_OBSERVE_CONTROL_TOG_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_RESET_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_RESET_MASK)
  20778. #define CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_MASK (0xFF0000U)
  20779. #define CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_SHIFT (16U)
  20780. /*! DIVIDE - Divider for observe signal
  20781. */
  20782. #define CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_DIVIDE_MASK)
  20783. #define CCM_OBS_OBSERVE_CONTROL_TOG_OFF_MASK (0x1000000U)
  20784. #define CCM_OBS_OBSERVE_CONTROL_TOG_OFF_SHIFT (24U)
  20785. /*! OFF - Turn off
  20786. */
  20787. #define CCM_OBS_OBSERVE_CONTROL_TOG_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_CONTROL_TOG_OFF_SHIFT)) & CCM_OBS_OBSERVE_CONTROL_TOG_OFF_MASK)
  20788. /*! @} */
  20789. /* The count of CCM_OBS_OBSERVE_CONTROL_TOG */
  20790. #define CCM_OBS_OBSERVE_CONTROL_TOG_COUNT (6U)
  20791. /*! @name OBSERVE_STATUS0 - Observe status */
  20792. /*! @{ */
  20793. #define CCM_OBS_OBSERVE_STATUS0_SELECT_MASK (0x1FFU)
  20794. #define CCM_OBS_OBSERVE_STATUS0_SELECT_SHIFT (0U)
  20795. /*! SELECT - Select value
  20796. */
  20797. #define CCM_OBS_OBSERVE_STATUS0_SELECT(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_SELECT_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_SELECT_MASK)
  20798. #define CCM_OBS_OBSERVE_STATUS0_RAW_MASK (0x1000U)
  20799. #define CCM_OBS_OBSERVE_STATUS0_RAW_SHIFT (12U)
  20800. /*! RAW - Observe raw signal
  20801. * 0b0..Divided signal is selected
  20802. * 0b1..Raw signal is selected
  20803. */
  20804. #define CCM_OBS_OBSERVE_STATUS0_RAW(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_RAW_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_RAW_MASK)
  20805. #define CCM_OBS_OBSERVE_STATUS0_INV_MASK (0x2000U)
  20806. #define CCM_OBS_OBSERVE_STATUS0_INV_SHIFT (13U)
  20807. /*! INV - Polarity of the observe target
  20808. * 0b1..Polarity of the observe target is inverted
  20809. * 0b0..Polarity is not inverted
  20810. */
  20811. #define CCM_OBS_OBSERVE_STATUS0_INV(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_INV_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_INV_MASK)
  20812. #define CCM_OBS_OBSERVE_STATUS0_RESET_MASK (0x8000U)
  20813. #define CCM_OBS_OBSERVE_STATUS0_RESET_SHIFT (15U)
  20814. /*! RESET - Reset state
  20815. * 0b1..Observe divider is in reset state
  20816. * 0b0..Observe divider is not in reset state
  20817. */
  20818. #define CCM_OBS_OBSERVE_STATUS0_RESET(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_RESET_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_RESET_MASK)
  20819. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE_MASK (0xFF0000U)
  20820. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE_SHIFT (16U)
  20821. /*! DIVIDE - Divide value status. The clock will be divided by DIVIDE + 1.
  20822. */
  20823. #define CCM_OBS_OBSERVE_STATUS0_DIVIDE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_DIVIDE_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_DIVIDE_MASK)
  20824. #define CCM_OBS_OBSERVE_STATUS0_OFF_MASK (0x1000000U)
  20825. #define CCM_OBS_OBSERVE_STATUS0_OFF_SHIFT (24U)
  20826. /*! OFF - Turn off slice
  20827. * 0b0..observe slice is on
  20828. * 0b1..observe slice is off
  20829. */
  20830. #define CCM_OBS_OBSERVE_STATUS0_OFF(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_STATUS0_OFF_SHIFT)) & CCM_OBS_OBSERVE_STATUS0_OFF_MASK)
  20831. /*! @} */
  20832. /* The count of CCM_OBS_OBSERVE_STATUS0 */
  20833. #define CCM_OBS_OBSERVE_STATUS0_COUNT (6U)
  20834. /*! @name OBSERVE_AUTHEN - Observe access control */
  20835. /*! @{ */
  20836. #define CCM_OBS_OBSERVE_AUTHEN_TZ_USER_MASK (0x1U)
  20837. #define CCM_OBS_OBSERVE_AUTHEN_TZ_USER_SHIFT (0U)
  20838. /*! TZ_USER - User access
  20839. * 0b1..Clock can be changed in user mode.
  20840. * 0b0..Clock cannot be changed in user mode.
  20841. */
  20842. #define CCM_OBS_OBSERVE_AUTHEN_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TZ_USER_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TZ_USER_MASK)
  20843. #define CCM_OBS_OBSERVE_AUTHEN_TZ_NS_MASK (0x2U)
  20844. #define CCM_OBS_OBSERVE_AUTHEN_TZ_NS_SHIFT (1U)
  20845. /*! TZ_NS - Non-secure access
  20846. * 0b0..Cannot be changed in Non-secure mode.
  20847. * 0b1..Can be changed in Non-secure mode.
  20848. */
  20849. #define CCM_OBS_OBSERVE_AUTHEN_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TZ_NS_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TZ_NS_MASK)
  20850. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_MASK (0x10U)
  20851. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_SHIFT (4U)
  20852. /*! LOCK_TZ - Lock truszone setting
  20853. * 0b0..Trustzone setting is not locked.
  20854. * 0b1..Trustzone setting is locked.
  20855. */
  20856. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_LOCK_TZ_MASK)
  20857. #define CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_MASK (0xF00U)
  20858. #define CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_SHIFT (8U)
  20859. /*! WHITE_LIST - White list
  20860. * 0b1111..All domain can change.
  20861. * 0b0010..Domain 1 can change.
  20862. * 0b0011..Domain 0 and domain 1 can change.
  20863. * 0b0000..No domain can change.
  20864. * 0b0100..Domain 2 can change.
  20865. * 0b0001..Domain 0 can change.
  20866. */
  20867. #define CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_WHITE_LIST_MASK)
  20868. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_MASK (0x1000U)
  20869. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_SHIFT (12U)
  20870. /*! LOCK_LIST - Lock white list
  20871. * 0b0..White list is not locked.
  20872. * 0b1..White list is locked.
  20873. */
  20874. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_LOCK_LIST_MASK)
  20875. #define CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_MASK (0x10000U)
  20876. #define CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_SHIFT (16U)
  20877. /*! DOMAIN_MODE - Low power and access control by domain
  20878. * 0b1..Clock works in domain mode.
  20879. * 0b0..Clock does not work in domain mode.
  20880. */
  20881. #define CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_DOMAIN_MODE_MASK)
  20882. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_MASK (0x100000U)
  20883. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_SHIFT (20U)
  20884. /*! LOCK_MODE - Lock low power and access mode
  20885. * 0b0..MODE is not locked.
  20886. * 0b1..MODE is locked.
  20887. */
  20888. #define CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_LOCK_MODE_MASK)
  20889. /*! @} */
  20890. /* The count of CCM_OBS_OBSERVE_AUTHEN */
  20891. #define CCM_OBS_OBSERVE_AUTHEN_COUNT (6U)
  20892. /*! @name OBSERVE_AUTHEN_SET - Observe access control */
  20893. /*! @{ */
  20894. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_MASK (0x1U)
  20895. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_SHIFT (0U)
  20896. /*! TZ_USER - User access
  20897. */
  20898. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_TZ_USER_MASK)
  20899. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_MASK (0x2U)
  20900. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_SHIFT (1U)
  20901. /*! TZ_NS - Non-secure access
  20902. */
  20903. #define CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_TZ_NS_MASK)
  20904. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_MASK (0x10U)
  20905. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_SHIFT (4U)
  20906. /*! LOCK_TZ - Lock truszone setting
  20907. */
  20908. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_TZ_MASK)
  20909. #define CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_MASK (0xF00U)
  20910. #define CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_SHIFT (8U)
  20911. /*! WHITE_LIST - White list
  20912. */
  20913. #define CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_WHITE_LIST_MASK)
  20914. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_MASK (0x1000U)
  20915. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_SHIFT (12U)
  20916. /*! LOCK_LIST - Lock white list
  20917. */
  20918. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_LIST_MASK)
  20919. #define CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_MASK (0x10000U)
  20920. #define CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_SHIFT (16U)
  20921. /*! DOMAIN_MODE - Low power and access control by domain
  20922. */
  20923. #define CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_DOMAIN_MODE_MASK)
  20924. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_MASK (0x100000U)
  20925. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_SHIFT (20U)
  20926. /*! LOCK_MODE - Lock low power and access mode
  20927. */
  20928. #define CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_SET_LOCK_MODE_MASK)
  20929. /*! @} */
  20930. /* The count of CCM_OBS_OBSERVE_AUTHEN_SET */
  20931. #define CCM_OBS_OBSERVE_AUTHEN_SET_COUNT (6U)
  20932. /*! @name OBSERVE_AUTHEN_CLR - Observe access control */
  20933. /*! @{ */
  20934. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_MASK (0x1U)
  20935. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_SHIFT (0U)
  20936. /*! TZ_USER - User access
  20937. */
  20938. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_USER_MASK)
  20939. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_MASK (0x2U)
  20940. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_SHIFT (1U)
  20941. /*! TZ_NS - Non-secure access
  20942. */
  20943. #define CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_TZ_NS_MASK)
  20944. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_MASK (0x10U)
  20945. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_SHIFT (4U)
  20946. /*! LOCK_TZ - Lock truszone setting
  20947. */
  20948. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_TZ_MASK)
  20949. #define CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_MASK (0xF00U)
  20950. #define CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_SHIFT (8U)
  20951. /*! WHITE_LIST - White list
  20952. */
  20953. #define CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_WHITE_LIST_MASK)
  20954. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_MASK (0x1000U)
  20955. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_SHIFT (12U)
  20956. /*! LOCK_LIST - Lock white list
  20957. */
  20958. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_LIST_MASK)
  20959. #define CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_MASK (0x10000U)
  20960. #define CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_SHIFT (16U)
  20961. /*! DOMAIN_MODE - Low power and access control by domain
  20962. */
  20963. #define CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_DOMAIN_MODE_MASK)
  20964. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_MASK (0x100000U)
  20965. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_SHIFT (20U)
  20966. /*! LOCK_MODE - Lock low power and access mode
  20967. */
  20968. #define CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_CLR_LOCK_MODE_MASK)
  20969. /*! @} */
  20970. /* The count of CCM_OBS_OBSERVE_AUTHEN_CLR */
  20971. #define CCM_OBS_OBSERVE_AUTHEN_CLR_COUNT (6U)
  20972. /*! @name OBSERVE_AUTHEN_TOG - Observe access control */
  20973. /*! @{ */
  20974. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_MASK (0x1U)
  20975. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_SHIFT (0U)
  20976. /*! TZ_USER - User access
  20977. */
  20978. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_USER_MASK)
  20979. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_MASK (0x2U)
  20980. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_SHIFT (1U)
  20981. /*! TZ_NS - Non-secure access
  20982. */
  20983. #define CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_TZ_NS_MASK)
  20984. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_MASK (0x10U)
  20985. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_SHIFT (4U)
  20986. /*! LOCK_TZ - Lock truszone setting
  20987. */
  20988. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_TZ_MASK)
  20989. #define CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_MASK (0xF00U)
  20990. #define CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_SHIFT (8U)
  20991. /*! WHITE_LIST - White list
  20992. */
  20993. #define CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_WHITE_LIST_MASK)
  20994. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_MASK (0x1000U)
  20995. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_SHIFT (12U)
  20996. /*! LOCK_LIST - Lock white list
  20997. */
  20998. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_LIST_MASK)
  20999. #define CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_MASK (0x10000U)
  21000. #define CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_SHIFT (16U)
  21001. /*! DOMAIN_MODE - Low power and access control by domain
  21002. */
  21003. #define CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_DOMAIN_MODE_MASK)
  21004. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_MASK (0x100000U)
  21005. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_SHIFT (20U)
  21006. /*! LOCK_MODE - Lock low power and access mode
  21007. */
  21008. #define CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_SHIFT)) & CCM_OBS_OBSERVE_AUTHEN_TOG_LOCK_MODE_MASK)
  21009. /*! @} */
  21010. /* The count of CCM_OBS_OBSERVE_AUTHEN_TOG */
  21011. #define CCM_OBS_OBSERVE_AUTHEN_TOG_COUNT (6U)
  21012. /*! @name OBSERVE_FREQUENCY_CURRENT - Current frequency detected */
  21013. /*! @{ */
  21014. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_MASK (0xFFFFFFFFU)
  21015. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_SHIFT (0U)
  21016. /*! FREQUENCY - Frequency
  21017. */
  21018. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_SHIFT)) & CCM_OBS_OBSERVE_FREQUENCY_CURRENT_FREQUENCY_MASK)
  21019. /*! @} */
  21020. /* The count of CCM_OBS_OBSERVE_FREQUENCY_CURRENT */
  21021. #define CCM_OBS_OBSERVE_FREQUENCY_CURRENT_COUNT (6U)
  21022. /*! @name OBSERVE_FREQUENCY_MIN - Minimum frequency detected */
  21023. /*! @{ */
  21024. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_MASK (0xFFFFFFFFU)
  21025. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_SHIFT (0U)
  21026. /*! FREQUENCY - Frequency
  21027. */
  21028. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_SHIFT)) & CCM_OBS_OBSERVE_FREQUENCY_MIN_FREQUENCY_MASK)
  21029. /*! @} */
  21030. /* The count of CCM_OBS_OBSERVE_FREQUENCY_MIN */
  21031. #define CCM_OBS_OBSERVE_FREQUENCY_MIN_COUNT (6U)
  21032. /*! @name OBSERVE_FREQUENCY_MAX - Maximum frequency detected */
  21033. /*! @{ */
  21034. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_MASK (0xFFFFFFFFU)
  21035. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_SHIFT (0U)
  21036. /*! FREQUENCY - Frequency
  21037. */
  21038. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY(x) (((uint32_t)(((uint32_t)(x)) << CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_SHIFT)) & CCM_OBS_OBSERVE_FREQUENCY_MAX_FREQUENCY_MASK)
  21039. /*! @} */
  21040. /* The count of CCM_OBS_OBSERVE_FREQUENCY_MAX */
  21041. #define CCM_OBS_OBSERVE_FREQUENCY_MAX_COUNT (6U)
  21042. /*!
  21043. * @}
  21044. */ /* end of group CCM_OBS_Register_Masks */
  21045. /* CCM_OBS - Peripheral instance base addresses */
  21046. /** Peripheral CCM_OBS base address */
  21047. #define CCM_OBS_BASE (0x40150000u)
  21048. /** Peripheral CCM_OBS base pointer */
  21049. #define CCM_OBS ((CCM_OBS_Type *)CCM_OBS_BASE)
  21050. /** Array initializer of CCM_OBS peripheral base addresses */
  21051. #define CCM_OBS_BASE_ADDRS { CCM_OBS_BASE }
  21052. /** Array initializer of CCM_OBS peripheral base pointers */
  21053. #define CCM_OBS_BASE_PTRS { CCM_OBS }
  21054. /*!
  21055. * @}
  21056. */ /* end of group CCM_OBS_Peripheral_Access_Layer */
  21057. /* ----------------------------------------------------------------------------
  21058. -- CDOG Peripheral Access Layer
  21059. ---------------------------------------------------------------------------- */
  21060. /*!
  21061. * @addtogroup CDOG_Peripheral_Access_Layer CDOG Peripheral Access Layer
  21062. * @{
  21063. */
  21064. /** CDOG - Register Layout Typedef */
  21065. typedef struct {
  21066. __IO uint32_t CONTROL; /**< Control, offset: 0x0 */
  21067. __IO uint32_t RELOAD; /**< Instruction Timer reload, offset: 0x4 */
  21068. __IO uint32_t INSTRUCTION_TIMER; /**< Instruction Timer, offset: 0x8 */
  21069. __O uint32_t SECURE_COUNTER; /**< Secure Counter, offset: 0xC */
  21070. __I uint32_t STATUS; /**< Status 1, offset: 0x10 */
  21071. __I uint32_t STATUS2; /**< Status 2, offset: 0x14 */
  21072. __IO uint32_t FLAGS; /**< Flags, offset: 0x18 */
  21073. __IO uint32_t PERSISTENT; /**< Persistent Data Storage, offset: 0x1C */
  21074. __O uint32_t START; /**< START Command, offset: 0x20 */
  21075. __O uint32_t STOP; /**< STOP Command, offset: 0x24 */
  21076. __O uint32_t RESTART; /**< RESTART Command, offset: 0x28 */
  21077. __O uint32_t ADD; /**< ADD Command, offset: 0x2C */
  21078. __O uint32_t ADD1; /**< ADD1 Command, offset: 0x30 */
  21079. __O uint32_t ADD16; /**< ADD16 Command, offset: 0x34 */
  21080. __O uint32_t ADD256; /**< ADD256 Command, offset: 0x38 */
  21081. __O uint32_t SUB; /**< SUB Command, offset: 0x3C */
  21082. __O uint32_t SUB1; /**< SUB1 Command, offset: 0x40 */
  21083. __O uint32_t SUB16; /**< SUB16 Command, offset: 0x44 */
  21084. __O uint32_t SUB256; /**< SUB256 Command, offset: 0x48 */
  21085. } CDOG_Type;
  21086. /* ----------------------------------------------------------------------------
  21087. -- CDOG Register Masks
  21088. ---------------------------------------------------------------------------- */
  21089. /*!
  21090. * @addtogroup CDOG_Register_Masks CDOG Register Masks
  21091. * @{
  21092. */
  21093. /*! @name CONTROL - Control */
  21094. /*! @{ */
  21095. #define CDOG_CONTROL_LOCK_CTRL_MASK (0x3U)
  21096. #define CDOG_CONTROL_LOCK_CTRL_SHIFT (0U)
  21097. /*! LOCK_CTRL - Lock control
  21098. * 0b01..Locked
  21099. * 0b10..Unlocked
  21100. */
  21101. #define CDOG_CONTROL_LOCK_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_LOCK_CTRL_SHIFT)) & CDOG_CONTROL_LOCK_CTRL_MASK)
  21102. #define CDOG_CONTROL_TIMEOUT_CTRL_MASK (0x1CU)
  21103. #define CDOG_CONTROL_TIMEOUT_CTRL_SHIFT (2U)
  21104. /*! TIMEOUT_CTRL - TIMEOUT fault control
  21105. * 0b100..Disable both reset and interrupt
  21106. * 0b001..Enable reset
  21107. * 0b010..Enable interrupt
  21108. */
  21109. #define CDOG_CONTROL_TIMEOUT_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_TIMEOUT_CTRL_SHIFT)) & CDOG_CONTROL_TIMEOUT_CTRL_MASK)
  21110. #define CDOG_CONTROL_MISCOMPARE_CTRL_MASK (0xE0U)
  21111. #define CDOG_CONTROL_MISCOMPARE_CTRL_SHIFT (5U)
  21112. /*! MISCOMPARE_CTRL - MISCOMPARE fault control
  21113. * 0b100..Disable both reset and interrupt
  21114. * 0b001..Enable reset
  21115. * 0b010..Enable interrupt
  21116. */
  21117. #define CDOG_CONTROL_MISCOMPARE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_MISCOMPARE_CTRL_SHIFT)) & CDOG_CONTROL_MISCOMPARE_CTRL_MASK)
  21118. #define CDOG_CONTROL_SEQUENCE_CTRL_MASK (0x700U)
  21119. #define CDOG_CONTROL_SEQUENCE_CTRL_SHIFT (8U)
  21120. /*! SEQUENCE_CTRL - SEQUENCE fault control
  21121. * 0b001..Enable reset
  21122. * 0b010..Enable interrupt
  21123. * 0b100..Disable both reset and interrupt
  21124. */
  21125. #define CDOG_CONTROL_SEQUENCE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_SEQUENCE_CTRL_SHIFT)) & CDOG_CONTROL_SEQUENCE_CTRL_MASK)
  21126. #define CDOG_CONTROL_CONTROL_CTRL_MASK (0x3800U)
  21127. #define CDOG_CONTROL_CONTROL_CTRL_SHIFT (11U)
  21128. /*! CONTROL_CTRL - CONTROL fault control
  21129. * 0b001..Enable reset
  21130. * 0b100..Disable reset
  21131. */
  21132. #define CDOG_CONTROL_CONTROL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_CONTROL_CTRL_SHIFT)) & CDOG_CONTROL_CONTROL_CTRL_MASK)
  21133. #define CDOG_CONTROL_STATE_CTRL_MASK (0x1C000U)
  21134. #define CDOG_CONTROL_STATE_CTRL_SHIFT (14U)
  21135. /*! STATE_CTRL - STATE fault control
  21136. * 0b001..Enable reset
  21137. * 0b010..Enable interrupt
  21138. * 0b100..Disable both reset and interrupt
  21139. */
  21140. #define CDOG_CONTROL_STATE_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_STATE_CTRL_SHIFT)) & CDOG_CONTROL_STATE_CTRL_MASK)
  21141. #define CDOG_CONTROL_ADDRESS_CTRL_MASK (0xE0000U)
  21142. #define CDOG_CONTROL_ADDRESS_CTRL_SHIFT (17U)
  21143. /*! ADDRESS_CTRL - ADDRESS fault control
  21144. * 0b001..Enable reset
  21145. * 0b010..Enable interrupt
  21146. * 0b100..Disable both reset and interrupt
  21147. */
  21148. #define CDOG_CONTROL_ADDRESS_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_ADDRESS_CTRL_SHIFT)) & CDOG_CONTROL_ADDRESS_CTRL_MASK)
  21149. #define CDOG_CONTROL_IRQ_PAUSE_MASK (0x30000000U)
  21150. #define CDOG_CONTROL_IRQ_PAUSE_SHIFT (28U)
  21151. /*! IRQ_PAUSE - IRQ pause control
  21152. * 0b01..Keep the timer running
  21153. * 0b10..Stop the timer
  21154. */
  21155. #define CDOG_CONTROL_IRQ_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_IRQ_PAUSE_SHIFT)) & CDOG_CONTROL_IRQ_PAUSE_MASK)
  21156. #define CDOG_CONTROL_DEBUG_HALT_CTRL_MASK (0xC0000000U)
  21157. #define CDOG_CONTROL_DEBUG_HALT_CTRL_SHIFT (30U)
  21158. /*! DEBUG_HALT_CTRL - DEBUG_HALT control
  21159. * 0b01..Keep the timer running
  21160. * 0b10..Stop the timer
  21161. */
  21162. #define CDOG_CONTROL_DEBUG_HALT_CTRL(x) (((uint32_t)(((uint32_t)(x)) << CDOG_CONTROL_DEBUG_HALT_CTRL_SHIFT)) & CDOG_CONTROL_DEBUG_HALT_CTRL_MASK)
  21163. /*! @} */
  21164. /*! @name RELOAD - Instruction Timer reload */
  21165. /*! @{ */
  21166. #define CDOG_RELOAD_RLOAD_MASK (0xFFFFFFFFU)
  21167. #define CDOG_RELOAD_RLOAD_SHIFT (0U)
  21168. /*! RLOAD - Instruction Timer reload value
  21169. */
  21170. #define CDOG_RELOAD_RLOAD(x) (((uint32_t)(((uint32_t)(x)) << CDOG_RELOAD_RLOAD_SHIFT)) & CDOG_RELOAD_RLOAD_MASK)
  21171. /*! @} */
  21172. /*! @name INSTRUCTION_TIMER - Instruction Timer */
  21173. /*! @{ */
  21174. #define CDOG_INSTRUCTION_TIMER_INSTIM_MASK (0xFFFFFFFFU)
  21175. #define CDOG_INSTRUCTION_TIMER_INSTIM_SHIFT (0U)
  21176. /*! INSTIM - Current value of the Instruction Timer
  21177. */
  21178. #define CDOG_INSTRUCTION_TIMER_INSTIM(x) (((uint32_t)(((uint32_t)(x)) << CDOG_INSTRUCTION_TIMER_INSTIM_SHIFT)) & CDOG_INSTRUCTION_TIMER_INSTIM_MASK)
  21179. /*! @} */
  21180. /*! @name SECURE_COUNTER - Secure Counter */
  21181. /*! @{ */
  21182. #define CDOG_SECURE_COUNTER_SECCNT_MASK (0xFFFFFFFFU)
  21183. #define CDOG_SECURE_COUNTER_SECCNT_SHIFT (0U)
  21184. /*! SECCNT - Secure Counter
  21185. */
  21186. #define CDOG_SECURE_COUNTER_SECCNT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SECURE_COUNTER_SECCNT_SHIFT)) & CDOG_SECURE_COUNTER_SECCNT_MASK)
  21187. /*! @} */
  21188. /*! @name STATUS - Status 1 */
  21189. /*! @{ */
  21190. #define CDOG_STATUS_NUMTOF_MASK (0xFFU)
  21191. #define CDOG_STATUS_NUMTOF_SHIFT (0U)
  21192. /*! NUMTOF - Number of TIMEOUT faults since the last POR
  21193. */
  21194. #define CDOG_STATUS_NUMTOF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMTOF_SHIFT)) & CDOG_STATUS_NUMTOF_MASK)
  21195. #define CDOG_STATUS_NUMMISCOMPF_MASK (0xFF00U)
  21196. #define CDOG_STATUS_NUMMISCOMPF_SHIFT (8U)
  21197. /*! NUMMISCOMPF - Number of MISCOMPARE faults since the last POR
  21198. */
  21199. #define CDOG_STATUS_NUMMISCOMPF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMMISCOMPF_SHIFT)) & CDOG_STATUS_NUMMISCOMPF_MASK)
  21200. #define CDOG_STATUS_NUMILSEQF_MASK (0xFF0000U)
  21201. #define CDOG_STATUS_NUMILSEQF_SHIFT (16U)
  21202. /*! NUMILSEQF - Number of SEQUENCE faults since the last POR
  21203. */
  21204. #define CDOG_STATUS_NUMILSEQF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_NUMILSEQF_SHIFT)) & CDOG_STATUS_NUMILSEQF_MASK)
  21205. #define CDOG_STATUS_CURST_MASK (0xF0000000U)
  21206. #define CDOG_STATUS_CURST_SHIFT (28U)
  21207. /*! CURST - Current State
  21208. */
  21209. #define CDOG_STATUS_CURST(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS_CURST_SHIFT)) & CDOG_STATUS_CURST_MASK)
  21210. /*! @} */
  21211. /*! @name STATUS2 - Status 2 */
  21212. /*! @{ */
  21213. #define CDOG_STATUS2_NUMCNTF_MASK (0xFFU)
  21214. #define CDOG_STATUS2_NUMCNTF_SHIFT (0U)
  21215. /*! NUMCNTF - Number of CONTROL faults since the last POR
  21216. */
  21217. #define CDOG_STATUS2_NUMCNTF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMCNTF_SHIFT)) & CDOG_STATUS2_NUMCNTF_MASK)
  21218. #define CDOG_STATUS2_NUMILLSTF_MASK (0xFF00U)
  21219. #define CDOG_STATUS2_NUMILLSTF_SHIFT (8U)
  21220. /*! NUMILLSTF - Number of STATE faults since the last POR
  21221. */
  21222. #define CDOG_STATUS2_NUMILLSTF(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMILLSTF_SHIFT)) & CDOG_STATUS2_NUMILLSTF_MASK)
  21223. #define CDOG_STATUS2_NUMILLA_MASK (0xFF0000U)
  21224. #define CDOG_STATUS2_NUMILLA_SHIFT (16U)
  21225. /*! NUMILLA - Number of ADDRESS faults since the last POR
  21226. */
  21227. #define CDOG_STATUS2_NUMILLA(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STATUS2_NUMILLA_SHIFT)) & CDOG_STATUS2_NUMILLA_MASK)
  21228. /*! @} */
  21229. /*! @name FLAGS - Flags */
  21230. /*! @{ */
  21231. #define CDOG_FLAGS_TO_FLAG_MASK (0x1U)
  21232. #define CDOG_FLAGS_TO_FLAG_SHIFT (0U)
  21233. /*! TO_FLAG - TIMEOUT fault flag
  21234. * 0b0..A TIMEOUT fault has not occurred
  21235. * 0b1..A TIMEOUT fault has occurred
  21236. */
  21237. #define CDOG_FLAGS_TO_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_TO_FLAG_SHIFT)) & CDOG_FLAGS_TO_FLAG_MASK)
  21238. #define CDOG_FLAGS_MISCOM_FLAG_MASK (0x2U)
  21239. #define CDOG_FLAGS_MISCOM_FLAG_SHIFT (1U)
  21240. /*! MISCOM_FLAG - MISCOMPARE fault flag
  21241. * 0b0..A MISCOMPARE fault has not occurred
  21242. * 0b1..A MISCOMPARE fault has occurred
  21243. */
  21244. #define CDOG_FLAGS_MISCOM_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_MISCOM_FLAG_SHIFT)) & CDOG_FLAGS_MISCOM_FLAG_MASK)
  21245. #define CDOG_FLAGS_SEQ_FLAG_MASK (0x4U)
  21246. #define CDOG_FLAGS_SEQ_FLAG_SHIFT (2U)
  21247. /*! SEQ_FLAG - SEQUENCE fault flag
  21248. * 0b0..A SEQUENCE fault has not occurred
  21249. * 0b1..A SEQUENCE fault has occurred
  21250. */
  21251. #define CDOG_FLAGS_SEQ_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_SEQ_FLAG_SHIFT)) & CDOG_FLAGS_SEQ_FLAG_MASK)
  21252. #define CDOG_FLAGS_CNT_FLAG_MASK (0x8U)
  21253. #define CDOG_FLAGS_CNT_FLAG_SHIFT (3U)
  21254. /*! CNT_FLAG - CONTROL fault flag
  21255. * 0b0..A CONTROL fault has not occurred
  21256. * 0b1..A CONTROL fault has occurred
  21257. */
  21258. #define CDOG_FLAGS_CNT_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_CNT_FLAG_SHIFT)) & CDOG_FLAGS_CNT_FLAG_MASK)
  21259. #define CDOG_FLAGS_STATE_FLAG_MASK (0x10U)
  21260. #define CDOG_FLAGS_STATE_FLAG_SHIFT (4U)
  21261. /*! STATE_FLAG - STATE fault flag
  21262. * 0b0..A STATE fault has not occurred
  21263. * 0b1..A STATE fault has occurred
  21264. */
  21265. #define CDOG_FLAGS_STATE_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_STATE_FLAG_SHIFT)) & CDOG_FLAGS_STATE_FLAG_MASK)
  21266. #define CDOG_FLAGS_ADDR_FLAG_MASK (0x20U)
  21267. #define CDOG_FLAGS_ADDR_FLAG_SHIFT (5U)
  21268. /*! ADDR_FLAG - ADDRESS fault flag
  21269. * 0b0..An ADDRESS fault has not occurred
  21270. * 0b1..An ADDRESS fault has occurred
  21271. */
  21272. #define CDOG_FLAGS_ADDR_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_ADDR_FLAG_SHIFT)) & CDOG_FLAGS_ADDR_FLAG_MASK)
  21273. #define CDOG_FLAGS_POR_FLAG_MASK (0x10000U)
  21274. #define CDOG_FLAGS_POR_FLAG_SHIFT (16U)
  21275. /*! POR_FLAG - Power-on reset flag
  21276. * 0b0..A Power-on reset event has not occurred
  21277. * 0b1..A Power-on reset event has occurred
  21278. */
  21279. #define CDOG_FLAGS_POR_FLAG(x) (((uint32_t)(((uint32_t)(x)) << CDOG_FLAGS_POR_FLAG_SHIFT)) & CDOG_FLAGS_POR_FLAG_MASK)
  21280. /*! @} */
  21281. /*! @name PERSISTENT - Persistent Data Storage */
  21282. /*! @{ */
  21283. #define CDOG_PERSISTENT_PERSIS_MASK (0xFFFFFFFFU)
  21284. #define CDOG_PERSISTENT_PERSIS_SHIFT (0U)
  21285. /*! PERSIS - Persistent Storage
  21286. */
  21287. #define CDOG_PERSISTENT_PERSIS(x) (((uint32_t)(((uint32_t)(x)) << CDOG_PERSISTENT_PERSIS_SHIFT)) & CDOG_PERSISTENT_PERSIS_MASK)
  21288. /*! @} */
  21289. /*! @name START - START Command */
  21290. /*! @{ */
  21291. #define CDOG_START_STRT_MASK (0xFFFFFFFFU)
  21292. #define CDOG_START_STRT_SHIFT (0U)
  21293. /*! STRT - Start command
  21294. */
  21295. #define CDOG_START_STRT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_START_STRT_SHIFT)) & CDOG_START_STRT_MASK)
  21296. /*! @} */
  21297. /*! @name STOP - STOP Command */
  21298. /*! @{ */
  21299. #define CDOG_STOP_STP_MASK (0xFFFFFFFFU)
  21300. #define CDOG_STOP_STP_SHIFT (0U)
  21301. /*! STP - Stop command
  21302. */
  21303. #define CDOG_STOP_STP(x) (((uint32_t)(((uint32_t)(x)) << CDOG_STOP_STP_SHIFT)) & CDOG_STOP_STP_MASK)
  21304. /*! @} */
  21305. /*! @name RESTART - RESTART Command */
  21306. /*! @{ */
  21307. #define CDOG_RESTART_RSTRT_MASK (0xFFFFFFFFU)
  21308. #define CDOG_RESTART_RSTRT_SHIFT (0U)
  21309. /*! RSTRT - Restart command
  21310. */
  21311. #define CDOG_RESTART_RSTRT(x) (((uint32_t)(((uint32_t)(x)) << CDOG_RESTART_RSTRT_SHIFT)) & CDOG_RESTART_RSTRT_MASK)
  21312. /*! @} */
  21313. /*! @name ADD - ADD Command */
  21314. /*! @{ */
  21315. #define CDOG_ADD_AD_MASK (0xFFFFFFFFU)
  21316. #define CDOG_ADD_AD_SHIFT (0U)
  21317. /*! AD - ADD Write Value
  21318. */
  21319. #define CDOG_ADD_AD(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD_AD_SHIFT)) & CDOG_ADD_AD_MASK)
  21320. /*! @} */
  21321. /*! @name ADD1 - ADD1 Command */
  21322. /*! @{ */
  21323. #define CDOG_ADD1_AD1_MASK (0xFFFFFFFFU)
  21324. #define CDOG_ADD1_AD1_SHIFT (0U)
  21325. /*! AD1 - ADD 1
  21326. */
  21327. #define CDOG_ADD1_AD1(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD1_AD1_SHIFT)) & CDOG_ADD1_AD1_MASK)
  21328. /*! @} */
  21329. /*! @name ADD16 - ADD16 Command */
  21330. /*! @{ */
  21331. #define CDOG_ADD16_AD16_MASK (0xFFFFFFFFU)
  21332. #define CDOG_ADD16_AD16_SHIFT (0U)
  21333. /*! AD16 - ADD 16
  21334. */
  21335. #define CDOG_ADD16_AD16(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD16_AD16_SHIFT)) & CDOG_ADD16_AD16_MASK)
  21336. /*! @} */
  21337. /*! @name ADD256 - ADD256 Command */
  21338. /*! @{ */
  21339. #define CDOG_ADD256_AD256_MASK (0xFFFFFFFFU)
  21340. #define CDOG_ADD256_AD256_SHIFT (0U)
  21341. /*! AD256 - ADD 256
  21342. */
  21343. #define CDOG_ADD256_AD256(x) (((uint32_t)(((uint32_t)(x)) << CDOG_ADD256_AD256_SHIFT)) & CDOG_ADD256_AD256_MASK)
  21344. /*! @} */
  21345. /*! @name SUB - SUB Command */
  21346. /*! @{ */
  21347. #define CDOG_SUB_S0B_MASK (0xFFFFFFFFU)
  21348. #define CDOG_SUB_S0B_SHIFT (0U)
  21349. /*! S0B - Subtract Write Value
  21350. */
  21351. #define CDOG_SUB_S0B(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB_S0B_SHIFT)) & CDOG_SUB_S0B_MASK)
  21352. /*! @} */
  21353. /*! @name SUB1 - SUB1 Command */
  21354. /*! @{ */
  21355. #define CDOG_SUB1_S1B_MASK (0xFFFFFFFFU)
  21356. #define CDOG_SUB1_S1B_SHIFT (0U)
  21357. /*! S1B - Subtract 1
  21358. */
  21359. #define CDOG_SUB1_S1B(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB1_S1B_SHIFT)) & CDOG_SUB1_S1B_MASK)
  21360. /*! @} */
  21361. /*! @name SUB16 - SUB16 Command */
  21362. /*! @{ */
  21363. #define CDOG_SUB16_SB16_MASK (0xFFFFFFFFU)
  21364. #define CDOG_SUB16_SB16_SHIFT (0U)
  21365. /*! SB16 - Subtract 16
  21366. */
  21367. #define CDOG_SUB16_SB16(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB16_SB16_SHIFT)) & CDOG_SUB16_SB16_MASK)
  21368. /*! @} */
  21369. /*! @name SUB256 - SUB256 Command */
  21370. /*! @{ */
  21371. #define CDOG_SUB256_SB256_MASK (0xFFFFFFFFU)
  21372. #define CDOG_SUB256_SB256_SHIFT (0U)
  21373. /*! SB256 - Subtract 256
  21374. */
  21375. #define CDOG_SUB256_SB256(x) (((uint32_t)(((uint32_t)(x)) << CDOG_SUB256_SB256_SHIFT)) & CDOG_SUB256_SB256_MASK)
  21376. /*! @} */
  21377. /*!
  21378. * @}
  21379. */ /* end of group CDOG_Register_Masks */
  21380. /* CDOG - Peripheral instance base addresses */
  21381. /** Peripheral CDOG base address */
  21382. #define CDOG_BASE (0x41900000u)
  21383. /** Peripheral CDOG base pointer */
  21384. #define CDOG ((CDOG_Type *)CDOG_BASE)
  21385. /** Array initializer of CDOG peripheral base addresses */
  21386. #define CDOG_BASE_ADDRS { CDOG_BASE }
  21387. /** Array initializer of CDOG peripheral base pointers */
  21388. #define CDOG_BASE_PTRS { CDOG }
  21389. /*!
  21390. * @}
  21391. */ /* end of group CDOG_Peripheral_Access_Layer */
  21392. /* ----------------------------------------------------------------------------
  21393. -- CMP Peripheral Access Layer
  21394. ---------------------------------------------------------------------------- */
  21395. /*!
  21396. * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
  21397. * @{
  21398. */
  21399. /** CMP - Register Layout Typedef */
  21400. typedef struct {
  21401. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  21402. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  21403. __IO uint32_t C0; /**< CMP Control Register 0, offset: 0x8 */
  21404. __IO uint32_t C1; /**< CMP Control Register 1, offset: 0xC */
  21405. __IO uint32_t C2; /**< CMP Control Register 2, offset: 0x10 */
  21406. __IO uint32_t C3; /**< CMP Control Register 3, offset: 0x14 */
  21407. } CMP_Type;
  21408. /* ----------------------------------------------------------------------------
  21409. -- CMP Register Masks
  21410. ---------------------------------------------------------------------------- */
  21411. /*!
  21412. * @addtogroup CMP_Register_Masks CMP Register Masks
  21413. * @{
  21414. */
  21415. /*! @name VERID - Version ID Register */
  21416. /*! @{ */
  21417. #define CMP_VERID_FEATURE_MASK (0xFFFFU)
  21418. #define CMP_VERID_FEATURE_SHIFT (0U)
  21419. /*! FEATURE - Feature Specification Number. This read only filed returns the feature set number.
  21420. */
  21421. #define CMP_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_FEATURE_SHIFT)) & CMP_VERID_FEATURE_MASK)
  21422. #define CMP_VERID_MINOR_MASK (0xFF0000U)
  21423. #define CMP_VERID_MINOR_SHIFT (16U)
  21424. /*! MINOR - Minor Version Number. This read only field returns the minor version number for the module specification.
  21425. */
  21426. #define CMP_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MINOR_SHIFT)) & CMP_VERID_MINOR_MASK)
  21427. #define CMP_VERID_MAJOR_MASK (0xFF000000U)
  21428. #define CMP_VERID_MAJOR_SHIFT (24U)
  21429. /*! MAJOR - Major Version Number. This read only field returns the major version number for the module specification.
  21430. */
  21431. #define CMP_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << CMP_VERID_MAJOR_SHIFT)) & CMP_VERID_MAJOR_MASK)
  21432. /*! @} */
  21433. /*! @name PARAM - Parameter Register */
  21434. /*! @{ */
  21435. #define CMP_PARAM_PARAM_MASK (0xFFFFFFFFU)
  21436. #define CMP_PARAM_PARAM_SHIFT (0U)
  21437. /*! PARAM - Parameter Registers. This read only filed returns the feature parameters implemented along with the Version ID register.
  21438. */
  21439. #define CMP_PARAM_PARAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_PARAM_PARAM_SHIFT)) & CMP_PARAM_PARAM_MASK)
  21440. /*! @} */
  21441. /*! @name C0 - CMP Control Register 0 */
  21442. /*! @{ */
  21443. #define CMP_C0_HYSTCTR_MASK (0x3U)
  21444. #define CMP_C0_HYSTCTR_SHIFT (0U)
  21445. /*! HYSTCTR - Comparator hard block hysteresis control. See chip data sheet to get the actual hystersis value with each level
  21446. * 0b00..The hard block output has level 0 hysteresis internally.
  21447. * 0b01..The hard block output has level 1 hysteresis internally.
  21448. * 0b10..The hard block output has level 2 hysteresis internally.
  21449. * 0b11..The hard block output has level 3 hysteresis internally.
  21450. */
  21451. #define CMP_C0_HYSTCTR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_HYSTCTR_SHIFT)) & CMP_C0_HYSTCTR_MASK)
  21452. #define CMP_C0_FILTER_CNT_MASK (0x70U)
  21453. #define CMP_C0_FILTER_CNT_SHIFT (4U)
  21454. /*! FILTER_CNT - Filter Sample Count
  21455. * 0b000..Filter is disabled. If SE = 1, then COUT is a logic zero (this is not a legal state, and is not recommended). If SE = 0, COUT = COUTA.
  21456. * 0b001..1 consecutive sample must agree (comparator output is simply sampled).
  21457. * 0b010..2 consecutive samples must agree.
  21458. * 0b011..3 consecutive samples must agree.
  21459. * 0b100..4 consecutive samples must agree.
  21460. * 0b101..5 consecutive samples must agree.
  21461. * 0b110..6 consecutive samples must agree.
  21462. * 0b111..7 consecutive samples must agree.
  21463. */
  21464. #define CMP_C0_FILTER_CNT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FILTER_CNT_SHIFT)) & CMP_C0_FILTER_CNT_MASK)
  21465. #define CMP_C0_EN_MASK (0x100U)
  21466. #define CMP_C0_EN_SHIFT (8U)
  21467. /*! EN - Comparator Module Enable
  21468. * 0b0..Analog Comparator is disabled.
  21469. * 0b1..Analog Comparator is enabled.
  21470. */
  21471. #define CMP_C0_EN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_EN_SHIFT)) & CMP_C0_EN_MASK)
  21472. #define CMP_C0_OPE_MASK (0x200U)
  21473. #define CMP_C0_OPE_SHIFT (9U)
  21474. /*! OPE - Comparator Output Pin Enable
  21475. * 0b0..When OPE is 0, the comparator output (after window/filter settings dependent on software configuration) is not available to a packaged pin.
  21476. * 0b1..When OPE is 1, and if the software has configured the comparator to own a packaged pin, the comparator is available in a packaged pin.
  21477. */
  21478. #define CMP_C0_OPE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_OPE_SHIFT)) & CMP_C0_OPE_MASK)
  21479. #define CMP_C0_COS_MASK (0x400U)
  21480. #define CMP_C0_COS_SHIFT (10U)
  21481. /*! COS - Comparator Output Select
  21482. * 0b0..Set CMPO to equal COUT (filtered comparator output).
  21483. * 0b1..Set CMPO to equal COUTA (unfiltered comparator output).
  21484. */
  21485. #define CMP_C0_COS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COS_SHIFT)) & CMP_C0_COS_MASK)
  21486. #define CMP_C0_INVT_MASK (0x800U)
  21487. #define CMP_C0_INVT_SHIFT (11U)
  21488. /*! INVT - Comparator invert
  21489. * 0b0..Does not invert the comparator output.
  21490. * 0b1..Inverts the comparator output.
  21491. */
  21492. #define CMP_C0_INVT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_INVT_SHIFT)) & CMP_C0_INVT_MASK)
  21493. #define CMP_C0_PMODE_MASK (0x1000U)
  21494. #define CMP_C0_PMODE_SHIFT (12U)
  21495. /*! PMODE - Power Mode Select
  21496. * 0b0..Low Speed (LS) comparison mode is selected.
  21497. * 0b1..High Speed (HS) comparison mode is selected.
  21498. */
  21499. #define CMP_C0_PMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_PMODE_SHIFT)) & CMP_C0_PMODE_MASK)
  21500. #define CMP_C0_WE_MASK (0x4000U)
  21501. #define CMP_C0_WE_SHIFT (14U)
  21502. /*! WE - Windowing Enable
  21503. * 0b0..Windowing mode is not selected.
  21504. * 0b1..Windowing mode is selected.
  21505. */
  21506. #define CMP_C0_WE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_WE_SHIFT)) & CMP_C0_WE_MASK)
  21507. #define CMP_C0_SE_MASK (0x8000U)
  21508. #define CMP_C0_SE_SHIFT (15U)
  21509. /*! SE - Sample Enable
  21510. * 0b0..Sampling mode is not selected.
  21511. * 0b1..Sampling mode is selected.
  21512. */
  21513. #define CMP_C0_SE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_SE_SHIFT)) & CMP_C0_SE_MASK)
  21514. #define CMP_C0_FPR_MASK (0xFF0000U)
  21515. #define CMP_C0_FPR_SHIFT (16U)
  21516. /*! FPR - Filter Sample Period
  21517. */
  21518. #define CMP_C0_FPR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_FPR_SHIFT)) & CMP_C0_FPR_MASK)
  21519. #define CMP_C0_COUT_MASK (0x1000000U)
  21520. #define CMP_C0_COUT_SHIFT (24U)
  21521. /*! COUT - Analog Comparator Output
  21522. */
  21523. #define CMP_C0_COUT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_COUT_SHIFT)) & CMP_C0_COUT_MASK)
  21524. #define CMP_C0_CFF_MASK (0x2000000U)
  21525. #define CMP_C0_CFF_SHIFT (25U)
  21526. /*! CFF - Analog Comparator Flag Falling
  21527. * 0b0..A falling edge has not been detected on COUT.
  21528. * 0b1..A falling edge on COUT has occurred.
  21529. */
  21530. #define CMP_C0_CFF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFF_SHIFT)) & CMP_C0_CFF_MASK)
  21531. #define CMP_C0_CFR_MASK (0x4000000U)
  21532. #define CMP_C0_CFR_SHIFT (26U)
  21533. /*! CFR - Analog Comparator Flag Rising
  21534. * 0b0..A rising edge has not been detected on COUT.
  21535. * 0b1..A rising edge on COUT has occurred.
  21536. */
  21537. #define CMP_C0_CFR(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_CFR_SHIFT)) & CMP_C0_CFR_MASK)
  21538. #define CMP_C0_IEF_MASK (0x8000000U)
  21539. #define CMP_C0_IEF_SHIFT (27U)
  21540. /*! IEF - Comparator Interrupt Enable Falling
  21541. * 0b0..Interrupt is disabled.
  21542. * 0b1..Interrupt is enabled.
  21543. */
  21544. #define CMP_C0_IEF(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IEF_SHIFT)) & CMP_C0_IEF_MASK)
  21545. #define CMP_C0_IER_MASK (0x10000000U)
  21546. #define CMP_C0_IER_SHIFT (28U)
  21547. /*! IER - Comparator Interrupt Enable Rising
  21548. * 0b0..Interrupt is disabled.
  21549. * 0b1..Interrupt is enabled.
  21550. */
  21551. #define CMP_C0_IER(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_IER_SHIFT)) & CMP_C0_IER_MASK)
  21552. #define CMP_C0_DMAEN_MASK (0x40000000U)
  21553. #define CMP_C0_DMAEN_SHIFT (30U)
  21554. /*! DMAEN - DMA Enable
  21555. * 0b0..DMA is disabled.
  21556. * 0b1..DMA is enabled.
  21557. */
  21558. #define CMP_C0_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_DMAEN_SHIFT)) & CMP_C0_DMAEN_MASK)
  21559. #define CMP_C0_LINKEN_MASK (0x80000000U)
  21560. #define CMP_C0_LINKEN_SHIFT (31U)
  21561. /*! LINKEN - CMP to DAC link enable.
  21562. * 0b0..CMP to DAC link is disabled
  21563. * 0b1..CMP to DAC link is enabled.
  21564. */
  21565. #define CMP_C0_LINKEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C0_LINKEN_SHIFT)) & CMP_C0_LINKEN_MASK)
  21566. /*! @} */
  21567. /*! @name C1 - CMP Control Register 1 */
  21568. /*! @{ */
  21569. #define CMP_C1_VOSEL_MASK (0xFFU)
  21570. #define CMP_C1_VOSEL_SHIFT (0U)
  21571. /*! VOSEL - DAC Output Voltage Select
  21572. */
  21573. #define CMP_C1_VOSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VOSEL_SHIFT)) & CMP_C1_VOSEL_MASK)
  21574. #define CMP_C1_DMODE_MASK (0x100U)
  21575. #define CMP_C1_DMODE_SHIFT (8U)
  21576. /*! DMODE - DAC Mode Selection
  21577. * 0b0..DAC is selected to work in low speed and low power mode.
  21578. * 0b1..DAC is selected to work in high speed high power mode.
  21579. */
  21580. #define CMP_C1_DMODE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DMODE_SHIFT)) & CMP_C1_DMODE_MASK)
  21581. #define CMP_C1_VRSEL_MASK (0x200U)
  21582. #define CMP_C1_VRSEL_SHIFT (9U)
  21583. /*! VRSEL - Supply Voltage Reference Source Select
  21584. * 0b0..Vin1 is selected as resistor ladder network supply reference Vin. Vin1 is from internal PMC.
  21585. * 0b1..Vin2 is selected as resistor ladder network supply reference Vin. Vin2 is from PAD.
  21586. */
  21587. #define CMP_C1_VRSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_VRSEL_SHIFT)) & CMP_C1_VRSEL_MASK)
  21588. #define CMP_C1_DACEN_MASK (0x400U)
  21589. #define CMP_C1_DACEN_SHIFT (10U)
  21590. /*! DACEN - DAC Enable
  21591. * 0b0..DAC is disabled.
  21592. * 0b1..DAC is enabled.
  21593. */
  21594. #define CMP_C1_DACEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_DACEN_SHIFT)) & CMP_C1_DACEN_MASK)
  21595. #define CMP_C1_CHN0_MASK (0x10000U)
  21596. #define CMP_C1_CHN0_SHIFT (16U)
  21597. /*! CHN0 - Channel 0 input enable
  21598. */
  21599. #define CMP_C1_CHN0(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN0_SHIFT)) & CMP_C1_CHN0_MASK)
  21600. #define CMP_C1_CHN1_MASK (0x20000U)
  21601. #define CMP_C1_CHN1_SHIFT (17U)
  21602. /*! CHN1 - Channel 1 input enable
  21603. */
  21604. #define CMP_C1_CHN1(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN1_SHIFT)) & CMP_C1_CHN1_MASK)
  21605. #define CMP_C1_CHN2_MASK (0x40000U)
  21606. #define CMP_C1_CHN2_SHIFT (18U)
  21607. /*! CHN2 - Channel 2 input enable
  21608. */
  21609. #define CMP_C1_CHN2(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN2_SHIFT)) & CMP_C1_CHN2_MASK)
  21610. #define CMP_C1_CHN3_MASK (0x80000U)
  21611. #define CMP_C1_CHN3_SHIFT (19U)
  21612. /*! CHN3 - Channel 3 input enable
  21613. */
  21614. #define CMP_C1_CHN3(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN3_SHIFT)) & CMP_C1_CHN3_MASK)
  21615. #define CMP_C1_CHN4_MASK (0x100000U)
  21616. #define CMP_C1_CHN4_SHIFT (20U)
  21617. /*! CHN4 - Channel 4 input enable
  21618. */
  21619. #define CMP_C1_CHN4(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN4_SHIFT)) & CMP_C1_CHN4_MASK)
  21620. #define CMP_C1_CHN5_MASK (0x200000U)
  21621. #define CMP_C1_CHN5_SHIFT (21U)
  21622. /*! CHN5 - Channel 5 input enable
  21623. */
  21624. #define CMP_C1_CHN5(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_CHN5_SHIFT)) & CMP_C1_CHN5_MASK)
  21625. #define CMP_C1_MSEL_MASK (0x7000000U)
  21626. #define CMP_C1_MSEL_SHIFT (24U)
  21627. /*! MSEL - Minus Input MUX Control
  21628. * 0b000..Internal Negative Input 0 for Minus Channel -- Internal Minus Input
  21629. * 0b001..External Input 1 for Minus Channel -- Reference Input 0
  21630. * 0b010..External Input 2 for Minus Channel -- Reference Input 1
  21631. * 0b011..External Input 3 for Minus Channel -- Reference Input 2
  21632. * 0b100..External Input 4 for Minus Channel -- Reference Input 3
  21633. * 0b101..External Input 5 for Minus Channel -- Reference Input 4
  21634. * 0b110..External Input 6 for Minus Channel -- Reference Input 5
  21635. * 0b111..Internal 8b DAC output
  21636. */
  21637. #define CMP_C1_MSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_MSEL_SHIFT)) & CMP_C1_MSEL_MASK)
  21638. #define CMP_C1_PSEL_MASK (0x70000000U)
  21639. #define CMP_C1_PSEL_SHIFT (28U)
  21640. /*! PSEL - Plus Input MUX Control
  21641. * 0b000..Internal Positive Input 0 for Plus Channel -- Internal Plus Input
  21642. * 0b001..External Input 1 for Plus Channel -- Reference Input 0
  21643. * 0b010..External Input 2 for Plus Channel -- Reference Input 1
  21644. * 0b011..External Input 3 for Plus Channel -- Reference Input 2
  21645. * 0b100..External Input 4 for Plus Channel -- Reference Input 3
  21646. * 0b101..External Input 5 for Plus Channel -- Reference Input 4
  21647. * 0b110..External Input 6 for Plus Channel -- Reference Input 5
  21648. * 0b111..Internal 8b DAC output
  21649. */
  21650. #define CMP_C1_PSEL(x) (((uint32_t)(((uint32_t)(x)) << CMP_C1_PSEL_SHIFT)) & CMP_C1_PSEL_MASK)
  21651. /*! @} */
  21652. /*! @name C2 - CMP Control Register 2 */
  21653. /*! @{ */
  21654. #define CMP_C2_ACOn_MASK (0x3FU)
  21655. #define CMP_C2_ACOn_SHIFT (0U)
  21656. /*! ACOn - ACOn
  21657. */
  21658. #define CMP_C2_ACOn(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_ACOn_SHIFT)) & CMP_C2_ACOn_MASK)
  21659. #define CMP_C2_INITMOD_MASK (0x3F00U)
  21660. #define CMP_C2_INITMOD_SHIFT (8U)
  21661. /*! INITMOD - Comparator and DAC initialization delay modulus.
  21662. */
  21663. #define CMP_C2_INITMOD(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_INITMOD_SHIFT)) & CMP_C2_INITMOD_MASK)
  21664. #define CMP_C2_NSAM_MASK (0xC000U)
  21665. #define CMP_C2_NSAM_SHIFT (14U)
  21666. /*! NSAM - Number of sample clocks
  21667. * 0b00..The comparison result is sampled as soon as the active channel is scanned in one round-robin clock.
  21668. * 0b01..The sampling takes place 1 round-robin clock cycle after the next cycle of the round-robin clock.
  21669. * 0b10..The sampling takes place 2 round-robin clock cycles after the next cycle of the round-robin clock.
  21670. * 0b11..The sampling takes place 3 round-robin clock cycles after the next cycle of the round-robin clock.
  21671. */
  21672. #define CMP_C2_NSAM(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_NSAM_SHIFT)) & CMP_C2_NSAM_MASK)
  21673. #define CMP_C2_CH0F_MASK (0x10000U)
  21674. #define CMP_C2_CH0F_SHIFT (16U)
  21675. /*! CH0F - CH0F
  21676. */
  21677. #define CMP_C2_CH0F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH0F_SHIFT)) & CMP_C2_CH0F_MASK)
  21678. #define CMP_C2_CH1F_MASK (0x20000U)
  21679. #define CMP_C2_CH1F_SHIFT (17U)
  21680. /*! CH1F - CH1F
  21681. */
  21682. #define CMP_C2_CH1F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH1F_SHIFT)) & CMP_C2_CH1F_MASK)
  21683. #define CMP_C2_CH2F_MASK (0x40000U)
  21684. #define CMP_C2_CH2F_SHIFT (18U)
  21685. /*! CH2F - CH2F
  21686. */
  21687. #define CMP_C2_CH2F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH2F_SHIFT)) & CMP_C2_CH2F_MASK)
  21688. #define CMP_C2_CH3F_MASK (0x80000U)
  21689. #define CMP_C2_CH3F_SHIFT (19U)
  21690. /*! CH3F - CH3F
  21691. */
  21692. #define CMP_C2_CH3F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH3F_SHIFT)) & CMP_C2_CH3F_MASK)
  21693. #define CMP_C2_CH4F_MASK (0x100000U)
  21694. #define CMP_C2_CH4F_SHIFT (20U)
  21695. /*! CH4F - CH4F
  21696. */
  21697. #define CMP_C2_CH4F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH4F_SHIFT)) & CMP_C2_CH4F_MASK)
  21698. #define CMP_C2_CH5F_MASK (0x200000U)
  21699. #define CMP_C2_CH5F_SHIFT (21U)
  21700. /*! CH5F - CH5F
  21701. */
  21702. #define CMP_C2_CH5F(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_CH5F_SHIFT)) & CMP_C2_CH5F_MASK)
  21703. #define CMP_C2_FXMXCH_MASK (0xE000000U)
  21704. #define CMP_C2_FXMXCH_SHIFT (25U)
  21705. /*! FXMXCH - Fixed channel selection
  21706. * 0b000..External Reference Input 0 is selected as the fixed reference input for the fixed mux port.
  21707. * 0b001..External Reference Input 1 is selected as the fixed reference input for the fixed mux port.
  21708. * 0b010..External Reference Input 2 is selected as the fixed reference input for the fixed mux port.
  21709. * 0b011..External Reference Input 3 is selected as the fixed reference input for the fixed mux port.
  21710. * 0b100..External Reference Input 4 is selected as the fixed reference input for the fixed mux port.
  21711. * 0b101..External Reference Input 5 is selected as the fixed reference input for the fixed mux port.
  21712. * 0b110..Reserved.
  21713. * 0b111..The 8bit DAC is selected as the fixed reference input for the fixed mux port.
  21714. */
  21715. #define CMP_C2_FXMXCH(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMXCH_SHIFT)) & CMP_C2_FXMXCH_MASK)
  21716. #define CMP_C2_FXMP_MASK (0x20000000U)
  21717. #define CMP_C2_FXMP_SHIFT (29U)
  21718. /*! FXMP - Fixed MUX Port
  21719. * 0b0..The Plus port is fixed. Only the inputs to the Minus port are swept in each round.
  21720. * 0b1..The Minus port is fixed. Only the inputs to the Plus port are swept in each round.
  21721. */
  21722. #define CMP_C2_FXMP(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_FXMP_SHIFT)) & CMP_C2_FXMP_MASK)
  21723. #define CMP_C2_RRIE_MASK (0x40000000U)
  21724. #define CMP_C2_RRIE_SHIFT (30U)
  21725. /*! RRIE - Round-Robin interrupt enable
  21726. * 0b0..The round-robin interrupt is disabled.
  21727. * 0b1..The round-robin interrupt is enabled when a comparison result changes from the last sample.
  21728. */
  21729. #define CMP_C2_RRIE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C2_RRIE_SHIFT)) & CMP_C2_RRIE_MASK)
  21730. /*! @} */
  21731. /*! @name C3 - CMP Control Register 3 */
  21732. /*! @{ */
  21733. #define CMP_C3_ACPH2TC_MASK (0x70U)
  21734. #define CMP_C3_ACPH2TC_SHIFT (4U)
  21735. /*! ACPH2TC - Analog Comparator Phase2 Timing Control.
  21736. * 0b000..Phase2 active time in one sampling period equals to T
  21737. * 0b001..Phase2 active time in one sampling period equals to 2*T
  21738. * 0b010..Phase2 active time in one sampling period equals to 4*T
  21739. * 0b011..Phase2 active time in one sampling period equals to 8*T
  21740. * 0b100..Phase2 active time in one sampling period equals to 16*T
  21741. * 0b101..Phase2 active time in one sampling period equals to 32*T
  21742. * 0b110..Phase2 active time in one sampling period equals to 64*T
  21743. * 0b111..Phase2 active time in one sampling period equals to 16*T
  21744. */
  21745. #define CMP_C3_ACPH2TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH2TC_SHIFT)) & CMP_C3_ACPH2TC_MASK)
  21746. #define CMP_C3_ACPH1TC_MASK (0x700U)
  21747. #define CMP_C3_ACPH1TC_SHIFT (8U)
  21748. /*! ACPH1TC - Analog Comparator Phase1 Timing Control.
  21749. * 0b000..Phase1 active time in one sampling period equals to T
  21750. * 0b001..Phase1 active time in one sampling period equals to 2*T
  21751. * 0b010..Phase1 active time in one sampling period equals to 4*T
  21752. * 0b011..Phase1 active time in one sampling period equals to 8*T
  21753. * 0b100..Phase1 active time in one sampling period equals to T
  21754. * 0b101..Phase1 active time in one sampling period equals to T
  21755. * 0b110..Phase1 active time in one sampling period equals to T
  21756. * 0b111..Phase1 active time in one sampling period equals to 0
  21757. */
  21758. #define CMP_C3_ACPH1TC(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACPH1TC_SHIFT)) & CMP_C3_ACPH1TC_MASK)
  21759. #define CMP_C3_ACSAT_MASK (0x7000U)
  21760. #define CMP_C3_ACSAT_SHIFT (12U)
  21761. /*! ACSAT - Analog Comparator Sampling Time control.
  21762. * 0b000..The sampling time equals to T
  21763. * 0b001..The sampling time equasl to 2*T
  21764. * 0b010..The sampling time equasl to 4*T
  21765. * 0b011..The sampling time equasl to 8*T
  21766. * 0b100..The sampling time equasl to 16*T
  21767. * 0b101..The sampling time equasl to 32*T
  21768. * 0b110..The sampling time equasl to 64*T
  21769. * 0b111..The sampling time equasl to 256*T
  21770. */
  21771. #define CMP_C3_ACSAT(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_ACSAT_SHIFT)) & CMP_C3_ACSAT_MASK)
  21772. #define CMP_C3_DMCS_MASK (0x10000U)
  21773. #define CMP_C3_DMCS_SHIFT (16U)
  21774. /*! DMCS - Discrete Mode Clock Selection
  21775. * 0b0..Slow clock is selected for the timing generation.
  21776. * 0b1..Fast clock is selected for the timing generation.
  21777. */
  21778. #define CMP_C3_DMCS(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_DMCS_SHIFT)) & CMP_C3_DMCS_MASK)
  21779. #define CMP_C3_RDIVE_MASK (0x100000U)
  21780. #define CMP_C3_RDIVE_SHIFT (20U)
  21781. /*! RDIVE - Resistor Divider Enable
  21782. * 0b0..The resistor is not enabled even when either NCHEN or PCHEN is set to1 but the actual input is in the range of 0 - 1.8v.
  21783. * 0b1..The resistor is enabled because the inputs are above 1.8v.
  21784. */
  21785. #define CMP_C3_RDIVE(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_RDIVE_SHIFT)) & CMP_C3_RDIVE_MASK)
  21786. #define CMP_C3_NCHCTEN_MASK (0x1000000U)
  21787. #define CMP_C3_NCHCTEN_SHIFT (24U)
  21788. /*! NCHCTEN - Negative Channel Continuous Mode Enable.
  21789. * 0b0..Negative channel is in Discrete Mode and special timing needs to be configured.
  21790. * 0b1..Negative channel is in Continuous Mode and no special timing is requried.
  21791. */
  21792. #define CMP_C3_NCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_NCHCTEN_SHIFT)) & CMP_C3_NCHCTEN_MASK)
  21793. #define CMP_C3_PCHCTEN_MASK (0x10000000U)
  21794. #define CMP_C3_PCHCTEN_SHIFT (28U)
  21795. /*! PCHCTEN - Positive Channel Continuous Mode Enable.
  21796. * 0b0..Positive channel is in Discrete Mode and special timing needs to be configured.
  21797. * 0b1..Positive channel is in Continuous Mode and no special timing is requried.
  21798. */
  21799. #define CMP_C3_PCHCTEN(x) (((uint32_t)(((uint32_t)(x)) << CMP_C3_PCHCTEN_SHIFT)) & CMP_C3_PCHCTEN_MASK)
  21800. /*! @} */
  21801. /*!
  21802. * @}
  21803. */ /* end of group CMP_Register_Masks */
  21804. /* CMP - Peripheral instance base addresses */
  21805. /** Peripheral CMP1 base address */
  21806. #define CMP1_BASE (0x401A4000u)
  21807. /** Peripheral CMP1 base pointer */
  21808. #define CMP1 ((CMP_Type *)CMP1_BASE)
  21809. /** Peripheral CMP2 base address */
  21810. #define CMP2_BASE (0x401A8000u)
  21811. /** Peripheral CMP2 base pointer */
  21812. #define CMP2 ((CMP_Type *)CMP2_BASE)
  21813. /** Peripheral CMP3 base address */
  21814. #define CMP3_BASE (0x401AC000u)
  21815. /** Peripheral CMP3 base pointer */
  21816. #define CMP3 ((CMP_Type *)CMP3_BASE)
  21817. /** Peripheral CMP4 base address */
  21818. #define CMP4_BASE (0x401B0000u)
  21819. /** Peripheral CMP4 base pointer */
  21820. #define CMP4 ((CMP_Type *)CMP4_BASE)
  21821. /** Array initializer of CMP peripheral base addresses */
  21822. #define CMP_BASE_ADDRS { 0u, CMP1_BASE, CMP2_BASE, CMP3_BASE, CMP4_BASE }
  21823. /** Array initializer of CMP peripheral base pointers */
  21824. #define CMP_BASE_PTRS { (CMP_Type *)0u, CMP1, CMP2, CMP3, CMP4 }
  21825. /** Interrupt vectors for the CMP peripheral type */
  21826. #define CMP_IRQS { NotAvail_IRQn, ACMP1_IRQn, ACMP2_IRQn, ACMP3_IRQn, ACMP4_IRQn }
  21827. /*!
  21828. * @}
  21829. */ /* end of group CMP_Peripheral_Access_Layer */
  21830. /* ----------------------------------------------------------------------------
  21831. -- CSI Peripheral Access Layer
  21832. ---------------------------------------------------------------------------- */
  21833. /*!
  21834. * @addtogroup CSI_Peripheral_Access_Layer CSI Peripheral Access Layer
  21835. * @{
  21836. */
  21837. /** CSI - Register Layout Typedef */
  21838. typedef struct {
  21839. __IO uint32_t CR1; /**< CSI Control Register 1, offset: 0x0 */
  21840. __IO uint32_t CR2; /**< CSI Control Register 2, offset: 0x4 */
  21841. __IO uint32_t CR3; /**< CSI Control Register 3, offset: 0x8 */
  21842. __I uint32_t STATFIFO; /**< CSI Statistic FIFO Register, offset: 0xC */
  21843. __I uint32_t RFIFO; /**< CSI RX FIFO Register, offset: 0x10 */
  21844. __IO uint32_t RXCNT; /**< CSI RX Count Register, offset: 0x14 */
  21845. __IO uint32_t SR; /**< CSI Status Register, offset: 0x18 */
  21846. uint8_t RESERVED_0[4];
  21847. __IO uint32_t DMASA_STATFIFO; /**< CSI DMA Start Address Register - for STATFIFO, offset: 0x20 */
  21848. __IO uint32_t DMATS_STATFIFO; /**< CSI DMA Transfer Size Register - for STATFIFO, offset: 0x24 */
  21849. __IO uint32_t DMASA_FB1; /**< CSI DMA Start Address Register - for Frame Buffer1, offset: 0x28 */
  21850. __IO uint32_t DMASA_FB2; /**< CSI DMA Transfer Size Register - for Frame Buffer2, offset: 0x2C */
  21851. __IO uint32_t FBUF_PARA; /**< CSI Frame Buffer Parameter Register, offset: 0x30 */
  21852. __IO uint32_t IMAG_PARA; /**< CSI Image Parameter Register, offset: 0x34 */
  21853. uint8_t RESERVED_1[16];
  21854. __IO uint32_t CR18; /**< CSI Control Register 18, offset: 0x48 */
  21855. __IO uint32_t CR19; /**< CSI Control Register 19, offset: 0x4C */
  21856. __IO uint32_t CR20; /**< CSI Control Register 20, offset: 0x50 */
  21857. __IO uint32_t CR[256]; /**< CSI Control Register, array offset: 0x54, array step: 0x4 */
  21858. } CSI_Type;
  21859. /* ----------------------------------------------------------------------------
  21860. -- CSI Register Masks
  21861. ---------------------------------------------------------------------------- */
  21862. /*!
  21863. * @addtogroup CSI_Register_Masks CSI Register Masks
  21864. * @{
  21865. */
  21866. /*! @name CR1 - CSI Control Register 1 */
  21867. /*! @{ */
  21868. #define CSI_CR1_PIXEL_BIT_MASK (0x1U)
  21869. #define CSI_CR1_PIXEL_BIT_SHIFT (0U)
  21870. /*! PIXEL_BIT
  21871. * 0b0..8-bit data for each pixel
  21872. * 0b1..10-bit data for each pixel
  21873. */
  21874. #define CSI_CR1_PIXEL_BIT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_PIXEL_BIT_SHIFT)) & CSI_CR1_PIXEL_BIT_MASK)
  21875. #define CSI_CR1_REDGE_MASK (0x2U)
  21876. #define CSI_CR1_REDGE_SHIFT (1U)
  21877. /*! REDGE
  21878. * 0b0..Pixel data is latched at the falling edge of CSI_PIXCLK
  21879. * 0b1..Pixel data is latched at the rising edge of CSI_PIXCLK
  21880. */
  21881. #define CSI_CR1_REDGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_REDGE_SHIFT)) & CSI_CR1_REDGE_MASK)
  21882. #define CSI_CR1_INV_PCLK_MASK (0x4U)
  21883. #define CSI_CR1_INV_PCLK_SHIFT (2U)
  21884. /*! INV_PCLK
  21885. * 0b0..CSI_PIXCLK is directly applied to internal circuitry
  21886. * 0b1..CSI_PIXCLK is inverted before applied to internal circuitry
  21887. */
  21888. #define CSI_CR1_INV_PCLK(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_INV_PCLK_SHIFT)) & CSI_CR1_INV_PCLK_MASK)
  21889. #define CSI_CR1_INV_DATA_MASK (0x8U)
  21890. #define CSI_CR1_INV_DATA_SHIFT (3U)
  21891. /*! INV_DATA
  21892. * 0b0..CSI_D[7:0] data lines are directly applied to internal circuitry
  21893. * 0b1..CSI_D[7:0] data lines are inverted before applied to internal circuitry
  21894. */
  21895. #define CSI_CR1_INV_DATA(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_INV_DATA_SHIFT)) & CSI_CR1_INV_DATA_MASK)
  21896. #define CSI_CR1_GCLK_MODE_MASK (0x10U)
  21897. #define CSI_CR1_GCLK_MODE_SHIFT (4U)
  21898. /*! GCLK_MODE
  21899. * 0b0..Non-gated clock mode. All incoming pixel clocks are valid. HSYNC is ignored.
  21900. * 0b1..Gated clock mode. Pixel clock signal is valid only when HSYNC is active.
  21901. */
  21902. #define CSI_CR1_GCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_GCLK_MODE_SHIFT)) & CSI_CR1_GCLK_MODE_MASK)
  21903. #define CSI_CR1_CLR_RXFIFO_MASK (0x20U)
  21904. #define CSI_CR1_CLR_RXFIFO_SHIFT (5U)
  21905. #define CSI_CR1_CLR_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CLR_RXFIFO_SHIFT)) & CSI_CR1_CLR_RXFIFO_MASK)
  21906. #define CSI_CR1_CLR_STATFIFO_MASK (0x40U)
  21907. #define CSI_CR1_CLR_STATFIFO_SHIFT (6U)
  21908. #define CSI_CR1_CLR_STATFIFO(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CLR_STATFIFO_SHIFT)) & CSI_CR1_CLR_STATFIFO_MASK)
  21909. #define CSI_CR1_PACK_DIR_MASK (0x80U)
  21910. #define CSI_CR1_PACK_DIR_SHIFT (7U)
  21911. /*! PACK_DIR
  21912. * 0b0..Pack from LSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x44332211 in RX FIFO. For
  21913. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xBBBBAAAA in STAT FIFO.
  21914. * 0b1..Pack from MSB first. For image data, 0x11, 0x22, 0x33, 0x44, it will appear as 0x11223344 in RX FIFO. For
  21915. * stat data, 0xAAAA, 0xBBBB, it will appear as 0xAAAABBBB in STAT FIFO.
  21916. */
  21917. #define CSI_CR1_PACK_DIR(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_PACK_DIR_SHIFT)) & CSI_CR1_PACK_DIR_MASK)
  21918. #define CSI_CR1_FCC_MASK (0x100U)
  21919. #define CSI_CR1_FCC_SHIFT (8U)
  21920. /*! FCC
  21921. * 0b0..Asynchronous FIFO clear is selected.
  21922. * 0b1..Synchronous FIFO clear is selected.
  21923. */
  21924. #define CSI_CR1_FCC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_FCC_SHIFT)) & CSI_CR1_FCC_MASK)
  21925. #define CSI_CR1_CCIR_EN_MASK (0x400U)
  21926. #define CSI_CR1_CCIR_EN_SHIFT (10U)
  21927. /*! CCIR_EN
  21928. * 0b0..Traditional interface is selected.
  21929. * 0b1..BT.656 interface is selected.
  21930. */
  21931. #define CSI_CR1_CCIR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_CCIR_EN_SHIFT)) & CSI_CR1_CCIR_EN_MASK)
  21932. #define CSI_CR1_HSYNC_POL_MASK (0x800U)
  21933. #define CSI_CR1_HSYNC_POL_SHIFT (11U)
  21934. /*! HSYNC_POL
  21935. * 0b0..HSYNC is active low
  21936. * 0b1..HSYNC is active high
  21937. */
  21938. #define CSI_CR1_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_HSYNC_POL_SHIFT)) & CSI_CR1_HSYNC_POL_MASK)
  21939. #define CSI_CR1_HISTOGRAM_CALC_DONE_IE_MASK (0x1000U)
  21940. #define CSI_CR1_HISTOGRAM_CALC_DONE_IE_SHIFT (12U)
  21941. /*! HISTOGRAM_CALC_DONE_IE
  21942. * 0b0..Histogram done interrupt disable
  21943. * 0b1..Histogram done interrupt enable
  21944. */
  21945. #define CSI_CR1_HISTOGRAM_CALC_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_HISTOGRAM_CALC_DONE_IE_SHIFT)) & CSI_CR1_HISTOGRAM_CALC_DONE_IE_MASK)
  21946. #define CSI_CR1_SOF_INTEN_MASK (0x10000U)
  21947. #define CSI_CR1_SOF_INTEN_SHIFT (16U)
  21948. /*! SOF_INTEN
  21949. * 0b0..SOF interrupt disable
  21950. * 0b1..SOF interrupt enable
  21951. */
  21952. #define CSI_CR1_SOF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SOF_INTEN_SHIFT)) & CSI_CR1_SOF_INTEN_MASK)
  21953. #define CSI_CR1_SOF_POL_MASK (0x20000U)
  21954. #define CSI_CR1_SOF_POL_SHIFT (17U)
  21955. /*! SOF_POL
  21956. * 0b0..SOF interrupt is generated on SOF falling edge
  21957. * 0b1..SOF interrupt is generated on SOF rising edge
  21958. */
  21959. #define CSI_CR1_SOF_POL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SOF_POL_SHIFT)) & CSI_CR1_SOF_POL_MASK)
  21960. #define CSI_CR1_RXFF_INTEN_MASK (0x40000U)
  21961. #define CSI_CR1_RXFF_INTEN_SHIFT (18U)
  21962. /*! RXFF_INTEN
  21963. * 0b0..RxFIFO full interrupt disable
  21964. * 0b1..RxFIFO full interrupt enable
  21965. */
  21966. #define CSI_CR1_RXFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_RXFF_INTEN_SHIFT)) & CSI_CR1_RXFF_INTEN_MASK)
  21967. #define CSI_CR1_FB1_DMA_DONE_INTEN_MASK (0x80000U)
  21968. #define CSI_CR1_FB1_DMA_DONE_INTEN_SHIFT (19U)
  21969. /*! FB1_DMA_DONE_INTEN
  21970. * 0b0..Frame Buffer1 DMA Transfer Done interrupt disable
  21971. * 0b1..Frame Buffer1 DMA Transfer Done interrupt enable
  21972. */
  21973. #define CSI_CR1_FB1_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_FB1_DMA_DONE_INTEN_SHIFT)) & CSI_CR1_FB1_DMA_DONE_INTEN_MASK)
  21974. #define CSI_CR1_FB2_DMA_DONE_INTEN_MASK (0x100000U)
  21975. #define CSI_CR1_FB2_DMA_DONE_INTEN_SHIFT (20U)
  21976. /*! FB2_DMA_DONE_INTEN
  21977. * 0b0..Frame Buffer2 DMA Transfer Done interrupt disable
  21978. * 0b1..Frame Buffer2 DMA Transfer Done interrupt enable
  21979. */
  21980. #define CSI_CR1_FB2_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_FB2_DMA_DONE_INTEN_SHIFT)) & CSI_CR1_FB2_DMA_DONE_INTEN_MASK)
  21981. #define CSI_CR1_STATFF_INTEN_MASK (0x200000U)
  21982. #define CSI_CR1_STATFF_INTEN_SHIFT (21U)
  21983. /*! STATFF_INTEN
  21984. * 0b0..STATFIFO full interrupt disable
  21985. * 0b1..STATFIFO full interrupt enable
  21986. */
  21987. #define CSI_CR1_STATFF_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_STATFF_INTEN_SHIFT)) & CSI_CR1_STATFF_INTEN_MASK)
  21988. #define CSI_CR1_SFF_DMA_DONE_INTEN_MASK (0x400000U)
  21989. #define CSI_CR1_SFF_DMA_DONE_INTEN_SHIFT (22U)
  21990. /*! SFF_DMA_DONE_INTEN
  21991. * 0b0..STATFIFO DMA Transfer Done interrupt disable
  21992. * 0b1..STATFIFO DMA Transfer Done interrupt enable
  21993. */
  21994. #define CSI_CR1_SFF_DMA_DONE_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SFF_DMA_DONE_INTEN_SHIFT)) & CSI_CR1_SFF_DMA_DONE_INTEN_MASK)
  21995. #define CSI_CR1_RF_OR_INTEN_MASK (0x1000000U)
  21996. #define CSI_CR1_RF_OR_INTEN_SHIFT (24U)
  21997. /*! RF_OR_INTEN
  21998. * 0b0..RxFIFO overrun interrupt is disabled
  21999. * 0b1..RxFIFO overrun interrupt is enabled
  22000. */
  22001. #define CSI_CR1_RF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_RF_OR_INTEN_SHIFT)) & CSI_CR1_RF_OR_INTEN_MASK)
  22002. #define CSI_CR1_SF_OR_INTEN_MASK (0x2000000U)
  22003. #define CSI_CR1_SF_OR_INTEN_SHIFT (25U)
  22004. /*! SF_OR_INTEN
  22005. * 0b0..STATFIFO overrun interrupt is disabled
  22006. * 0b1..STATFIFO overrun interrupt is enabled
  22007. */
  22008. #define CSI_CR1_SF_OR_INTEN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SF_OR_INTEN_SHIFT)) & CSI_CR1_SF_OR_INTEN_MASK)
  22009. #define CSI_CR1_COF_INT_EN_MASK (0x4000000U)
  22010. #define CSI_CR1_COF_INT_EN_SHIFT (26U)
  22011. /*! COF_INT_EN
  22012. * 0b0..COF interrupt is disabled
  22013. * 0b1..COF interrupt is enabled
  22014. */
  22015. #define CSI_CR1_COF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_COF_INT_EN_SHIFT)) & CSI_CR1_COF_INT_EN_MASK)
  22016. #define CSI_CR1_VIDEO_MODE_MASK (0x8000000U)
  22017. #define CSI_CR1_VIDEO_MODE_SHIFT (27U)
  22018. /*! VIDEO_MODE
  22019. * 0b0..Progressive mode is selected
  22020. * 0b1..Interlace mode is selected
  22021. */
  22022. #define CSI_CR1_VIDEO_MODE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_VIDEO_MODE_SHIFT)) & CSI_CR1_VIDEO_MODE_MASK)
  22023. #define CSI_CR1_EOF_INT_EN_MASK (0x20000000U)
  22024. #define CSI_CR1_EOF_INT_EN_SHIFT (29U)
  22025. /*! EOF_INT_EN
  22026. * 0b0..EOF interrupt is disabled.
  22027. * 0b1..EOF interrupt is generated when RX count value is reached.
  22028. */
  22029. #define CSI_CR1_EOF_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_EOF_INT_EN_SHIFT)) & CSI_CR1_EOF_INT_EN_MASK)
  22030. #define CSI_CR1_EXT_VSYNC_MASK (0x40000000U)
  22031. #define CSI_CR1_EXT_VSYNC_SHIFT (30U)
  22032. /*! EXT_VSYNC
  22033. * 0b0..Internal VSYNC mode
  22034. * 0b1..External VSYNC mode
  22035. */
  22036. #define CSI_CR1_EXT_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_EXT_VSYNC_SHIFT)) & CSI_CR1_EXT_VSYNC_MASK)
  22037. #define CSI_CR1_SWAP16_EN_MASK (0x80000000U)
  22038. #define CSI_CR1_SWAP16_EN_SHIFT (31U)
  22039. /*! SWAP16_EN
  22040. * 0b0..Disable swapping
  22041. * 0b1..Enable swapping
  22042. */
  22043. #define CSI_CR1_SWAP16_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR1_SWAP16_EN_SHIFT)) & CSI_CR1_SWAP16_EN_MASK)
  22044. /*! @} */
  22045. /*! @name CR2 - CSI Control Register 2 */
  22046. /*! @{ */
  22047. #define CSI_CR2_HSC_MASK (0xFFU)
  22048. #define CSI_CR2_HSC_SHIFT (0U)
  22049. #define CSI_CR2_HSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_HSC_SHIFT)) & CSI_CR2_HSC_MASK)
  22050. #define CSI_CR2_VSC_MASK (0xFF00U)
  22051. #define CSI_CR2_VSC_SHIFT (8U)
  22052. #define CSI_CR2_VSC(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_VSC_SHIFT)) & CSI_CR2_VSC_MASK)
  22053. #define CSI_CR2_LVRM_MASK (0x70000U)
  22054. #define CSI_CR2_LVRM_SHIFT (16U)
  22055. /*! LVRM
  22056. * 0b000..512 x 384
  22057. * 0b001..448 x 336
  22058. * 0b010..384 x 288
  22059. * 0b011..384 x 256
  22060. * 0b100..320 x 240
  22061. * 0b101..288 x 216
  22062. * 0b110..400 x 300
  22063. */
  22064. #define CSI_CR2_LVRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_LVRM_SHIFT)) & CSI_CR2_LVRM_MASK)
  22065. #define CSI_CR2_BTS_MASK (0x180000U)
  22066. #define CSI_CR2_BTS_SHIFT (19U)
  22067. /*! BTS
  22068. * 0b00..GR
  22069. * 0b01..RG
  22070. * 0b10..BG
  22071. * 0b11..GB
  22072. */
  22073. #define CSI_CR2_BTS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_BTS_SHIFT)) & CSI_CR2_BTS_MASK)
  22074. #define CSI_CR2_SCE_MASK (0x800000U)
  22075. #define CSI_CR2_SCE_SHIFT (23U)
  22076. /*! SCE
  22077. * 0b0..Skip count disable
  22078. * 0b1..Skip count enable
  22079. */
  22080. #define CSI_CR2_SCE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_SCE_SHIFT)) & CSI_CR2_SCE_MASK)
  22081. #define CSI_CR2_AFS_MASK (0x3000000U)
  22082. #define CSI_CR2_AFS_SHIFT (24U)
  22083. /*! AFS
  22084. * 0b00..Abs Diff on consecutive green pixels
  22085. * 0b01..Abs Diff on every third green pixels
  22086. * 0b1x..Abs Diff on every four green pixels
  22087. */
  22088. #define CSI_CR2_AFS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_AFS_SHIFT)) & CSI_CR2_AFS_MASK)
  22089. #define CSI_CR2_DRM_MASK (0x4000000U)
  22090. #define CSI_CR2_DRM_SHIFT (26U)
  22091. /*! DRM
  22092. * 0b0..Stats grid of 8 x 6
  22093. * 0b1..Stats grid of 8 x 12
  22094. */
  22095. #define CSI_CR2_DRM(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_DRM_SHIFT)) & CSI_CR2_DRM_MASK)
  22096. #define CSI_CR2_DMA_BURST_TYPE_SFF_MASK (0x30000000U)
  22097. #define CSI_CR2_DMA_BURST_TYPE_SFF_SHIFT (28U)
  22098. /*! DMA_BURST_TYPE_SFF
  22099. * 0bx0..INCR8
  22100. * 0b01..INCR4
  22101. * 0b11..INCR16
  22102. */
  22103. #define CSI_CR2_DMA_BURST_TYPE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_DMA_BURST_TYPE_SFF_SHIFT)) & CSI_CR2_DMA_BURST_TYPE_SFF_MASK)
  22104. #define CSI_CR2_DMA_BURST_TYPE_RFF_MASK (0xC0000000U)
  22105. #define CSI_CR2_DMA_BURST_TYPE_RFF_SHIFT (30U)
  22106. /*! DMA_BURST_TYPE_RFF
  22107. * 0bx0..INCR8
  22108. * 0b01..INCR4
  22109. * 0b11..INCR16
  22110. */
  22111. #define CSI_CR2_DMA_BURST_TYPE_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR2_DMA_BURST_TYPE_RFF_SHIFT)) & CSI_CR2_DMA_BURST_TYPE_RFF_MASK)
  22112. /*! @} */
  22113. /*! @name CR3 - CSI Control Register 3 */
  22114. /*! @{ */
  22115. #define CSI_CR3_ECC_AUTO_EN_MASK (0x1U)
  22116. #define CSI_CR3_ECC_AUTO_EN_SHIFT (0U)
  22117. /*! ECC_AUTO_EN
  22118. * 0b0..Auto Error correction is disabled.
  22119. * 0b1..Auto Error correction is enabled.
  22120. */
  22121. #define CSI_CR3_ECC_AUTO_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ECC_AUTO_EN_SHIFT)) & CSI_CR3_ECC_AUTO_EN_MASK)
  22122. #define CSI_CR3_ECC_INT_EN_MASK (0x2U)
  22123. #define CSI_CR3_ECC_INT_EN_SHIFT (1U)
  22124. /*! ECC_INT_EN
  22125. * 0b0..No interrupt is generated when error is detected. Only the status bit ECC_INT is set.
  22126. * 0b1..Interrupt is generated when error is detected.
  22127. */
  22128. #define CSI_CR3_ECC_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ECC_INT_EN_SHIFT)) & CSI_CR3_ECC_INT_EN_MASK)
  22129. #define CSI_CR3_ZERO_PACK_EN_MASK (0x4U)
  22130. #define CSI_CR3_ZERO_PACK_EN_SHIFT (2U)
  22131. /*! ZERO_PACK_EN
  22132. * 0b0..Zero packing disabled
  22133. * 0b1..Zero packing enabled
  22134. */
  22135. #define CSI_CR3_ZERO_PACK_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_ZERO_PACK_EN_SHIFT)) & CSI_CR3_ZERO_PACK_EN_MASK)
  22136. #define CSI_CR3_SENSOR_16BITS_MASK (0x8U)
  22137. #define CSI_CR3_SENSOR_16BITS_SHIFT (3U)
  22138. /*! SENSOR_16BITS
  22139. * 0b0..Only one 8-bit sensor is connected.
  22140. * 0b1..One 16-bit sensor is connected.
  22141. */
  22142. #define CSI_CR3_SENSOR_16BITS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_SENSOR_16BITS_SHIFT)) & CSI_CR3_SENSOR_16BITS_MASK)
  22143. #define CSI_CR3_RxFF_LEVEL_MASK (0x70U)
  22144. #define CSI_CR3_RxFF_LEVEL_SHIFT (4U)
  22145. /*! RxFF_LEVEL
  22146. * 0b000..4 Double words
  22147. * 0b001..8 Double words
  22148. * 0b010..16 Double words
  22149. * 0b011..24 Double words
  22150. * 0b100..32 Double words
  22151. * 0b101..48 Double words
  22152. * 0b110..64 Double words
  22153. * 0b111..96 Double words
  22154. */
  22155. #define CSI_CR3_RxFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_RxFF_LEVEL_SHIFT)) & CSI_CR3_RxFF_LEVEL_MASK)
  22156. #define CSI_CR3_HRESP_ERR_EN_MASK (0x80U)
  22157. #define CSI_CR3_HRESP_ERR_EN_SHIFT (7U)
  22158. /*! HRESP_ERR_EN
  22159. * 0b0..Disable hresponse error interrupt
  22160. * 0b1..Enable hresponse error interrupt
  22161. */
  22162. #define CSI_CR3_HRESP_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_HRESP_ERR_EN_SHIFT)) & CSI_CR3_HRESP_ERR_EN_MASK)
  22163. #define CSI_CR3_STATFF_LEVEL_MASK (0x700U)
  22164. #define CSI_CR3_STATFF_LEVEL_SHIFT (8U)
  22165. /*! STATFF_LEVEL
  22166. * 0b000..4 Double words
  22167. * 0b001..8 Double words
  22168. * 0b010..12 Double words
  22169. * 0b011..16 Double words
  22170. * 0b100..24 Double words
  22171. * 0b101..32 Double words
  22172. * 0b110..48 Double words
  22173. * 0b111..64 Double words
  22174. */
  22175. #define CSI_CR3_STATFF_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_STATFF_LEVEL_SHIFT)) & CSI_CR3_STATFF_LEVEL_MASK)
  22176. #define CSI_CR3_DMA_REQ_EN_SFF_MASK (0x800U)
  22177. #define CSI_CR3_DMA_REQ_EN_SFF_SHIFT (11U)
  22178. /*! DMA_REQ_EN_SFF
  22179. * 0b0..Disable the dma request
  22180. * 0b1..Enable the dma request
  22181. */
  22182. #define CSI_CR3_DMA_REQ_EN_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REQ_EN_SFF_SHIFT)) & CSI_CR3_DMA_REQ_EN_SFF_MASK)
  22183. #define CSI_CR3_DMA_REQ_EN_RFF_MASK (0x1000U)
  22184. #define CSI_CR3_DMA_REQ_EN_RFF_SHIFT (12U)
  22185. /*! DMA_REQ_EN_RFF
  22186. * 0b0..Disable the dma request
  22187. * 0b1..Enable the dma request
  22188. */
  22189. #define CSI_CR3_DMA_REQ_EN_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REQ_EN_RFF_SHIFT)) & CSI_CR3_DMA_REQ_EN_RFF_MASK)
  22190. #define CSI_CR3_DMA_REFLASH_SFF_MASK (0x2000U)
  22191. #define CSI_CR3_DMA_REFLASH_SFF_SHIFT (13U)
  22192. /*! DMA_REFLASH_SFF
  22193. * 0b0..No reflashing
  22194. * 0b1..Reflash the embedded DMA controller
  22195. */
  22196. #define CSI_CR3_DMA_REFLASH_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REFLASH_SFF_SHIFT)) & CSI_CR3_DMA_REFLASH_SFF_MASK)
  22197. #define CSI_CR3_DMA_REFLASH_RFF_MASK (0x4000U)
  22198. #define CSI_CR3_DMA_REFLASH_RFF_SHIFT (14U)
  22199. /*! DMA_REFLASH_RFF
  22200. * 0b0..No reflashing
  22201. * 0b1..Reflash the embedded DMA controller
  22202. */
  22203. #define CSI_CR3_DMA_REFLASH_RFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_DMA_REFLASH_RFF_SHIFT)) & CSI_CR3_DMA_REFLASH_RFF_MASK)
  22204. #define CSI_CR3_FRMCNT_RST_MASK (0x8000U)
  22205. #define CSI_CR3_FRMCNT_RST_SHIFT (15U)
  22206. /*! FRMCNT_RST
  22207. * 0b0..Do not reset
  22208. * 0b1..Reset frame counter immediately
  22209. */
  22210. #define CSI_CR3_FRMCNT_RST(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_FRMCNT_RST_SHIFT)) & CSI_CR3_FRMCNT_RST_MASK)
  22211. #define CSI_CR3_FRMCNT_MASK (0xFFFF0000U)
  22212. #define CSI_CR3_FRMCNT_SHIFT (16U)
  22213. #define CSI_CR3_FRMCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR3_FRMCNT_SHIFT)) & CSI_CR3_FRMCNT_MASK)
  22214. /*! @} */
  22215. /*! @name STATFIFO - CSI Statistic FIFO Register */
  22216. /*! @{ */
  22217. #define CSI_STATFIFO_STAT_MASK (0xFFFFFFFFU)
  22218. #define CSI_STATFIFO_STAT_SHIFT (0U)
  22219. #define CSI_STATFIFO_STAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_STATFIFO_STAT_SHIFT)) & CSI_STATFIFO_STAT_MASK)
  22220. /*! @} */
  22221. /*! @name RFIFO - CSI RX FIFO Register */
  22222. /*! @{ */
  22223. #define CSI_RFIFO_IMAGE_MASK (0xFFFFFFFFU)
  22224. #define CSI_RFIFO_IMAGE_SHIFT (0U)
  22225. #define CSI_RFIFO_IMAGE(x) (((uint32_t)(((uint32_t)(x)) << CSI_RFIFO_IMAGE_SHIFT)) & CSI_RFIFO_IMAGE_MASK)
  22226. /*! @} */
  22227. /*! @name RXCNT - CSI RX Count Register */
  22228. /*! @{ */
  22229. #define CSI_RXCNT_RXCNT_MASK (0x3FFFFFU)
  22230. #define CSI_RXCNT_RXCNT_SHIFT (0U)
  22231. #define CSI_RXCNT_RXCNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_RXCNT_RXCNT_SHIFT)) & CSI_RXCNT_RXCNT_MASK)
  22232. /*! @} */
  22233. /*! @name SR - CSI Status Register */
  22234. /*! @{ */
  22235. #define CSI_SR_DRDY_MASK (0x1U)
  22236. #define CSI_SR_DRDY_SHIFT (0U)
  22237. /*! DRDY
  22238. * 0b0..No data (word) is ready
  22239. * 0b1..At least 1 datum (word) is ready in RXFIFO.
  22240. */
  22241. #define CSI_SR_DRDY(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DRDY_SHIFT)) & CSI_SR_DRDY_MASK)
  22242. #define CSI_SR_ECC_INT_MASK (0x2U)
  22243. #define CSI_SR_ECC_INT_SHIFT (1U)
  22244. /*! ECC_INT
  22245. * 0b0..No error detected
  22246. * 0b1..Error is detected in BT.656 coding
  22247. */
  22248. #define CSI_SR_ECC_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_ECC_INT_SHIFT)) & CSI_SR_ECC_INT_MASK)
  22249. #define CSI_SR_HISTOGRAM_CALC_DONE_INT_MASK (0x4U)
  22250. #define CSI_SR_HISTOGRAM_CALC_DONE_INT_SHIFT (2U)
  22251. /*! HISTOGRAM_CALC_DONE_INT
  22252. * 0b0..Histogram calculation is not finished
  22253. * 0b1..Histogram calculation is done and driver can access the PIXEL_COUNTERS(CSI_CSICR21~CSI_CSICR276) to get the gray level
  22254. */
  22255. #define CSI_SR_HISTOGRAM_CALC_DONE_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_HISTOGRAM_CALC_DONE_INT_SHIFT)) & CSI_SR_HISTOGRAM_CALC_DONE_INT_MASK)
  22256. #define CSI_SR_HRESP_ERR_INT_MASK (0x80U)
  22257. #define CSI_SR_HRESP_ERR_INT_SHIFT (7U)
  22258. /*! HRESP_ERR_INT
  22259. * 0b0..No hresponse error.
  22260. * 0b1..Hresponse error is detected.
  22261. */
  22262. #define CSI_SR_HRESP_ERR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_HRESP_ERR_INT_SHIFT)) & CSI_SR_HRESP_ERR_INT_MASK)
  22263. #define CSI_SR_COF_INT_MASK (0x2000U)
  22264. #define CSI_SR_COF_INT_SHIFT (13U)
  22265. /*! COF_INT
  22266. * 0b0..Video field has no change.
  22267. * 0b1..Change of video field is detected.
  22268. */
  22269. #define CSI_SR_COF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_COF_INT_SHIFT)) & CSI_SR_COF_INT_MASK)
  22270. #define CSI_SR_F1_INT_MASK (0x4000U)
  22271. #define CSI_SR_F1_INT_SHIFT (14U)
  22272. /*! F1_INT
  22273. * 0b0..Field 1 of video is not detected.
  22274. * 0b1..Field 1 of video is about to start.
  22275. */
  22276. #define CSI_SR_F1_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_F1_INT_SHIFT)) & CSI_SR_F1_INT_MASK)
  22277. #define CSI_SR_F2_INT_MASK (0x8000U)
  22278. #define CSI_SR_F2_INT_SHIFT (15U)
  22279. /*! F2_INT
  22280. * 0b0..Field 2 of video is not detected
  22281. * 0b1..Field 2 of video is about to start
  22282. */
  22283. #define CSI_SR_F2_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_F2_INT_SHIFT)) & CSI_SR_F2_INT_MASK)
  22284. #define CSI_SR_SOF_INT_MASK (0x10000U)
  22285. #define CSI_SR_SOF_INT_SHIFT (16U)
  22286. /*! SOF_INT
  22287. * 0b0..SOF is not detected.
  22288. * 0b1..SOF is detected.
  22289. */
  22290. #define CSI_SR_SOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_SOF_INT_SHIFT)) & CSI_SR_SOF_INT_MASK)
  22291. #define CSI_SR_EOF_INT_MASK (0x20000U)
  22292. #define CSI_SR_EOF_INT_SHIFT (17U)
  22293. /*! EOF_INT
  22294. * 0b0..EOF is not detected.
  22295. * 0b1..EOF is detected.
  22296. */
  22297. #define CSI_SR_EOF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_EOF_INT_SHIFT)) & CSI_SR_EOF_INT_MASK)
  22298. #define CSI_SR_RxFF_INT_MASK (0x40000U)
  22299. #define CSI_SR_RxFF_INT_SHIFT (18U)
  22300. /*! RxFF_INT
  22301. * 0b0..RxFIFO is not full.
  22302. * 0b1..RxFIFO is full.
  22303. */
  22304. #define CSI_SR_RxFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_RxFF_INT_SHIFT)) & CSI_SR_RxFF_INT_MASK)
  22305. #define CSI_SR_DMA_TSF_DONE_FB1_MASK (0x80000U)
  22306. #define CSI_SR_DMA_TSF_DONE_FB1_SHIFT (19U)
  22307. /*! DMA_TSF_DONE_FB1
  22308. * 0b0..DMA transfer is not completed.
  22309. * 0b1..DMA transfer is completed.
  22310. */
  22311. #define CSI_SR_DMA_TSF_DONE_FB1(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_TSF_DONE_FB1_SHIFT)) & CSI_SR_DMA_TSF_DONE_FB1_MASK)
  22312. #define CSI_SR_DMA_TSF_DONE_FB2_MASK (0x100000U)
  22313. #define CSI_SR_DMA_TSF_DONE_FB2_SHIFT (20U)
  22314. /*! DMA_TSF_DONE_FB2
  22315. * 0b0..DMA transfer is not completed.
  22316. * 0b1..DMA transfer is completed.
  22317. */
  22318. #define CSI_SR_DMA_TSF_DONE_FB2(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_TSF_DONE_FB2_SHIFT)) & CSI_SR_DMA_TSF_DONE_FB2_MASK)
  22319. #define CSI_SR_STATFF_INT_MASK (0x200000U)
  22320. #define CSI_SR_STATFF_INT_SHIFT (21U)
  22321. /*! STATFF_INT
  22322. * 0b0..STATFIFO is not full.
  22323. * 0b1..STATFIFO is full.
  22324. */
  22325. #define CSI_SR_STATFF_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_STATFF_INT_SHIFT)) & CSI_SR_STATFF_INT_MASK)
  22326. #define CSI_SR_DMA_TSF_DONE_SFF_MASK (0x400000U)
  22327. #define CSI_SR_DMA_TSF_DONE_SFF_SHIFT (22U)
  22328. /*! DMA_TSF_DONE_SFF
  22329. * 0b0..DMA transfer is not completed.
  22330. * 0b1..DMA transfer is completed.
  22331. */
  22332. #define CSI_SR_DMA_TSF_DONE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_TSF_DONE_SFF_SHIFT)) & CSI_SR_DMA_TSF_DONE_SFF_MASK)
  22333. #define CSI_SR_RF_OR_INT_MASK (0x1000000U)
  22334. #define CSI_SR_RF_OR_INT_SHIFT (24U)
  22335. /*! RF_OR_INT
  22336. * 0b0..RXFIFO has not overflowed.
  22337. * 0b1..RXFIFO has overflowed.
  22338. */
  22339. #define CSI_SR_RF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_RF_OR_INT_SHIFT)) & CSI_SR_RF_OR_INT_MASK)
  22340. #define CSI_SR_SF_OR_INT_MASK (0x2000000U)
  22341. #define CSI_SR_SF_OR_INT_SHIFT (25U)
  22342. /*! SF_OR_INT
  22343. * 0b0..STATFIFO has not overflowed.
  22344. * 0b1..STATFIFO has overflowed.
  22345. */
  22346. #define CSI_SR_SF_OR_INT(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_SF_OR_INT_SHIFT)) & CSI_SR_SF_OR_INT_MASK)
  22347. #define CSI_SR_DMA_FIELD1_DONE_MASK (0x4000000U)
  22348. #define CSI_SR_DMA_FIELD1_DONE_SHIFT (26U)
  22349. #define CSI_SR_DMA_FIELD1_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_FIELD1_DONE_SHIFT)) & CSI_SR_DMA_FIELD1_DONE_MASK)
  22350. #define CSI_SR_DMA_FIELD0_DONE_MASK (0x8000000U)
  22351. #define CSI_SR_DMA_FIELD0_DONE_SHIFT (27U)
  22352. #define CSI_SR_DMA_FIELD0_DONE(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_DMA_FIELD0_DONE_SHIFT)) & CSI_SR_DMA_FIELD0_DONE_MASK)
  22353. #define CSI_SR_BASEADDR_CHHANGE_ERROR_MASK (0x10000000U)
  22354. #define CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT (28U)
  22355. #define CSI_SR_BASEADDR_CHHANGE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT)) & CSI_SR_BASEADDR_CHHANGE_ERROR_MASK)
  22356. /*! @} */
  22357. /*! @name DMASA_STATFIFO - CSI DMA Start Address Register - for STATFIFO */
  22358. /*! @{ */
  22359. #define CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_MASK (0xFFFFFFFCU)
  22360. #define CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT (2U)
  22361. #define CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT)) & CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_MASK)
  22362. /*! @} */
  22363. /*! @name DMATS_STATFIFO - CSI DMA Transfer Size Register - for STATFIFO */
  22364. /*! @{ */
  22365. #define CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK (0xFFFFFFFFU)
  22366. #define CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT (0U)
  22367. #define CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF(x) (((uint32_t)(((uint32_t)(x)) << CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT)) & CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK)
  22368. /*! @} */
  22369. /*! @name DMASA_FB1 - CSI DMA Start Address Register - for Frame Buffer1 */
  22370. /*! @{ */
  22371. #define CSI_DMASA_FB1_DMA_START_ADDR_FB1_MASK (0xFFFFFFFCU)
  22372. #define CSI_DMASA_FB1_DMA_START_ADDR_FB1_SHIFT (2U)
  22373. #define CSI_DMASA_FB1_DMA_START_ADDR_FB1(x) (((uint32_t)(((uint32_t)(x)) << CSI_DMASA_FB1_DMA_START_ADDR_FB1_SHIFT)) & CSI_DMASA_FB1_DMA_START_ADDR_FB1_MASK)
  22374. /*! @} */
  22375. /*! @name DMASA_FB2 - CSI DMA Transfer Size Register - for Frame Buffer2 */
  22376. /*! @{ */
  22377. #define CSI_DMASA_FB2_DMA_START_ADDR_FB2_MASK (0xFFFFFFFCU)
  22378. #define CSI_DMASA_FB2_DMA_START_ADDR_FB2_SHIFT (2U)
  22379. #define CSI_DMASA_FB2_DMA_START_ADDR_FB2(x) (((uint32_t)(((uint32_t)(x)) << CSI_DMASA_FB2_DMA_START_ADDR_FB2_SHIFT)) & CSI_DMASA_FB2_DMA_START_ADDR_FB2_MASK)
  22380. /*! @} */
  22381. /*! @name FBUF_PARA - CSI Frame Buffer Parameter Register */
  22382. /*! @{ */
  22383. #define CSI_FBUF_PARA_FBUF_STRIDE_MASK (0xFFFFU)
  22384. #define CSI_FBUF_PARA_FBUF_STRIDE_SHIFT (0U)
  22385. #define CSI_FBUF_PARA_FBUF_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_FBUF_PARA_FBUF_STRIDE_SHIFT)) & CSI_FBUF_PARA_FBUF_STRIDE_MASK)
  22386. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK (0xFFFF0000U)
  22387. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT (16U)
  22388. #define CSI_FBUF_PARA_DEINTERLACE_STRIDE(x) (((uint32_t)(((uint32_t)(x)) << CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT)) & CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK)
  22389. /*! @} */
  22390. /*! @name IMAG_PARA - CSI Image Parameter Register */
  22391. /*! @{ */
  22392. #define CSI_IMAG_PARA_IMAGE_HEIGHT_MASK (0xFFFFU)
  22393. #define CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT (0U)
  22394. #define CSI_IMAG_PARA_IMAGE_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT)) & CSI_IMAG_PARA_IMAGE_HEIGHT_MASK)
  22395. #define CSI_IMAG_PARA_IMAGE_WIDTH_MASK (0xFFFF0000U)
  22396. #define CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT (16U)
  22397. #define CSI_IMAG_PARA_IMAGE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT)) & CSI_IMAG_PARA_IMAGE_WIDTH_MASK)
  22398. /*! @} */
  22399. /*! @name CR18 - CSI Control Register 18 */
  22400. /*! @{ */
  22401. #define CSI_CR18_NTSC_EN_MASK (0x1U)
  22402. #define CSI_CR18_NTSC_EN_SHIFT (0U)
  22403. /*! NTSC_EN
  22404. * 0b0..PAL
  22405. * 0b1..NTSC
  22406. */
  22407. #define CSI_CR18_NTSC_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_NTSC_EN_SHIFT)) & CSI_CR18_NTSC_EN_MASK)
  22408. #define CSI_CR18_TVDECODER_IN_EN_MASK (0x2U)
  22409. #define CSI_CR18_TVDECODER_IN_EN_SHIFT (1U)
  22410. #define CSI_CR18_TVDECODER_IN_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_TVDECODER_IN_EN_SHIFT)) & CSI_CR18_TVDECODER_IN_EN_MASK)
  22411. #define CSI_CR18_DEINTERLACE_EN_MASK (0x4U)
  22412. #define CSI_CR18_DEINTERLACE_EN_SHIFT (2U)
  22413. /*! DEINTERLACE_EN
  22414. * 0b0..Deinterlace disabled
  22415. * 0b1..Deinterlace enabled
  22416. */
  22417. #define CSI_CR18_DEINTERLACE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_DEINTERLACE_EN_SHIFT)) & CSI_CR18_DEINTERLACE_EN_MASK)
  22418. #define CSI_CR18_PARALLEL24_EN_MASK (0x8U)
  22419. #define CSI_CR18_PARALLEL24_EN_SHIFT (3U)
  22420. /*! PARALLEL24_EN
  22421. * 0b0..Input is disabled
  22422. * 0b1..Input is enabled
  22423. */
  22424. #define CSI_CR18_PARALLEL24_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_PARALLEL24_EN_SHIFT)) & CSI_CR18_PARALLEL24_EN_MASK)
  22425. #define CSI_CR18_BASEADDR_SWITCH_EN_MASK (0x10U)
  22426. #define CSI_CR18_BASEADDR_SWITCH_EN_SHIFT (4U)
  22427. #define CSI_CR18_BASEADDR_SWITCH_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_BASEADDR_SWITCH_EN_SHIFT)) & CSI_CR18_BASEADDR_SWITCH_EN_MASK)
  22428. #define CSI_CR18_BASEADDR_SWITCH_SEL_MASK (0x20U)
  22429. #define CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT (5U)
  22430. /*! BASEADDR_SWITCH_SEL
  22431. * 0b0..Switching base address at the edge of the vsync
  22432. * 0b1..Switching base address at the edge of the first data of each frame
  22433. */
  22434. #define CSI_CR18_BASEADDR_SWITCH_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT)) & CSI_CR18_BASEADDR_SWITCH_SEL_MASK)
  22435. #define CSI_CR18_FIELD0_DONE_IE_MASK (0x40U)
  22436. #define CSI_CR18_FIELD0_DONE_IE_SHIFT (6U)
  22437. /*! FIELD0_DONE_IE
  22438. * 0b0..Interrupt disabled
  22439. * 0b1..Interrupt enabled
  22440. */
  22441. #define CSI_CR18_FIELD0_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_FIELD0_DONE_IE_SHIFT)) & CSI_CR18_FIELD0_DONE_IE_MASK)
  22442. #define CSI_CR18_DMA_FIELD1_DONE_IE_MASK (0x80U)
  22443. #define CSI_CR18_DMA_FIELD1_DONE_IE_SHIFT (7U)
  22444. /*! DMA_FIELD1_DONE_IE
  22445. * 0b0..Interrupt disabled
  22446. * 0b1..Interrupt enabled
  22447. */
  22448. #define CSI_CR18_DMA_FIELD1_DONE_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_DMA_FIELD1_DONE_IE_SHIFT)) & CSI_CR18_DMA_FIELD1_DONE_IE_MASK)
  22449. #define CSI_CR18_LAST_DMA_REQ_SEL_MASK (0x100U)
  22450. #define CSI_CR18_LAST_DMA_REQ_SEL_SHIFT (8U)
  22451. /*! LAST_DMA_REQ_SEL
  22452. * 0b0..fifo_full_level
  22453. * 0b1..hburst_length
  22454. */
  22455. #define CSI_CR18_LAST_DMA_REQ_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_LAST_DMA_REQ_SEL_SHIFT)) & CSI_CR18_LAST_DMA_REQ_SEL_MASK)
  22456. #define CSI_CR18_BASEADDR_CHANGE_ERROR_IE_MASK (0x200U)
  22457. #define CSI_CR18_BASEADDR_CHANGE_ERROR_IE_SHIFT (9U)
  22458. /*! BASEADDR_CHANGE_ERROR_IE
  22459. * 0b0..Interrupt disabled
  22460. * 0b1..Interrupt enabled
  22461. */
  22462. #define CSI_CR18_BASEADDR_CHANGE_ERROR_IE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_BASEADDR_CHANGE_ERROR_IE_SHIFT)) & CSI_CR18_BASEADDR_CHANGE_ERROR_IE_MASK)
  22463. #define CSI_CR18_RGB888A_FORMAT_SEL_MASK (0x400U)
  22464. #define CSI_CR18_RGB888A_FORMAT_SEL_SHIFT (10U)
  22465. /*! RGB888A_FORMAT_SEL
  22466. * 0b0..{8'h0, data[23:0]}
  22467. * 0b1..{data[23:0], 8'h0}
  22468. */
  22469. #define CSI_CR18_RGB888A_FORMAT_SEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_RGB888A_FORMAT_SEL_SHIFT)) & CSI_CR18_RGB888A_FORMAT_SEL_MASK)
  22470. #define CSI_CR18_AHB_HPROT_MASK (0xF000U)
  22471. #define CSI_CR18_AHB_HPROT_SHIFT (12U)
  22472. #define CSI_CR18_AHB_HPROT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_AHB_HPROT_SHIFT)) & CSI_CR18_AHB_HPROT_MASK)
  22473. #define CSI_CR18_MASK_OPTION_MASK (0xC0000U)
  22474. #define CSI_CR18_MASK_OPTION_SHIFT (18U)
  22475. /*! MASK_OPTION
  22476. * 0b00..Writing to memory (OCRAM or external DDR) from first completely frame, when using this option, the CSI_ENABLE should be 1.
  22477. * 0b01..Writing to memory when CSI_ENABLE is 1.
  22478. * 0b10..Writing to memory from second completely frame, when using this option, the CSI_ENABLE should be 1.
  22479. * 0b11..Writing to memory when data comes in, not matter the CSI_ENABLE is 1 or 0.
  22480. */
  22481. #define CSI_CR18_MASK_OPTION(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MASK_OPTION_SHIFT)) & CSI_CR18_MASK_OPTION_MASK)
  22482. #define CSI_CR18_MIPI_DOUBLE_CMPNT_MASK (0x100000U)
  22483. #define CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT (20U)
  22484. /*! MIPI_DOUBLE_CMPNT
  22485. * 0b0..Single component per clock cycle (half pixel per clock cycle)
  22486. * 0b1..Double component per clock cycle (a pixel per clock cycle)
  22487. */
  22488. #define CSI_CR18_MIPI_DOUBLE_CMPNT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT)) & CSI_CR18_MIPI_DOUBLE_CMPNT_MASK)
  22489. #define CSI_CR18_MIPI_YU_SWAP_MASK (0x200000U)
  22490. #define CSI_CR18_MIPI_YU_SWAP_SHIFT (21U)
  22491. /*! MIPI_YU_SWAP - It only works in MIPI CSI YUV422 double component mode.
  22492. */
  22493. #define CSI_CR18_MIPI_YU_SWAP(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_YU_SWAP_SHIFT)) & CSI_CR18_MIPI_YU_SWAP_MASK)
  22494. #define CSI_CR18_DATA_FROM_MIPI_MASK (0x400000U)
  22495. #define CSI_CR18_DATA_FROM_MIPI_SHIFT (22U)
  22496. /*! DATA_FROM_MIPI
  22497. * 0b0..Data from parallel sensor
  22498. * 0b1..Data from MIPI
  22499. */
  22500. #define CSI_CR18_DATA_FROM_MIPI(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_DATA_FROM_MIPI_SHIFT)) & CSI_CR18_DATA_FROM_MIPI_MASK)
  22501. #define CSI_CR18_LINE_STRIDE_EN_MASK (0x1000000U)
  22502. #define CSI_CR18_LINE_STRIDE_EN_SHIFT (24U)
  22503. #define CSI_CR18_LINE_STRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_LINE_STRIDE_EN_SHIFT)) & CSI_CR18_LINE_STRIDE_EN_MASK)
  22504. #define CSI_CR18_MIPI_DATA_FORMAT_MASK (0x7E000000U)
  22505. #define CSI_CR18_MIPI_DATA_FORMAT_SHIFT (25U)
  22506. /*! MIPI_DATA_FORMAT - Image Data Format
  22507. */
  22508. #define CSI_CR18_MIPI_DATA_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_MIPI_DATA_FORMAT_SHIFT)) & CSI_CR18_MIPI_DATA_FORMAT_MASK)
  22509. #define CSI_CR18_CSI_ENABLE_MASK (0x80000000U)
  22510. #define CSI_CR18_CSI_ENABLE_SHIFT (31U)
  22511. #define CSI_CR18_CSI_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR18_CSI_ENABLE_SHIFT)) & CSI_CR18_CSI_ENABLE_MASK)
  22512. /*! @} */
  22513. /*! @name CR19 - CSI Control Register 19 */
  22514. /*! @{ */
  22515. #define CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK (0xFFU)
  22516. #define CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT (0U)
  22517. #define CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT)) & CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK)
  22518. /*! @} */
  22519. /*! @name CR20 - CSI Control Register 20 */
  22520. /*! @{ */
  22521. #define CSI_CR20_THRESHOLD_MASK (0xFFU)
  22522. #define CSI_CR20_THRESHOLD_SHIFT (0U)
  22523. #define CSI_CR20_THRESHOLD(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_THRESHOLD_SHIFT)) & CSI_CR20_THRESHOLD_MASK)
  22524. #define CSI_CR20_BINARY_EN_MASK (0x100U)
  22525. #define CSI_CR20_BINARY_EN_SHIFT (8U)
  22526. /*! BINARY_EN
  22527. * 0b0..Output is Y8 format(8 bits each pixel)
  22528. * 0b1..Output is Y1 format(1 bit each pixel)
  22529. */
  22530. #define CSI_CR20_BINARY_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_BINARY_EN_SHIFT)) & CSI_CR20_BINARY_EN_MASK)
  22531. #define CSI_CR20_QR_DATA_FORMAT_MASK (0xE00U)
  22532. #define CSI_CR20_QR_DATA_FORMAT_SHIFT (9U)
  22533. /*! QR_DATA_FORMAT
  22534. * 0b000..YU YV one cycle per 1 pixel input
  22535. * 0b001..UY VY one cycle per1 pixel input
  22536. * 0b010..Y U Y V two cycles per 1 pixel input
  22537. * 0b011..U Y V Y two cycles per 1 pixel input
  22538. * 0b100..YUV one cycle per 1 pixel input
  22539. * 0b101..Y U V three cycles per 1 pixel input
  22540. */
  22541. #define CSI_CR20_QR_DATA_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_QR_DATA_FORMAT_SHIFT)) & CSI_CR20_QR_DATA_FORMAT_MASK)
  22542. #define CSI_CR20_BIG_END_MASK (0x1000U)
  22543. #define CSI_CR20_BIG_END_SHIFT (12U)
  22544. /*! BIG_END
  22545. * 0b0..The newest (most recent) data will be assigned the lowest position when store to memory.
  22546. * 0b1..The newest (most recent) data will be assigned the highest position when store to memory.
  22547. */
  22548. #define CSI_CR20_BIG_END(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_BIG_END_SHIFT)) & CSI_CR20_BIG_END_MASK)
  22549. #define CSI_CR20_10BIT_NEW_EN_MASK (0x20000000U)
  22550. #define CSI_CR20_10BIT_NEW_EN_SHIFT (29U)
  22551. /*! 10BIT_NEW_EN
  22552. * 0b0..When input 8bits data, it will use the data[9:2]
  22553. * 0b1..If input is 10bits data, it will use the data[7:0] (optional)
  22554. */
  22555. #define CSI_CR20_10BIT_NEW_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_10BIT_NEW_EN_SHIFT)) & CSI_CR20_10BIT_NEW_EN_MASK)
  22556. #define CSI_CR20_HISTOGRAM_EN_MASK (0x40000000U)
  22557. #define CSI_CR20_HISTOGRAM_EN_SHIFT (30U)
  22558. /*! HISTOGRAM_EN
  22559. * 0b0..Histogram disable
  22560. * 0b1..Histogram enable
  22561. */
  22562. #define CSI_CR20_HISTOGRAM_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_HISTOGRAM_EN_SHIFT)) & CSI_CR20_HISTOGRAM_EN_MASK)
  22563. #define CSI_CR20_QRCODE_EN_MASK (0x80000000U)
  22564. #define CSI_CR20_QRCODE_EN_SHIFT (31U)
  22565. /*! QRCODE_EN
  22566. * 0b0..Normal mode
  22567. * 0b1..Gray scale mode
  22568. */
  22569. #define CSI_CR20_QRCODE_EN(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR20_QRCODE_EN_SHIFT)) & CSI_CR20_QRCODE_EN_MASK)
  22570. /*! @} */
  22571. /*! @name CR - CSI Control Register */
  22572. /*! @{ */
  22573. #define CSI_CR_PIXEL_COUNTERS_MASK (0xFFFFFFU)
  22574. #define CSI_CR_PIXEL_COUNTERS_SHIFT (0U)
  22575. #define CSI_CR_PIXEL_COUNTERS(x) (((uint32_t)(((uint32_t)(x)) << CSI_CR_PIXEL_COUNTERS_SHIFT)) & CSI_CR_PIXEL_COUNTERS_MASK)
  22576. /*! @} */
  22577. /* The count of CSI_CR */
  22578. #define CSI_CR_COUNT (256U)
  22579. /*!
  22580. * @}
  22581. */ /* end of group CSI_Register_Masks */
  22582. /* CSI - Peripheral instance base addresses */
  22583. /** Peripheral CSI base address */
  22584. #define CSI_BASE (0x40800000u)
  22585. /** Peripheral CSI base pointer */
  22586. #define CSI ((CSI_Type *)CSI_BASE)
  22587. /** Array initializer of CSI peripheral base addresses */
  22588. #define CSI_BASE_ADDRS { CSI_BASE }
  22589. /** Array initializer of CSI peripheral base pointers */
  22590. #define CSI_BASE_PTRS { CSI }
  22591. /** Interrupt vectors for the CSI peripheral type */
  22592. #define CSI_IRQS { CSI_IRQn }
  22593. /* Backward compatibility */
  22594. #define CSI_CSICR1_PIXEL_BIT_MASK CSI_CR1_PIXEL_BIT_MASK
  22595. #define CSI_CSICR1_PIXEL_BIT_SHIFT CSI_CR1_PIXEL_BIT_SHIFT
  22596. #define CSI_CSICR1_PIXEL_BIT(x) CSI_CR1_PIXEL_BIT(x)
  22597. #define CSI_CSICR1_REDGE_MASK CSI_CR1_REDGE_MASK
  22598. #define CSI_CSICR1_REDGE_SHIFT CSI_CR1_REDGE_SHIFT
  22599. #define CSI_CSICR1_REDGE(x) CSI_CR1_REDGE(x)
  22600. #define CSI_CSICR1_INV_PCLK_MASK CSI_CR1_INV_PCLK_MASK
  22601. #define CSI_CSICR1_INV_PCLK_SHIFT CSI_CR1_INV_PCLK_SHIFT
  22602. #define CSI_CSICR1_INV_PCLK(x) CSI_CR1_INV_PCLK(x)
  22603. #define CSI_CSICR1_INV_DATA_MASK CSI_CR1_INV_DATA_MASK
  22604. #define CSI_CSICR1_INV_DATA_SHIFT CSI_CR1_INV_DATA_SHIFT
  22605. #define CSI_CSICR1_INV_DATA(x) CSI_CR1_INV_DATA(x)
  22606. #define CSI_CSICR1_GCLK_MODE_MASK CSI_CR1_GCLK_MODE_MASK
  22607. #define CSI_CSICR1_GCLK_MODE_SHIFT CSI_CR1_GCLK_MODE_SHIFT
  22608. #define CSI_CSICR1_GCLK_MODE(x) CSI_CR1_GCLK_MODE(x)
  22609. #define CSI_CSICR1_CLR_RXFIFO_MASK CSI_CR1_CLR_RXFIFO_MASK
  22610. #define CSI_CSICR1_CLR_RXFIFO_SHIFT CSI_CR1_CLR_RXFIFO_SHIFT
  22611. #define CSI_CSICR1_CLR_RXFIFO(x) CSI_CR1_CLR_RXFIFO(x)
  22612. #define CSI_CSICR1_CLR_STATFIFO_MASK CSI_CR1_CLR_STATFIFO_MASK
  22613. #define CSI_CSICR1_CLR_STATFIFO_SHIFT CSI_CR1_CLR_STATFIFO_SHIFT
  22614. #define CSI_CSICR1_CLR_STATFIFO(x) CSI_CR1_CLR_STATFIFO(x)
  22615. #define CSI_CSICR1_PACK_DIR_MASK CSI_CR1_PACK_DIR_MASK
  22616. #define CSI_CSICR1_PACK_DIR_SHIFT CSI_CR1_PACK_DIR_SHIFT
  22617. #define CSI_CSICR1_PACK_DIR(x) CSI_CR1_PACK_DIR(x)
  22618. #define CSI_CSICR1_FCC_MASK CSI_CR1_FCC_MASK
  22619. #define CSI_CSICR1_FCC_SHIFT CSI_CR1_FCC_SHIFT
  22620. #define CSI_CSICR1_FCC(x) CSI_CR1_FCC(x)
  22621. #define CSI_CSICR1_CCIR_EN_MASK CSI_CR1_CCIR_EN_MASK
  22622. #define CSI_CSICR1_CCIR_EN_SHIFT CSI_CR1_CCIR_EN_SHIFT
  22623. #define CSI_CSICR1_CCIR_EN(x) CSI_CR1_CCIR_EN(x)
  22624. #define CSI_CSICR1_HSYNC_POL_MASK CSI_CR1_HSYNC_POL_MASK
  22625. #define CSI_CSICR1_HSYNC_POL_SHIFT CSI_CR1_HSYNC_POL_SHIFT
  22626. #define CSI_CSICR1_HSYNC_POL(x) CSI_CR1_HSYNC_POL(x)
  22627. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE_MASK CSI_CR1_HISTOGRAM_CALC_DONE_IE_MASK
  22628. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE_SHIFT CSI_CR1_HISTOGRAM_CALC_DONE_IE_SHIFT
  22629. #define CSI_CSICR1_HISTOGRAM_CALC_DONE_IE(x) CSI_CR1_HISTOGRAM_CALC_DONE_IE(x)
  22630. #define CSI_CSICR1_SOF_INTEN_MASK CSI_CR1_SOF_INTEN_MASK
  22631. #define CSI_CSICR1_SOF_INTEN_SHIFT CSI_CR1_SOF_INTEN_SHIFT
  22632. #define CSI_CSICR1_SOF_INTEN(x) CSI_CR1_SOF_INTEN(x)
  22633. #define CSI_CSICR1_SOF_POL_MASK CSI_CR1_SOF_POL_MASK
  22634. #define CSI_CSICR1_SOF_POL_SHIFT CSI_CR1_SOF_POL_SHIFT
  22635. #define CSI_CSICR1_SOF_POL(x) CSI_CR1_SOF_POL(x)
  22636. #define CSI_CSICR1_RXFF_INTEN_MASK CSI_CR1_RXFF_INTEN_MASK
  22637. #define CSI_CSICR1_RXFF_INTEN_SHIFT CSI_CR1_RXFF_INTEN_SHIFT
  22638. #define CSI_CSICR1_RXFF_INTEN(x) CSI_CR1_RXFF_INTEN(x)
  22639. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_MASK CSI_CR1_FB1_DMA_DONE_INTEN_MASK
  22640. #define CSI_CSICR1_FB1_DMA_DONE_INTEN_SHIFT CSI_CR1_FB1_DMA_DONE_INTEN_SHIFT
  22641. #define CSI_CSICR1_FB1_DMA_DONE_INTEN(x) CSI_CR1_FB1_DMA_DONE_INTEN(x)
  22642. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_MASK CSI_CR1_FB2_DMA_DONE_INTEN_MASK
  22643. #define CSI_CSICR1_FB2_DMA_DONE_INTEN_SHIFT CSI_CR1_FB2_DMA_DONE_INTEN_SHIFT
  22644. #define CSI_CSICR1_FB2_DMA_DONE_INTEN(x) CSI_CR1_FB2_DMA_DONE_INTEN(x)
  22645. #define CSI_CSICR1_STATFF_INTEN_MASK CSI_CR1_STATFF_INTEN_MASK
  22646. #define CSI_CSICR1_STATFF_INTEN_SHIFT CSI_CR1_STATFF_INTEN_SHIFT
  22647. #define CSI_CSICR1_STATFF_INTEN(x) CSI_CR1_STATFF_INTEN(x)
  22648. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_MASK CSI_CR1_SFF_DMA_DONE_INTEN_MASK
  22649. #define CSI_CSICR1_SFF_DMA_DONE_INTEN_SHIFT CSI_CR1_SFF_DMA_DONE_INTEN_SHIFT
  22650. #define CSI_CSICR1_SFF_DMA_DONE_INTEN(x) CSI_CR1_SFF_DMA_DONE_INTEN(x)
  22651. #define CSI_CSICR1_RF_OR_INTEN_MASK CSI_CR1_RF_OR_INTEN_MASK
  22652. #define CSI_CSICR1_RF_OR_INTEN_SHIFT CSI_CR1_RF_OR_INTEN_SHIFT
  22653. #define CSI_CSICR1_RF_OR_INTEN(x) CSI_CR1_RF_OR_INTEN(x)
  22654. #define CSI_CSICR1_SF_OR_INTEN_MASK CSI_CR1_SF_OR_INTEN_MASK
  22655. #define CSI_CSICR1_SF_OR_INTEN_SHIFT CSI_CR1_SF_OR_INTEN_SHIFT
  22656. #define CSI_CSICR1_SF_OR_INTEN(x) CSI_CR1_SF_OR_INTEN(x)
  22657. #define CSI_CSICR1_COF_INT_EN_MASK CSI_CR1_COF_INT_EN_MASK
  22658. #define CSI_CSICR1_COF_INT_EN_SHIFT CSI_CR1_COF_INT_EN_SHIFT
  22659. #define CSI_CSICR1_COF_INT_EN(x) CSI_CR1_COF_INT_EN(x)
  22660. #define CSI_CSICR1_VIDEO_MODE_MASK CSI_CR1_VIDEO_MODE_MASK
  22661. #define CSI_CSICR1_VIDEO_MODE_SHIFT CSI_CR1_VIDEO_MODE_SHIFT
  22662. #define CSI_CSICR1_VIDEO_MODE(x) CSI_CR1_VIDEO_MODE(x)
  22663. #define CSI_CSICR1_EOF_INT_EN_MASK CSI_CR1_EOF_INT_EN_MASK
  22664. #define CSI_CSICR1_EOF_INT_EN_SHIFT CSI_CR1_EOF_INT_EN_SHIFT
  22665. #define CSI_CSICR1_EOF_INT_EN(x) CSI_CR1_EOF_INT_EN(x)
  22666. #define CSI_CSICR1_EXT_VSYNC_MASK CSI_CR1_EXT_VSYNC_MASK
  22667. #define CSI_CSICR1_EXT_VSYNC_SHIFT CSI_CR1_EXT_VSYNC_SHIFT
  22668. #define CSI_CSICR1_EXT_VSYNC(x) CSI_CR1_EXT_VSYNC(x)
  22669. #define CSI_CSICR1_SWAP16_EN_MASK CSI_CR1_SWAP16_EN_MASK
  22670. #define CSI_CSICR1_SWAP16_EN_SHIFT CSI_CR1_SWAP16_EN_SHIFT
  22671. #define CSI_CSICR1_SWAP16_EN(x) CSI_CR1_SWAP16_EN(x)
  22672. #define CSI_CSICR2_HSC_MASK CSI_CR2_HSC_MASK
  22673. #define CSI_CSICR2_HSC_SHIFT CSI_CR2_HSC_SHIFT
  22674. #define CSI_CSICR2_HSC(x) CSI_CR2_HSC(x)
  22675. #define CSI_CSICR2_VSC_MASK CSI_CR2_VSC_MASK
  22676. #define CSI_CSICR2_VSC_SHIFT CSI_CR2_VSC_SHIFT
  22677. #define CSI_CSICR2_VSC(x) CSI_CR2_VSC(x)
  22678. #define CSI_CSICR2_LVRM_MASK CSI_CR2_LVRM_MASK
  22679. #define CSI_CSICR2_LVRM_SHIFT CSI_CR2_LVRM_SHIFT
  22680. #define CSI_CSICR2_LVRM(x) CSI_CR2_LVRM(x)
  22681. #define CSI_CSICR2_BTS_MASK CSI_CR2_BTS_MASK
  22682. #define CSI_CSICR2_BTS_SHIFT CSI_CR2_BTS_SHIFT
  22683. #define CSI_CSICR2_BTS(x) CSI_CR2_BTS(x)
  22684. #define CSI_CSICR2_SCE_MASK CSI_CR2_SCE_MASK
  22685. #define CSI_CSICR2_SCE_SHIFT CSI_CR2_SCE_SHIFT
  22686. #define CSI_CSICR2_SCE(x) CSI_CR2_SCE(x)
  22687. #define CSI_CSICR2_AFS_MASK CSI_CR2_AFS_MASK
  22688. #define CSI_CSICR2_AFS_SHIFT CSI_CR2_AFS_SHIFT
  22689. #define CSI_CSICR2_AFS(x) CSI_CR2_AFS(x)
  22690. #define CSI_CSICR2_DRM_MASK CSI_CR2_DRM_MASK
  22691. #define CSI_CSICR2_DRM_SHIFT CSI_CR2_DRM_SHIFT
  22692. #define CSI_CSICR2_DRM(x) CSI_CR2_DRM(x)
  22693. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_MASK CSI_CR2_DMA_BURST_TYPE_SFF_MASK
  22694. #define CSI_CSICR2_DMA_BURST_TYPE_SFF_SHIFT CSI_CR2_DMA_BURST_TYPE_SFF_SHIFT
  22695. #define CSI_CSICR2_DMA_BURST_TYPE_SFF(x) CSI_CR2_DMA_BURST_TYPE_SFF(x)
  22696. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_MASK CSI_CR2_DMA_BURST_TYPE_RFF_MASK
  22697. #define CSI_CSICR2_DMA_BURST_TYPE_RFF_SHIFT CSI_CR2_DMA_BURST_TYPE_RFF_SHIFT
  22698. #define CSI_CSICR2_DMA_BURST_TYPE_RFF(x) CSI_CR2_DMA_BURST_TYPE_RFF(x)
  22699. #define CSI_CSICR3_ECC_AUTO_EN_MASK CSI_CR3_ECC_AUTO_EN_MASK
  22700. #define CSI_CSICR3_ECC_AUTO_EN_SHIFT CSI_CR3_ECC_AUTO_EN_SHIFT
  22701. #define CSI_CSICR3_ECC_AUTO_EN(x) CSI_CR3_ECC_AUTO_EN(x)
  22702. #define CSI_CSICR3_ECC_INT_EN_MASK CSI_CR3_ECC_INT_EN_MASK
  22703. #define CSI_CSICR3_ECC_INT_EN_SHIFT CSI_CR3_ECC_INT_EN_SHIFT
  22704. #define CSI_CSICR3_ECC_INT_EN(x) CSI_CR3_ECC_INT_EN(x)
  22705. #define CSI_CSICR3_ZERO_PACK_EN_MASK CSI_CR3_ZERO_PACK_EN_MASK
  22706. #define CSI_CSICR3_ZERO_PACK_EN_SHIFT CSI_CR3_ZERO_PACK_EN_SHIFT
  22707. #define CSI_CSICR3_ZERO_PACK_EN(x) CSI_CR3_ZERO_PACK_EN(x)
  22708. #define CSI_CSICR3_SENSOR_16BITS_MASK CSI_CR3_SENSOR_16BITS_MASK
  22709. #define CSI_CSICR3_SENSOR_16BITS_SHIFT CSI_CR3_SENSOR_16BITS_SHIFT
  22710. #define CSI_CSICR3_SENSOR_16BITS(x) CSI_CR3_SENSOR_16BITS(x)
  22711. #define CSI_CSICR3_RxFF_LEVEL_MASK CSI_CR3_RxFF_LEVEL_MASK
  22712. #define CSI_CSICR3_RxFF_LEVEL_SHIFT CSI_CR3_RxFF_LEVEL_SHIFT
  22713. #define CSI_CSICR3_RxFF_LEVEL(x) CSI_CR3_RxFF_LEVEL(x)
  22714. #define CSI_CSICR3_HRESP_ERR_EN_MASK CSI_CR3_HRESP_ERR_EN_MASK
  22715. #define CSI_CSICR3_HRESP_ERR_EN_SHIFT CSI_CR3_HRESP_ERR_EN_SHIFT
  22716. #define CSI_CSICR3_HRESP_ERR_EN(x) CSI_CR3_HRESP_ERR_EN(x)
  22717. #define CSI_CSICR3_STATFF_LEVEL_MASK CSI_CR3_STATFF_LEVEL_MASK
  22718. #define CSI_CSICR3_STATFF_LEVEL_SHIFT CSI_CR3_STATFF_LEVEL_SHIFT
  22719. #define CSI_CSICR3_STATFF_LEVEL(x) CSI_CR3_STATFF_LEVEL(x)
  22720. #define CSI_CSICR3_DMA_REQ_EN_SFF_MASK CSI_CR3_DMA_REQ_EN_SFF_MASK
  22721. #define CSI_CSICR3_DMA_REQ_EN_SFF_SHIFT CSI_CR3_DMA_REQ_EN_SFF_SHIFT
  22722. #define CSI_CSICR3_DMA_REQ_EN_SFF(x) CSI_CR3_DMA_REQ_EN_SFF(x)
  22723. #define CSI_CSICR3_DMA_REQ_EN_RFF_MASK CSI_CR3_DMA_REQ_EN_RFF_MASK
  22724. #define CSI_CSICR3_DMA_REQ_EN_RFF_SHIFT CSI_CR3_DMA_REQ_EN_RFF_SHIFT
  22725. #define CSI_CSICR3_DMA_REQ_EN_RFF(x) CSI_CR3_DMA_REQ_EN_RFF(x)
  22726. #define CSI_CSICR3_DMA_REFLASH_SFF_MASK CSI_CR3_DMA_REFLASH_SFF_MASK
  22727. #define CSI_CSICR3_DMA_REFLASH_SFF_SHIFT CSI_CR3_DMA_REFLASH_SFF_SHIFT
  22728. #define CSI_CSICR3_DMA_REFLASH_SFF(x) CSI_CR3_DMA_REFLASH_SFF(x)
  22729. #define CSI_CSICR3_DMA_REFLASH_RFF_MASK CSI_CR3_DMA_REFLASH_RFF_MASK
  22730. #define CSI_CSICR3_DMA_REFLASH_RFF_SHIFT CSI_CR3_DMA_REFLASH_RFF_SHIFT
  22731. #define CSI_CSICR3_DMA_REFLASH_RFF(x) CSI_CR3_DMA_REFLASH_RFF(x)
  22732. #define CSI_CSICR3_FRMCNT_RST_MASK CSI_CR3_FRMCNT_RST_MASK
  22733. #define CSI_CSICR3_FRMCNT_RST_SHIFT CSI_CR3_FRMCNT_RST_SHIFT
  22734. #define CSI_CSICR3_FRMCNT_RST(x) CSI_CR3_FRMCNT_RST(x)
  22735. #define CSI_CSICR3_FRMCNT_MASK CSI_CR3_FRMCNT_MASK
  22736. #define CSI_CSICR3_FRMCNT_SHIFT CSI_CR3_FRMCNT_SHIFT
  22737. #define CSI_CSICR3_FRMCNT(x) CSI_CR3_FRMCNT(x)
  22738. #define CSI_CSISTATFIFO_STAT_MASK CSI_STATFIFO_STAT_MASK
  22739. #define CSI_CSISTATFIFO_STAT_SHIFT CSI_STATFIFO_STAT_SHIFT
  22740. #define CSI_CSISTATFIFO_STAT(x) CSI_STATFIFO_STAT(x)
  22741. #define CSI_CSIRFIFO_IMAGE_MASK CSI_RFIFO_IMAGE_MASK
  22742. #define CSI_CSIRFIFO_IMAGE_SHIFT CSI_RFIFO_IMAGE_SHIFT
  22743. #define CSI_CSIRFIFO_IMAGE(x) CSI_RFIFO_IMAGE(x)
  22744. #define CSI_CSIRXCNT_RXCNT_MASK CSI_RXCNT_RXCNT_MASK
  22745. #define CSI_CSIRXCNT_RXCNT_SHIFT CSI_RXCNT_RXCNT_SHIFT
  22746. #define CSI_CSIRXCNT_RXCNT(x) CSI_RXCNT_RXCNT(x)
  22747. #define CSI_CSISR_DRDY_MASK CSI_SR_DRDY_MASK
  22748. #define CSI_CSISR_DRDY_SHIFT CSI_SR_DRDY_SHIFT
  22749. #define CSI_CSISR_DRDY(x) CSI_SR_DRDY(x)
  22750. #define CSI_CSISR_ECC_INT_MASK CSI_SR_ECC_INT_MASK
  22751. #define CSI_CSISR_ECC_INT_SHIFT CSI_SR_ECC_INT_SHIFT
  22752. #define CSI_CSISR_ECC_INT(x) CSI_SR_ECC_INT(x)
  22753. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT_MASK CSI_SR_HISTOGRAM_CALC_DONE_INT_MASK
  22754. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT_SHIFT CSI_SR_HISTOGRAM_CALC_DONE_INT_SHIFT
  22755. #define CSI_CSISR_HISTOGRAM_CALC_DONE_INT(x) CSI_SR_HISTOGRAM_CALC_DONE_INT(x)
  22756. #define CSI_CSISR_HRESP_ERR_INT_MASK CSI_SR_HRESP_ERR_INT_MASK
  22757. #define CSI_CSISR_HRESP_ERR_INT_SHIFT CSI_SR_HRESP_ERR_INT_SHIFT
  22758. #define CSI_CSISR_HRESP_ERR_INT(x) CSI_SR_HRESP_ERR_INT(x)
  22759. #define CSI_CSISR_COF_INT_MASK CSI_SR_COF_INT_MASK
  22760. #define CSI_CSISR_COF_INT_SHIFT CSI_SR_COF_INT_SHIFT
  22761. #define CSI_CSISR_COF_INT(x) CSI_SR_COF_INT(x)
  22762. #define CSI_CSISR_F1_INT_MASK CSI_SR_F1_INT_MASK
  22763. #define CSI_CSISR_F1_INT_SHIFT CSI_SR_F1_INT_SHIFT
  22764. #define CSI_CSISR_F1_INT(x) CSI_SR_F1_INT(x)
  22765. #define CSI_CSISR_F2_INT_MASK CSI_SR_F2_INT_MASK
  22766. #define CSI_CSISR_F2_INT_SHIFT CSI_SR_F2_INT_SHIFT
  22767. #define CSI_CSISR_F2_INT(x) CSI_SR_F2_INT(x)
  22768. #define CSI_CSISR_SOF_INT_MASK CSI_SR_SOF_INT_MASK
  22769. #define CSI_CSISR_SOF_INT_SHIFT CSI_SR_SOF_INT_SHIFT
  22770. #define CSI_CSISR_SOF_INT(x) CSI_SR_SOF_INT(x)
  22771. #define CSI_CSISR_EOF_INT_MASK CSI_SR_EOF_INT_MASK
  22772. #define CSI_CSISR_EOF_INT_SHIFT CSI_SR_EOF_INT_SHIFT
  22773. #define CSI_CSISR_EOF_INT(x) CSI_SR_EOF_INT(x)
  22774. #define CSI_CSISR_RxFF_INT_MASK CSI_SR_RxFF_INT_MASK
  22775. #define CSI_CSISR_RxFF_INT_SHIFT CSI_SR_RxFF_INT_SHIFT
  22776. #define CSI_CSISR_RxFF_INT(x) CSI_SR_RxFF_INT(x)
  22777. #define CSI_CSISR_DMA_TSF_DONE_FB1_MASK CSI_SR_DMA_TSF_DONE_FB1_MASK
  22778. #define CSI_CSISR_DMA_TSF_DONE_FB1_SHIFT CSI_SR_DMA_TSF_DONE_FB1_SHIFT
  22779. #define CSI_CSISR_DMA_TSF_DONE_FB1(x) CSI_SR_DMA_TSF_DONE_FB1(x)
  22780. #define CSI_CSISR_DMA_TSF_DONE_FB2_MASK CSI_SR_DMA_TSF_DONE_FB2_MASK
  22781. #define CSI_CSISR_DMA_TSF_DONE_FB2_SHIFT CSI_SR_DMA_TSF_DONE_FB2_SHIFT
  22782. #define CSI_CSISR_DMA_TSF_DONE_FB2(x) CSI_SR_DMA_TSF_DONE_FB2(x)
  22783. #define CSI_CSISR_STATFF_INT_MASK CSI_SR_STATFF_INT_MASK
  22784. #define CSI_CSISR_STATFF_INT_SHIFT CSI_SR_STATFF_INT_SHIFT
  22785. #define CSI_CSISR_STATFF_INT(x) CSI_SR_STATFF_INT(x)
  22786. #define CSI_CSISR_DMA_TSF_DONE_SFF_MASK CSI_SR_DMA_TSF_DONE_SFF_MASK
  22787. #define CSI_CSISR_DMA_TSF_DONE_SFF_SHIFT CSI_SR_DMA_TSF_DONE_SFF_SHIFT
  22788. #define CSI_CSISR_DMA_TSF_DONE_SFF(x) CSI_SR_DMA_TSF_DONE_SFF(x)
  22789. #define CSI_CSISR_RF_OR_INT_MASK CSI_SR_RF_OR_INT_MASK
  22790. #define CSI_CSISR_RF_OR_INT_SHIFT CSI_SR_RF_OR_INT_SHIFT
  22791. #define CSI_CSISR_RF_OR_INT(x) CSI_SR_RF_OR_INT(x)
  22792. #define CSI_CSISR_SF_OR_INT_MASK CSI_SR_SF_OR_INT_MASK
  22793. #define CSI_CSISR_SF_OR_INT_SHIFT CSI_SR_SF_OR_INT_SHIFT
  22794. #define CSI_CSISR_SF_OR_INT(x) CSI_SR_SF_OR_INT(x)
  22795. #define CSI_CSISR_DMA_FIELD1_DONE_MASK CSI_SR_DMA_FIELD1_DONE_MASK
  22796. #define CSI_CSISR_DMA_FIELD1_DONE_SHIFT CSI_SR_DMA_FIELD1_DONE_SHIFT
  22797. #define CSI_CSISR_DMA_FIELD1_DONE(x) CSI_SR_DMA_FIELD1_DONE(x)
  22798. #define CSI_CSISR_DMA_FIELD0_DONE_MASK CSI_SR_DMA_FIELD0_DONE_MASK
  22799. #define CSI_CSISR_DMA_FIELD0_DONE_SHIFT CSI_SR_DMA_FIELD0_DONE_SHIFT
  22800. #define CSI_CSISR_DMA_FIELD0_DONE(x) CSI_SR_DMA_FIELD0_DONE(x)
  22801. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_MASK CSI_SR_BASEADDR_CHHANGE_ERROR_MASK
  22802. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR_SHIFT CSI_SR_BASEADDR_CHHANGE_ERROR_SHIFT
  22803. #define CSI_CSISR_BASEADDR_CHHANGE_ERROR(x) CSI_SR_BASEADDR_CHHANGE_ERROR(x)
  22804. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_MASK CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_MASK
  22805. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF_SHIFT
  22806. #define CSI_CSIDMASA_STATFIFO_DMA_START_ADDR_SFF(x) CSI_DMASA_STATFIFO_DMA_START_ADDR_SFF(x)
  22807. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_MASK
  22808. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF_SHIFT
  22809. #define CSI_CSIDMATS_STATFIFO_DMA_TSF_SIZE_SFF(x) CSI_DMATS_STATFIFO_DMA_TSF_SIZE_SFF(x)
  22810. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_MASK CSI_DMASA_FB1_DMA_START_ADDR_FB1_MASK
  22811. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1_SHIFT CSI_DMASA_FB1_DMA_START_ADDR_FB1_SHIFT
  22812. #define CSI_CSIDMASA_FB1_DMA_START_ADDR_FB1(x) CSI_DMASA_FB1_DMA_START_ADDR_FB1(x)
  22813. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_MASK CSI_DMASA_FB2_DMA_START_ADDR_FB2_MASK
  22814. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2_SHIFT CSI_DMASA_FB2_DMA_START_ADDR_FB2_SHIFT
  22815. #define CSI_CSIDMASA_FB2_DMA_START_ADDR_FB2(x) CSI_DMASA_FB2_DMA_START_ADDR_FB2(x)
  22816. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_MASK CSI_FBUF_PARA_FBUF_STRIDE_MASK
  22817. #define CSI_CSIFBUF_PARA_FBUF_STRIDE_SHIFT CSI_FBUF_PARA_FBUF_STRIDE_SHIFT
  22818. #define CSI_CSIFBUF_PARA_FBUF_STRIDE(x) CSI_FBUF_PARA_FBUF_STRIDE(x)
  22819. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_MASK CSI_FBUF_PARA_DEINTERLACE_STRIDE_MASK
  22820. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE_SHIFT CSI_FBUF_PARA_DEINTERLACE_STRIDE_SHIFT
  22821. #define CSI_CSIFBUF_PARA_DEINTERLACE_STRIDE(x) CSI_FBUF_PARA_DEINTERLACE_STRIDE(x)
  22822. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_MASK CSI_IMAG_PARA_IMAGE_HEIGHT_MASK
  22823. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT_SHIFT CSI_IMAG_PARA_IMAGE_HEIGHT_SHIFT
  22824. #define CSI_CSIIMAG_PARA_IMAGE_HEIGHT(x) CSI_IMAG_PARA_IMAGE_HEIGHT(x)
  22825. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_MASK CSI_IMAG_PARA_IMAGE_WIDTH_MASK
  22826. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH_SHIFT CSI_IMAG_PARA_IMAGE_WIDTH_SHIFT
  22827. #define CSI_CSIIMAG_PARA_IMAGE_WIDTH(x) CSI_IMAG_PARA_IMAGE_WIDTH(x)
  22828. #define CSI_CSICR18_NTSC_EN_MASK CSI_CR18_NTSC_EN_MASK
  22829. #define CSI_CSICR18_NTSC_EN_SHIFT CSI_CR18_NTSC_EN_SHIFT
  22830. #define CSI_CSICR18_NTSC_EN(x) CSI_CR18_NTSC_EN(x)
  22831. #define CSI_CSICR18_TVDECODER_IN_EN_MASK CSI_CR18_TVDECODER_IN_EN_MASK
  22832. #define CSI_CSICR18_TVDECODER_IN_EN_SHIFT CSI_CR18_TVDECODER_IN_EN_SHIFT
  22833. #define CSI_CSICR18_TVDECODER_IN_EN(x) CSI_CR18_TVDECODER_IN_EN(x)
  22834. #define CSI_CSICR18_DEINTERLACE_EN_MASK CSI_CR18_DEINTERLACE_EN_MASK
  22835. #define CSI_CSICR18_DEINTERLACE_EN_SHIFT CSI_CR18_DEINTERLACE_EN_SHIFT
  22836. #define CSI_CSICR18_DEINTERLACE_EN(x) CSI_CR18_DEINTERLACE_EN(x)
  22837. #define CSI_CSICR18_PARALLEL24_EN_MASK CSI_CR18_PARALLEL24_EN_MASK
  22838. #define CSI_CSICR18_PARALLEL24_EN_SHIFT CSI_CR18_PARALLEL24_EN_SHIFT
  22839. #define CSI_CSICR18_PARALLEL24_EN(x) CSI_CR18_PARALLEL24_EN(x)
  22840. #define CSI_CSICR18_BASEADDR_SWITCH_EN_MASK CSI_CR18_BASEADDR_SWITCH_EN_MASK
  22841. #define CSI_CSICR18_BASEADDR_SWITCH_EN_SHIFT CSI_CR18_BASEADDR_SWITCH_EN_SHIFT
  22842. #define CSI_CSICR18_BASEADDR_SWITCH_EN(x) CSI_CR18_BASEADDR_SWITCH_EN(x)
  22843. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_MASK CSI_CR18_BASEADDR_SWITCH_SEL_MASK
  22844. #define CSI_CSICR18_BASEADDR_SWITCH_SEL_SHIFT CSI_CR18_BASEADDR_SWITCH_SEL_SHIFT
  22845. #define CSI_CSICR18_BASEADDR_SWITCH_SEL(x) CSI_CR18_BASEADDR_SWITCH_SEL(x)
  22846. #define CSI_CSICR18_FIELD0_DONE_IE_MASK CSI_CR18_FIELD0_DONE_IE_MASK
  22847. #define CSI_CSICR18_FIELD0_DONE_IE_SHIFT CSI_CR18_FIELD0_DONE_IE_SHIFT
  22848. #define CSI_CSICR18_FIELD0_DONE_IE(x) CSI_CR18_FIELD0_DONE_IE(x)
  22849. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_MASK CSI_CR18_DMA_FIELD1_DONE_IE_MASK
  22850. #define CSI_CSICR18_DMA_FIELD1_DONE_IE_SHIFT CSI_CR18_DMA_FIELD1_DONE_IE_SHIFT
  22851. #define CSI_CSICR18_DMA_FIELD1_DONE_IE(x) CSI_CR18_DMA_FIELD1_DONE_IE(x)
  22852. #define CSI_CSICR18_LAST_DMA_REQ_SEL_MASK CSI_CR18_LAST_DMA_REQ_SEL_MASK
  22853. #define CSI_CSICR18_LAST_DMA_REQ_SEL_SHIFT CSI_CR18_LAST_DMA_REQ_SEL_SHIFT
  22854. #define CSI_CSICR18_LAST_DMA_REQ_SEL(x) CSI_CR18_LAST_DMA_REQ_SEL(x)
  22855. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_MASK CSI_CR18_BASEADDR_CHANGE_ERROR_IE_MASK
  22856. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE_SHIFT CSI_CR18_BASEADDR_CHANGE_ERROR_IE_SHIFT
  22857. #define CSI_CSICR18_BASEADDR_CHANGE_ERROR_IE(x) CSI_CR18_BASEADDR_CHANGE_ERROR_IE(x)
  22858. #define CSI_CSICR18_RGB888A_FORMAT_SEL_MASK CSI_CR18_RGB888A_FORMAT_SEL_MASK
  22859. #define CSI_CSICR18_RGB888A_FORMAT_SEL_SHIFT CSI_CR18_RGB888A_FORMAT_SEL_SHIFT
  22860. #define CSI_CSICR18_RGB888A_FORMAT_SEL(x) CSI_CR18_RGB888A_FORMAT_SEL(x)
  22861. #define CSI_CSICR18_AHB_HPROT_MASK CSI_CR18_AHB_HPROT_MASK
  22862. #define CSI_CSICR18_AHB_HPROT_SHIFT CSI_CR18_AHB_HPROT_SHIFT
  22863. #define CSI_CSICR18_AHB_HPROT(x) CSI_CR18_AHB_HPROT(x)
  22864. #define CSI_CSICR18_MASK_OPTION_MASK CSI_CR18_MASK_OPTION_MASK
  22865. #define CSI_CSICR18_MASK_OPTION_SHIFT CSI_CR18_MASK_OPTION_SHIFT
  22866. #define CSI_CSICR18_MASK_OPTION(x) CSI_CR18_MASK_OPTION(x)
  22867. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT_MASK CSI_CR18_MIPI_DOUBLE_CMPNT_MASK
  22868. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT_SHIFT CSI_CR18_MIPI_DOUBLE_CMPNT_SHIFT
  22869. #define CSI_CSICR18_MIPI_DOUBLE_CMPNT(x) CSI_CR18_MIPI_DOUBLE_CMPNT(x)
  22870. #define CSI_CSICR18_MIPI_YU_SWAP_MASK CSI_CR18_MIPI_YU_SWAP_MASK
  22871. #define CSI_CSICR18_MIPI_YU_SWAP_SHIFT CSI_CR18_MIPI_YU_SWAP_SHIFT
  22872. #define CSI_CSICR18_MIPI_YU_SWAP(x) CSI_CR18_MIPI_YU_SWAP(x)
  22873. #define CSI_CSICR18_DATA_FROM_MIPI_MASK CSI_CR18_DATA_FROM_MIPI_MASK
  22874. #define CSI_CSICR18_DATA_FROM_MIPI_SHIFT CSI_CR18_DATA_FROM_MIPI_SHIFT
  22875. #define CSI_CSICR18_DATA_FROM_MIPI(x) CSI_CR18_DATA_FROM_MIPI(x)
  22876. #define CSI_CSICR18_LINE_STRIDE_EN_MASK CSI_CR18_LINE_STRIDE_EN_MASK
  22877. #define CSI_CSICR18_LINE_STRIDE_EN_SHIFT CSI_CR18_LINE_STRIDE_EN_SHIFT
  22878. #define CSI_CSICR18_LINE_STRIDE_EN(x) CSI_CR18_LINE_STRIDE_EN(x)
  22879. #define CSI_CSICR18_MIPI_DATA_FORMAT_MASK CSI_CR18_MIPI_DATA_FORMAT_MASK
  22880. #define CSI_CSICR18_MIPI_DATA_FORMAT_SHIFT CSI_CR18_MIPI_DATA_FORMAT_SHIFT
  22881. #define CSI_CSICR18_MIPI_DATA_FORMAT(x) CSI_CR18_MIPI_DATA_FORMAT(x)
  22882. #define CSI_CSICR18_CSI_ENABLE_MASK CSI_CR18_CSI_ENABLE_MASK
  22883. #define CSI_CSICR18_CSI_ENABLE_SHIFT CSI_CR18_CSI_ENABLE_SHIFT
  22884. #define CSI_CSICR18_CSI_ENABLE(x) CSI_CR18_CSI_ENABLE(x)
  22885. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_MASK
  22886. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL_SHIFT
  22887. #define CSI_CSICR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x) CSI_CR19_DMA_RFIFO_HIGHEST_FIFO_LEVEL(x)
  22888. #define CSI_CSICR20_THRESHOLD_MASK CSI_CR20_THRESHOLD_MASK
  22889. #define CSI_CSICR20_THRESHOLD_SHIFT CSI_CR20_THRESHOLD_SHIFT
  22890. #define CSI_CSICR20_THRESHOLD(x) CSI_CR20_THRESHOLD(x)
  22891. #define CSI_CSICR20_BINARY_EN_MASK CSI_CR20_BINARY_EN_MASK
  22892. #define CSI_CSICR20_BINARY_EN_SHIFT CSI_CR20_BINARY_EN_SHIFT
  22893. #define CSI_CSICR20_BINARY_EN(x) CSI_CR20_BINARY_EN(x)
  22894. #define CSI_CSICR20_QR_DATA_FORMAT_MASK CSI_CR20_QR_DATA_FORMAT_MASK
  22895. #define CSI_CSICR20_QR_DATA_FORMAT_SHIFT CSI_CR20_QR_DATA_FORMAT_SHIFT
  22896. #define CSI_CSICR20_QR_DATA_FORMAT(x) CSI_CR20_QR_DATA_FORMAT(x)
  22897. #define CSI_CSICR20_BIG_END_MASK CSI_CR20_BIG_END_MASK
  22898. #define CSI_CSICR20_BIG_END_SHIFT CSI_CR20_BIG_END_SHIFT
  22899. #define CSI_CSICR20_BIG_END(x) CSI_CR20_BIG_END(x)
  22900. #define CSI_CSICR20_10BIT_NEW_EN_MASK CSI_CR20_10BIT_NEW_EN_MASK
  22901. #define CSI_CSICR20_10BIT_NEW_EN_SHIFT CSI_CR20_10BIT_NEW_EN_SHIFT
  22902. #define CSI_CSICR20_10BIT_NEW_EN(x) CSI_CR20_10BIT_NEW_EN(x)
  22903. #define CSI_CSICR20_HISTOGRAM_EN_MASK CSI_CR20_HISTOGRAM_EN_MASK
  22904. #define CSI_CSICR20_HISTOGRAM_EN_SHIFT CSI_CR20_HISTOGRAM_EN_SHIFT
  22905. #define CSI_CSICR20_HISTOGRAM_EN(x) CSI_CR20_HISTOGRAM_EN(x)
  22906. #define CSI_CSICR20_QRCODE_EN_MASK CSI_CR20_QRCODE_EN_MASK
  22907. #define CSI_CSICR20_QRCODE_EN_SHIFT CSI_CR20_QRCODE_EN_SHIFT
  22908. #define CSI_CSICR20_QRCODE_EN(x) CSI_CR20_QRCODE_EN(x)
  22909. #define CSI_CSICR21_PIXEL_COUNTERS_MASK CSI_CR21_PIXEL_COUNTERS_MASK
  22910. #define CSI_CSICR21_PIXEL_COUNTERS_SHIFT CSI_CR21_PIXEL_COUNTERS_SHIFT
  22911. #define CSI_CSICR21_PIXEL_COUNTERS(x) CSI_CR21_PIXEL_COUNTERS(x)
  22912. #define CSI_CSICR22_PIXEL_COUNTERS_MASK CSI_CR22_PIXEL_COUNTERS_MASK
  22913. #define CSI_CSICR22_PIXEL_COUNTERS_SHIFT CSI_CR22_PIXEL_COUNTERS_SHIFT
  22914. #define CSI_CSICR22_PIXEL_COUNTERS(x) CSI_CR22_PIXEL_COUNTERS(x)
  22915. #define CSI_CSICR23_PIXEL_COUNTERS_MASK CSI_CR23_PIXEL_COUNTERS_MASK
  22916. #define CSI_CSICR23_PIXEL_COUNTERS_SHIFT CSI_CR23_PIXEL_COUNTERS_SHIFT
  22917. #define CSI_CSICR23_PIXEL_COUNTERS(x) CSI_CR23_PIXEL_COUNTERS(x)
  22918. #define CSI_CSICR24_PIXEL_COUNTERS_MASK CSI_CR24_PIXEL_COUNTERS_MASK
  22919. #define CSI_CSICR24_PIXEL_COUNTERS_SHIFT CSI_CR24_PIXEL_COUNTERS_SHIFT
  22920. #define CSI_CSICR24_PIXEL_COUNTERS(x) CSI_CR24_PIXEL_COUNTERS(x)
  22921. #define CSI_CSICR25_PIXEL_COUNTERS_MASK CSI_CR25_PIXEL_COUNTERS_MASK
  22922. #define CSI_CSICR25_PIXEL_COUNTERS_SHIFT CSI_CR25_PIXEL_COUNTERS_SHIFT
  22923. #define CSI_CSICR25_PIXEL_COUNTERS(x) CSI_CR25_PIXEL_COUNTERS(x)
  22924. #define CSI_CSICR26_PIXEL_COUNTERS_MASK CSI_CR26_PIXEL_COUNTERS_MASK
  22925. #define CSI_CSICR26_PIXEL_COUNTERS_SHIFT CSI_CR26_PIXEL_COUNTERS_SHIFT
  22926. #define CSI_CSICR26_PIXEL_COUNTERS(x) CSI_CR26_PIXEL_COUNTERS(x)
  22927. #define CSI_CSICR27_PIXEL_COUNTERS_MASK CSI_CR27_PIXEL_COUNTERS_MASK
  22928. #define CSI_CSICR27_PIXEL_COUNTERS_SHIFT CSI_CR27_PIXEL_COUNTERS_SHIFT
  22929. #define CSI_CSICR27_PIXEL_COUNTERS(x) CSI_CR27_PIXEL_COUNTERS(x)
  22930. #define CSI_CSICR28_PIXEL_COUNTERS_MASK CSI_CR28_PIXEL_COUNTERS_MASK
  22931. #define CSI_CSICR28_PIXEL_COUNTERS_SHIFT CSI_CR28_PIXEL_COUNTERS_SHIFT
  22932. #define CSI_CSICR28_PIXEL_COUNTERS(x) CSI_CR28_PIXEL_COUNTERS(x)
  22933. #define CSI_CSICR29_PIXEL_COUNTERS_MASK CSI_CR29_PIXEL_COUNTERS_MASK
  22934. #define CSI_CSICR29_PIXEL_COUNTERS_SHIFT CSI_CR29_PIXEL_COUNTERS_SHIFT
  22935. #define CSI_CSICR29_PIXEL_COUNTERS(x) CSI_CR29_PIXEL_COUNTERS(x)
  22936. #define CSI_CSICR30_PIXEL_COUNTERS_MASK CSI_CR30_PIXEL_COUNTERS_MASK
  22937. #define CSI_CSICR30_PIXEL_COUNTERS_SHIFT CSI_CR30_PIXEL_COUNTERS_SHIFT
  22938. #define CSI_CSICR30_PIXEL_COUNTERS(x) CSI_CR30_PIXEL_COUNTERS(x)
  22939. #define CSI_CSICR31_PIXEL_COUNTERS_MASK CSI_CR31_PIXEL_COUNTERS_MASK
  22940. #define CSI_CSICR31_PIXEL_COUNTERS_SHIFT CSI_CR31_PIXEL_COUNTERS_SHIFT
  22941. #define CSI_CSICR31_PIXEL_COUNTERS(x) CSI_CR31_PIXEL_COUNTERS(x)
  22942. #define CSI_CSICR32_PIXEL_COUNTERS_MASK CSI_CR32_PIXEL_COUNTERS_MASK
  22943. #define CSI_CSICR32_PIXEL_COUNTERS_SHIFT CSI_CR32_PIXEL_COUNTERS_SHIFT
  22944. #define CSI_CSICR32_PIXEL_COUNTERS(x) CSI_CR32_PIXEL_COUNTERS(x)
  22945. #define CSI_CSICR33_PIXEL_COUNTERS_MASK CSI_CR33_PIXEL_COUNTERS_MASK
  22946. #define CSI_CSICR33_PIXEL_COUNTERS_SHIFT CSI_CR33_PIXEL_COUNTERS_SHIFT
  22947. #define CSI_CSICR33_PIXEL_COUNTERS(x) CSI_CR33_PIXEL_COUNTERS(x)
  22948. #define CSI_CSICR34_PIXEL_COUNTERS_MASK CSI_CR34_PIXEL_COUNTERS_MASK
  22949. #define CSI_CSICR34_PIXEL_COUNTERS_SHIFT CSI_CR34_PIXEL_COUNTERS_SHIFT
  22950. #define CSI_CSICR34_PIXEL_COUNTERS(x) CSI_CR34_PIXEL_COUNTERS(x)
  22951. #define CSI_CSICR35_PIXEL_COUNTERS_MASK CSI_CR35_PIXEL_COUNTERS_MASK
  22952. #define CSI_CSICR35_PIXEL_COUNTERS_SHIFT CSI_CR35_PIXEL_COUNTERS_SHIFT
  22953. #define CSI_CSICR35_PIXEL_COUNTERS(x) CSI_CR35_PIXEL_COUNTERS(x)
  22954. #define CSI_CSICR36_PIXEL_COUNTERS_MASK CSI_CR36_PIXEL_COUNTERS_MASK
  22955. #define CSI_CSICR36_PIXEL_COUNTERS_SHIFT CSI_CR36_PIXEL_COUNTERS_SHIFT
  22956. #define CSI_CSICR36_PIXEL_COUNTERS(x) CSI_CR36_PIXEL_COUNTERS(x)
  22957. #define CSI_CSICR37_PIXEL_COUNTERS_MASK CSI_CR37_PIXEL_COUNTERS_MASK
  22958. #define CSI_CSICR37_PIXEL_COUNTERS_SHIFT CSI_CR37_PIXEL_COUNTERS_SHIFT
  22959. #define CSI_CSICR37_PIXEL_COUNTERS(x) CSI_CR37_PIXEL_COUNTERS(x)
  22960. #define CSI_CSICR38_PIXEL_COUNTERS_MASK CSI_CR38_PIXEL_COUNTERS_MASK
  22961. #define CSI_CSICR38_PIXEL_COUNTERS_SHIFT CSI_CR38_PIXEL_COUNTERS_SHIFT
  22962. #define CSI_CSICR38_PIXEL_COUNTERS(x) CSI_CR38_PIXEL_COUNTERS(x)
  22963. #define CSI_CSICR39_PIXEL_COUNTERS_MASK CSI_CR39_PIXEL_COUNTERS_MASK
  22964. #define CSI_CSICR39_PIXEL_COUNTERS_SHIFT CSI_CR39_PIXEL_COUNTERS_SHIFT
  22965. #define CSI_CSICR39_PIXEL_COUNTERS(x) CSI_CR39_PIXEL_COUNTERS(x)
  22966. #define CSI_CSICR40_PIXEL_COUNTERS_MASK CSI_CR40_PIXEL_COUNTERS_MASK
  22967. #define CSI_CSICR40_PIXEL_COUNTERS_SHIFT CSI_CR40_PIXEL_COUNTERS_SHIFT
  22968. #define CSI_CSICR40_PIXEL_COUNTERS(x) CSI_CR40_PIXEL_COUNTERS(x)
  22969. #define CSI_CSICR41_PIXEL_COUNTERS_MASK CSI_CR41_PIXEL_COUNTERS_MASK
  22970. #define CSI_CSICR41_PIXEL_COUNTERS_SHIFT CSI_CR41_PIXEL_COUNTERS_SHIFT
  22971. #define CSI_CSICR41_PIXEL_COUNTERS(x) CSI_CR41_PIXEL_COUNTERS(x)
  22972. #define CSI_CSICR42_PIXEL_COUNTERS_MASK CSI_CR42_PIXEL_COUNTERS_MASK
  22973. #define CSI_CSICR42_PIXEL_COUNTERS_SHIFT CSI_CR42_PIXEL_COUNTERS_SHIFT
  22974. #define CSI_CSICR42_PIXEL_COUNTERS(x) CSI_CR42_PIXEL_COUNTERS(x)
  22975. #define CSI_CSICR43_PIXEL_COUNTERS_MASK CSI_CR43_PIXEL_COUNTERS_MASK
  22976. #define CSI_CSICR43_PIXEL_COUNTERS_SHIFT CSI_CR43_PIXEL_COUNTERS_SHIFT
  22977. #define CSI_CSICR43_PIXEL_COUNTERS(x) CSI_CR43_PIXEL_COUNTERS(x)
  22978. #define CSI_CSICR44_PIXEL_COUNTERS_MASK CSI_CR44_PIXEL_COUNTERS_MASK
  22979. #define CSI_CSICR44_PIXEL_COUNTERS_SHIFT CSI_CR44_PIXEL_COUNTERS_SHIFT
  22980. #define CSI_CSICR44_PIXEL_COUNTERS(x) CSI_CR44_PIXEL_COUNTERS(x)
  22981. #define CSI_CSICR45_PIXEL_COUNTERS_MASK CSI_CR45_PIXEL_COUNTERS_MASK
  22982. #define CSI_CSICR45_PIXEL_COUNTERS_SHIFT CSI_CR45_PIXEL_COUNTERS_SHIFT
  22983. #define CSI_CSICR45_PIXEL_COUNTERS(x) CSI_CR45_PIXEL_COUNTERS(x)
  22984. #define CSI_CSICR46_PIXEL_COUNTERS_MASK CSI_CR46_PIXEL_COUNTERS_MASK
  22985. #define CSI_CSICR46_PIXEL_COUNTERS_SHIFT CSI_CR46_PIXEL_COUNTERS_SHIFT
  22986. #define CSI_CSICR46_PIXEL_COUNTERS(x) CSI_CR46_PIXEL_COUNTERS(x)
  22987. #define CSI_CSICR47_PIXEL_COUNTERS_MASK CSI_CR47_PIXEL_COUNTERS_MASK
  22988. #define CSI_CSICR47_PIXEL_COUNTERS_SHIFT CSI_CR47_PIXEL_COUNTERS_SHIFT
  22989. #define CSI_CSICR47_PIXEL_COUNTERS(x) CSI_CR47_PIXEL_COUNTERS(x)
  22990. #define CSI_CSICR48_PIXEL_COUNTERS_MASK CSI_CR48_PIXEL_COUNTERS_MASK
  22991. #define CSI_CSICR48_PIXEL_COUNTERS_SHIFT CSI_CR48_PIXEL_COUNTERS_SHIFT
  22992. #define CSI_CSICR48_PIXEL_COUNTERS(x) CSI_CR48_PIXEL_COUNTERS(x)
  22993. #define CSI_CSICR49_PIXEL_COUNTERS_MASK CSI_CR49_PIXEL_COUNTERS_MASK
  22994. #define CSI_CSICR49_PIXEL_COUNTERS_SHIFT CSI_CR49_PIXEL_COUNTERS_SHIFT
  22995. #define CSI_CSICR49_PIXEL_COUNTERS(x) CSI_CR49_PIXEL_COUNTERS(x)
  22996. #define CSI_CSICR50_PIXEL_COUNTERS_MASK CSI_CR50_PIXEL_COUNTERS_MASK
  22997. #define CSI_CSICR50_PIXEL_COUNTERS_SHIFT CSI_CR50_PIXEL_COUNTERS_SHIFT
  22998. #define CSI_CSICR50_PIXEL_COUNTERS(x) CSI_CR50_PIXEL_COUNTERS(x)
  22999. #define CSI_CSICR51_PIXEL_COUNTERS_MASK CSI_CR51_PIXEL_COUNTERS_MASK
  23000. #define CSI_CSICR51_PIXEL_COUNTERS_SHIFT CSI_CR51_PIXEL_COUNTERS_SHIFT
  23001. #define CSI_CSICR51_PIXEL_COUNTERS(x) CSI_CR51_PIXEL_COUNTERS(x)
  23002. #define CSI_CSICR52_PIXEL_COUNTERS_MASK CSI_CR52_PIXEL_COUNTERS_MASK
  23003. #define CSI_CSICR52_PIXEL_COUNTERS_SHIFT CSI_CR52_PIXEL_COUNTERS_SHIFT
  23004. #define CSI_CSICR52_PIXEL_COUNTERS(x) CSI_CR52_PIXEL_COUNTERS(x)
  23005. #define CSI_CSICR53_PIXEL_COUNTERS_MASK CSI_CR53_PIXEL_COUNTERS_MASK
  23006. #define CSI_CSICR53_PIXEL_COUNTERS_SHIFT CSI_CR53_PIXEL_COUNTERS_SHIFT
  23007. #define CSI_CSICR53_PIXEL_COUNTERS(x) CSI_CR53_PIXEL_COUNTERS(x)
  23008. #define CSI_CSICR54_PIXEL_COUNTERS_MASK CSI_CR54_PIXEL_COUNTERS_MASK
  23009. #define CSI_CSICR54_PIXEL_COUNTERS_SHIFT CSI_CR54_PIXEL_COUNTERS_SHIFT
  23010. #define CSI_CSICR54_PIXEL_COUNTERS(x) CSI_CR54_PIXEL_COUNTERS(x)
  23011. #define CSI_CSICR55_PIXEL_COUNTERS_MASK CSI_CR55_PIXEL_COUNTERS_MASK
  23012. #define CSI_CSICR55_PIXEL_COUNTERS_SHIFT CSI_CR55_PIXEL_COUNTERS_SHIFT
  23013. #define CSI_CSICR55_PIXEL_COUNTERS(x) CSI_CR55_PIXEL_COUNTERS(x)
  23014. #define CSI_CSICR56_PIXEL_COUNTERS_MASK CSI_CR56_PIXEL_COUNTERS_MASK
  23015. #define CSI_CSICR56_PIXEL_COUNTERS_SHIFT CSI_CR56_PIXEL_COUNTERS_SHIFT
  23016. #define CSI_CSICR56_PIXEL_COUNTERS(x) CSI_CR56_PIXEL_COUNTERS(x)
  23017. #define CSI_CSICR57_PIXEL_COUNTERS_MASK CSI_CR57_PIXEL_COUNTERS_MASK
  23018. #define CSI_CSICR57_PIXEL_COUNTERS_SHIFT CSI_CR57_PIXEL_COUNTERS_SHIFT
  23019. #define CSI_CSICR57_PIXEL_COUNTERS(x) CSI_CR57_PIXEL_COUNTERS(x)
  23020. #define CSI_CSICR58_PIXEL_COUNTERS_MASK CSI_CR58_PIXEL_COUNTERS_MASK
  23021. #define CSI_CSICR58_PIXEL_COUNTERS_SHIFT CSI_CR58_PIXEL_COUNTERS_SHIFT
  23022. #define CSI_CSICR58_PIXEL_COUNTERS(x) CSI_CR58_PIXEL_COUNTERS(x)
  23023. #define CSI_CSICR59_PIXEL_COUNTERS_MASK CSI_CR59_PIXEL_COUNTERS_MASK
  23024. #define CSI_CSICR59_PIXEL_COUNTERS_SHIFT CSI_CR59_PIXEL_COUNTERS_SHIFT
  23025. #define CSI_CSICR59_PIXEL_COUNTERS(x) CSI_CR59_PIXEL_COUNTERS(x)
  23026. #define CSI_CSICR60_PIXEL_COUNTERS_MASK CSI_CR60_PIXEL_COUNTERS_MASK
  23027. #define CSI_CSICR60_PIXEL_COUNTERS_SHIFT CSI_CR60_PIXEL_COUNTERS_SHIFT
  23028. #define CSI_CSICR60_PIXEL_COUNTERS(x) CSI_CR60_PIXEL_COUNTERS(x)
  23029. #define CSI_CSICR61_PIXEL_COUNTERS_MASK CSI_CR61_PIXEL_COUNTERS_MASK
  23030. #define CSI_CSICR61_PIXEL_COUNTERS_SHIFT CSI_CR61_PIXEL_COUNTERS_SHIFT
  23031. #define CSI_CSICR61_PIXEL_COUNTERS(x) CSI_CR61_PIXEL_COUNTERS(x)
  23032. #define CSI_CSICR62_PIXEL_COUNTERS_MASK CSI_CR62_PIXEL_COUNTERS_MASK
  23033. #define CSI_CSICR62_PIXEL_COUNTERS_SHIFT CSI_CR62_PIXEL_COUNTERS_SHIFT
  23034. #define CSI_CSICR62_PIXEL_COUNTERS(x) CSI_CR62_PIXEL_COUNTERS(x)
  23035. #define CSI_CSICR63_PIXEL_COUNTERS_MASK CSI_CR63_PIXEL_COUNTERS_MASK
  23036. #define CSI_CSICR63_PIXEL_COUNTERS_SHIFT CSI_CR63_PIXEL_COUNTERS_SHIFT
  23037. #define CSI_CSICR63_PIXEL_COUNTERS(x) CSI_CR63_PIXEL_COUNTERS(x)
  23038. #define CSI_CSICR64_PIXEL_COUNTERS_MASK CSI_CR64_PIXEL_COUNTERS_MASK
  23039. #define CSI_CSICR64_PIXEL_COUNTERS_SHIFT CSI_CR64_PIXEL_COUNTERS_SHIFT
  23040. #define CSI_CSICR64_PIXEL_COUNTERS(x) CSI_CR64_PIXEL_COUNTERS(x)
  23041. #define CSI_CSICR65_PIXEL_COUNTERS_MASK CSI_CR65_PIXEL_COUNTERS_MASK
  23042. #define CSI_CSICR65_PIXEL_COUNTERS_SHIFT CSI_CR65_PIXEL_COUNTERS_SHIFT
  23043. #define CSI_CSICR65_PIXEL_COUNTERS(x) CSI_CR65_PIXEL_COUNTERS(x)
  23044. #define CSI_CSICR66_PIXEL_COUNTERS_MASK CSI_CR66_PIXEL_COUNTERS_MASK
  23045. #define CSI_CSICR66_PIXEL_COUNTERS_SHIFT CSI_CR66_PIXEL_COUNTERS_SHIFT
  23046. #define CSI_CSICR66_PIXEL_COUNTERS(x) CSI_CR66_PIXEL_COUNTERS(x)
  23047. #define CSI_CSICR67_PIXEL_COUNTERS_MASK CSI_CR67_PIXEL_COUNTERS_MASK
  23048. #define CSI_CSICR67_PIXEL_COUNTERS_SHIFT CSI_CR67_PIXEL_COUNTERS_SHIFT
  23049. #define CSI_CSICR67_PIXEL_COUNTERS(x) CSI_CR67_PIXEL_COUNTERS(x)
  23050. #define CSI_CSICR68_PIXEL_COUNTERS_MASK CSI_CR68_PIXEL_COUNTERS_MASK
  23051. #define CSI_CSICR68_PIXEL_COUNTERS_SHIFT CSI_CR68_PIXEL_COUNTERS_SHIFT
  23052. #define CSI_CSICR68_PIXEL_COUNTERS(x) CSI_CR68_PIXEL_COUNTERS(x)
  23053. #define CSI_CSICR69_PIXEL_COUNTERS_MASK CSI_CR69_PIXEL_COUNTERS_MASK
  23054. #define CSI_CSICR69_PIXEL_COUNTERS_SHIFT CSI_CR69_PIXEL_COUNTERS_SHIFT
  23055. #define CSI_CSICR69_PIXEL_COUNTERS(x) CSI_CR69_PIXEL_COUNTERS(x)
  23056. #define CSI_CSICR70_PIXEL_COUNTERS_MASK CSI_CR70_PIXEL_COUNTERS_MASK
  23057. #define CSI_CSICR70_PIXEL_COUNTERS_SHIFT CSI_CR70_PIXEL_COUNTERS_SHIFT
  23058. #define CSI_CSICR70_PIXEL_COUNTERS(x) CSI_CR70_PIXEL_COUNTERS(x)
  23059. #define CSI_CSICR71_PIXEL_COUNTERS_MASK CSI_CR71_PIXEL_COUNTERS_MASK
  23060. #define CSI_CSICR71_PIXEL_COUNTERS_SHIFT CSI_CR71_PIXEL_COUNTERS_SHIFT
  23061. #define CSI_CSICR71_PIXEL_COUNTERS(x) CSI_CR71_PIXEL_COUNTERS(x)
  23062. #define CSI_CSICR72_PIXEL_COUNTERS_MASK CSI_CR72_PIXEL_COUNTERS_MASK
  23063. #define CSI_CSICR72_PIXEL_COUNTERS_SHIFT CSI_CR72_PIXEL_COUNTERS_SHIFT
  23064. #define CSI_CSICR72_PIXEL_COUNTERS(x) CSI_CR72_PIXEL_COUNTERS(x)
  23065. #define CSI_CSICR73_PIXEL_COUNTERS_MASK CSI_CR73_PIXEL_COUNTERS_MASK
  23066. #define CSI_CSICR73_PIXEL_COUNTERS_SHIFT CSI_CR73_PIXEL_COUNTERS_SHIFT
  23067. #define CSI_CSICR73_PIXEL_COUNTERS(x) CSI_CR73_PIXEL_COUNTERS(x)
  23068. #define CSI_CSICR74_PIXEL_COUNTERS_MASK CSI_CR74_PIXEL_COUNTERS_MASK
  23069. #define CSI_CSICR74_PIXEL_COUNTERS_SHIFT CSI_CR74_PIXEL_COUNTERS_SHIFT
  23070. #define CSI_CSICR74_PIXEL_COUNTERS(x) CSI_CR74_PIXEL_COUNTERS(x)
  23071. #define CSI_CSICR75_PIXEL_COUNTERS_MASK CSI_CR75_PIXEL_COUNTERS_MASK
  23072. #define CSI_CSICR75_PIXEL_COUNTERS_SHIFT CSI_CR75_PIXEL_COUNTERS_SHIFT
  23073. #define CSI_CSICR75_PIXEL_COUNTERS(x) CSI_CR75_PIXEL_COUNTERS(x)
  23074. #define CSI_CSICR76_PIXEL_COUNTERS_MASK CSI_CR76_PIXEL_COUNTERS_MASK
  23075. #define CSI_CSICR76_PIXEL_COUNTERS_SHIFT CSI_CR76_PIXEL_COUNTERS_SHIFT
  23076. #define CSI_CSICR76_PIXEL_COUNTERS(x) CSI_CR76_PIXEL_COUNTERS(x)
  23077. #define CSI_CSICR77_PIXEL_COUNTERS_MASK CSI_CR77_PIXEL_COUNTERS_MASK
  23078. #define CSI_CSICR77_PIXEL_COUNTERS_SHIFT CSI_CR77_PIXEL_COUNTERS_SHIFT
  23079. #define CSI_CSICR77_PIXEL_COUNTERS(x) CSI_CR77_PIXEL_COUNTERS(x)
  23080. #define CSI_CSICR78_PIXEL_COUNTERS_MASK CSI_CR78_PIXEL_COUNTERS_MASK
  23081. #define CSI_CSICR78_PIXEL_COUNTERS_SHIFT CSI_CR78_PIXEL_COUNTERS_SHIFT
  23082. #define CSI_CSICR78_PIXEL_COUNTERS(x) CSI_CR78_PIXEL_COUNTERS(x)
  23083. #define CSI_CSICR79_PIXEL_COUNTERS_MASK CSI_CR79_PIXEL_COUNTERS_MASK
  23084. #define CSI_CSICR79_PIXEL_COUNTERS_SHIFT CSI_CR79_PIXEL_COUNTERS_SHIFT
  23085. #define CSI_CSICR79_PIXEL_COUNTERS(x) CSI_CR79_PIXEL_COUNTERS(x)
  23086. #define CSI_CSICR80_PIXEL_COUNTERS_MASK CSI_CR80_PIXEL_COUNTERS_MASK
  23087. #define CSI_CSICR80_PIXEL_COUNTERS_SHIFT CSI_CR80_PIXEL_COUNTERS_SHIFT
  23088. #define CSI_CSICR80_PIXEL_COUNTERS(x) CSI_CR80_PIXEL_COUNTERS(x)
  23089. #define CSI_CSICR81_PIXEL_COUNTERS_MASK CSI_CR81_PIXEL_COUNTERS_MASK
  23090. #define CSI_CSICR81_PIXEL_COUNTERS_SHIFT CSI_CR81_PIXEL_COUNTERS_SHIFT
  23091. #define CSI_CSICR81_PIXEL_COUNTERS(x) CSI_CR81_PIXEL_COUNTERS(x)
  23092. #define CSI_CSICR82_PIXEL_COUNTERS_MASK CSI_CR82_PIXEL_COUNTERS_MASK
  23093. #define CSI_CSICR82_PIXEL_COUNTERS_SHIFT CSI_CR82_PIXEL_COUNTERS_SHIFT
  23094. #define CSI_CSICR82_PIXEL_COUNTERS(x) CSI_CR82_PIXEL_COUNTERS(x)
  23095. #define CSI_CSICR83_PIXEL_COUNTERS_MASK CSI_CR83_PIXEL_COUNTERS_MASK
  23096. #define CSI_CSICR83_PIXEL_COUNTERS_SHIFT CSI_CR83_PIXEL_COUNTERS_SHIFT
  23097. #define CSI_CSICR83_PIXEL_COUNTERS(x) CSI_CR83_PIXEL_COUNTERS(x)
  23098. #define CSI_CSICR84_PIXEL_COUNTERS_MASK CSI_CR84_PIXEL_COUNTERS_MASK
  23099. #define CSI_CSICR84_PIXEL_COUNTERS_SHIFT CSI_CR84_PIXEL_COUNTERS_SHIFT
  23100. #define CSI_CSICR84_PIXEL_COUNTERS(x) CSI_CR84_PIXEL_COUNTERS(x)
  23101. #define CSI_CSICR85_PIXEL_COUNTERS_MASK CSI_CR85_PIXEL_COUNTERS_MASK
  23102. #define CSI_CSICR85_PIXEL_COUNTERS_SHIFT CSI_CR85_PIXEL_COUNTERS_SHIFT
  23103. #define CSI_CSICR85_PIXEL_COUNTERS(x) CSI_CR85_PIXEL_COUNTERS(x)
  23104. #define CSI_CSICR86_PIXEL_COUNTERS_MASK CSI_CR86_PIXEL_COUNTERS_MASK
  23105. #define CSI_CSICR86_PIXEL_COUNTERS_SHIFT CSI_CR86_PIXEL_COUNTERS_SHIFT
  23106. #define CSI_CSICR86_PIXEL_COUNTERS(x) CSI_CR86_PIXEL_COUNTERS(x)
  23107. #define CSI_CSICR87_PIXEL_COUNTERS_MASK CSI_CR87_PIXEL_COUNTERS_MASK
  23108. #define CSI_CSICR87_PIXEL_COUNTERS_SHIFT CSI_CR87_PIXEL_COUNTERS_SHIFT
  23109. #define CSI_CSICR87_PIXEL_COUNTERS(x) CSI_CR87_PIXEL_COUNTERS(x)
  23110. #define CSI_CSICR88_PIXEL_COUNTERS_MASK CSI_CR88_PIXEL_COUNTERS_MASK
  23111. #define CSI_CSICR88_PIXEL_COUNTERS_SHIFT CSI_CR88_PIXEL_COUNTERS_SHIFT
  23112. #define CSI_CSICR88_PIXEL_COUNTERS(x) CSI_CR88_PIXEL_COUNTERS(x)
  23113. #define CSI_CSICR89_PIXEL_COUNTERS_MASK CSI_CR89_PIXEL_COUNTERS_MASK
  23114. #define CSI_CSICR89_PIXEL_COUNTERS_SHIFT CSI_CR89_PIXEL_COUNTERS_SHIFT
  23115. #define CSI_CSICR89_PIXEL_COUNTERS(x) CSI_CR89_PIXEL_COUNTERS(x)
  23116. #define CSI_CSICR90_PIXEL_COUNTERS_MASK CSI_CR90_PIXEL_COUNTERS_MASK
  23117. #define CSI_CSICR90_PIXEL_COUNTERS_SHIFT CSI_CR90_PIXEL_COUNTERS_SHIFT
  23118. #define CSI_CSICR90_PIXEL_COUNTERS(x) CSI_CR90_PIXEL_COUNTERS(x)
  23119. #define CSI_CSICR91_PIXEL_COUNTERS_MASK CSI_CR91_PIXEL_COUNTERS_MASK
  23120. #define CSI_CSICR91_PIXEL_COUNTERS_SHIFT CSI_CR91_PIXEL_COUNTERS_SHIFT
  23121. #define CSI_CSICR91_PIXEL_COUNTERS(x) CSI_CR91_PIXEL_COUNTERS(x)
  23122. #define CSI_CSICR92_PIXEL_COUNTERS_MASK CSI_CR92_PIXEL_COUNTERS_MASK
  23123. #define CSI_CSICR92_PIXEL_COUNTERS_SHIFT CSI_CR92_PIXEL_COUNTERS_SHIFT
  23124. #define CSI_CSICR92_PIXEL_COUNTERS(x) CSI_CR92_PIXEL_COUNTERS(x)
  23125. #define CSI_CSICR93_PIXEL_COUNTERS_MASK CSI_CR93_PIXEL_COUNTERS_MASK
  23126. #define CSI_CSICR93_PIXEL_COUNTERS_SHIFT CSI_CR93_PIXEL_COUNTERS_SHIFT
  23127. #define CSI_CSICR93_PIXEL_COUNTERS(x) CSI_CR93_PIXEL_COUNTERS(x)
  23128. #define CSI_CSICR94_PIXEL_COUNTERS_MASK CSI_CR94_PIXEL_COUNTERS_MASK
  23129. #define CSI_CSICR94_PIXEL_COUNTERS_SHIFT CSI_CR94_PIXEL_COUNTERS_SHIFT
  23130. #define CSI_CSICR94_PIXEL_COUNTERS(x) CSI_CR94_PIXEL_COUNTERS(x)
  23131. #define CSI_CSICR95_PIXEL_COUNTERS_MASK CSI_CR95_PIXEL_COUNTERS_MASK
  23132. #define CSI_CSICR95_PIXEL_COUNTERS_SHIFT CSI_CR95_PIXEL_COUNTERS_SHIFT
  23133. #define CSI_CSICR95_PIXEL_COUNTERS(x) CSI_CR95_PIXEL_COUNTERS(x)
  23134. #define CSI_CSICR96_PIXEL_COUNTERS_MASK CSI_CR96_PIXEL_COUNTERS_MASK
  23135. #define CSI_CSICR96_PIXEL_COUNTERS_SHIFT CSI_CR96_PIXEL_COUNTERS_SHIFT
  23136. #define CSI_CSICR96_PIXEL_COUNTERS(x) CSI_CR96_PIXEL_COUNTERS(x)
  23137. #define CSI_CSICR97_PIXEL_COUNTERS_MASK CSI_CR97_PIXEL_COUNTERS_MASK
  23138. #define CSI_CSICR97_PIXEL_COUNTERS_SHIFT CSI_CR97_PIXEL_COUNTERS_SHIFT
  23139. #define CSI_CSICR97_PIXEL_COUNTERS(x) CSI_CR97_PIXEL_COUNTERS(x)
  23140. #define CSI_CSICR98_PIXEL_COUNTERS_MASK CSI_CR98_PIXEL_COUNTERS_MASK
  23141. #define CSI_CSICR98_PIXEL_COUNTERS_SHIFT CSI_CR98_PIXEL_COUNTERS_SHIFT
  23142. #define CSI_CSICR98_PIXEL_COUNTERS(x) CSI_CR98_PIXEL_COUNTERS(x)
  23143. #define CSI_CSICR99_PIXEL_COUNTERS_MASK CSI_CR99_PIXEL_COUNTERS_MASK
  23144. #define CSI_CSICR99_PIXEL_COUNTERS_SHIFT CSI_CR99_PIXEL_COUNTERS_SHIFT
  23145. #define CSI_CSICR99_PIXEL_COUNTERS(x) CSI_CR99_PIXEL_COUNTERS(x)
  23146. #define CSI_CSICR100_PIXEL_COUNTERS_MASK CSI_CR100_PIXEL_COUNTERS_MASK
  23147. #define CSI_CSICR100_PIXEL_COUNTERS_SHIFT CSI_CR100_PIXEL_COUNTERS_SHIFT
  23148. #define CSI_CSICR100_PIXEL_COUNTERS(x) CSI_CR100_PIXEL_COUNTERS(x)
  23149. #define CSI_CSICR101_PIXEL_COUNTERS_MASK CSI_CR101_PIXEL_COUNTERS_MASK
  23150. #define CSI_CSICR101_PIXEL_COUNTERS_SHIFT CSI_CR101_PIXEL_COUNTERS_SHIFT
  23151. #define CSI_CSICR101_PIXEL_COUNTERS(x) CSI_CR101_PIXEL_COUNTERS(x)
  23152. #define CSI_CSICR102_PIXEL_COUNTERS_MASK CSI_CR102_PIXEL_COUNTERS_MASK
  23153. #define CSI_CSICR102_PIXEL_COUNTERS_SHIFT CSI_CR102_PIXEL_COUNTERS_SHIFT
  23154. #define CSI_CSICR102_PIXEL_COUNTERS(x) CSI_CR102_PIXEL_COUNTERS(x)
  23155. #define CSI_CSICR103_PIXEL_COUNTERS_MASK CSI_CR103_PIXEL_COUNTERS_MASK
  23156. #define CSI_CSICR103_PIXEL_COUNTERS_SHIFT CSI_CR103_PIXEL_COUNTERS_SHIFT
  23157. #define CSI_CSICR103_PIXEL_COUNTERS(x) CSI_CR103_PIXEL_COUNTERS(x)
  23158. #define CSI_CSICR104_PIXEL_COUNTERS_MASK CSI_CR104_PIXEL_COUNTERS_MASK
  23159. #define CSI_CSICR104_PIXEL_COUNTERS_SHIFT CSI_CR104_PIXEL_COUNTERS_SHIFT
  23160. #define CSI_CSICR104_PIXEL_COUNTERS(x) CSI_CR104_PIXEL_COUNTERS(x)
  23161. #define CSI_CSICR105_PIXEL_COUNTERS_MASK CSI_CR105_PIXEL_COUNTERS_MASK
  23162. #define CSI_CSICR105_PIXEL_COUNTERS_SHIFT CSI_CR105_PIXEL_COUNTERS_SHIFT
  23163. #define CSI_CSICR105_PIXEL_COUNTERS(x) CSI_CR105_PIXEL_COUNTERS(x)
  23164. #define CSI_CSICR106_PIXEL_COUNTERS_MASK CSI_CR106_PIXEL_COUNTERS_MASK
  23165. #define CSI_CSICR106_PIXEL_COUNTERS_SHIFT CSI_CR106_PIXEL_COUNTERS_SHIFT
  23166. #define CSI_CSICR106_PIXEL_COUNTERS(x) CSI_CR106_PIXEL_COUNTERS(x)
  23167. #define CSI_CSICR107_PIXEL_COUNTERS_MASK CSI_CR107_PIXEL_COUNTERS_MASK
  23168. #define CSI_CSICR107_PIXEL_COUNTERS_SHIFT CSI_CR107_PIXEL_COUNTERS_SHIFT
  23169. #define CSI_CSICR107_PIXEL_COUNTERS(x) CSI_CR107_PIXEL_COUNTERS(x)
  23170. #define CSI_CSICR108_PIXEL_COUNTERS_MASK CSI_CR108_PIXEL_COUNTERS_MASK
  23171. #define CSI_CSICR108_PIXEL_COUNTERS_SHIFT CSI_CR108_PIXEL_COUNTERS_SHIFT
  23172. #define CSI_CSICR108_PIXEL_COUNTERS(x) CSI_CR108_PIXEL_COUNTERS(x)
  23173. #define CSI_CSICR109_PIXEL_COUNTERS_MASK CSI_CR109_PIXEL_COUNTERS_MASK
  23174. #define CSI_CSICR109_PIXEL_COUNTERS_SHIFT CSI_CR109_PIXEL_COUNTERS_SHIFT
  23175. #define CSI_CSICR109_PIXEL_COUNTERS(x) CSI_CR109_PIXEL_COUNTERS(x)
  23176. #define CSI_CSICR110_PIXEL_COUNTERS_MASK CSI_CR110_PIXEL_COUNTERS_MASK
  23177. #define CSI_CSICR110_PIXEL_COUNTERS_SHIFT CSI_CR110_PIXEL_COUNTERS_SHIFT
  23178. #define CSI_CSICR110_PIXEL_COUNTERS(x) CSI_CR110_PIXEL_COUNTERS(x)
  23179. #define CSI_CSICR111_PIXEL_COUNTERS_MASK CSI_CR111_PIXEL_COUNTERS_MASK
  23180. #define CSI_CSICR111_PIXEL_COUNTERS_SHIFT CSI_CR111_PIXEL_COUNTERS_SHIFT
  23181. #define CSI_CSICR111_PIXEL_COUNTERS(x) CSI_CR111_PIXEL_COUNTERS(x)
  23182. #define CSI_CSICR112_PIXEL_COUNTERS_MASK CSI_CR112_PIXEL_COUNTERS_MASK
  23183. #define CSI_CSICR112_PIXEL_COUNTERS_SHIFT CSI_CR112_PIXEL_COUNTERS_SHIFT
  23184. #define CSI_CSICR112_PIXEL_COUNTERS(x) CSI_CR112_PIXEL_COUNTERS(x)
  23185. #define CSI_CSICR113_PIXEL_COUNTERS_MASK CSI_CR113_PIXEL_COUNTERS_MASK
  23186. #define CSI_CSICR113_PIXEL_COUNTERS_SHIFT CSI_CR113_PIXEL_COUNTERS_SHIFT
  23187. #define CSI_CSICR113_PIXEL_COUNTERS(x) CSI_CR113_PIXEL_COUNTERS(x)
  23188. #define CSI_CSICR114_PIXEL_COUNTERS_MASK CSI_CR114_PIXEL_COUNTERS_MASK
  23189. #define CSI_CSICR114_PIXEL_COUNTERS_SHIFT CSI_CR114_PIXEL_COUNTERS_SHIFT
  23190. #define CSI_CSICR114_PIXEL_COUNTERS(x) CSI_CR114_PIXEL_COUNTERS(x)
  23191. #define CSI_CSICR115_PIXEL_COUNTERS_MASK CSI_CR115_PIXEL_COUNTERS_MASK
  23192. #define CSI_CSICR115_PIXEL_COUNTERS_SHIFT CSI_CR115_PIXEL_COUNTERS_SHIFT
  23193. #define CSI_CSICR115_PIXEL_COUNTERS(x) CSI_CR115_PIXEL_COUNTERS(x)
  23194. #define CSI_CSICR116_PIXEL_COUNTERS_MASK CSI_CR116_PIXEL_COUNTERS_MASK
  23195. #define CSI_CSICR116_PIXEL_COUNTERS_SHIFT CSI_CR116_PIXEL_COUNTERS_SHIFT
  23196. #define CSI_CSICR116_PIXEL_COUNTERS(x) CSI_CR116_PIXEL_COUNTERS(x)
  23197. #define CSI_CSICR117_PIXEL_COUNTERS_MASK CSI_CR117_PIXEL_COUNTERS_MASK
  23198. #define CSI_CSICR117_PIXEL_COUNTERS_SHIFT CSI_CR117_PIXEL_COUNTERS_SHIFT
  23199. #define CSI_CSICR117_PIXEL_COUNTERS(x) CSI_CR117_PIXEL_COUNTERS(x)
  23200. #define CSI_CSICR118_PIXEL_COUNTERS_MASK CSI_CR118_PIXEL_COUNTERS_MASK
  23201. #define CSI_CSICR118_PIXEL_COUNTERS_SHIFT CSI_CR118_PIXEL_COUNTERS_SHIFT
  23202. #define CSI_CSICR118_PIXEL_COUNTERS(x) CSI_CR118_PIXEL_COUNTERS(x)
  23203. #define CSI_CSICR119_PIXEL_COUNTERS_MASK CSI_CR119_PIXEL_COUNTERS_MASK
  23204. #define CSI_CSICR119_PIXEL_COUNTERS_SHIFT CSI_CR119_PIXEL_COUNTERS_SHIFT
  23205. #define CSI_CSICR119_PIXEL_COUNTERS(x) CSI_CR119_PIXEL_COUNTERS(x)
  23206. #define CSI_CSICR120_PIXEL_COUNTERS_MASK CSI_CR120_PIXEL_COUNTERS_MASK
  23207. #define CSI_CSICR120_PIXEL_COUNTERS_SHIFT CSI_CR120_PIXEL_COUNTERS_SHIFT
  23208. #define CSI_CSICR120_PIXEL_COUNTERS(x) CSI_CR120_PIXEL_COUNTERS(x)
  23209. #define CSI_CSICR121_PIXEL_COUNTERS_MASK CSI_CR121_PIXEL_COUNTERS_MASK
  23210. #define CSI_CSICR121_PIXEL_COUNTERS_SHIFT CSI_CR121_PIXEL_COUNTERS_SHIFT
  23211. #define CSI_CSICR121_PIXEL_COUNTERS(x) CSI_CR121_PIXEL_COUNTERS(x)
  23212. #define CSI_CSICR122_PIXEL_COUNTERS_MASK CSI_CR122_PIXEL_COUNTERS_MASK
  23213. #define CSI_CSICR122_PIXEL_COUNTERS_SHIFT CSI_CR122_PIXEL_COUNTERS_SHIFT
  23214. #define CSI_CSICR122_PIXEL_COUNTERS(x) CSI_CR122_PIXEL_COUNTERS(x)
  23215. #define CSI_CSICR123_PIXEL_COUNTERS_MASK CSI_CR123_PIXEL_COUNTERS_MASK
  23216. #define CSI_CSICR123_PIXEL_COUNTERS_SHIFT CSI_CR123_PIXEL_COUNTERS_SHIFT
  23217. #define CSI_CSICR123_PIXEL_COUNTERS(x) CSI_CR123_PIXEL_COUNTERS(x)
  23218. #define CSI_CSICR124_PIXEL_COUNTERS_MASK CSI_CR124_PIXEL_COUNTERS_MASK
  23219. #define CSI_CSICR124_PIXEL_COUNTERS_SHIFT CSI_CR124_PIXEL_COUNTERS_SHIFT
  23220. #define CSI_CSICR124_PIXEL_COUNTERS(x) CSI_CR124_PIXEL_COUNTERS(x)
  23221. #define CSI_CSICR125_PIXEL_COUNTERS_MASK CSI_CR125_PIXEL_COUNTERS_MASK
  23222. #define CSI_CSICR125_PIXEL_COUNTERS_SHIFT CSI_CR125_PIXEL_COUNTERS_SHIFT
  23223. #define CSI_CSICR125_PIXEL_COUNTERS(x) CSI_CR125_PIXEL_COUNTERS(x)
  23224. #define CSI_CSICR126_PIXEL_COUNTERS_MASK CSI_CR126_PIXEL_COUNTERS_MASK
  23225. #define CSI_CSICR126_PIXEL_COUNTERS_SHIFT CSI_CR126_PIXEL_COUNTERS_SHIFT
  23226. #define CSI_CSICR126_PIXEL_COUNTERS(x) CSI_CR126_PIXEL_COUNTERS(x)
  23227. #define CSI_CSICR127_PIXEL_COUNTERS_MASK CSI_CR127_PIXEL_COUNTERS_MASK
  23228. #define CSI_CSICR127_PIXEL_COUNTERS_SHIFT CSI_CR127_PIXEL_COUNTERS_SHIFT
  23229. #define CSI_CSICR127_PIXEL_COUNTERS(x) CSI_CR127_PIXEL_COUNTERS(x)
  23230. #define CSI_CSICR128_PIXEL_COUNTERS_MASK CSI_CR128_PIXEL_COUNTERS_MASK
  23231. #define CSI_CSICR128_PIXEL_COUNTERS_SHIFT CSI_CR128_PIXEL_COUNTERS_SHIFT
  23232. #define CSI_CSICR128_PIXEL_COUNTERS(x) CSI_CR128_PIXEL_COUNTERS(x)
  23233. #define CSI_CSICR129_PIXEL_COUNTERS_MASK CSI_CR129_PIXEL_COUNTERS_MASK
  23234. #define CSI_CSICR129_PIXEL_COUNTERS_SHIFT CSI_CR129_PIXEL_COUNTERS_SHIFT
  23235. #define CSI_CSICR129_PIXEL_COUNTERS(x) CSI_CR129_PIXEL_COUNTERS(x)
  23236. #define CSI_CSICR130_PIXEL_COUNTERS_MASK CSI_CR130_PIXEL_COUNTERS_MASK
  23237. #define CSI_CSICR130_PIXEL_COUNTERS_SHIFT CSI_CR130_PIXEL_COUNTERS_SHIFT
  23238. #define CSI_CSICR130_PIXEL_COUNTERS(x) CSI_CR130_PIXEL_COUNTERS(x)
  23239. #define CSI_CSICR131_PIXEL_COUNTERS_MASK CSI_CR131_PIXEL_COUNTERS_MASK
  23240. #define CSI_CSICR131_PIXEL_COUNTERS_SHIFT CSI_CR131_PIXEL_COUNTERS_SHIFT
  23241. #define CSI_CSICR131_PIXEL_COUNTERS(x) CSI_CR131_PIXEL_COUNTERS(x)
  23242. #define CSI_CSICR132_PIXEL_COUNTERS_MASK CSI_CR132_PIXEL_COUNTERS_MASK
  23243. #define CSI_CSICR132_PIXEL_COUNTERS_SHIFT CSI_CR132_PIXEL_COUNTERS_SHIFT
  23244. #define CSI_CSICR132_PIXEL_COUNTERS(x) CSI_CR132_PIXEL_COUNTERS(x)
  23245. #define CSI_CSICR133_PIXEL_COUNTERS_MASK CSI_CR133_PIXEL_COUNTERS_MASK
  23246. #define CSI_CSICR133_PIXEL_COUNTERS_SHIFT CSI_CR133_PIXEL_COUNTERS_SHIFT
  23247. #define CSI_CSICR133_PIXEL_COUNTERS(x) CSI_CR133_PIXEL_COUNTERS(x)
  23248. #define CSI_CSICR134_PIXEL_COUNTERS_MASK CSI_CR134_PIXEL_COUNTERS_MASK
  23249. #define CSI_CSICR134_PIXEL_COUNTERS_SHIFT CSI_CR134_PIXEL_COUNTERS_SHIFT
  23250. #define CSI_CSICR134_PIXEL_COUNTERS(x) CSI_CR134_PIXEL_COUNTERS(x)
  23251. #define CSI_CSICR135_PIXEL_COUNTERS_MASK CSI_CR135_PIXEL_COUNTERS_MASK
  23252. #define CSI_CSICR135_PIXEL_COUNTERS_SHIFT CSI_CR135_PIXEL_COUNTERS_SHIFT
  23253. #define CSI_CSICR135_PIXEL_COUNTERS(x) CSI_CR135_PIXEL_COUNTERS(x)
  23254. #define CSI_CSICR136_PIXEL_COUNTERS_MASK CSI_CR136_PIXEL_COUNTERS_MASK
  23255. #define CSI_CSICR136_PIXEL_COUNTERS_SHIFT CSI_CR136_PIXEL_COUNTERS_SHIFT
  23256. #define CSI_CSICR136_PIXEL_COUNTERS(x) CSI_CR136_PIXEL_COUNTERS(x)
  23257. #define CSI_CSICR137_PIXEL_COUNTERS_MASK CSI_CR137_PIXEL_COUNTERS_MASK
  23258. #define CSI_CSICR137_PIXEL_COUNTERS_SHIFT CSI_CR137_PIXEL_COUNTERS_SHIFT
  23259. #define CSI_CSICR137_PIXEL_COUNTERS(x) CSI_CR137_PIXEL_COUNTERS(x)
  23260. #define CSI_CSICR138_PIXEL_COUNTERS_MASK CSI_CR138_PIXEL_COUNTERS_MASK
  23261. #define CSI_CSICR138_PIXEL_COUNTERS_SHIFT CSI_CR138_PIXEL_COUNTERS_SHIFT
  23262. #define CSI_CSICR138_PIXEL_COUNTERS(x) CSI_CR138_PIXEL_COUNTERS(x)
  23263. #define CSI_CSICR139_PIXEL_COUNTERS_MASK CSI_CR139_PIXEL_COUNTERS_MASK
  23264. #define CSI_CSICR139_PIXEL_COUNTERS_SHIFT CSI_CR139_PIXEL_COUNTERS_SHIFT
  23265. #define CSI_CSICR139_PIXEL_COUNTERS(x) CSI_CR139_PIXEL_COUNTERS(x)
  23266. #define CSI_CSICR140_PIXEL_COUNTERS_MASK CSI_CR140_PIXEL_COUNTERS_MASK
  23267. #define CSI_CSICR140_PIXEL_COUNTERS_SHIFT CSI_CR140_PIXEL_COUNTERS_SHIFT
  23268. #define CSI_CSICR140_PIXEL_COUNTERS(x) CSI_CR140_PIXEL_COUNTERS(x)
  23269. #define CSI_CSICR141_PIXEL_COUNTERS_MASK CSI_CR141_PIXEL_COUNTERS_MASK
  23270. #define CSI_CSICR141_PIXEL_COUNTERS_SHIFT CSI_CR141_PIXEL_COUNTERS_SHIFT
  23271. #define CSI_CSICR141_PIXEL_COUNTERS(x) CSI_CR141_PIXEL_COUNTERS(x)
  23272. #define CSI_CSICR142_PIXEL_COUNTERS_MASK CSI_CR142_PIXEL_COUNTERS_MASK
  23273. #define CSI_CSICR142_PIXEL_COUNTERS_SHIFT CSI_CR142_PIXEL_COUNTERS_SHIFT
  23274. #define CSI_CSICR142_PIXEL_COUNTERS(x) CSI_CR142_PIXEL_COUNTERS(x)
  23275. #define CSI_CSICR143_PIXEL_COUNTERS_MASK CSI_CR143_PIXEL_COUNTERS_MASK
  23276. #define CSI_CSICR143_PIXEL_COUNTERS_SHIFT CSI_CR143_PIXEL_COUNTERS_SHIFT
  23277. #define CSI_CSICR143_PIXEL_COUNTERS(x) CSI_CR143_PIXEL_COUNTERS(x)
  23278. #define CSI_CSICR144_PIXEL_COUNTERS_MASK CSI_CR144_PIXEL_COUNTERS_MASK
  23279. #define CSI_CSICR144_PIXEL_COUNTERS_SHIFT CSI_CR144_PIXEL_COUNTERS_SHIFT
  23280. #define CSI_CSICR144_PIXEL_COUNTERS(x) CSI_CR144_PIXEL_COUNTERS(x)
  23281. #define CSI_CSICR145_PIXEL_COUNTERS_MASK CSI_CR145_PIXEL_COUNTERS_MASK
  23282. #define CSI_CSICR145_PIXEL_COUNTERS_SHIFT CSI_CR145_PIXEL_COUNTERS_SHIFT
  23283. #define CSI_CSICR145_PIXEL_COUNTERS(x) CSI_CR145_PIXEL_COUNTERS(x)
  23284. #define CSI_CSICR146_PIXEL_COUNTERS_MASK CSI_CR146_PIXEL_COUNTERS_MASK
  23285. #define CSI_CSICR146_PIXEL_COUNTERS_SHIFT CSI_CR146_PIXEL_COUNTERS_SHIFT
  23286. #define CSI_CSICR146_PIXEL_COUNTERS(x) CSI_CR146_PIXEL_COUNTERS(x)
  23287. #define CSI_CSICR147_PIXEL_COUNTERS_MASK CSI_CR147_PIXEL_COUNTERS_MASK
  23288. #define CSI_CSICR147_PIXEL_COUNTERS_SHIFT CSI_CR147_PIXEL_COUNTERS_SHIFT
  23289. #define CSI_CSICR147_PIXEL_COUNTERS(x) CSI_CR147_PIXEL_COUNTERS(x)
  23290. #define CSI_CSICR148_PIXEL_COUNTERS_MASK CSI_CR148_PIXEL_COUNTERS_MASK
  23291. #define CSI_CSICR148_PIXEL_COUNTERS_SHIFT CSI_CR148_PIXEL_COUNTERS_SHIFT
  23292. #define CSI_CSICR148_PIXEL_COUNTERS(x) CSI_CR148_PIXEL_COUNTERS(x)
  23293. #define CSI_CSICR149_PIXEL_COUNTERS_MASK CSI_CR149_PIXEL_COUNTERS_MASK
  23294. #define CSI_CSICR149_PIXEL_COUNTERS_SHIFT CSI_CR149_PIXEL_COUNTERS_SHIFT
  23295. #define CSI_CSICR149_PIXEL_COUNTERS(x) CSI_CR149_PIXEL_COUNTERS(x)
  23296. #define CSI_CSICR150_PIXEL_COUNTERS_MASK CSI_CR150_PIXEL_COUNTERS_MASK
  23297. #define CSI_CSICR150_PIXEL_COUNTERS_SHIFT CSI_CR150_PIXEL_COUNTERS_SHIFT
  23298. #define CSI_CSICR150_PIXEL_COUNTERS(x) CSI_CR150_PIXEL_COUNTERS(x)
  23299. #define CSI_CSICR151_PIXEL_COUNTERS_MASK CSI_CR151_PIXEL_COUNTERS_MASK
  23300. #define CSI_CSICR151_PIXEL_COUNTERS_SHIFT CSI_CR151_PIXEL_COUNTERS_SHIFT
  23301. #define CSI_CSICR151_PIXEL_COUNTERS(x) CSI_CR151_PIXEL_COUNTERS(x)
  23302. #define CSI_CSICR152_PIXEL_COUNTERS_MASK CSI_CR152_PIXEL_COUNTERS_MASK
  23303. #define CSI_CSICR152_PIXEL_COUNTERS_SHIFT CSI_CR152_PIXEL_COUNTERS_SHIFT
  23304. #define CSI_CSICR152_PIXEL_COUNTERS(x) CSI_CR152_PIXEL_COUNTERS(x)
  23305. #define CSI_CSICR153_PIXEL_COUNTERS_MASK CSI_CR153_PIXEL_COUNTERS_MASK
  23306. #define CSI_CSICR153_PIXEL_COUNTERS_SHIFT CSI_CR153_PIXEL_COUNTERS_SHIFT
  23307. #define CSI_CSICR153_PIXEL_COUNTERS(x) CSI_CR153_PIXEL_COUNTERS(x)
  23308. #define CSI_CSICR154_PIXEL_COUNTERS_MASK CSI_CR154_PIXEL_COUNTERS_MASK
  23309. #define CSI_CSICR154_PIXEL_COUNTERS_SHIFT CSI_CR154_PIXEL_COUNTERS_SHIFT
  23310. #define CSI_CSICR154_PIXEL_COUNTERS(x) CSI_CR154_PIXEL_COUNTERS(x)
  23311. #define CSI_CSICR155_PIXEL_COUNTERS_MASK CSI_CR155_PIXEL_COUNTERS_MASK
  23312. #define CSI_CSICR155_PIXEL_COUNTERS_SHIFT CSI_CR155_PIXEL_COUNTERS_SHIFT
  23313. #define CSI_CSICR155_PIXEL_COUNTERS(x) CSI_CR155_PIXEL_COUNTERS(x)
  23314. #define CSI_CSICR156_PIXEL_COUNTERS_MASK CSI_CR156_PIXEL_COUNTERS_MASK
  23315. #define CSI_CSICR156_PIXEL_COUNTERS_SHIFT CSI_CR156_PIXEL_COUNTERS_SHIFT
  23316. #define CSI_CSICR156_PIXEL_COUNTERS(x) CSI_CR156_PIXEL_COUNTERS(x)
  23317. #define CSI_CSICR157_PIXEL_COUNTERS_MASK CSI_CR157_PIXEL_COUNTERS_MASK
  23318. #define CSI_CSICR157_PIXEL_COUNTERS_SHIFT CSI_CR157_PIXEL_COUNTERS_SHIFT
  23319. #define CSI_CSICR157_PIXEL_COUNTERS(x) CSI_CR157_PIXEL_COUNTERS(x)
  23320. #define CSI_CSICR158_PIXEL_COUNTERS_MASK CSI_CR158_PIXEL_COUNTERS_MASK
  23321. #define CSI_CSICR158_PIXEL_COUNTERS_SHIFT CSI_CR158_PIXEL_COUNTERS_SHIFT
  23322. #define CSI_CSICR158_PIXEL_COUNTERS(x) CSI_CR158_PIXEL_COUNTERS(x)
  23323. #define CSI_CSICR159_PIXEL_COUNTERS_MASK CSI_CR159_PIXEL_COUNTERS_MASK
  23324. #define CSI_CSICR159_PIXEL_COUNTERS_SHIFT CSI_CR159_PIXEL_COUNTERS_SHIFT
  23325. #define CSI_CSICR159_PIXEL_COUNTERS(x) CSI_CR159_PIXEL_COUNTERS(x)
  23326. #define CSI_CSICR160_PIXEL_COUNTERS_MASK CSI_CR160_PIXEL_COUNTERS_MASK
  23327. #define CSI_CSICR160_PIXEL_COUNTERS_SHIFT CSI_CR160_PIXEL_COUNTERS_SHIFT
  23328. #define CSI_CSICR160_PIXEL_COUNTERS(x) CSI_CR160_PIXEL_COUNTERS(x)
  23329. #define CSI_CSICR161_PIXEL_COUNTERS_MASK CSI_CR161_PIXEL_COUNTERS_MASK
  23330. #define CSI_CSICR161_PIXEL_COUNTERS_SHIFT CSI_CR161_PIXEL_COUNTERS_SHIFT
  23331. #define CSI_CSICR161_PIXEL_COUNTERS(x) CSI_CR161_PIXEL_COUNTERS(x)
  23332. #define CSI_CSICR162_PIXEL_COUNTERS_MASK CSI_CR162_PIXEL_COUNTERS_MASK
  23333. #define CSI_CSICR162_PIXEL_COUNTERS_SHIFT CSI_CR162_PIXEL_COUNTERS_SHIFT
  23334. #define CSI_CSICR162_PIXEL_COUNTERS(x) CSI_CR162_PIXEL_COUNTERS(x)
  23335. #define CSI_CSICR163_PIXEL_COUNTERS_MASK CSI_CR163_PIXEL_COUNTERS_MASK
  23336. #define CSI_CSICR163_PIXEL_COUNTERS_SHIFT CSI_CR163_PIXEL_COUNTERS_SHIFT
  23337. #define CSI_CSICR163_PIXEL_COUNTERS(x) CSI_CR163_PIXEL_COUNTERS(x)
  23338. #define CSI_CSICR164_PIXEL_COUNTERS_MASK CSI_CR164_PIXEL_COUNTERS_MASK
  23339. #define CSI_CSICR164_PIXEL_COUNTERS_SHIFT CSI_CR164_PIXEL_COUNTERS_SHIFT
  23340. #define CSI_CSICR164_PIXEL_COUNTERS(x) CSI_CR164_PIXEL_COUNTERS(x)
  23341. #define CSI_CSICR165_PIXEL_COUNTERS_MASK CSI_CR165_PIXEL_COUNTERS_MASK
  23342. #define CSI_CSICR165_PIXEL_COUNTERS_SHIFT CSI_CR165_PIXEL_COUNTERS_SHIFT
  23343. #define CSI_CSICR165_PIXEL_COUNTERS(x) CSI_CR165_PIXEL_COUNTERS(x)
  23344. #define CSI_CSICR166_PIXEL_COUNTERS_MASK CSI_CR166_PIXEL_COUNTERS_MASK
  23345. #define CSI_CSICR166_PIXEL_COUNTERS_SHIFT CSI_CR166_PIXEL_COUNTERS_SHIFT
  23346. #define CSI_CSICR166_PIXEL_COUNTERS(x) CSI_CR166_PIXEL_COUNTERS(x)
  23347. #define CSI_CSICR167_PIXEL_COUNTERS_MASK CSI_CR167_PIXEL_COUNTERS_MASK
  23348. #define CSI_CSICR167_PIXEL_COUNTERS_SHIFT CSI_CR167_PIXEL_COUNTERS_SHIFT
  23349. #define CSI_CSICR167_PIXEL_COUNTERS(x) CSI_CR167_PIXEL_COUNTERS(x)
  23350. #define CSI_CSICR168_PIXEL_COUNTERS_MASK CSI_CR168_PIXEL_COUNTERS_MASK
  23351. #define CSI_CSICR168_PIXEL_COUNTERS_SHIFT CSI_CR168_PIXEL_COUNTERS_SHIFT
  23352. #define CSI_CSICR168_PIXEL_COUNTERS(x) CSI_CR168_PIXEL_COUNTERS(x)
  23353. #define CSI_CSICR169_PIXEL_COUNTERS_MASK CSI_CR169_PIXEL_COUNTERS_MASK
  23354. #define CSI_CSICR169_PIXEL_COUNTERS_SHIFT CSI_CR169_PIXEL_COUNTERS_SHIFT
  23355. #define CSI_CSICR169_PIXEL_COUNTERS(x) CSI_CR169_PIXEL_COUNTERS(x)
  23356. #define CSI_CSICR170_PIXEL_COUNTERS_MASK CSI_CR170_PIXEL_COUNTERS_MASK
  23357. #define CSI_CSICR170_PIXEL_COUNTERS_SHIFT CSI_CR170_PIXEL_COUNTERS_SHIFT
  23358. #define CSI_CSICR170_PIXEL_COUNTERS(x) CSI_CR170_PIXEL_COUNTERS(x)
  23359. #define CSI_CSICR171_PIXEL_COUNTERS_MASK CSI_CR171_PIXEL_COUNTERS_MASK
  23360. #define CSI_CSICR171_PIXEL_COUNTERS_SHIFT CSI_CR171_PIXEL_COUNTERS_SHIFT
  23361. #define CSI_CSICR171_PIXEL_COUNTERS(x) CSI_CR171_PIXEL_COUNTERS(x)
  23362. #define CSI_CSICR172_PIXEL_COUNTERS_MASK CSI_CR172_PIXEL_COUNTERS_MASK
  23363. #define CSI_CSICR172_PIXEL_COUNTERS_SHIFT CSI_CR172_PIXEL_COUNTERS_SHIFT
  23364. #define CSI_CSICR172_PIXEL_COUNTERS(x) CSI_CR172_PIXEL_COUNTERS(x)
  23365. #define CSI_CSICR173_PIXEL_COUNTERS_MASK CSI_CR173_PIXEL_COUNTERS_MASK
  23366. #define CSI_CSICR173_PIXEL_COUNTERS_SHIFT CSI_CR173_PIXEL_COUNTERS_SHIFT
  23367. #define CSI_CSICR173_PIXEL_COUNTERS(x) CSI_CR173_PIXEL_COUNTERS(x)
  23368. #define CSI_CSICR174_PIXEL_COUNTERS_MASK CSI_CR174_PIXEL_COUNTERS_MASK
  23369. #define CSI_CSICR174_PIXEL_COUNTERS_SHIFT CSI_CR174_PIXEL_COUNTERS_SHIFT
  23370. #define CSI_CSICR174_PIXEL_COUNTERS(x) CSI_CR174_PIXEL_COUNTERS(x)
  23371. #define CSI_CSICR175_PIXEL_COUNTERS_MASK CSI_CR175_PIXEL_COUNTERS_MASK
  23372. #define CSI_CSICR175_PIXEL_COUNTERS_SHIFT CSI_CR175_PIXEL_COUNTERS_SHIFT
  23373. #define CSI_CSICR175_PIXEL_COUNTERS(x) CSI_CR175_PIXEL_COUNTERS(x)
  23374. #define CSI_CSICR176_PIXEL_COUNTERS_MASK CSI_CR176_PIXEL_COUNTERS_MASK
  23375. #define CSI_CSICR176_PIXEL_COUNTERS_SHIFT CSI_CR176_PIXEL_COUNTERS_SHIFT
  23376. #define CSI_CSICR176_PIXEL_COUNTERS(x) CSI_CR176_PIXEL_COUNTERS(x)
  23377. #define CSI_CSICR177_PIXEL_COUNTERS_MASK CSI_CR177_PIXEL_COUNTERS_MASK
  23378. #define CSI_CSICR177_PIXEL_COUNTERS_SHIFT CSI_CR177_PIXEL_COUNTERS_SHIFT
  23379. #define CSI_CSICR177_PIXEL_COUNTERS(x) CSI_CR177_PIXEL_COUNTERS(x)
  23380. #define CSI_CSICR178_PIXEL_COUNTERS_MASK CSI_CR178_PIXEL_COUNTERS_MASK
  23381. #define CSI_CSICR178_PIXEL_COUNTERS_SHIFT CSI_CR178_PIXEL_COUNTERS_SHIFT
  23382. #define CSI_CSICR178_PIXEL_COUNTERS(x) CSI_CR178_PIXEL_COUNTERS(x)
  23383. #define CSI_CSICR179_PIXEL_COUNTERS_MASK CSI_CR179_PIXEL_COUNTERS_MASK
  23384. #define CSI_CSICR179_PIXEL_COUNTERS_SHIFT CSI_CR179_PIXEL_COUNTERS_SHIFT
  23385. #define CSI_CSICR179_PIXEL_COUNTERS(x) CSI_CR179_PIXEL_COUNTERS(x)
  23386. #define CSI_CSICR180_PIXEL_COUNTERS_MASK CSI_CR180_PIXEL_COUNTERS_MASK
  23387. #define CSI_CSICR180_PIXEL_COUNTERS_SHIFT CSI_CR180_PIXEL_COUNTERS_SHIFT
  23388. #define CSI_CSICR180_PIXEL_COUNTERS(x) CSI_CR180_PIXEL_COUNTERS(x)
  23389. #define CSI_CSICR181_PIXEL_COUNTERS_MASK CSI_CR181_PIXEL_COUNTERS_MASK
  23390. #define CSI_CSICR181_PIXEL_COUNTERS_SHIFT CSI_CR181_PIXEL_COUNTERS_SHIFT
  23391. #define CSI_CSICR181_PIXEL_COUNTERS(x) CSI_CR181_PIXEL_COUNTERS(x)
  23392. #define CSI_CSICR182_PIXEL_COUNTERS_MASK CSI_CR182_PIXEL_COUNTERS_MASK
  23393. #define CSI_CSICR182_PIXEL_COUNTERS_SHIFT CSI_CR182_PIXEL_COUNTERS_SHIFT
  23394. #define CSI_CSICR182_PIXEL_COUNTERS(x) CSI_CR182_PIXEL_COUNTERS(x)
  23395. #define CSI_CSICR183_PIXEL_COUNTERS_MASK CSI_CR183_PIXEL_COUNTERS_MASK
  23396. #define CSI_CSICR183_PIXEL_COUNTERS_SHIFT CSI_CR183_PIXEL_COUNTERS_SHIFT
  23397. #define CSI_CSICR183_PIXEL_COUNTERS(x) CSI_CR183_PIXEL_COUNTERS(x)
  23398. #define CSI_CSICR184_PIXEL_COUNTERS_MASK CSI_CR184_PIXEL_COUNTERS_MASK
  23399. #define CSI_CSICR184_PIXEL_COUNTERS_SHIFT CSI_CR184_PIXEL_COUNTERS_SHIFT
  23400. #define CSI_CSICR184_PIXEL_COUNTERS(x) CSI_CR184_PIXEL_COUNTERS(x)
  23401. #define CSI_CSICR185_PIXEL_COUNTERS_MASK CSI_CR185_PIXEL_COUNTERS_MASK
  23402. #define CSI_CSICR185_PIXEL_COUNTERS_SHIFT CSI_CR185_PIXEL_COUNTERS_SHIFT
  23403. #define CSI_CSICR185_PIXEL_COUNTERS(x) CSI_CR185_PIXEL_COUNTERS(x)
  23404. #define CSI_CSICR186_PIXEL_COUNTERS_MASK CSI_CR186_PIXEL_COUNTERS_MASK
  23405. #define CSI_CSICR186_PIXEL_COUNTERS_SHIFT CSI_CR186_PIXEL_COUNTERS_SHIFT
  23406. #define CSI_CSICR186_PIXEL_COUNTERS(x) CSI_CR186_PIXEL_COUNTERS(x)
  23407. #define CSI_CSICR187_PIXEL_COUNTERS_MASK CSI_CR187_PIXEL_COUNTERS_MASK
  23408. #define CSI_CSICR187_PIXEL_COUNTERS_SHIFT CSI_CR187_PIXEL_COUNTERS_SHIFT
  23409. #define CSI_CSICR187_PIXEL_COUNTERS(x) CSI_CR187_PIXEL_COUNTERS(x)
  23410. #define CSI_CSICR188_PIXEL_COUNTERS_MASK CSI_CR188_PIXEL_COUNTERS_MASK
  23411. #define CSI_CSICR188_PIXEL_COUNTERS_SHIFT CSI_CR188_PIXEL_COUNTERS_SHIFT
  23412. #define CSI_CSICR188_PIXEL_COUNTERS(x) CSI_CR188_PIXEL_COUNTERS(x)
  23413. #define CSI_CSICR189_PIXEL_COUNTERS_MASK CSI_CR189_PIXEL_COUNTERS_MASK
  23414. #define CSI_CSICR189_PIXEL_COUNTERS_SHIFT CSI_CR189_PIXEL_COUNTERS_SHIFT
  23415. #define CSI_CSICR189_PIXEL_COUNTERS(x) CSI_CR189_PIXEL_COUNTERS(x)
  23416. #define CSI_CSICR190_PIXEL_COUNTERS_MASK CSI_CR190_PIXEL_COUNTERS_MASK
  23417. #define CSI_CSICR190_PIXEL_COUNTERS_SHIFT CSI_CR190_PIXEL_COUNTERS_SHIFT
  23418. #define CSI_CSICR190_PIXEL_COUNTERS(x) CSI_CR190_PIXEL_COUNTERS(x)
  23419. #define CSI_CSICR191_PIXEL_COUNTERS_MASK CSI_CR191_PIXEL_COUNTERS_MASK
  23420. #define CSI_CSICR191_PIXEL_COUNTERS_SHIFT CSI_CR191_PIXEL_COUNTERS_SHIFT
  23421. #define CSI_CSICR191_PIXEL_COUNTERS(x) CSI_CR191_PIXEL_COUNTERS(x)
  23422. #define CSI_CSICR192_PIXEL_COUNTERS_MASK CSI_CR192_PIXEL_COUNTERS_MASK
  23423. #define CSI_CSICR192_PIXEL_COUNTERS_SHIFT CSI_CR192_PIXEL_COUNTERS_SHIFT
  23424. #define CSI_CSICR192_PIXEL_COUNTERS(x) CSI_CR192_PIXEL_COUNTERS(x)
  23425. #define CSI_CSICR193_PIXEL_COUNTERS_MASK CSI_CR193_PIXEL_COUNTERS_MASK
  23426. #define CSI_CSICR193_PIXEL_COUNTERS_SHIFT CSI_CR193_PIXEL_COUNTERS_SHIFT
  23427. #define CSI_CSICR193_PIXEL_COUNTERS(x) CSI_CR193_PIXEL_COUNTERS(x)
  23428. #define CSI_CSICR194_PIXEL_COUNTERS_MASK CSI_CR194_PIXEL_COUNTERS_MASK
  23429. #define CSI_CSICR194_PIXEL_COUNTERS_SHIFT CSI_CR194_PIXEL_COUNTERS_SHIFT
  23430. #define CSI_CSICR194_PIXEL_COUNTERS(x) CSI_CR194_PIXEL_COUNTERS(x)
  23431. #define CSI_CSICR195_PIXEL_COUNTERS_MASK CSI_CR195_PIXEL_COUNTERS_MASK
  23432. #define CSI_CSICR195_PIXEL_COUNTERS_SHIFT CSI_CR195_PIXEL_COUNTERS_SHIFT
  23433. #define CSI_CSICR195_PIXEL_COUNTERS(x) CSI_CR195_PIXEL_COUNTERS(x)
  23434. #define CSI_CSICR196_PIXEL_COUNTERS_MASK CSI_CR196_PIXEL_COUNTERS_MASK
  23435. #define CSI_CSICR196_PIXEL_COUNTERS_SHIFT CSI_CR196_PIXEL_COUNTERS_SHIFT
  23436. #define CSI_CSICR196_PIXEL_COUNTERS(x) CSI_CR196_PIXEL_COUNTERS(x)
  23437. #define CSI_CSICR197_PIXEL_COUNTERS_MASK CSI_CR197_PIXEL_COUNTERS_MASK
  23438. #define CSI_CSICR197_PIXEL_COUNTERS_SHIFT CSI_CR197_PIXEL_COUNTERS_SHIFT
  23439. #define CSI_CSICR197_PIXEL_COUNTERS(x) CSI_CR197_PIXEL_COUNTERS(x)
  23440. #define CSI_CSICR198_PIXEL_COUNTERS_MASK CSI_CR198_PIXEL_COUNTERS_MASK
  23441. #define CSI_CSICR198_PIXEL_COUNTERS_SHIFT CSI_CR198_PIXEL_COUNTERS_SHIFT
  23442. #define CSI_CSICR198_PIXEL_COUNTERS(x) CSI_CR198_PIXEL_COUNTERS(x)
  23443. #define CSI_CSICR199_PIXEL_COUNTERS_MASK CSI_CR199_PIXEL_COUNTERS_MASK
  23444. #define CSI_CSICR199_PIXEL_COUNTERS_SHIFT CSI_CR199_PIXEL_COUNTERS_SHIFT
  23445. #define CSI_CSICR199_PIXEL_COUNTERS(x) CSI_CR199_PIXEL_COUNTERS(x)
  23446. #define CSI_CSICR200_PIXEL_COUNTERS_MASK CSI_CR200_PIXEL_COUNTERS_MASK
  23447. #define CSI_CSICR200_PIXEL_COUNTERS_SHIFT CSI_CR200_PIXEL_COUNTERS_SHIFT
  23448. #define CSI_CSICR200_PIXEL_COUNTERS(x) CSI_CR200_PIXEL_COUNTERS(x)
  23449. #define CSI_CSICR201_PIXEL_COUNTERS_MASK CSI_CR201_PIXEL_COUNTERS_MASK
  23450. #define CSI_CSICR201_PIXEL_COUNTERS_SHIFT CSI_CR201_PIXEL_COUNTERS_SHIFT
  23451. #define CSI_CSICR201_PIXEL_COUNTERS(x) CSI_CR201_PIXEL_COUNTERS(x)
  23452. #define CSI_CSICR202_PIXEL_COUNTERS_MASK CSI_CR202_PIXEL_COUNTERS_MASK
  23453. #define CSI_CSICR202_PIXEL_COUNTERS_SHIFT CSI_CR202_PIXEL_COUNTERS_SHIFT
  23454. #define CSI_CSICR202_PIXEL_COUNTERS(x) CSI_CR202_PIXEL_COUNTERS(x)
  23455. #define CSI_CSICR203_PIXEL_COUNTERS_MASK CSI_CR203_PIXEL_COUNTERS_MASK
  23456. #define CSI_CSICR203_PIXEL_COUNTERS_SHIFT CSI_CR203_PIXEL_COUNTERS_SHIFT
  23457. #define CSI_CSICR203_PIXEL_COUNTERS(x) CSI_CR203_PIXEL_COUNTERS(x)
  23458. #define CSI_CSICR204_PIXEL_COUNTERS_MASK CSI_CR204_PIXEL_COUNTERS_MASK
  23459. #define CSI_CSICR204_PIXEL_COUNTERS_SHIFT CSI_CR204_PIXEL_COUNTERS_SHIFT
  23460. #define CSI_CSICR204_PIXEL_COUNTERS(x) CSI_CR204_PIXEL_COUNTERS(x)
  23461. #define CSI_CSICR205_PIXEL_COUNTERS_MASK CSI_CR205_PIXEL_COUNTERS_MASK
  23462. #define CSI_CSICR205_PIXEL_COUNTERS_SHIFT CSI_CR205_PIXEL_COUNTERS_SHIFT
  23463. #define CSI_CSICR205_PIXEL_COUNTERS(x) CSI_CR205_PIXEL_COUNTERS(x)
  23464. #define CSI_CSICR206_PIXEL_COUNTERS_MASK CSI_CR206_PIXEL_COUNTERS_MASK
  23465. #define CSI_CSICR206_PIXEL_COUNTERS_SHIFT CSI_CR206_PIXEL_COUNTERS_SHIFT
  23466. #define CSI_CSICR206_PIXEL_COUNTERS(x) CSI_CR206_PIXEL_COUNTERS(x)
  23467. #define CSI_CSICR207_PIXEL_COUNTERS_MASK CSI_CR207_PIXEL_COUNTERS_MASK
  23468. #define CSI_CSICR207_PIXEL_COUNTERS_SHIFT CSI_CR207_PIXEL_COUNTERS_SHIFT
  23469. #define CSI_CSICR207_PIXEL_COUNTERS(x) CSI_CR207_PIXEL_COUNTERS(x)
  23470. #define CSI_CSICR208_PIXEL_COUNTERS_MASK CSI_CR208_PIXEL_COUNTERS_MASK
  23471. #define CSI_CSICR208_PIXEL_COUNTERS_SHIFT CSI_CR208_PIXEL_COUNTERS_SHIFT
  23472. #define CSI_CSICR208_PIXEL_COUNTERS(x) CSI_CR208_PIXEL_COUNTERS(x)
  23473. #define CSI_CSICR209_PIXEL_COUNTERS_MASK CSI_CR209_PIXEL_COUNTERS_MASK
  23474. #define CSI_CSICR209_PIXEL_COUNTERS_SHIFT CSI_CR209_PIXEL_COUNTERS_SHIFT
  23475. #define CSI_CSICR209_PIXEL_COUNTERS(x) CSI_CR209_PIXEL_COUNTERS(x)
  23476. #define CSI_CSICR210_PIXEL_COUNTERS_MASK CSI_CR210_PIXEL_COUNTERS_MASK
  23477. #define CSI_CSICR210_PIXEL_COUNTERS_SHIFT CSI_CR210_PIXEL_COUNTERS_SHIFT
  23478. #define CSI_CSICR210_PIXEL_COUNTERS(x) CSI_CR210_PIXEL_COUNTERS(x)
  23479. #define CSI_CSICR211_PIXEL_COUNTERS_MASK CSI_CR211_PIXEL_COUNTERS_MASK
  23480. #define CSI_CSICR211_PIXEL_COUNTERS_SHIFT CSI_CR211_PIXEL_COUNTERS_SHIFT
  23481. #define CSI_CSICR211_PIXEL_COUNTERS(x) CSI_CR211_PIXEL_COUNTERS(x)
  23482. #define CSI_CSICR212_PIXEL_COUNTERS_MASK CSI_CR212_PIXEL_COUNTERS_MASK
  23483. #define CSI_CSICR212_PIXEL_COUNTERS_SHIFT CSI_CR212_PIXEL_COUNTERS_SHIFT
  23484. #define CSI_CSICR212_PIXEL_COUNTERS(x) CSI_CR212_PIXEL_COUNTERS(x)
  23485. #define CSI_CSICR213_PIXEL_COUNTERS_MASK CSI_CR213_PIXEL_COUNTERS_MASK
  23486. #define CSI_CSICR213_PIXEL_COUNTERS_SHIFT CSI_CR213_PIXEL_COUNTERS_SHIFT
  23487. #define CSI_CSICR213_PIXEL_COUNTERS(x) CSI_CR213_PIXEL_COUNTERS(x)
  23488. #define CSI_CSICR214_PIXEL_COUNTERS_MASK CSI_CR214_PIXEL_COUNTERS_MASK
  23489. #define CSI_CSICR214_PIXEL_COUNTERS_SHIFT CSI_CR214_PIXEL_COUNTERS_SHIFT
  23490. #define CSI_CSICR214_PIXEL_COUNTERS(x) CSI_CR214_PIXEL_COUNTERS(x)
  23491. #define CSI_CSICR215_PIXEL_COUNTERS_MASK CSI_CR215_PIXEL_COUNTERS_MASK
  23492. #define CSI_CSICR215_PIXEL_COUNTERS_SHIFT CSI_CR215_PIXEL_COUNTERS_SHIFT
  23493. #define CSI_CSICR215_PIXEL_COUNTERS(x) CSI_CR215_PIXEL_COUNTERS(x)
  23494. #define CSI_CSICR216_PIXEL_COUNTERS_MASK CSI_CR216_PIXEL_COUNTERS_MASK
  23495. #define CSI_CSICR216_PIXEL_COUNTERS_SHIFT CSI_CR216_PIXEL_COUNTERS_SHIFT
  23496. #define CSI_CSICR216_PIXEL_COUNTERS(x) CSI_CR216_PIXEL_COUNTERS(x)
  23497. #define CSI_CSICR217_PIXEL_COUNTERS_MASK CSI_CR217_PIXEL_COUNTERS_MASK
  23498. #define CSI_CSICR217_PIXEL_COUNTERS_SHIFT CSI_CR217_PIXEL_COUNTERS_SHIFT
  23499. #define CSI_CSICR217_PIXEL_COUNTERS(x) CSI_CR217_PIXEL_COUNTERS(x)
  23500. #define CSI_CSICR218_PIXEL_COUNTERS_MASK CSI_CR218_PIXEL_COUNTERS_MASK
  23501. #define CSI_CSICR218_PIXEL_COUNTERS_SHIFT CSI_CR218_PIXEL_COUNTERS_SHIFT
  23502. #define CSI_CSICR218_PIXEL_COUNTERS(x) CSI_CR218_PIXEL_COUNTERS(x)
  23503. #define CSI_CSICR219_PIXEL_COUNTERS_MASK CSI_CR219_PIXEL_COUNTERS_MASK
  23504. #define CSI_CSICR219_PIXEL_COUNTERS_SHIFT CSI_CR219_PIXEL_COUNTERS_SHIFT
  23505. #define CSI_CSICR219_PIXEL_COUNTERS(x) CSI_CR219_PIXEL_COUNTERS(x)
  23506. #define CSI_CSICR220_PIXEL_COUNTERS_MASK CSI_CR220_PIXEL_COUNTERS_MASK
  23507. #define CSI_CSICR220_PIXEL_COUNTERS_SHIFT CSI_CR220_PIXEL_COUNTERS_SHIFT
  23508. #define CSI_CSICR220_PIXEL_COUNTERS(x) CSI_CR220_PIXEL_COUNTERS(x)
  23509. #define CSI_CSICR221_PIXEL_COUNTERS_MASK CSI_CR221_PIXEL_COUNTERS_MASK
  23510. #define CSI_CSICR221_PIXEL_COUNTERS_SHIFT CSI_CR221_PIXEL_COUNTERS_SHIFT
  23511. #define CSI_CSICR221_PIXEL_COUNTERS(x) CSI_CR221_PIXEL_COUNTERS(x)
  23512. #define CSI_CSICR222_PIXEL_COUNTERS_MASK CSI_CR222_PIXEL_COUNTERS_MASK
  23513. #define CSI_CSICR222_PIXEL_COUNTERS_SHIFT CSI_CR222_PIXEL_COUNTERS_SHIFT
  23514. #define CSI_CSICR222_PIXEL_COUNTERS(x) CSI_CR222_PIXEL_COUNTERS(x)
  23515. #define CSI_CSICR223_PIXEL_COUNTERS_MASK CSI_CR223_PIXEL_COUNTERS_MASK
  23516. #define CSI_CSICR223_PIXEL_COUNTERS_SHIFT CSI_CR223_PIXEL_COUNTERS_SHIFT
  23517. #define CSI_CSICR223_PIXEL_COUNTERS(x) CSI_CR223_PIXEL_COUNTERS(x)
  23518. #define CSI_CSICR224_PIXEL_COUNTERS_MASK CSI_CR224_PIXEL_COUNTERS_MASK
  23519. #define CSI_CSICR224_PIXEL_COUNTERS_SHIFT CSI_CR224_PIXEL_COUNTERS_SHIFT
  23520. #define CSI_CSICR224_PIXEL_COUNTERS(x) CSI_CR224_PIXEL_COUNTERS(x)
  23521. #define CSI_CSICR225_PIXEL_COUNTERS_MASK CSI_CR225_PIXEL_COUNTERS_MASK
  23522. #define CSI_CSICR225_PIXEL_COUNTERS_SHIFT CSI_CR225_PIXEL_COUNTERS_SHIFT
  23523. #define CSI_CSICR225_PIXEL_COUNTERS(x) CSI_CR225_PIXEL_COUNTERS(x)
  23524. #define CSI_CSICR226_PIXEL_COUNTERS_MASK CSI_CR226_PIXEL_COUNTERS_MASK
  23525. #define CSI_CSICR226_PIXEL_COUNTERS_SHIFT CSI_CR226_PIXEL_COUNTERS_SHIFT
  23526. #define CSI_CSICR226_PIXEL_COUNTERS(x) CSI_CR226_PIXEL_COUNTERS(x)
  23527. #define CSI_CSICR227_PIXEL_COUNTERS_MASK CSI_CR227_PIXEL_COUNTERS_MASK
  23528. #define CSI_CSICR227_PIXEL_COUNTERS_SHIFT CSI_CR227_PIXEL_COUNTERS_SHIFT
  23529. #define CSI_CSICR227_PIXEL_COUNTERS(x) CSI_CR227_PIXEL_COUNTERS(x)
  23530. #define CSI_CSICR228_PIXEL_COUNTERS_MASK CSI_CR228_PIXEL_COUNTERS_MASK
  23531. #define CSI_CSICR228_PIXEL_COUNTERS_SHIFT CSI_CR228_PIXEL_COUNTERS_SHIFT
  23532. #define CSI_CSICR228_PIXEL_COUNTERS(x) CSI_CR228_PIXEL_COUNTERS(x)
  23533. #define CSI_CSICR229_PIXEL_COUNTERS_MASK CSI_CR229_PIXEL_COUNTERS_MASK
  23534. #define CSI_CSICR229_PIXEL_COUNTERS_SHIFT CSI_CR229_PIXEL_COUNTERS_SHIFT
  23535. #define CSI_CSICR229_PIXEL_COUNTERS(x) CSI_CR229_PIXEL_COUNTERS(x)
  23536. #define CSI_CSICR230_PIXEL_COUNTERS_MASK CSI_CR230_PIXEL_COUNTERS_MASK
  23537. #define CSI_CSICR230_PIXEL_COUNTERS_SHIFT CSI_CR230_PIXEL_COUNTERS_SHIFT
  23538. #define CSI_CSICR230_PIXEL_COUNTERS(x) CSI_CR230_PIXEL_COUNTERS(x)
  23539. #define CSI_CSICR231_PIXEL_COUNTERS_MASK CSI_CR231_PIXEL_COUNTERS_MASK
  23540. #define CSI_CSICR231_PIXEL_COUNTERS_SHIFT CSI_CR231_PIXEL_COUNTERS_SHIFT
  23541. #define CSI_CSICR231_PIXEL_COUNTERS(x) CSI_CR231_PIXEL_COUNTERS(x)
  23542. #define CSI_CSICR232_PIXEL_COUNTERS_MASK CSI_CR232_PIXEL_COUNTERS_MASK
  23543. #define CSI_CSICR232_PIXEL_COUNTERS_SHIFT CSI_CR232_PIXEL_COUNTERS_SHIFT
  23544. #define CSI_CSICR232_PIXEL_COUNTERS(x) CSI_CR232_PIXEL_COUNTERS(x)
  23545. #define CSI_CSICR233_PIXEL_COUNTERS_MASK CSI_CR233_PIXEL_COUNTERS_MASK
  23546. #define CSI_CSICR233_PIXEL_COUNTERS_SHIFT CSI_CR233_PIXEL_COUNTERS_SHIFT
  23547. #define CSI_CSICR233_PIXEL_COUNTERS(x) CSI_CR233_PIXEL_COUNTERS(x)
  23548. #define CSI_CSICR234_PIXEL_COUNTERS_MASK CSI_CR234_PIXEL_COUNTERS_MASK
  23549. #define CSI_CSICR234_PIXEL_COUNTERS_SHIFT CSI_CR234_PIXEL_COUNTERS_SHIFT
  23550. #define CSI_CSICR234_PIXEL_COUNTERS(x) CSI_CR234_PIXEL_COUNTERS(x)
  23551. #define CSI_CSICR235_PIXEL_COUNTERS_MASK CSI_CR235_PIXEL_COUNTERS_MASK
  23552. #define CSI_CSICR235_PIXEL_COUNTERS_SHIFT CSI_CR235_PIXEL_COUNTERS_SHIFT
  23553. #define CSI_CSICR235_PIXEL_COUNTERS(x) CSI_CR235_PIXEL_COUNTERS(x)
  23554. #define CSI_CSICR236_PIXEL_COUNTERS_MASK CSI_CR236_PIXEL_COUNTERS_MASK
  23555. #define CSI_CSICR236_PIXEL_COUNTERS_SHIFT CSI_CR236_PIXEL_COUNTERS_SHIFT
  23556. #define CSI_CSICR236_PIXEL_COUNTERS(x) CSI_CR236_PIXEL_COUNTERS(x)
  23557. #define CSI_CSICR237_PIXEL_COUNTERS_MASK CSI_CR237_PIXEL_COUNTERS_MASK
  23558. #define CSI_CSICR237_PIXEL_COUNTERS_SHIFT CSI_CR237_PIXEL_COUNTERS_SHIFT
  23559. #define CSI_CSICR237_PIXEL_COUNTERS(x) CSI_CR237_PIXEL_COUNTERS(x)
  23560. #define CSI_CSICR238_PIXEL_COUNTERS_MASK CSI_CR238_PIXEL_COUNTERS_MASK
  23561. #define CSI_CSICR238_PIXEL_COUNTERS_SHIFT CSI_CR238_PIXEL_COUNTERS_SHIFT
  23562. #define CSI_CSICR238_PIXEL_COUNTERS(x) CSI_CR238_PIXEL_COUNTERS(x)
  23563. #define CSI_CSICR239_PIXEL_COUNTERS_MASK CSI_CR239_PIXEL_COUNTERS_MASK
  23564. #define CSI_CSICR239_PIXEL_COUNTERS_SHIFT CSI_CR239_PIXEL_COUNTERS_SHIFT
  23565. #define CSI_CSICR239_PIXEL_COUNTERS(x) CSI_CR239_PIXEL_COUNTERS(x)
  23566. #define CSI_CSICR240_PIXEL_COUNTERS_MASK CSI_CR240_PIXEL_COUNTERS_MASK
  23567. #define CSI_CSICR240_PIXEL_COUNTERS_SHIFT CSI_CR240_PIXEL_COUNTERS_SHIFT
  23568. #define CSI_CSICR240_PIXEL_COUNTERS(x) CSI_CR240_PIXEL_COUNTERS(x)
  23569. #define CSI_CSICR241_PIXEL_COUNTERS_MASK CSI_CR241_PIXEL_COUNTERS_MASK
  23570. #define CSI_CSICR241_PIXEL_COUNTERS_SHIFT CSI_CR241_PIXEL_COUNTERS_SHIFT
  23571. #define CSI_CSICR241_PIXEL_COUNTERS(x) CSI_CR241_PIXEL_COUNTERS(x)
  23572. #define CSI_CSICR242_PIXEL_COUNTERS_MASK CSI_CR242_PIXEL_COUNTERS_MASK
  23573. #define CSI_CSICR242_PIXEL_COUNTERS_SHIFT CSI_CR242_PIXEL_COUNTERS_SHIFT
  23574. #define CSI_CSICR242_PIXEL_COUNTERS(x) CSI_CR242_PIXEL_COUNTERS(x)
  23575. #define CSI_CSICR243_PIXEL_COUNTERS_MASK CSI_CR243_PIXEL_COUNTERS_MASK
  23576. #define CSI_CSICR243_PIXEL_COUNTERS_SHIFT CSI_CR243_PIXEL_COUNTERS_SHIFT
  23577. #define CSI_CSICR243_PIXEL_COUNTERS(x) CSI_CR243_PIXEL_COUNTERS(x)
  23578. #define CSI_CSICR244_PIXEL_COUNTERS_MASK CSI_CR244_PIXEL_COUNTERS_MASK
  23579. #define CSI_CSICR244_PIXEL_COUNTERS_SHIFT CSI_CR244_PIXEL_COUNTERS_SHIFT
  23580. #define CSI_CSICR244_PIXEL_COUNTERS(x) CSI_CR244_PIXEL_COUNTERS(x)
  23581. #define CSI_CSICR245_PIXEL_COUNTERS_MASK CSI_CR245_PIXEL_COUNTERS_MASK
  23582. #define CSI_CSICR245_PIXEL_COUNTERS_SHIFT CSI_CR245_PIXEL_COUNTERS_SHIFT
  23583. #define CSI_CSICR245_PIXEL_COUNTERS(x) CSI_CR245_PIXEL_COUNTERS(x)
  23584. #define CSI_CSICR246_PIXEL_COUNTERS_MASK CSI_CR246_PIXEL_COUNTERS_MASK
  23585. #define CSI_CSICR246_PIXEL_COUNTERS_SHIFT CSI_CR246_PIXEL_COUNTERS_SHIFT
  23586. #define CSI_CSICR246_PIXEL_COUNTERS(x) CSI_CR246_PIXEL_COUNTERS(x)
  23587. #define CSI_CSICR247_PIXEL_COUNTERS_MASK CSI_CR247_PIXEL_COUNTERS_MASK
  23588. #define CSI_CSICR247_PIXEL_COUNTERS_SHIFT CSI_CR247_PIXEL_COUNTERS_SHIFT
  23589. #define CSI_CSICR247_PIXEL_COUNTERS(x) CSI_CR247_PIXEL_COUNTERS(x)
  23590. #define CSI_CSICR248_PIXEL_COUNTERS_MASK CSI_CR248_PIXEL_COUNTERS_MASK
  23591. #define CSI_CSICR248_PIXEL_COUNTERS_SHIFT CSI_CR248_PIXEL_COUNTERS_SHIFT
  23592. #define CSI_CSICR248_PIXEL_COUNTERS(x) CSI_CR248_PIXEL_COUNTERS(x)
  23593. #define CSI_CSICR249_PIXEL_COUNTERS_MASK CSI_CR249_PIXEL_COUNTERS_MASK
  23594. #define CSI_CSICR249_PIXEL_COUNTERS_SHIFT CSI_CR249_PIXEL_COUNTERS_SHIFT
  23595. #define CSI_CSICR249_PIXEL_COUNTERS(x) CSI_CR249_PIXEL_COUNTERS(x)
  23596. #define CSI_CSICR250_PIXEL_COUNTERS_MASK CSI_CR250_PIXEL_COUNTERS_MASK
  23597. #define CSI_CSICR250_PIXEL_COUNTERS_SHIFT CSI_CR250_PIXEL_COUNTERS_SHIFT
  23598. #define CSI_CSICR250_PIXEL_COUNTERS(x) CSI_CR250_PIXEL_COUNTERS(x)
  23599. #define CSI_CSICR251_PIXEL_COUNTERS_MASK CSI_CR251_PIXEL_COUNTERS_MASK
  23600. #define CSI_CSICR251_PIXEL_COUNTERS_SHIFT CSI_CR251_PIXEL_COUNTERS_SHIFT
  23601. #define CSI_CSICR251_PIXEL_COUNTERS(x) CSI_CR251_PIXEL_COUNTERS(x)
  23602. #define CSI_CSICR252_PIXEL_COUNTERS_MASK CSI_CR252_PIXEL_COUNTERS_MASK
  23603. #define CSI_CSICR252_PIXEL_COUNTERS_SHIFT CSI_CR252_PIXEL_COUNTERS_SHIFT
  23604. #define CSI_CSICR252_PIXEL_COUNTERS(x) CSI_CR252_PIXEL_COUNTERS(x)
  23605. #define CSI_CSICR253_PIXEL_COUNTERS_MASK CSI_CR253_PIXEL_COUNTERS_MASK
  23606. #define CSI_CSICR253_PIXEL_COUNTERS_SHIFT CSI_CR253_PIXEL_COUNTERS_SHIFT
  23607. #define CSI_CSICR253_PIXEL_COUNTERS(x) CSI_CR253_PIXEL_COUNTERS(x)
  23608. #define CSI_CSICR254_PIXEL_COUNTERS_MASK CSI_CR254_PIXEL_COUNTERS_MASK
  23609. #define CSI_CSICR254_PIXEL_COUNTERS_SHIFT CSI_CR254_PIXEL_COUNTERS_SHIFT
  23610. #define CSI_CSICR254_PIXEL_COUNTERS(x) CSI_CR254_PIXEL_COUNTERS(x)
  23611. #define CSI_CSICR255_PIXEL_COUNTERS_MASK CSI_CR255_PIXEL_COUNTERS_MASK
  23612. #define CSI_CSICR255_PIXEL_COUNTERS_SHIFT CSI_CR255_PIXEL_COUNTERS_SHIFT
  23613. #define CSI_CSICR255_PIXEL_COUNTERS(x) CSI_CR255_PIXEL_COUNTERS(x)
  23614. #define CSI_CSICR256_PIXEL_COUNTERS_MASK CSI_CR256_PIXEL_COUNTERS_MASK
  23615. #define CSI_CSICR256_PIXEL_COUNTERS_SHIFT CSI_CR256_PIXEL_COUNTERS_SHIFT
  23616. #define CSI_CSICR256_PIXEL_COUNTERS(x) CSI_CR256_PIXEL_COUNTERS(x)
  23617. #define CSI_CSICR257_PIXEL_COUNTERS_MASK CSI_CR257_PIXEL_COUNTERS_MASK
  23618. #define CSI_CSICR257_PIXEL_COUNTERS_SHIFT CSI_CR257_PIXEL_COUNTERS_SHIFT
  23619. #define CSI_CSICR257_PIXEL_COUNTERS(x) CSI_CR257_PIXEL_COUNTERS(x)
  23620. #define CSI_CSICR258_PIXEL_COUNTERS_MASK CSI_CR258_PIXEL_COUNTERS_MASK
  23621. #define CSI_CSICR258_PIXEL_COUNTERS_SHIFT CSI_CR258_PIXEL_COUNTERS_SHIFT
  23622. #define CSI_CSICR258_PIXEL_COUNTERS(x) CSI_CR258_PIXEL_COUNTERS(x)
  23623. #define CSI_CSICR259_PIXEL_COUNTERS_MASK CSI_CR259_PIXEL_COUNTERS_MASK
  23624. #define CSI_CSICR259_PIXEL_COUNTERS_SHIFT CSI_CR259_PIXEL_COUNTERS_SHIFT
  23625. #define CSI_CSICR259_PIXEL_COUNTERS(x) CSI_CR259_PIXEL_COUNTERS(x)
  23626. #define CSI_CSICR260_PIXEL_COUNTERS_MASK CSI_CR260_PIXEL_COUNTERS_MASK
  23627. #define CSI_CSICR260_PIXEL_COUNTERS_SHIFT CSI_CR260_PIXEL_COUNTERS_SHIFT
  23628. #define CSI_CSICR260_PIXEL_COUNTERS(x) CSI_CR260_PIXEL_COUNTERS(x)
  23629. #define CSI_CSICR261_PIXEL_COUNTERS_MASK CSI_CR261_PIXEL_COUNTERS_MASK
  23630. #define CSI_CSICR261_PIXEL_COUNTERS_SHIFT CSI_CR261_PIXEL_COUNTERS_SHIFT
  23631. #define CSI_CSICR261_PIXEL_COUNTERS(x) CSI_CR261_PIXEL_COUNTERS(x)
  23632. #define CSI_CSICR262_PIXEL_COUNTERS_MASK CSI_CR262_PIXEL_COUNTERS_MASK
  23633. #define CSI_CSICR262_PIXEL_COUNTERS_SHIFT CSI_CR262_PIXEL_COUNTERS_SHIFT
  23634. #define CSI_CSICR262_PIXEL_COUNTERS(x) CSI_CR262_PIXEL_COUNTERS(x)
  23635. #define CSI_CSICR263_PIXEL_COUNTERS_MASK CSI_CR263_PIXEL_COUNTERS_MASK
  23636. #define CSI_CSICR263_PIXEL_COUNTERS_SHIFT CSI_CR263_PIXEL_COUNTERS_SHIFT
  23637. #define CSI_CSICR263_PIXEL_COUNTERS(x) CSI_CR263_PIXEL_COUNTERS(x)
  23638. #define CSI_CSICR264_PIXEL_COUNTERS_MASK CSI_CR264_PIXEL_COUNTERS_MASK
  23639. #define CSI_CSICR264_PIXEL_COUNTERS_SHIFT CSI_CR264_PIXEL_COUNTERS_SHIFT
  23640. #define CSI_CSICR264_PIXEL_COUNTERS(x) CSI_CR264_PIXEL_COUNTERS(x)
  23641. #define CSI_CSICR265_PIXEL_COUNTERS_MASK CSI_CR265_PIXEL_COUNTERS_MASK
  23642. #define CSI_CSICR265_PIXEL_COUNTERS_SHIFT CSI_CR265_PIXEL_COUNTERS_SHIFT
  23643. #define CSI_CSICR265_PIXEL_COUNTERS(x) CSI_CR265_PIXEL_COUNTERS(x)
  23644. #define CSI_CSICR266_PIXEL_COUNTERS_MASK CSI_CR266_PIXEL_COUNTERS_MASK
  23645. #define CSI_CSICR266_PIXEL_COUNTERS_SHIFT CSI_CR266_PIXEL_COUNTERS_SHIFT
  23646. #define CSI_CSICR266_PIXEL_COUNTERS(x) CSI_CR266_PIXEL_COUNTERS(x)
  23647. #define CSI_CSICR267_PIXEL_COUNTERS_MASK CSI_CR267_PIXEL_COUNTERS_MASK
  23648. #define CSI_CSICR267_PIXEL_COUNTERS_SHIFT CSI_CR267_PIXEL_COUNTERS_SHIFT
  23649. #define CSI_CSICR267_PIXEL_COUNTERS(x) CSI_CR267_PIXEL_COUNTERS(x)
  23650. #define CSI_CSICR268_PIXEL_COUNTERS_MASK CSI_CR268_PIXEL_COUNTERS_MASK
  23651. #define CSI_CSICR268_PIXEL_COUNTERS_SHIFT CSI_CR268_PIXEL_COUNTERS_SHIFT
  23652. #define CSI_CSICR268_PIXEL_COUNTERS(x) CSI_CR268_PIXEL_COUNTERS(x)
  23653. #define CSI_CSICR269_PIXEL_COUNTERS_MASK CSI_CR269_PIXEL_COUNTERS_MASK
  23654. #define CSI_CSICR269_PIXEL_COUNTERS_SHIFT CSI_CR269_PIXEL_COUNTERS_SHIFT
  23655. #define CSI_CSICR269_PIXEL_COUNTERS(x) CSI_CR269_PIXEL_COUNTERS(x)
  23656. #define CSI_CSICR270_PIXEL_COUNTERS_MASK CSI_CR270_PIXEL_COUNTERS_MASK
  23657. #define CSI_CSICR270_PIXEL_COUNTERS_SHIFT CSI_CR270_PIXEL_COUNTERS_SHIFT
  23658. #define CSI_CSICR270_PIXEL_COUNTERS(x) CSI_CR270_PIXEL_COUNTERS(x)
  23659. #define CSI_CSICR271_PIXEL_COUNTERS_MASK CSI_CR271_PIXEL_COUNTERS_MASK
  23660. #define CSI_CSICR271_PIXEL_COUNTERS_SHIFT CSI_CR271_PIXEL_COUNTERS_SHIFT
  23661. #define CSI_CSICR271_PIXEL_COUNTERS(x) CSI_CR271_PIXEL_COUNTERS(x)
  23662. #define CSI_CSICR272_PIXEL_COUNTERS_MASK CSI_CR272_PIXEL_COUNTERS_MASK
  23663. #define CSI_CSICR272_PIXEL_COUNTERS_SHIFT CSI_CR272_PIXEL_COUNTERS_SHIFT
  23664. #define CSI_CSICR272_PIXEL_COUNTERS(x) CSI_CR272_PIXEL_COUNTERS(x)
  23665. #define CSI_CSICR273_PIXEL_COUNTERS_MASK CSI_CR273_PIXEL_COUNTERS_MASK
  23666. #define CSI_CSICR273_PIXEL_COUNTERS_SHIFT CSI_CR273_PIXEL_COUNTERS_SHIFT
  23667. #define CSI_CSICR273_PIXEL_COUNTERS(x) CSI_CR273_PIXEL_COUNTERS(x)
  23668. #define CSI_CSICR274_PIXEL_COUNTERS_MASK CSI_CR274_PIXEL_COUNTERS_MASK
  23669. #define CSI_CSICR274_PIXEL_COUNTERS_SHIFT CSI_CR274_PIXEL_COUNTERS_SHIFT
  23670. #define CSI_CSICR274_PIXEL_COUNTERS(x) CSI_CR274_PIXEL_COUNTERS(x)
  23671. #define CSI_CSICR275_PIXEL_COUNTERS_MASK CSI_CR275_PIXEL_COUNTERS_MASK
  23672. #define CSI_CSICR275_PIXEL_COUNTERS_SHIFT CSI_CR275_PIXEL_COUNTERS_SHIFT
  23673. #define CSI_CSICR275_PIXEL_COUNTERS(x) CSI_CR275_PIXEL_COUNTERS(x)
  23674. #define CSI_CSICR276_PIXEL_COUNTERS_MASK CSI_CR276_PIXEL_COUNTERS_MASK
  23675. #define CSI_CSICR276_PIXEL_COUNTERS_SHIFT CSI_CR276_PIXEL_COUNTERS_SHIFT
  23676. #define CSI_CSICR276_PIXEL_COUNTERS(x) CSI_CR276_PIXEL_COUNTERS(x)
  23677. /*!
  23678. * @}
  23679. */ /* end of group CSI_Peripheral_Access_Layer */
  23680. /* ----------------------------------------------------------------------------
  23681. -- DAC Peripheral Access Layer
  23682. ---------------------------------------------------------------------------- */
  23683. /*!
  23684. * @addtogroup DAC_Peripheral_Access_Layer DAC Peripheral Access Layer
  23685. * @{
  23686. */
  23687. /** DAC - Register Layout Typedef */
  23688. typedef struct {
  23689. __I uint32_t VERID; /**< Version Identifier Register, offset: 0x0 */
  23690. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  23691. __O uint32_t DATA; /**< DAC Data Register, offset: 0x8 */
  23692. __IO uint32_t CR; /**< DAC Status and Control Register, offset: 0xC */
  23693. __I uint32_t PTR; /**< DAC FIFO Pointer Register, offset: 0x10 */
  23694. __IO uint32_t CR2; /**< DAC Status and Control Register 2, offset: 0x14 */
  23695. } DAC_Type;
  23696. /* ----------------------------------------------------------------------------
  23697. -- DAC Register Masks
  23698. ---------------------------------------------------------------------------- */
  23699. /*!
  23700. * @addtogroup DAC_Register_Masks DAC Register Masks
  23701. * @{
  23702. */
  23703. /*! @name VERID - Version Identifier Register */
  23704. /*! @{ */
  23705. #define DAC_VERID_FEATURE_MASK (0xFFFFU)
  23706. #define DAC_VERID_FEATURE_SHIFT (0U)
  23707. /*! FEATURE - Feature Identification Number
  23708. * 0b0000000000000000..Standard feature set
  23709. * 0b0000000000000001..C40 feature set
  23710. * 0b0000000000000010..5V DAC feature set
  23711. * 0b0000000000000100..ADC BIST feature set
  23712. */
  23713. #define DAC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_FEATURE_SHIFT)) & DAC_VERID_FEATURE_MASK)
  23714. #define DAC_VERID_MINOR_MASK (0xFF0000U)
  23715. #define DAC_VERID_MINOR_SHIFT (16U)
  23716. /*! MINOR - Minor version number
  23717. */
  23718. #define DAC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_MINOR_SHIFT)) & DAC_VERID_MINOR_MASK)
  23719. #define DAC_VERID_MAJOR_MASK (0xFF000000U)
  23720. #define DAC_VERID_MAJOR_SHIFT (24U)
  23721. /*! MAJOR - Major version number
  23722. */
  23723. #define DAC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << DAC_VERID_MAJOR_SHIFT)) & DAC_VERID_MAJOR_MASK)
  23724. /*! @} */
  23725. /*! @name PARAM - Parameter Register */
  23726. /*! @{ */
  23727. #define DAC_PARAM_FIFOSZ_MASK (0x7U)
  23728. #define DAC_PARAM_FIFOSZ_SHIFT (0U)
  23729. /*! FIFOSZ - FIFO size
  23730. * 0b000..FIFO depth is 2
  23731. * 0b001..FIFO depth is 4
  23732. * 0b010..FIFO depth is 8
  23733. * 0b011..FIFO depth is 16
  23734. * 0b100..FIFO depth is 32
  23735. * 0b101..FIFO depth is 64
  23736. * 0b110..FIFO depth is 128
  23737. * 0b111..FIFO depth is 256
  23738. */
  23739. #define DAC_PARAM_FIFOSZ(x) (((uint32_t)(((uint32_t)(x)) << DAC_PARAM_FIFOSZ_SHIFT)) & DAC_PARAM_FIFOSZ_MASK)
  23740. /*! @} */
  23741. /*! @name DATA - DAC Data Register */
  23742. /*! @{ */
  23743. #define DAC_DATA_DATA0_MASK (0xFFFU)
  23744. #define DAC_DATA_DATA0_SHIFT (0U)
  23745. /*! DATA0 - FIFO DATA0
  23746. */
  23747. #define DAC_DATA_DATA0(x) (((uint32_t)(((uint32_t)(x)) << DAC_DATA_DATA0_SHIFT)) & DAC_DATA_DATA0_MASK)
  23748. /*! @} */
  23749. /*! @name CR - DAC Status and Control Register */
  23750. /*! @{ */
  23751. #define DAC_CR_FULLF_MASK (0x1U)
  23752. #define DAC_CR_FULLF_SHIFT (0U)
  23753. /*! FULLF - Full Flag
  23754. * 0b0..FIFO is not full.
  23755. * 0b1..FIFO is full.
  23756. */
  23757. #define DAC_CR_FULLF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FULLF_SHIFT)) & DAC_CR_FULLF_MASK)
  23758. #define DAC_CR_NEMPTF_MASK (0x2U)
  23759. #define DAC_CR_NEMPTF_SHIFT (1U)
  23760. /*! NEMPTF - Nearly Empty Flag
  23761. * 0b0..More than one data is available in the FIFO.
  23762. * 0b1..One data is available in the FIFO.
  23763. */
  23764. #define DAC_CR_NEMPTF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_NEMPTF_SHIFT)) & DAC_CR_NEMPTF_MASK)
  23765. #define DAC_CR_WMF_MASK (0x4U)
  23766. #define DAC_CR_WMF_SHIFT (2U)
  23767. /*! WMF - FIFO Watermark Status Flag
  23768. * 0b0..The DAC buffer read pointer has not reached the watermark level.
  23769. * 0b1..The DAC buffer read pointer has reached the watermark level.
  23770. */
  23771. #define DAC_CR_WMF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WMF_SHIFT)) & DAC_CR_WMF_MASK)
  23772. #define DAC_CR_UDFF_MASK (0x8U)
  23773. #define DAC_CR_UDFF_SHIFT (3U)
  23774. /*! UDFF - Underflow Flag
  23775. * 0b0..No underflow has occurred since the last time the flag was cleared.
  23776. * 0b1..At least one trigger underflow has occurred since the last time the flag was cleared.
  23777. */
  23778. #define DAC_CR_UDFF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_UDFF_SHIFT)) & DAC_CR_UDFF_MASK)
  23779. #define DAC_CR_OVFF_MASK (0x10U)
  23780. #define DAC_CR_OVFF_SHIFT (4U)
  23781. /*! OVFF - Overflow Flag
  23782. * 0b0..No overflow has occurred since the last time the flag was cleared.
  23783. * 0b1..At least one FIFO overflow has occurred since the last time the flag was cleared.
  23784. */
  23785. #define DAC_CR_OVFF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_OVFF_SHIFT)) & DAC_CR_OVFF_MASK)
  23786. #define DAC_CR_FULLIE_MASK (0x100U)
  23787. #define DAC_CR_FULLIE_SHIFT (8U)
  23788. /*! FULLIE - Full Interrupt Enable
  23789. * 0b0..FIFO Full interrupt is disabled.
  23790. * 0b1..FIFO Full interrupt is enabled.
  23791. */
  23792. #define DAC_CR_FULLIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FULLIE_SHIFT)) & DAC_CR_FULLIE_MASK)
  23793. #define DAC_CR_EMPTIE_MASK (0x200U)
  23794. #define DAC_CR_EMPTIE_SHIFT (9U)
  23795. /*! EMPTIE - Nearly Empty Interrupt Enable
  23796. * 0b0..FIFO Nearly Empty interrupt is disabled.
  23797. * 0b1..FIFO Nearly Empty interrupt is enabled.
  23798. */
  23799. #define DAC_CR_EMPTIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_EMPTIE_SHIFT)) & DAC_CR_EMPTIE_MASK)
  23800. #define DAC_CR_WTMIE_MASK (0x400U)
  23801. #define DAC_CR_WTMIE_SHIFT (10U)
  23802. /*! WTMIE - Watermark Interrupt Enable
  23803. * 0b0..Watermark interrupt is disabled.
  23804. * 0b1..Watermark interrupt is enabled.
  23805. */
  23806. #define DAC_CR_WTMIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WTMIE_SHIFT)) & DAC_CR_WTMIE_MASK)
  23807. #define DAC_CR_SWTRG_MASK (0x1000U)
  23808. #define DAC_CR_SWTRG_SHIFT (12U)
  23809. /*! SWTRG - DAC Software Trigger
  23810. * 0b0..The DAC soft trigger is not valid.
  23811. * 0b1..The DAC soft trigger is valid.
  23812. */
  23813. #define DAC_CR_SWTRG(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWTRG_SHIFT)) & DAC_CR_SWTRG_MASK)
  23814. #define DAC_CR_TRGSEL_MASK (0x2000U)
  23815. #define DAC_CR_TRGSEL_SHIFT (13U)
  23816. /*! TRGSEL - DAC Trigger Select
  23817. * 0b0..The DAC hardware trigger is selected.
  23818. * 0b1..The DAC software trigger is selected.
  23819. */
  23820. #define DAC_CR_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_TRGSEL_SHIFT)) & DAC_CR_TRGSEL_MASK)
  23821. #define DAC_CR_DACRFS_MASK (0x4000U)
  23822. #define DAC_CR_DACRFS_SHIFT (14U)
  23823. /*! DACRFS - DAC Reference Select
  23824. * 0b0..The DAC selects DACREF_1 as the reference voltage.
  23825. * 0b1..The DAC selects DACREF_2 as the reference voltage.
  23826. */
  23827. #define DAC_CR_DACRFS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DACRFS_SHIFT)) & DAC_CR_DACRFS_MASK)
  23828. #define DAC_CR_DACEN_MASK (0x8000U)
  23829. #define DAC_CR_DACEN_SHIFT (15U)
  23830. /*! DACEN - DAC Enable
  23831. * 0b0..The DAC system is disabled.
  23832. * 0b1..The DAC system is enabled.
  23833. */
  23834. #define DAC_CR_DACEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DACEN_SHIFT)) & DAC_CR_DACEN_MASK)
  23835. #define DAC_CR_FIFOEN_MASK (0x10000U)
  23836. #define DAC_CR_FIFOEN_SHIFT (16U)
  23837. /*! FIFOEN - FIFO Enable
  23838. * 0b0..FIFO is disabled and only one level buffer is enabled. Any data written from this buffer goes to conversion.
  23839. * 0b1..FIFO is enabled. Data will first read from FIFO to buffer then go to conversion.
  23840. */
  23841. #define DAC_CR_FIFOEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FIFOEN_SHIFT)) & DAC_CR_FIFOEN_MASK)
  23842. #define DAC_CR_SWMD_MASK (0x20000U)
  23843. #define DAC_CR_SWMD_SHIFT (17U)
  23844. /*! SWMD - DAC FIFO Mode Select
  23845. * 0b0..Normal mode
  23846. * 0b1..Swing back mode
  23847. */
  23848. #define DAC_CR_SWMD(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWMD_SHIFT)) & DAC_CR_SWMD_MASK)
  23849. #define DAC_CR_UVIE_MASK (0x40000U)
  23850. #define DAC_CR_UVIE_SHIFT (18U)
  23851. /*! UVIE - Underflow and overflow interrupt enable
  23852. * 0b0..Underflow and overflow interrupt is disabled.
  23853. * 0b1..Underflow and overflow interrupt is enabled.
  23854. */
  23855. #define DAC_CR_UVIE(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_UVIE_SHIFT)) & DAC_CR_UVIE_MASK)
  23856. #define DAC_CR_FIFORST_MASK (0x200000U)
  23857. #define DAC_CR_FIFORST_SHIFT (21U)
  23858. /*! FIFORST - FIFO Reset
  23859. * 0b0..No effect
  23860. * 0b1..FIFO reset
  23861. */
  23862. #define DAC_CR_FIFORST(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_FIFORST_SHIFT)) & DAC_CR_FIFORST_MASK)
  23863. #define DAC_CR_SWRST_MASK (0x400000U)
  23864. #define DAC_CR_SWRST_SHIFT (22U)
  23865. /*! SWRST - Software reset
  23866. */
  23867. #define DAC_CR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_SWRST_SHIFT)) & DAC_CR_SWRST_MASK)
  23868. #define DAC_CR_DMAEN_MASK (0x800000U)
  23869. #define DAC_CR_DMAEN_SHIFT (23U)
  23870. /*! DMAEN - DMA Enable Select
  23871. * 0b0..DMA is disabled.
  23872. * 0b1..DMA is enabled. When DMA is enabled, the DMA request will be generated by original interrupts. The
  23873. * interrupts will not be presented on this module at the same time.
  23874. */
  23875. #define DAC_CR_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_DMAEN_SHIFT)) & DAC_CR_DMAEN_MASK)
  23876. #define DAC_CR_WML_MASK (0xFF000000U)
  23877. #define DAC_CR_WML_SHIFT (24U)
  23878. /*! WML - Watermark Level Select
  23879. */
  23880. #define DAC_CR_WML(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR_WML_SHIFT)) & DAC_CR_WML_MASK)
  23881. /*! @} */
  23882. /*! @name PTR - DAC FIFO Pointer Register */
  23883. /*! @{ */
  23884. #define DAC_PTR_DACWFP_MASK (0xFFU)
  23885. #define DAC_PTR_DACWFP_SHIFT (0U)
  23886. /*! DACWFP - DACWFP
  23887. */
  23888. #define DAC_PTR_DACWFP(x) (((uint32_t)(((uint32_t)(x)) << DAC_PTR_DACWFP_SHIFT)) & DAC_PTR_DACWFP_MASK)
  23889. #define DAC_PTR_DACRFP_MASK (0xFF0000U)
  23890. #define DAC_PTR_DACRFP_SHIFT (16U)
  23891. /*! DACRFP - DACRFP
  23892. */
  23893. #define DAC_PTR_DACRFP(x) (((uint32_t)(((uint32_t)(x)) << DAC_PTR_DACRFP_SHIFT)) & DAC_PTR_DACRFP_MASK)
  23894. /*! @} */
  23895. /*! @name CR2 - DAC Status and Control Register 2 */
  23896. /*! @{ */
  23897. #define DAC_CR2_BFEN_MASK (0x1U)
  23898. #define DAC_CR2_BFEN_SHIFT (0U)
  23899. /*! BFEN - Buffer Enable
  23900. * 0b0..Opamp is not used as buffer
  23901. * 0b1..Opamp is used as buffer
  23902. */
  23903. #define DAC_CR2_BFEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFEN_SHIFT)) & DAC_CR2_BFEN_MASK)
  23904. #define DAC_CR2_OEN_MASK (0x2U)
  23905. #define DAC_CR2_OEN_SHIFT (1U)
  23906. /*! OEN - Optional Enable
  23907. * 0b0..Output buffer is not bypassed
  23908. * 0b1..Output buffer is bypassed
  23909. */
  23910. #define DAC_CR2_OEN(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_OEN_SHIFT)) & DAC_CR2_OEN_MASK)
  23911. #define DAC_CR2_BFMS_MASK (0x4U)
  23912. #define DAC_CR2_BFMS_SHIFT (2U)
  23913. /*! BFMS - Buffer Middle Speed Select
  23914. * 0b0..Buffer middle speed not selected
  23915. * 0b1..Buffer middle speed selected
  23916. */
  23917. #define DAC_CR2_BFMS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFMS_SHIFT)) & DAC_CR2_BFMS_MASK)
  23918. #define DAC_CR2_BFHS_MASK (0x8U)
  23919. #define DAC_CR2_BFHS_SHIFT (3U)
  23920. /*! BFHS - Buffer High Speed Select
  23921. * 0b0..Buffer high speed not selected
  23922. * 0b1..Buffer high speed selected
  23923. */
  23924. #define DAC_CR2_BFHS(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_BFHS_SHIFT)) & DAC_CR2_BFHS_MASK)
  23925. #define DAC_CR2_IREF2_MASK (0x10U)
  23926. #define DAC_CR2_IREF2_SHIFT (4U)
  23927. /*! IREF2 - Internal PTAT (Proportional To Absolute Temperature) Current Reference Select
  23928. * 0b0..Internal PTAT Current Reference not selected
  23929. * 0b1..Internal PTAT Current Reference selected
  23930. */
  23931. #define DAC_CR2_IREF2(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF2_SHIFT)) & DAC_CR2_IREF2_MASK)
  23932. #define DAC_CR2_IREF1_MASK (0x20U)
  23933. #define DAC_CR2_IREF1_SHIFT (5U)
  23934. /*! IREF1 - Internal ZTC (Zero Temperature Coefficient) Current Reference Select
  23935. * 0b0..Internal ZTC Current Reference not selected
  23936. * 0b1..Internal ZTC Current Reference selected
  23937. */
  23938. #define DAC_CR2_IREF1(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF1_SHIFT)) & DAC_CR2_IREF1_MASK)
  23939. #define DAC_CR2_IREF_MASK (0x40U)
  23940. #define DAC_CR2_IREF_SHIFT (6U)
  23941. /*! IREF - Internal Current Reference Select
  23942. * 0b0..Internal Current Reference not selected
  23943. * 0b1..Internal Current Reference selected
  23944. */
  23945. #define DAC_CR2_IREF(x) (((uint32_t)(((uint32_t)(x)) << DAC_CR2_IREF_SHIFT)) & DAC_CR2_IREF_MASK)
  23946. /*! @} */
  23947. /*!
  23948. * @}
  23949. */ /* end of group DAC_Register_Masks */
  23950. /* DAC - Peripheral instance base addresses */
  23951. /** Peripheral DAC base address */
  23952. #define DAC_BASE (0x40064000u)
  23953. /** Peripheral DAC base pointer */
  23954. #define DAC ((DAC_Type *)DAC_BASE)
  23955. /** Array initializer of DAC peripheral base addresses */
  23956. #define DAC_BASE_ADDRS { DAC_BASE }
  23957. /** Array initializer of DAC peripheral base pointers */
  23958. #define DAC_BASE_PTRS { DAC }
  23959. /** Interrupt vectors for the DAC peripheral type */
  23960. #define DAC_IRQS { DAC_IRQn }
  23961. /*!
  23962. * @}
  23963. */ /* end of group DAC_Peripheral_Access_Layer */
  23964. /* ----------------------------------------------------------------------------
  23965. -- DCDC Peripheral Access Layer
  23966. ---------------------------------------------------------------------------- */
  23967. /*!
  23968. * @addtogroup DCDC_Peripheral_Access_Layer DCDC Peripheral Access Layer
  23969. * @{
  23970. */
  23971. /** DCDC - Register Layout Typedef */
  23972. typedef struct {
  23973. __IO uint32_t CTRL0; /**< DCDC Control Register 0, offset: 0x0 */
  23974. __IO uint32_t CTRL1; /**< DCDC Control Register 1, offset: 0x4 */
  23975. __IO uint32_t REG0; /**< DCDC Register 0, offset: 0x8 */
  23976. __IO uint32_t REG1; /**< DCDC Register 1, offset: 0xC */
  23977. __IO uint32_t REG2; /**< DCDC Register 2, offset: 0x10 */
  23978. __IO uint32_t REG3; /**< DCDC Register 3, offset: 0x14 */
  23979. __IO uint32_t REG4; /**< DCDC Register 4, offset: 0x18 */
  23980. __IO uint32_t REG5; /**< DCDC Register 5, offset: 0x1C */
  23981. __IO uint32_t REG6; /**< DCDC Register 6, offset: 0x20 */
  23982. __IO uint32_t REG7; /**< DCDC Register 7, offset: 0x24 */
  23983. __IO uint32_t REG7P; /**< DCDC Register 7 plus, offset: 0x28 */
  23984. __IO uint32_t REG8; /**< DCDC Register 8, offset: 0x2C */
  23985. __IO uint32_t REG9; /**< DCDC Register 9, offset: 0x30 */
  23986. __IO uint32_t REG10; /**< DCDC Register 10, offset: 0x34 */
  23987. __IO uint32_t REG11; /**< DCDC Register 11, offset: 0x38 */
  23988. __IO uint32_t REG12; /**< DCDC Register 12, offset: 0x3C */
  23989. __IO uint32_t REG13; /**< DCDC Register 13, offset: 0x40 */
  23990. __IO uint32_t REG14; /**< DCDC Register 14, offset: 0x44 */
  23991. __IO uint32_t REG15; /**< DCDC Register 15, offset: 0x48 */
  23992. __IO uint32_t REG16; /**< DCDC Register 16, offset: 0x4C */
  23993. __IO uint32_t REG17; /**< DCDC Register 17, offset: 0x50 */
  23994. __IO uint32_t REG18; /**< DCDC Register 18, offset: 0x54 */
  23995. __IO uint32_t REG19; /**< DCDC Register 19, offset: 0x58 */
  23996. __IO uint32_t REG20; /**< DCDC Register 20, offset: 0x5C */
  23997. __IO uint32_t REG21; /**< DCDC Register 21, offset: 0x60 */
  23998. __IO uint32_t REG22; /**< DCDC Register 22, offset: 0x64 */
  23999. __IO uint32_t REG23; /**< DCDC Register 23, offset: 0x68 */
  24000. __IO uint32_t REG24; /**< DCDC Register 24, offset: 0x6C */
  24001. } DCDC_Type;
  24002. /* ----------------------------------------------------------------------------
  24003. -- DCDC Register Masks
  24004. ---------------------------------------------------------------------------- */
  24005. /*!
  24006. * @addtogroup DCDC_Register_Masks DCDC Register Masks
  24007. * @{
  24008. */
  24009. /*! @name CTRL0 - DCDC Control Register 0 */
  24010. /*! @{ */
  24011. #define DCDC_CTRL0_ENABLE_MASK (0x1U)
  24012. #define DCDC_CTRL0_ENABLE_SHIFT (0U)
  24013. /*! ENABLE
  24014. * 0b0..Disable (Bypass)
  24015. * 0b1..Enable
  24016. */
  24017. #define DCDC_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_ENABLE_SHIFT)) & DCDC_CTRL0_ENABLE_MASK)
  24018. #define DCDC_CTRL0_DIG_EN_MASK (0x2U)
  24019. #define DCDC_CTRL0_DIG_EN_SHIFT (1U)
  24020. /*! DIG_EN
  24021. * 0b0..Reserved
  24022. * 0b1..Enable
  24023. */
  24024. #define DCDC_CTRL0_DIG_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_DIG_EN_SHIFT)) & DCDC_CTRL0_DIG_EN_MASK)
  24025. #define DCDC_CTRL0_STBY_EN_MASK (0x4U)
  24026. #define DCDC_CTRL0_STBY_EN_SHIFT (2U)
  24027. /*! STBY_EN
  24028. * 0b1..Enter into standby mode
  24029. */
  24030. #define DCDC_CTRL0_STBY_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_STBY_EN_SHIFT)) & DCDC_CTRL0_STBY_EN_MASK)
  24031. #define DCDC_CTRL0_LP_MODE_EN_MASK (0x8U)
  24032. #define DCDC_CTRL0_LP_MODE_EN_SHIFT (3U)
  24033. /*! LP_MODE_EN
  24034. * 0b1..Enter into low-power mode
  24035. */
  24036. #define DCDC_CTRL0_LP_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_LP_MODE_EN_SHIFT)) & DCDC_CTRL0_LP_MODE_EN_MASK)
  24037. #define DCDC_CTRL0_STBY_LP_MODE_EN_MASK (0x10U)
  24038. #define DCDC_CTRL0_STBY_LP_MODE_EN_SHIFT (4U)
  24039. /*! STBY_LP_MODE_EN
  24040. * 0b0..Disable DCDC entry into low-power mode from a GPC standby request
  24041. * 0b1..Enable DCDC to enter into low-power mode from a GPC standby request
  24042. */
  24043. #define DCDC_CTRL0_STBY_LP_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_STBY_LP_MODE_EN_SHIFT)) & DCDC_CTRL0_STBY_LP_MODE_EN_MASK)
  24044. #define DCDC_CTRL0_ENABLE_DCDC_CNT_MASK (0x20U)
  24045. #define DCDC_CTRL0_ENABLE_DCDC_CNT_SHIFT (5U)
  24046. /*! ENABLE_DCDC_CNT - Enable internal count for DCDC_OK timeout
  24047. * 0b0..Wait DCDC_OK for ACK
  24048. * 0b1..Enable internal count for DCDC_OK timeout
  24049. */
  24050. #define DCDC_CTRL0_ENABLE_DCDC_CNT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_ENABLE_DCDC_CNT_SHIFT)) & DCDC_CTRL0_ENABLE_DCDC_CNT_MASK)
  24051. #define DCDC_CTRL0_TRIM_HOLD_MASK (0x40U)
  24052. #define DCDC_CTRL0_TRIM_HOLD_SHIFT (6U)
  24053. /*! TRIM_HOLD - Hold trim input
  24054. * 0b0..Sample trim input
  24055. * 0b1..Hold trim input
  24056. */
  24057. #define DCDC_CTRL0_TRIM_HOLD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_TRIM_HOLD_SHIFT)) & DCDC_CTRL0_TRIM_HOLD_MASK)
  24058. #define DCDC_CTRL0_DEBUG_BITS_MASK (0x7FF80000U)
  24059. #define DCDC_CTRL0_DEBUG_BITS_SHIFT (19U)
  24060. /*! DEBUG_BITS - DEBUG_BITS[11:0]
  24061. */
  24062. #define DCDC_CTRL0_DEBUG_BITS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_DEBUG_BITS_SHIFT)) & DCDC_CTRL0_DEBUG_BITS_MASK)
  24063. #define DCDC_CTRL0_CONTROL_MODE_MASK (0x80000000U)
  24064. #define DCDC_CTRL0_CONTROL_MODE_SHIFT (31U)
  24065. /*! CONTROL_MODE - Control mode
  24066. * 0b0..Software control mode
  24067. * 0b1..Hardware control mode (controlled by GPC Setpoints)
  24068. */
  24069. #define DCDC_CTRL0_CONTROL_MODE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL0_CONTROL_MODE_SHIFT)) & DCDC_CTRL0_CONTROL_MODE_MASK)
  24070. /*! @} */
  24071. /*! @name CTRL1 - DCDC Control Register 1 */
  24072. /*! @{ */
  24073. #define DCDC_CTRL1_VDD1P8CTRL_TRG_MASK (0x1FU)
  24074. #define DCDC_CTRL1_VDD1P8CTRL_TRG_SHIFT (0U)
  24075. /*! VDD1P8CTRL_TRG
  24076. * 0b11111..2.275V
  24077. * 0b01100..1.8V
  24078. * 0b00000..1.5V
  24079. */
  24080. #define DCDC_CTRL1_VDD1P8CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P8CTRL_TRG_SHIFT)) & DCDC_CTRL1_VDD1P8CTRL_TRG_MASK)
  24081. #define DCDC_CTRL1_VDD1P0CTRL_TRG_MASK (0x1F00U)
  24082. #define DCDC_CTRL1_VDD1P0CTRL_TRG_SHIFT (8U)
  24083. /*! VDD1P0CTRL_TRG
  24084. * 0b11111..1.375V
  24085. * 0b10000..1.0V
  24086. * 0b00000..0.6V
  24087. */
  24088. #define DCDC_CTRL1_VDD1P0CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P0CTRL_TRG_SHIFT)) & DCDC_CTRL1_VDD1P0CTRL_TRG_MASK)
  24089. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_MASK (0x1F0000U)
  24090. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_SHIFT (16U)
  24091. /*! VDD1P8CTRL_STBY_TRG
  24092. * 0b11111..2.3V
  24093. * 0b01011..1.8V
  24094. * 0b00000..1.525V
  24095. */
  24096. #define DCDC_CTRL1_VDD1P8CTRL_STBY_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_SHIFT)) & DCDC_CTRL1_VDD1P8CTRL_STBY_TRG_MASK)
  24097. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_MASK (0x1F000000U)
  24098. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_SHIFT (24U)
  24099. /*! VDD1P0CTRL_STBY_TRG
  24100. * 0b11111..1.4V
  24101. * 0b01111..1.0V
  24102. * 0b00000..0.625V
  24103. */
  24104. #define DCDC_CTRL1_VDD1P0CTRL_STBY_TRG(x) (((uint32_t)(((uint32_t)(x)) << DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_SHIFT)) & DCDC_CTRL1_VDD1P0CTRL_STBY_TRG_MASK)
  24105. /*! @} */
  24106. /*! @name REG0 - DCDC Register 0 */
  24107. /*! @{ */
  24108. #define DCDC_REG0_PWD_ZCD_MASK (0x1U)
  24109. #define DCDC_REG0_PWD_ZCD_SHIFT (0U)
  24110. /*! PWD_ZCD - Power Down Zero Cross Detection
  24111. * 0b0..Zero cross detetion function powered up
  24112. * 0b1..Zero cross detetion function powered down
  24113. */
  24114. #define DCDC_REG0_PWD_ZCD(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_ZCD_SHIFT)) & DCDC_REG0_PWD_ZCD_MASK)
  24115. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U)
  24116. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U)
  24117. /*! DISABLE_AUTO_CLK_SWITCH - Disable Auto Clock Switch
  24118. * 0b0..If DISABLE_AUTO_CLK_SWITCH is set to 0 and 24M xtal is OK, the clock source will switch from internal
  24119. * ring oscillator to 24M xtal automatically
  24120. * 0b1..If DISABLE_AUTO_CLK_SWITCH is set to 1, SEL_CLK will determine which clock source the DCDC uses
  24121. */
  24122. #define DCDC_REG0_DISABLE_AUTO_CLK_SWITCH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_SHIFT)) & DCDC_REG0_DISABLE_AUTO_CLK_SWITCH_MASK)
  24123. #define DCDC_REG0_SEL_CLK_MASK (0x4U)
  24124. #define DCDC_REG0_SEL_CLK_SHIFT (2U)
  24125. /*! SEL_CLK - Select Clock
  24126. * 0b0..DCDC uses internal ring oscillator
  24127. * 0b1..DCDC uses 24M xtal
  24128. */
  24129. #define DCDC_REG0_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_SEL_CLK_SHIFT)) & DCDC_REG0_SEL_CLK_MASK)
  24130. #define DCDC_REG0_PWD_OSC_INT_MASK (0x8U)
  24131. #define DCDC_REG0_PWD_OSC_INT_SHIFT (3U)
  24132. /*! PWD_OSC_INT - Power down internal ring oscillator
  24133. * 0b0..Internal ring oscillator powered up
  24134. * 0b1..Internal ring oscillator powered down
  24135. */
  24136. #define DCDC_REG0_PWD_OSC_INT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OSC_INT_SHIFT)) & DCDC_REG0_PWD_OSC_INT_MASK)
  24137. #define DCDC_REG0_PWD_CUR_SNS_CMP_MASK (0x10U)
  24138. #define DCDC_REG0_PWD_CUR_SNS_CMP_SHIFT (4U)
  24139. /*! PWD_CUR_SNS_CMP - Power down signal of the current detector
  24140. * 0b0..Current Detector powered up
  24141. * 0b1..Current Detector powered down
  24142. */
  24143. #define DCDC_REG0_PWD_CUR_SNS_CMP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CUR_SNS_CMP_SHIFT)) & DCDC_REG0_PWD_CUR_SNS_CMP_MASK)
  24144. #define DCDC_REG0_CUR_SNS_THRSH_MASK (0xE0U)
  24145. #define DCDC_REG0_CUR_SNS_THRSH_SHIFT (5U)
  24146. /*! CUR_SNS_THRSH - Current Sense (detector) Threshold
  24147. */
  24148. #define DCDC_REG0_CUR_SNS_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_CUR_SNS_THRSH_SHIFT)) & DCDC_REG0_CUR_SNS_THRSH_MASK)
  24149. #define DCDC_REG0_PWD_OVERCUR_DET_MASK (0x100U)
  24150. #define DCDC_REG0_PWD_OVERCUR_DET_SHIFT (8U)
  24151. /*! PWD_OVERCUR_DET - Power down overcurrent detection comparator
  24152. * 0b0..Overcurrent detection comparator is enabled
  24153. * 0b1..Overcurrent detection comparator is disabled
  24154. */
  24155. #define DCDC_REG0_PWD_OVERCUR_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_OVERCUR_DET_SHIFT)) & DCDC_REG0_PWD_OVERCUR_DET_MASK)
  24156. #define DCDC_REG0_PWD_CMP_DCDC_IN_DET_MASK (0x800U)
  24157. #define DCDC_REG0_PWD_CMP_DCDC_IN_DET_SHIFT (11U)
  24158. /*! PWD_CMP_DCDC_IN_DET
  24159. * 0b0..Low voltage detection comparator is enabled
  24160. * 0b1..Low voltage detection comparator is disabled
  24161. */
  24162. #define DCDC_REG0_PWD_CMP_DCDC_IN_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_DCDC_IN_DET_SHIFT)) & DCDC_REG0_PWD_CMP_DCDC_IN_DET_MASK)
  24163. #define DCDC_REG0_PWD_HIGH_VDD1P8_DET_MASK (0x10000U)
  24164. #define DCDC_REG0_PWD_HIGH_VDD1P8_DET_SHIFT (16U)
  24165. /*! PWD_HIGH_VDD1P8_DET - Power Down High Voltage Detection for VDD1P8
  24166. * 0b0..Overvoltage detection comparator for the VDD1P8 output is enabled
  24167. * 0b1..Overvoltage detection comparator for the VDD1P8 output is disabled
  24168. */
  24169. #define DCDC_REG0_PWD_HIGH_VDD1P8_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_HIGH_VDD1P8_DET_SHIFT)) & DCDC_REG0_PWD_HIGH_VDD1P8_DET_MASK)
  24170. #define DCDC_REG0_PWD_HIGH_VDD1P0_DET_MASK (0x20000U)
  24171. #define DCDC_REG0_PWD_HIGH_VDD1P0_DET_SHIFT (17U)
  24172. /*! PWD_HIGH_VDD1P0_DET - Power Down High Voltage Detection for VDD1P0
  24173. * 0b0..Overvoltage detection comparator for the VDD1P0 output is enabled
  24174. * 0b1..Overvoltage detection comparator for the VDD1P0 output is disabled
  24175. */
  24176. #define DCDC_REG0_PWD_HIGH_VDD1P0_DET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_HIGH_VDD1P0_DET_SHIFT)) & DCDC_REG0_PWD_HIGH_VDD1P0_DET_MASK)
  24177. #define DCDC_REG0_LP_HIGH_HYS_MASK (0x200000U)
  24178. #define DCDC_REG0_LP_HIGH_HYS_SHIFT (21U)
  24179. /*! LP_HIGH_HYS - Low Power High Hysteric Value
  24180. * 0b0..Adjust hysteretic value in low power to 12.5mV
  24181. * 0b1..Adjust hysteretic value in low power to 25mV
  24182. */
  24183. #define DCDC_REG0_LP_HIGH_HYS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_LP_HIGH_HYS_SHIFT)) & DCDC_REG0_LP_HIGH_HYS_MASK)
  24184. #define DCDC_REG0_PWD_CMP_OFFSET_MASK (0x4000000U)
  24185. #define DCDC_REG0_PWD_CMP_OFFSET_SHIFT (26U)
  24186. /*! PWD_CMP_OFFSET - power down the out-of-range detection comparator
  24187. * 0b0..Out-of-range comparator powered up
  24188. * 0b1..Out-of-range comparator powered down
  24189. */
  24190. #define DCDC_REG0_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_PWD_CMP_OFFSET_SHIFT)) & DCDC_REG0_PWD_CMP_OFFSET_MASK)
  24191. #define DCDC_REG0_XTALOK_DISABLE_MASK (0x8000000U)
  24192. #define DCDC_REG0_XTALOK_DISABLE_SHIFT (27U)
  24193. /*! XTALOK_DISABLE - Disable xtalok detection circuit
  24194. * 0b0..Enable xtalok detection circuit
  24195. * 0b1..Disable xtalok detection circuit and always outputs OK signal "1"
  24196. */
  24197. #define DCDC_REG0_XTALOK_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTALOK_DISABLE_SHIFT)) & DCDC_REG0_XTALOK_DISABLE_MASK)
  24198. #define DCDC_REG0_XTAL_24M_OK_MASK (0x20000000U)
  24199. #define DCDC_REG0_XTAL_24M_OK_SHIFT (29U)
  24200. /*! XTAL_24M_OK - 24M XTAL OK
  24201. * 0b0..DCDC uses internal ring oscillator
  24202. * 0b1..DCDC uses xtal 24M
  24203. */
  24204. #define DCDC_REG0_XTAL_24M_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_XTAL_24M_OK_SHIFT)) & DCDC_REG0_XTAL_24M_OK_MASK)
  24205. #define DCDC_REG0_STS_DC_OK_MASK (0x80000000U)
  24206. #define DCDC_REG0_STS_DC_OK_SHIFT (31U)
  24207. /*! STS_DC_OK - DCDC Output OK
  24208. * 0b0..DCDC is settling
  24209. * 0b1..DCDC already settled
  24210. */
  24211. #define DCDC_REG0_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG0_STS_DC_OK_SHIFT)) & DCDC_REG0_STS_DC_OK_MASK)
  24212. /*! @} */
  24213. /*! @name REG1 - DCDC Register 1 */
  24214. /*! @{ */
  24215. #define DCDC_REG1_DM_CTRL_MASK (0x8U)
  24216. #define DCDC_REG1_DM_CTRL_SHIFT (3U)
  24217. /*! DM_CTRL - DM Control
  24218. * 0b0..No change to ripple when the discontinuous current is present in DCM.
  24219. * 0b1..Improves ripple when the inductor current goes to zero in DCM.
  24220. */
  24221. #define DCDC_REG1_DM_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_DM_CTRL_SHIFT)) & DCDC_REG1_DM_CTRL_MASK)
  24222. #define DCDC_REG1_RLOAD_REG_EN_LPSR_MASK (0x10U)
  24223. #define DCDC_REG1_RLOAD_REG_EN_LPSR_SHIFT (4U)
  24224. /*! RLOAD_REG_EN_LPSR - Load Resistor Enable
  24225. * 0b0..Disconnect load resistor
  24226. * 0b1..Connect load resistor
  24227. */
  24228. #define DCDC_REG1_RLOAD_REG_EN_LPSR(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_RLOAD_REG_EN_LPSR_SHIFT)) & DCDC_REG1_RLOAD_REG_EN_LPSR_MASK)
  24229. #define DCDC_REG1_VBG_TRIM_MASK (0x7C0U)
  24230. #define DCDC_REG1_VBG_TRIM_SHIFT (6U)
  24231. /*! VBG_TRIM - Trim Bandgap Voltage
  24232. * 0b00000..0.452V
  24233. * 0b10000..0.5V
  24234. * 0b11111..0.545V
  24235. */
  24236. #define DCDC_REG1_VBG_TRIM(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_VBG_TRIM_SHIFT)) & DCDC_REG1_VBG_TRIM_MASK)
  24237. #define DCDC_REG1_LP_CMP_ISRC_SEL_MASK (0x1800U)
  24238. #define DCDC_REG1_LP_CMP_ISRC_SEL_SHIFT (11U)
  24239. /*! LP_CMP_ISRC_SEL - Low Power Comparator Current Bias
  24240. * 0b00..50nA
  24241. * 0b01..100nA
  24242. * 0b10..200nA
  24243. * 0b11..400nA
  24244. */
  24245. #define DCDC_REG1_LP_CMP_ISRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LP_CMP_ISRC_SEL_SHIFT)) & DCDC_REG1_LP_CMP_ISRC_SEL_MASK)
  24246. #define DCDC_REG1_LOOPCTRL_CM_HST_THRESH_MASK (0x8000000U)
  24247. #define DCDC_REG1_LOOPCTRL_CM_HST_THRESH_SHIFT (27U)
  24248. /*! LOOPCTRL_CM_HST_THRESH - Increase Threshold Detection
  24249. */
  24250. #define DCDC_REG1_LOOPCTRL_CM_HST_THRESH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_CM_HST_THRESH_SHIFT)) & DCDC_REG1_LOOPCTRL_CM_HST_THRESH_MASK)
  24251. #define DCDC_REG1_LOOPCTRL_DF_HST_THRESH_MASK (0x10000000U)
  24252. #define DCDC_REG1_LOOPCTRL_DF_HST_THRESH_SHIFT (28U)
  24253. /*! LOOPCTRL_DF_HST_THRESH - Increase Threshold Detection
  24254. */
  24255. #define DCDC_REG1_LOOPCTRL_DF_HST_THRESH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_DF_HST_THRESH_SHIFT)) & DCDC_REG1_LOOPCTRL_DF_HST_THRESH_MASK)
  24256. #define DCDC_REG1_LOOPCTRL_EN_CM_HYST_MASK (0x20000000U)
  24257. #define DCDC_REG1_LOOPCTRL_EN_CM_HYST_SHIFT (29U)
  24258. /*! LOOPCTRL_EN_CM_HYST
  24259. * 0b0..Disable hysteresis in switching converter common mode analog comparators
  24260. * 0b1..Enable hysteresis in switching converter common mode analog comparators
  24261. */
  24262. #define DCDC_REG1_LOOPCTRL_EN_CM_HYST(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_EN_CM_HYST_SHIFT)) & DCDC_REG1_LOOPCTRL_EN_CM_HYST_MASK)
  24263. #define DCDC_REG1_LOOPCTRL_EN_DF_HYST_MASK (0x40000000U)
  24264. #define DCDC_REG1_LOOPCTRL_EN_DF_HYST_SHIFT (30U)
  24265. /*! LOOPCTRL_EN_DF_HYST
  24266. * 0b0..Disable hysteresis in switching converter differential mode analog comparators
  24267. * 0b1..Enable hysteresis in switching converter differential mode analog comparators
  24268. */
  24269. #define DCDC_REG1_LOOPCTRL_EN_DF_HYST(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG1_LOOPCTRL_EN_DF_HYST_SHIFT)) & DCDC_REG1_LOOPCTRL_EN_DF_HYST_MASK)
  24270. /*! @} */
  24271. /*! @name REG2 - DCDC Register 2 */
  24272. /*! @{ */
  24273. #define DCDC_REG2_LOOPCTRL_DC_C_MASK (0x3U)
  24274. #define DCDC_REG2_LOOPCTRL_DC_C_SHIFT (0U)
  24275. #define DCDC_REG2_LOOPCTRL_DC_C(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_C_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_C_MASK)
  24276. #define DCDC_REG2_LOOPCTRL_DC_R_MASK (0x3CU)
  24277. #define DCDC_REG2_LOOPCTRL_DC_R_SHIFT (2U)
  24278. #define DCDC_REG2_LOOPCTRL_DC_R(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_R_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_R_MASK)
  24279. #define DCDC_REG2_LOOPCTRL_DC_FF_MASK (0x1C0U)
  24280. #define DCDC_REG2_LOOPCTRL_DC_FF_SHIFT (6U)
  24281. #define DCDC_REG2_LOOPCTRL_DC_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_DC_FF_SHIFT)) & DCDC_REG2_LOOPCTRL_DC_FF_MASK)
  24282. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK (0xE00U)
  24283. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT (9U)
  24284. /*! LOOPCTRL_EN_RCSCALE - Enable RC Scale
  24285. */
  24286. #define DCDC_REG2_LOOPCTRL_EN_RCSCALE(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_EN_RCSCALE_SHIFT)) & DCDC_REG2_LOOPCTRL_EN_RCSCALE_MASK)
  24287. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK (0x1000U)
  24288. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT (12U)
  24289. #define DCDC_REG2_LOOPCTRL_RCSCALE_THRSH(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_SHIFT)) & DCDC_REG2_LOOPCTRL_RCSCALE_THRSH_MASK)
  24290. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK (0x2000U)
  24291. #define DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT (13U)
  24292. #define DCDC_REG2_LOOPCTRL_HYST_SIGN(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_HYST_SIGN_SHIFT)) & DCDC_REG2_LOOPCTRL_HYST_SIGN_MASK)
  24293. #define DCDC_REG2_BATTMONITOR_EN_BATADJ_MASK (0x8000U)
  24294. #define DCDC_REG2_BATTMONITOR_EN_BATADJ_SHIFT (15U)
  24295. #define DCDC_REG2_BATTMONITOR_EN_BATADJ(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_BATTMONITOR_EN_BATADJ_SHIFT)) & DCDC_REG2_BATTMONITOR_EN_BATADJ_MASK)
  24296. #define DCDC_REG2_BATTMONITOR_BATT_VAL_MASK (0x3FF0000U)
  24297. #define DCDC_REG2_BATTMONITOR_BATT_VAL_SHIFT (16U)
  24298. #define DCDC_REG2_BATTMONITOR_BATT_VAL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_BATTMONITOR_BATT_VAL_SHIFT)) & DCDC_REG2_BATTMONITOR_BATT_VAL_MASK)
  24299. #define DCDC_REG2_DCM_SET_CTRL_MASK (0x10000000U)
  24300. #define DCDC_REG2_DCM_SET_CTRL_SHIFT (28U)
  24301. /*! DCM_SET_CTRL - DCM Set Control
  24302. */
  24303. #define DCDC_REG2_DCM_SET_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_DCM_SET_CTRL_SHIFT)) & DCDC_REG2_DCM_SET_CTRL_MASK)
  24304. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF_MASK (0x40000000U)
  24305. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF_SHIFT (30U)
  24306. #define DCDC_REG2_LOOPCTRL_TOGGLE_DIF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG2_LOOPCTRL_TOGGLE_DIF_SHIFT)) & DCDC_REG2_LOOPCTRL_TOGGLE_DIF_MASK)
  24307. /*! @} */
  24308. /*! @name REG3 - DCDC Register 3 */
  24309. /*! @{ */
  24310. #define DCDC_REG3_IN_BROWNOUT_MASK (0x4000U)
  24311. #define DCDC_REG3_IN_BROWNOUT_SHIFT (14U)
  24312. /*! IN_BROWNOUT
  24313. * 0b1..DCDC_IN is lower than 2.6V
  24314. */
  24315. #define DCDC_REG3_IN_BROWNOUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_IN_BROWNOUT_SHIFT)) & DCDC_REG3_IN_BROWNOUT_MASK)
  24316. #define DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_MASK (0x8000U)
  24317. #define DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_SHIFT (15U)
  24318. /*! OVERVOLT_VDD1P8_DET_OUT
  24319. * 0b1..VDD1P8 Overvoltage
  24320. */
  24321. #define DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_SHIFT)) & DCDC_REG3_OVERVOLT_VDD1P8_DET_OUT_MASK)
  24322. #define DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_MASK (0x10000U)
  24323. #define DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_SHIFT (16U)
  24324. /*! OVERVOLT_VDD1P0_DET_OUT
  24325. * 0b1..VDD1P0 Overvoltage
  24326. */
  24327. #define DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_SHIFT)) & DCDC_REG3_OVERVOLT_VDD1P0_DET_OUT_MASK)
  24328. #define DCDC_REG3_OVERCUR_DETECT_OUT_MASK (0x20000U)
  24329. #define DCDC_REG3_OVERCUR_DETECT_OUT_SHIFT (17U)
  24330. /*! OVERCUR_DETECT_OUT
  24331. * 0b1..Overcurrent
  24332. */
  24333. #define DCDC_REG3_OVERCUR_DETECT_OUT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_OVERCUR_DETECT_OUT_SHIFT)) & DCDC_REG3_OVERCUR_DETECT_OUT_MASK)
  24334. #define DCDC_REG3_ENABLE_FF_MASK (0x40000U)
  24335. #define DCDC_REG3_ENABLE_FF_SHIFT (18U)
  24336. /*! ENABLE_FF
  24337. * 0b1..Enable feed-forward (FF) function that can speed up transient settling.
  24338. */
  24339. #define DCDC_REG3_ENABLE_FF(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_ENABLE_FF_SHIFT)) & DCDC_REG3_ENABLE_FF_MASK)
  24340. #define DCDC_REG3_DISABLE_PULSE_SKIP_MASK (0x80000U)
  24341. #define DCDC_REG3_DISABLE_PULSE_SKIP_SHIFT (19U)
  24342. /*! DISABLE_PULSE_SKIP - Disable Pulse Skip
  24343. * 0b0..Stop charging if the duty cycle is lower than what is set by NEGLIMIT_IN
  24344. */
  24345. #define DCDC_REG3_DISABLE_PULSE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_PULSE_SKIP_SHIFT)) & DCDC_REG3_DISABLE_PULSE_SKIP_MASK)
  24346. #define DCDC_REG3_DISABLE_IDLE_SKIP_MASK (0x100000U)
  24347. #define DCDC_REG3_DISABLE_IDLE_SKIP_SHIFT (20U)
  24348. /*! DISABLE_IDLE_SKIP
  24349. * 0b0..Enable the idle skip function. The DCDC will be idle when out-of-range comparator detects the output
  24350. * voltage is higher than the target by 25mV. This function requires the out-of-range comparator to be enabled
  24351. * (PWD_CMP_OFFSET=0).
  24352. */
  24353. #define DCDC_REG3_DISABLE_IDLE_SKIP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DISABLE_IDLE_SKIP_SHIFT)) & DCDC_REG3_DISABLE_IDLE_SKIP_MASK)
  24354. #define DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_MASK (0x200000U)
  24355. #define DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_SHIFT (21U)
  24356. /*! DOUBLE_IBIAS_CMP_LP_LPSR
  24357. * 0b1..Double the bias current of the comparator for low-voltage detector in LP (low-power) mode
  24358. */
  24359. #define DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_SHIFT)) & DCDC_REG3_DOUBLE_IBIAS_CMP_LP_LPSR_MASK)
  24360. #define DCDC_REG3_REG_FBK_SEL_MASK (0xC00000U)
  24361. #define DCDC_REG3_REG_FBK_SEL_SHIFT (22U)
  24362. #define DCDC_REG3_REG_FBK_SEL(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_REG_FBK_SEL_SHIFT)) & DCDC_REG3_REG_FBK_SEL_MASK)
  24363. #define DCDC_REG3_MINPWR_DC_HALFCLK_MASK (0x1000000U)
  24364. #define DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT (24U)
  24365. /*! MINPWR_DC_HALFCLK
  24366. * 0b0..DCDC clock remains at full frequency for continuous mode
  24367. * 0b1..DCDC clock set to half frequency for continuous mode
  24368. */
  24369. #define DCDC_REG3_MINPWR_DC_HALFCLK(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_DC_HALFCLK_SHIFT)) & DCDC_REG3_MINPWR_DC_HALFCLK_MASK)
  24370. #define DCDC_REG3_MINPWR_HALF_FETS_MASK (0x4000000U)
  24371. #define DCDC_REG3_MINPWR_HALF_FETS_SHIFT (26U)
  24372. #define DCDC_REG3_MINPWR_HALF_FETS(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MINPWR_HALF_FETS_SHIFT)) & DCDC_REG3_MINPWR_HALF_FETS_MASK)
  24373. #define DCDC_REG3_MISC_DELAY_TIMING_MASK (0x8000000U)
  24374. #define DCDC_REG3_MISC_DELAY_TIMING_SHIFT (27U)
  24375. /*! MISC_DELAY_TIMING - Miscellaneous Delay Timing
  24376. */
  24377. #define DCDC_REG3_MISC_DELAY_TIMING(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_MISC_DELAY_TIMING_SHIFT)) & DCDC_REG3_MISC_DELAY_TIMING_MASK)
  24378. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_MASK (0x20000000U)
  24379. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_SHIFT (29U)
  24380. /*! VDD1P0CTRL_DISABLE_STEP - Disable Step for VDD1P0
  24381. * 0b0..Enable stepping for VDD1P0
  24382. * 0b1..Disable stepping for VDD1P0
  24383. */
  24384. #define DCDC_REG3_VDD1P0CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_SHIFT)) & DCDC_REG3_VDD1P0CTRL_DISABLE_STEP_MASK)
  24385. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_MASK (0x40000000U)
  24386. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_SHIFT (30U)
  24387. /*! VDD1P8CTRL_DISABLE_STEP - Disable Step for VDD1P8
  24388. * 0b0..Enable stepping for VDD1P8
  24389. * 0b1..Disable stepping for VDD1P8
  24390. */
  24391. #define DCDC_REG3_VDD1P8CTRL_DISABLE_STEP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_SHIFT)) & DCDC_REG3_VDD1P8CTRL_DISABLE_STEP_MASK)
  24392. /*! @} */
  24393. /*! @name REG4 - DCDC Register 4 */
  24394. /*! @{ */
  24395. #define DCDC_REG4_ENABLE_SP_MASK (0xFFFFU)
  24396. #define DCDC_REG4_ENABLE_SP_SHIFT (0U)
  24397. #define DCDC_REG4_ENABLE_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG4_ENABLE_SP_SHIFT)) & DCDC_REG4_ENABLE_SP_MASK)
  24398. /*! @} */
  24399. /*! @name REG5 - DCDC Register 5 */
  24400. /*! @{ */
  24401. #define DCDC_REG5_DIG_EN_SP_MASK (0xFFFFU)
  24402. #define DCDC_REG5_DIG_EN_SP_SHIFT (0U)
  24403. #define DCDC_REG5_DIG_EN_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG5_DIG_EN_SP_SHIFT)) & DCDC_REG5_DIG_EN_SP_MASK)
  24404. /*! @} */
  24405. /*! @name REG6 - DCDC Register 6 */
  24406. /*! @{ */
  24407. #define DCDC_REG6_LP_MODE_SP_MASK (0xFFFFU)
  24408. #define DCDC_REG6_LP_MODE_SP_SHIFT (0U)
  24409. #define DCDC_REG6_LP_MODE_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG6_LP_MODE_SP_SHIFT)) & DCDC_REG6_LP_MODE_SP_MASK)
  24410. /*! @} */
  24411. /*! @name REG7 - DCDC Register 7 */
  24412. /*! @{ */
  24413. #define DCDC_REG7_STBY_EN_SP_MASK (0xFFFFU)
  24414. #define DCDC_REG7_STBY_EN_SP_SHIFT (0U)
  24415. #define DCDC_REG7_STBY_EN_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG7_STBY_EN_SP_SHIFT)) & DCDC_REG7_STBY_EN_SP_MASK)
  24416. /*! @} */
  24417. /*! @name REG7P - DCDC Register 7 plus */
  24418. /*! @{ */
  24419. #define DCDC_REG7P_STBY_LP_MODE_SP_MASK (0xFFFFU)
  24420. #define DCDC_REG7P_STBY_LP_MODE_SP_SHIFT (0U)
  24421. #define DCDC_REG7P_STBY_LP_MODE_SP(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG7P_STBY_LP_MODE_SP_SHIFT)) & DCDC_REG7P_STBY_LP_MODE_SP_MASK)
  24422. /*! @} */
  24423. /*! @name REG8 - DCDC Register 8 */
  24424. /*! @{ */
  24425. #define DCDC_REG8_ANA_TRG_SP0_MASK (0xFFFFFFFFU)
  24426. #define DCDC_REG8_ANA_TRG_SP0_SHIFT (0U)
  24427. #define DCDC_REG8_ANA_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG8_ANA_TRG_SP0_SHIFT)) & DCDC_REG8_ANA_TRG_SP0_MASK)
  24428. /*! @} */
  24429. /*! @name REG9 - DCDC Register 9 */
  24430. /*! @{ */
  24431. #define DCDC_REG9_ANA_TRG_SP1_MASK (0xFFFFFFFFU)
  24432. #define DCDC_REG9_ANA_TRG_SP1_SHIFT (0U)
  24433. #define DCDC_REG9_ANA_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG9_ANA_TRG_SP1_SHIFT)) & DCDC_REG9_ANA_TRG_SP1_MASK)
  24434. /*! @} */
  24435. /*! @name REG10 - DCDC Register 10 */
  24436. /*! @{ */
  24437. #define DCDC_REG10_ANA_TRG_SP2_MASK (0xFFFFFFFFU)
  24438. #define DCDC_REG10_ANA_TRG_SP2_SHIFT (0U)
  24439. #define DCDC_REG10_ANA_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG10_ANA_TRG_SP2_SHIFT)) & DCDC_REG10_ANA_TRG_SP2_MASK)
  24440. /*! @} */
  24441. /*! @name REG11 - DCDC Register 11 */
  24442. /*! @{ */
  24443. #define DCDC_REG11_ANA_TRG_SP3_MASK (0xFFFFFFFFU)
  24444. #define DCDC_REG11_ANA_TRG_SP3_SHIFT (0U)
  24445. #define DCDC_REG11_ANA_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG11_ANA_TRG_SP3_SHIFT)) & DCDC_REG11_ANA_TRG_SP3_MASK)
  24446. /*! @} */
  24447. /*! @name REG12 - DCDC Register 12 */
  24448. /*! @{ */
  24449. #define DCDC_REG12_DIG_TRG_SP0_MASK (0xFFFFFFFFU)
  24450. #define DCDC_REG12_DIG_TRG_SP0_SHIFT (0U)
  24451. #define DCDC_REG12_DIG_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG12_DIG_TRG_SP0_SHIFT)) & DCDC_REG12_DIG_TRG_SP0_MASK)
  24452. /*! @} */
  24453. /*! @name REG13 - DCDC Register 13 */
  24454. /*! @{ */
  24455. #define DCDC_REG13_DIG_TRG_SP1_MASK (0xFFFFFFFFU)
  24456. #define DCDC_REG13_DIG_TRG_SP1_SHIFT (0U)
  24457. #define DCDC_REG13_DIG_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG13_DIG_TRG_SP1_SHIFT)) & DCDC_REG13_DIG_TRG_SP1_MASK)
  24458. /*! @} */
  24459. /*! @name REG14 - DCDC Register 14 */
  24460. /*! @{ */
  24461. #define DCDC_REG14_DIG_TRG_SP2_MASK (0xFFFFFFFFU)
  24462. #define DCDC_REG14_DIG_TRG_SP2_SHIFT (0U)
  24463. #define DCDC_REG14_DIG_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG14_DIG_TRG_SP2_SHIFT)) & DCDC_REG14_DIG_TRG_SP2_MASK)
  24464. /*! @} */
  24465. /*! @name REG15 - DCDC Register 15 */
  24466. /*! @{ */
  24467. #define DCDC_REG15_DIG_TRG_SP3_MASK (0xFFFFFFFFU)
  24468. #define DCDC_REG15_DIG_TRG_SP3_SHIFT (0U)
  24469. #define DCDC_REG15_DIG_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG15_DIG_TRG_SP3_SHIFT)) & DCDC_REG15_DIG_TRG_SP3_MASK)
  24470. /*! @} */
  24471. /*! @name REG16 - DCDC Register 16 */
  24472. /*! @{ */
  24473. #define DCDC_REG16_ANA_STBY_TRG_SP0_MASK (0xFFFFFFFFU)
  24474. #define DCDC_REG16_ANA_STBY_TRG_SP0_SHIFT (0U)
  24475. #define DCDC_REG16_ANA_STBY_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG16_ANA_STBY_TRG_SP0_SHIFT)) & DCDC_REG16_ANA_STBY_TRG_SP0_MASK)
  24476. /*! @} */
  24477. /*! @name REG17 - DCDC Register 17 */
  24478. /*! @{ */
  24479. #define DCDC_REG17_ANA_STBY_TRG_SP1_MASK (0xFFFFFFFFU)
  24480. #define DCDC_REG17_ANA_STBY_TRG_SP1_SHIFT (0U)
  24481. #define DCDC_REG17_ANA_STBY_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG17_ANA_STBY_TRG_SP1_SHIFT)) & DCDC_REG17_ANA_STBY_TRG_SP1_MASK)
  24482. /*! @} */
  24483. /*! @name REG18 - DCDC Register 18 */
  24484. /*! @{ */
  24485. #define DCDC_REG18_ANA_STBY_TRG_SP2_MASK (0xFFFFFFFFU)
  24486. #define DCDC_REG18_ANA_STBY_TRG_SP2_SHIFT (0U)
  24487. #define DCDC_REG18_ANA_STBY_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG18_ANA_STBY_TRG_SP2_SHIFT)) & DCDC_REG18_ANA_STBY_TRG_SP2_MASK)
  24488. /*! @} */
  24489. /*! @name REG19 - DCDC Register 19 */
  24490. /*! @{ */
  24491. #define DCDC_REG19_ANA_STBY_TRG_SP3_MASK (0xFFFFFFFFU)
  24492. #define DCDC_REG19_ANA_STBY_TRG_SP3_SHIFT (0U)
  24493. #define DCDC_REG19_ANA_STBY_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG19_ANA_STBY_TRG_SP3_SHIFT)) & DCDC_REG19_ANA_STBY_TRG_SP3_MASK)
  24494. /*! @} */
  24495. /*! @name REG20 - DCDC Register 20 */
  24496. /*! @{ */
  24497. #define DCDC_REG20_DIG_STBY_TRG_SP0_MASK (0xFFFFFFFFU)
  24498. #define DCDC_REG20_DIG_STBY_TRG_SP0_SHIFT (0U)
  24499. #define DCDC_REG20_DIG_STBY_TRG_SP0(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG20_DIG_STBY_TRG_SP0_SHIFT)) & DCDC_REG20_DIG_STBY_TRG_SP0_MASK)
  24500. /*! @} */
  24501. /*! @name REG21 - DCDC Register 21 */
  24502. /*! @{ */
  24503. #define DCDC_REG21_DIG_STBY_TRG_SP1_MASK (0xFFFFFFFFU)
  24504. #define DCDC_REG21_DIG_STBY_TRG_SP1_SHIFT (0U)
  24505. #define DCDC_REG21_DIG_STBY_TRG_SP1(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG21_DIG_STBY_TRG_SP1_SHIFT)) & DCDC_REG21_DIG_STBY_TRG_SP1_MASK)
  24506. /*! @} */
  24507. /*! @name REG22 - DCDC Register 22 */
  24508. /*! @{ */
  24509. #define DCDC_REG22_DIG_STBY_TRG_SP2_MASK (0xFFFFFFFFU)
  24510. #define DCDC_REG22_DIG_STBY_TRG_SP2_SHIFT (0U)
  24511. #define DCDC_REG22_DIG_STBY_TRG_SP2(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG22_DIG_STBY_TRG_SP2_SHIFT)) & DCDC_REG22_DIG_STBY_TRG_SP2_MASK)
  24512. /*! @} */
  24513. /*! @name REG23 - DCDC Register 23 */
  24514. /*! @{ */
  24515. #define DCDC_REG23_DIG_STBY_TRG_SP3_MASK (0xFFFFFFFFU)
  24516. #define DCDC_REG23_DIG_STBY_TRG_SP3_SHIFT (0U)
  24517. #define DCDC_REG23_DIG_STBY_TRG_SP3(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG23_DIG_STBY_TRG_SP3_SHIFT)) & DCDC_REG23_DIG_STBY_TRG_SP3_MASK)
  24518. /*! @} */
  24519. /*! @name REG24 - DCDC Register 24 */
  24520. /*! @{ */
  24521. #define DCDC_REG24_OK_COUNT_MASK (0xFFFFFFFFU)
  24522. #define DCDC_REG24_OK_COUNT_SHIFT (0U)
  24523. #define DCDC_REG24_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DCDC_REG24_OK_COUNT_SHIFT)) & DCDC_REG24_OK_COUNT_MASK)
  24524. /*! @} */
  24525. /*!
  24526. * @}
  24527. */ /* end of group DCDC_Register_Masks */
  24528. /* DCDC - Peripheral instance base addresses */
  24529. /** Peripheral DCDC base address */
  24530. #define DCDC_BASE (0x40CA8000u)
  24531. /** Peripheral DCDC base pointer */
  24532. #define DCDC ((DCDC_Type *)DCDC_BASE)
  24533. /** Array initializer of DCDC peripheral base addresses */
  24534. #define DCDC_BASE_ADDRS { DCDC_BASE }
  24535. /** Array initializer of DCDC peripheral base pointers */
  24536. #define DCDC_BASE_PTRS { DCDC }
  24537. /*!
  24538. * @}
  24539. */ /* end of group DCDC_Peripheral_Access_Layer */
  24540. /* ----------------------------------------------------------------------------
  24541. -- DCIC Peripheral Access Layer
  24542. ---------------------------------------------------------------------------- */
  24543. /*!
  24544. * @addtogroup DCIC_Peripheral_Access_Layer DCIC Peripheral Access Layer
  24545. * @{
  24546. */
  24547. /** DCIC - Register Layout Typedef */
  24548. typedef struct {
  24549. __IO uint32_t DCICC; /**< DCIC Control Register, offset: 0x0 */
  24550. __IO uint32_t DCICIC; /**< DCIC Interrupt Control Register, offset: 0x4 */
  24551. __IO uint32_t DCICS; /**< DCIC Status Register, offset: 0x8 */
  24552. uint8_t RESERVED_0[4];
  24553. struct { /* offset: 0x10, array step: 0x10 */
  24554. __IO uint32_t DCICRC; /**< DCIC ROI Config Register, array offset: 0x10, array step: 0x10 */
  24555. __IO uint32_t DCICRS; /**< DCIC ROI Size Register, array offset: 0x14, array step: 0x10 */
  24556. __IO uint32_t DCICRRS; /**< DCIC ROI Reference Signature Register, array offset: 0x18, array step: 0x10 */
  24557. __I uint32_t DCICRCS; /**< DCIC ROI Calculated Signature Register, array offset: 0x1C, array step: 0x10 */
  24558. } REGION[16];
  24559. } DCIC_Type;
  24560. /* ----------------------------------------------------------------------------
  24561. -- DCIC Register Masks
  24562. ---------------------------------------------------------------------------- */
  24563. /*!
  24564. * @addtogroup DCIC_Register_Masks DCIC Register Masks
  24565. * @{
  24566. */
  24567. /*! @name DCICC - DCIC Control Register */
  24568. /*! @{ */
  24569. #define DCIC_DCICC_IC_EN_MASK (0x1U)
  24570. #define DCIC_DCICC_IC_EN_SHIFT (0U)
  24571. /*! IC_EN
  24572. * 0b0..Disabled
  24573. * 0b1..Enabled
  24574. */
  24575. #define DCIC_DCICC_IC_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_IC_EN_SHIFT)) & DCIC_DCICC_IC_EN_MASK)
  24576. #define DCIC_DCICC_DE_POL_MASK (0x10U)
  24577. #define DCIC_DCICC_DE_POL_SHIFT (4U)
  24578. /*! DE_POL
  24579. * 0b0..Active High.
  24580. * 0b1..Active Low.
  24581. */
  24582. #define DCIC_DCICC_DE_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_DE_POL_SHIFT)) & DCIC_DCICC_DE_POL_MASK)
  24583. #define DCIC_DCICC_HSYNC_POL_MASK (0x20U)
  24584. #define DCIC_DCICC_HSYNC_POL_SHIFT (5U)
  24585. /*! HSYNC_POL
  24586. * 0b0..Active High.
  24587. * 0b1..Active Low.
  24588. */
  24589. #define DCIC_DCICC_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_HSYNC_POL_SHIFT)) & DCIC_DCICC_HSYNC_POL_MASK)
  24590. #define DCIC_DCICC_VSYNC_POL_MASK (0x40U)
  24591. #define DCIC_DCICC_VSYNC_POL_SHIFT (6U)
  24592. /*! VSYNC_POL
  24593. * 0b0..Active High.
  24594. * 0b1..Active Low.
  24595. */
  24596. #define DCIC_DCICC_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_VSYNC_POL_SHIFT)) & DCIC_DCICC_VSYNC_POL_MASK)
  24597. #define DCIC_DCICC_CLK_POL_MASK (0x80U)
  24598. #define DCIC_DCICC_CLK_POL_SHIFT (7U)
  24599. /*! CLK_POL
  24600. * 0b0..Not inverted (default).
  24601. * 0b1..Inverted.
  24602. */
  24603. #define DCIC_DCICC_CLK_POL(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICC_CLK_POL_SHIFT)) & DCIC_DCICC_CLK_POL_MASK)
  24604. /*! @} */
  24605. /*! @name DCICIC - DCIC Interrupt Control Register */
  24606. /*! @{ */
  24607. #define DCIC_DCICIC_EI_MASK_MASK (0x1U)
  24608. #define DCIC_DCICIC_EI_MASK_SHIFT (0U)
  24609. /*! EI_MASK
  24610. * 0b0..Mask disabled - Interrupt assertion enabled
  24611. * 0b1..Mask enabled - Interrupt assertion disabled
  24612. */
  24613. #define DCIC_DCICIC_EI_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_EI_MASK_SHIFT)) & DCIC_DCICIC_EI_MASK_MASK)
  24614. #define DCIC_DCICIC_FI_MASK_MASK (0x2U)
  24615. #define DCIC_DCICIC_FI_MASK_SHIFT (1U)
  24616. /*! FI_MASK
  24617. * 0b0..Mask disabled - Interrupt assertion enabled
  24618. * 0b1..Mask enabled - Interrupt assertion disabled
  24619. */
  24620. #define DCIC_DCICIC_FI_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_FI_MASK_SHIFT)) & DCIC_DCICIC_FI_MASK_MASK)
  24621. #define DCIC_DCICIC_FREEZE_MASK_MASK (0x8U)
  24622. #define DCIC_DCICIC_FREEZE_MASK_SHIFT (3U)
  24623. /*! FREEZE_MASK
  24624. * 0b0..Masks change allowed
  24625. * 0b1..Masks are frozen
  24626. */
  24627. #define DCIC_DCICIC_FREEZE_MASK(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_FREEZE_MASK_SHIFT)) & DCIC_DCICIC_FREEZE_MASK_MASK)
  24628. #define DCIC_DCICIC_EXT_SIG_EN_MASK (0x10000U)
  24629. #define DCIC_DCICIC_EXT_SIG_EN_SHIFT (16U)
  24630. /*! EXT_SIG_EN
  24631. * 0b0..Disabled
  24632. * 0b1..Enabled
  24633. */
  24634. #define DCIC_DCICIC_EXT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICIC_EXT_SIG_EN_SHIFT)) & DCIC_DCICIC_EXT_SIG_EN_MASK)
  24635. /*! @} */
  24636. /*! @name DCICS - DCIC Status Register */
  24637. /*! @{ */
  24638. #define DCIC_DCICS_ROI_MATCH_STAT_MASK (0xFFFFU)
  24639. #define DCIC_DCICS_ROI_MATCH_STAT_SHIFT (0U)
  24640. /*! ROI_MATCH_STAT
  24641. * 0b0000000000000000..ROI calculated CRC matches expected signature
  24642. * 0b0000000000000001..Mismatch at ROI calculated CRC
  24643. */
  24644. #define DCIC_DCICS_ROI_MATCH_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_ROI_MATCH_STAT_SHIFT)) & DCIC_DCICS_ROI_MATCH_STAT_MASK)
  24645. #define DCIC_DCICS_EI_STAT_MASK (0x10000U)
  24646. #define DCIC_DCICS_EI_STAT_SHIFT (16U)
  24647. /*! EI_STAT
  24648. * 0b0..No pending Interrupt
  24649. * 0b1..Pending Interrupt
  24650. */
  24651. #define DCIC_DCICS_EI_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_EI_STAT_SHIFT)) & DCIC_DCICS_EI_STAT_MASK)
  24652. #define DCIC_DCICS_FI_STAT_MASK (0x20000U)
  24653. #define DCIC_DCICS_FI_STAT_SHIFT (17U)
  24654. /*! FI_STAT
  24655. * 0b0..No pending Interrupt
  24656. * 0b1..Pending Interrupt
  24657. */
  24658. #define DCIC_DCICS_FI_STAT(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICS_FI_STAT_SHIFT)) & DCIC_DCICS_FI_STAT_MASK)
  24659. /*! @} */
  24660. /*! @name DCICRC - DCIC ROI Config Register */
  24661. /*! @{ */
  24662. #define DCIC_DCICRC_START_OFFSET_X_MASK (0x1FFFU)
  24663. #define DCIC_DCICRC_START_OFFSET_X_SHIFT (0U)
  24664. #define DCIC_DCICRC_START_OFFSET_X(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_START_OFFSET_X_SHIFT)) & DCIC_DCICRC_START_OFFSET_X_MASK)
  24665. #define DCIC_DCICRC_START_OFFSET_Y_MASK (0xFFF0000U)
  24666. #define DCIC_DCICRC_START_OFFSET_Y_SHIFT (16U)
  24667. #define DCIC_DCICRC_START_OFFSET_Y(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_START_OFFSET_Y_SHIFT)) & DCIC_DCICRC_START_OFFSET_Y_MASK)
  24668. #define DCIC_DCICRC_ROI_FREEZE_MASK (0x40000000U)
  24669. #define DCIC_DCICRC_ROI_FREEZE_SHIFT (30U)
  24670. /*! ROI_FREEZE
  24671. * 0b0..ROI configuration can be changed
  24672. * 0b1..ROI configuration is frozen
  24673. */
  24674. #define DCIC_DCICRC_ROI_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_ROI_FREEZE_SHIFT)) & DCIC_DCICRC_ROI_FREEZE_MASK)
  24675. #define DCIC_DCICRC_ROI_EN_MASK (0x80000000U)
  24676. #define DCIC_DCICRC_ROI_EN_SHIFT (31U)
  24677. /*! ROI_EN
  24678. * 0b0..Disabled
  24679. * 0b1..Enabled
  24680. */
  24681. #define DCIC_DCICRC_ROI_EN(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRC_ROI_EN_SHIFT)) & DCIC_DCICRC_ROI_EN_MASK)
  24682. /*! @} */
  24683. /* The count of DCIC_DCICRC */
  24684. #define DCIC_DCICRC_COUNT (16U)
  24685. /*! @name DCICRS - DCIC ROI Size Register */
  24686. /*! @{ */
  24687. #define DCIC_DCICRS_END_OFFSET_X_MASK (0x1FFFU)
  24688. #define DCIC_DCICRS_END_OFFSET_X_SHIFT (0U)
  24689. #define DCIC_DCICRS_END_OFFSET_X(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRS_END_OFFSET_X_SHIFT)) & DCIC_DCICRS_END_OFFSET_X_MASK)
  24690. #define DCIC_DCICRS_END_OFFSET_Y_MASK (0xFFF0000U)
  24691. #define DCIC_DCICRS_END_OFFSET_Y_SHIFT (16U)
  24692. #define DCIC_DCICRS_END_OFFSET_Y(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRS_END_OFFSET_Y_SHIFT)) & DCIC_DCICRS_END_OFFSET_Y_MASK)
  24693. /*! @} */
  24694. /* The count of DCIC_DCICRS */
  24695. #define DCIC_DCICRS_COUNT (16U)
  24696. /*! @name DCICRRS - DCIC ROI Reference Signature Register */
  24697. /*! @{ */
  24698. #define DCIC_DCICRRS_REFERENCE_SIGNATURE_MASK (0xFFFFFFFFU)
  24699. #define DCIC_DCICRRS_REFERENCE_SIGNATURE_SHIFT (0U)
  24700. #define DCIC_DCICRRS_REFERENCE_SIGNATURE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRRS_REFERENCE_SIGNATURE_SHIFT)) & DCIC_DCICRRS_REFERENCE_SIGNATURE_MASK)
  24701. /*! @} */
  24702. /* The count of DCIC_DCICRRS */
  24703. #define DCIC_DCICRRS_COUNT (16U)
  24704. /*! @name DCICRCS - DCIC ROI Calculated Signature Register */
  24705. /*! @{ */
  24706. #define DCIC_DCICRCS_CALCULATED_SIGNATURE_MASK (0xFFFFFFFFU)
  24707. #define DCIC_DCICRCS_CALCULATED_SIGNATURE_SHIFT (0U)
  24708. #define DCIC_DCICRCS_CALCULATED_SIGNATURE(x) (((uint32_t)(((uint32_t)(x)) << DCIC_DCICRCS_CALCULATED_SIGNATURE_SHIFT)) & DCIC_DCICRCS_CALCULATED_SIGNATURE_MASK)
  24709. /*! @} */
  24710. /* The count of DCIC_DCICRCS */
  24711. #define DCIC_DCICRCS_COUNT (16U)
  24712. /*!
  24713. * @}
  24714. */ /* end of group DCIC_Register_Masks */
  24715. /* DCIC - Peripheral instance base addresses */
  24716. /** Peripheral DCIC1 base address */
  24717. #define DCIC1_BASE (0x40819000u)
  24718. /** Peripheral DCIC1 base pointer */
  24719. #define DCIC1 ((DCIC_Type *)DCIC1_BASE)
  24720. /** Peripheral DCIC2 base address */
  24721. #define DCIC2_BASE (0x4081A000u)
  24722. /** Peripheral DCIC2 base pointer */
  24723. #define DCIC2 ((DCIC_Type *)DCIC2_BASE)
  24724. /** Array initializer of DCIC peripheral base addresses */
  24725. #define DCIC_BASE_ADDRS { 0u, DCIC1_BASE, DCIC2_BASE }
  24726. /** Array initializer of DCIC peripheral base pointers */
  24727. #define DCIC_BASE_PTRS { (DCIC_Type *)0u, DCIC1, DCIC2 }
  24728. /*!
  24729. * @}
  24730. */ /* end of group DCIC_Peripheral_Access_Layer */
  24731. /* ----------------------------------------------------------------------------
  24732. -- DMA Peripheral Access Layer
  24733. ---------------------------------------------------------------------------- */
  24734. /*!
  24735. * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
  24736. * @{
  24737. */
  24738. /** DMA - Register Layout Typedef */
  24739. typedef struct {
  24740. __IO uint32_t CR; /**< Control, offset: 0x0 */
  24741. __I uint32_t ES; /**< Error Status, offset: 0x4 */
  24742. uint8_t RESERVED_0[4];
  24743. __IO uint32_t ERQ; /**< Enable Request, offset: 0xC */
  24744. uint8_t RESERVED_1[4];
  24745. __IO uint32_t EEI; /**< Enable Error Interrupt, offset: 0x14 */
  24746. __O uint8_t CEEI; /**< Clear Enable Error Interrupt, offset: 0x18 */
  24747. __O uint8_t SEEI; /**< Set Enable Error Interrupt, offset: 0x19 */
  24748. __O uint8_t CERQ; /**< Clear Enable Request, offset: 0x1A */
  24749. __O uint8_t SERQ; /**< Set Enable Request, offset: 0x1B */
  24750. __O uint8_t CDNE; /**< Clear DONE Status Bit, offset: 0x1C */
  24751. __O uint8_t SSRT; /**< Set START Bit, offset: 0x1D */
  24752. __O uint8_t CERR; /**< Clear Error, offset: 0x1E */
  24753. __O uint8_t CINT; /**< Clear Interrupt Request, offset: 0x1F */
  24754. uint8_t RESERVED_2[4];
  24755. __IO uint32_t INT; /**< Interrupt Request, offset: 0x24 */
  24756. uint8_t RESERVED_3[4];
  24757. __IO uint32_t ERR; /**< Error, offset: 0x2C */
  24758. uint8_t RESERVED_4[4];
  24759. __I uint32_t HRS; /**< Hardware Request Status, offset: 0x34 */
  24760. uint8_t RESERVED_5[12];
  24761. __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop, offset: 0x44 */
  24762. uint8_t RESERVED_6[184];
  24763. __IO uint8_t DCHPRI3; /**< Channel Priority, offset: 0x100 */
  24764. __IO uint8_t DCHPRI2; /**< Channel Priority, offset: 0x101 */
  24765. __IO uint8_t DCHPRI1; /**< Channel Priority, offset: 0x102 */
  24766. __IO uint8_t DCHPRI0; /**< Channel Priority, offset: 0x103 */
  24767. __IO uint8_t DCHPRI7; /**< Channel Priority, offset: 0x104 */
  24768. __IO uint8_t DCHPRI6; /**< Channel Priority, offset: 0x105 */
  24769. __IO uint8_t DCHPRI5; /**< Channel Priority, offset: 0x106 */
  24770. __IO uint8_t DCHPRI4; /**< Channel Priority, offset: 0x107 */
  24771. __IO uint8_t DCHPRI11; /**< Channel Priority, offset: 0x108 */
  24772. __IO uint8_t DCHPRI10; /**< Channel Priority, offset: 0x109 */
  24773. __IO uint8_t DCHPRI9; /**< Channel Priority, offset: 0x10A */
  24774. __IO uint8_t DCHPRI8; /**< Channel Priority, offset: 0x10B */
  24775. __IO uint8_t DCHPRI15; /**< Channel Priority, offset: 0x10C */
  24776. __IO uint8_t DCHPRI14; /**< Channel Priority, offset: 0x10D */
  24777. __IO uint8_t DCHPRI13; /**< Channel Priority, offset: 0x10E */
  24778. __IO uint8_t DCHPRI12; /**< Channel Priority, offset: 0x10F */
  24779. __IO uint8_t DCHPRI19; /**< Channel Priority, offset: 0x110 */
  24780. __IO uint8_t DCHPRI18; /**< Channel Priority, offset: 0x111 */
  24781. __IO uint8_t DCHPRI17; /**< Channel Priority, offset: 0x112 */
  24782. __IO uint8_t DCHPRI16; /**< Channel Priority, offset: 0x113 */
  24783. __IO uint8_t DCHPRI23; /**< Channel Priority, offset: 0x114 */
  24784. __IO uint8_t DCHPRI22; /**< Channel Priority, offset: 0x115 */
  24785. __IO uint8_t DCHPRI21; /**< Channel Priority, offset: 0x116 */
  24786. __IO uint8_t DCHPRI20; /**< Channel Priority, offset: 0x117 */
  24787. __IO uint8_t DCHPRI27; /**< Channel Priority, offset: 0x118 */
  24788. __IO uint8_t DCHPRI26; /**< Channel Priority, offset: 0x119 */
  24789. __IO uint8_t DCHPRI25; /**< Channel Priority, offset: 0x11A */
  24790. __IO uint8_t DCHPRI24; /**< Channel Priority, offset: 0x11B */
  24791. __IO uint8_t DCHPRI31; /**< Channel Priority, offset: 0x11C */
  24792. __IO uint8_t DCHPRI30; /**< Channel Priority, offset: 0x11D */
  24793. __IO uint8_t DCHPRI29; /**< Channel Priority, offset: 0x11E */
  24794. __IO uint8_t DCHPRI28; /**< Channel Priority, offset: 0x11F */
  24795. uint8_t RESERVED_7[3808];
  24796. struct { /* offset: 0x1000, array step: 0x20 */
  24797. __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */
  24798. __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */
  24799. __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */
  24800. union { /* offset: 0x1008, array step: 0x20 */
  24801. __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */
  24802. __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */
  24803. __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */
  24804. };
  24805. __IO int32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */
  24806. __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */
  24807. __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */
  24808. union { /* offset: 0x1016, array step: 0x20 */
  24809. __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */
  24810. __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */
  24811. };
  24812. __IO int32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */
  24813. __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */
  24814. union { /* offset: 0x101E, array step: 0x20 */
  24815. __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */
  24816. __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */
  24817. };
  24818. } TCD[32];
  24819. } DMA_Type;
  24820. /* ----------------------------------------------------------------------------
  24821. -- DMA Register Masks
  24822. ---------------------------------------------------------------------------- */
  24823. /*!
  24824. * @addtogroup DMA_Register_Masks DMA Register Masks
  24825. * @{
  24826. */
  24827. /*! @name CR - Control */
  24828. /*! @{ */
  24829. #define DMA_CR_EDBG_MASK (0x2U)
  24830. #define DMA_CR_EDBG_SHIFT (1U)
  24831. /*! EDBG - Enable Debug
  24832. * 0b0..When the chip is in Debug mode, the eDMA continues to operate.
  24833. * 0b1..When the chip is in debug mode, the DMA stalls the start of a new channel. Executing channels are allowed to complete.
  24834. */
  24835. #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK)
  24836. #define DMA_CR_ERCA_MASK (0x4U)
  24837. #define DMA_CR_ERCA_SHIFT (2U)
  24838. /*! ERCA - Enable Round Robin Channel Arbitration
  24839. * 0b0..Fixed priority arbitration within each group
  24840. * 0b1..Round robin arbitration within each group
  24841. */
  24842. #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK)
  24843. #define DMA_CR_ERGA_MASK (0x8U)
  24844. #define DMA_CR_ERGA_SHIFT (3U)
  24845. /*! ERGA - Enable Round Robin Group Arbitration
  24846. * 0b0..Fixed priority arbitration
  24847. * 0b1..Round robin arbitration
  24848. */
  24849. #define DMA_CR_ERGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERGA_SHIFT)) & DMA_CR_ERGA_MASK)
  24850. #define DMA_CR_HOE_MASK (0x10U)
  24851. #define DMA_CR_HOE_SHIFT (4U)
  24852. /*! HOE - Halt On Error
  24853. * 0b0..Normal operation
  24854. * 0b1..Error causes HALT field to be automatically set to 1
  24855. */
  24856. #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK)
  24857. #define DMA_CR_HALT_MASK (0x20U)
  24858. #define DMA_CR_HALT_SHIFT (5U)
  24859. /*! HALT - Halt eDMA Operations
  24860. * 0b0..Normal operation
  24861. * 0b1..eDMA operations halted
  24862. */
  24863. #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK)
  24864. #define DMA_CR_CLM_MASK (0x40U)
  24865. #define DMA_CR_CLM_SHIFT (6U)
  24866. /*! CLM - Continuous Link Mode
  24867. * 0b0..Continuous link mode is off
  24868. * 0b1..Continuous link mode is on
  24869. */
  24870. #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK)
  24871. #define DMA_CR_EMLM_MASK (0x80U)
  24872. #define DMA_CR_EMLM_SHIFT (7U)
  24873. /*! EMLM - Enable Minor Loop Mapping
  24874. * 0b0..Disabled
  24875. * 0b1..Enabled
  24876. */
  24877. #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK)
  24878. #define DMA_CR_GRP0PRI_MASK (0x100U)
  24879. #define DMA_CR_GRP0PRI_SHIFT (8U)
  24880. /*! GRP0PRI - Channel Group 0 Priority
  24881. */
  24882. #define DMA_CR_GRP0PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP0PRI_SHIFT)) & DMA_CR_GRP0PRI_MASK)
  24883. #define DMA_CR_GRP1PRI_MASK (0x400U)
  24884. #define DMA_CR_GRP1PRI_SHIFT (10U)
  24885. /*! GRP1PRI - Channel Group 1 Priority
  24886. */
  24887. #define DMA_CR_GRP1PRI(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_GRP1PRI_SHIFT)) & DMA_CR_GRP1PRI_MASK)
  24888. #define DMA_CR_ECX_MASK (0x10000U)
  24889. #define DMA_CR_ECX_SHIFT (16U)
  24890. /*! ECX - Error Cancel Transfer
  24891. * 0b0..Normal operation
  24892. * 0b1..Cancel the remaining data transfer
  24893. */
  24894. #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK)
  24895. #define DMA_CR_CX_MASK (0x20000U)
  24896. #define DMA_CR_CX_SHIFT (17U)
  24897. /*! CX - Cancel Transfer
  24898. * 0b0..Normal operation
  24899. * 0b1..Cancel the remaining data transfer
  24900. */
  24901. #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK)
  24902. #define DMA_CR_VERSION_MASK (0x7F000000U)
  24903. #define DMA_CR_VERSION_SHIFT (24U)
  24904. /*! VERSION - eDMA version number
  24905. */
  24906. #define DMA_CR_VERSION(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_VERSION_SHIFT)) & DMA_CR_VERSION_MASK)
  24907. #define DMA_CR_ACTIVE_MASK (0x80000000U)
  24908. #define DMA_CR_ACTIVE_SHIFT (31U)
  24909. /*! ACTIVE - eDMA Active Status
  24910. * 0b0..eDMA is idle
  24911. * 0b1..eDMA is executing a channel
  24912. */
  24913. #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK)
  24914. /*! @} */
  24915. /*! @name ES - Error Status */
  24916. /*! @{ */
  24917. #define DMA_ES_DBE_MASK (0x1U)
  24918. #define DMA_ES_DBE_SHIFT (0U)
  24919. /*! DBE - Destination Bus Error
  24920. * 0b0..No destination bus error.
  24921. * 0b1..The most-recently recorded error was a bus error on a destination write.
  24922. */
  24923. #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK)
  24924. #define DMA_ES_SBE_MASK (0x2U)
  24925. #define DMA_ES_SBE_SHIFT (1U)
  24926. /*! SBE - Source Bus Error
  24927. * 0b0..No source bus error.
  24928. * 0b1..The most-recently recorded error was a bus error on a source read.
  24929. */
  24930. #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK)
  24931. #define DMA_ES_SGE_MASK (0x4U)
  24932. #define DMA_ES_SGE_SHIFT (2U)
  24933. /*! SGE - Scatter/Gather Configuration Error
  24934. * 0b0..No scatter/gather configuration error.
  24935. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DLASTSGA field.
  24936. */
  24937. #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK)
  24938. #define DMA_ES_NCE_MASK (0x8U)
  24939. #define DMA_ES_NCE_SHIFT (3U)
  24940. /*! NCE - NBYTES/CITER Configuration Error
  24941. * 0b0..No NBYTES/CITER configuration error.
  24942. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_NBYTES or TCDn_CITER
  24943. * fields. TCDn_NBYTES is not a multiple of TCDn_ATTR[SSIZE] and TCDn_ATTR[DSIZE], or TCDn_CITER[CITER] = 0, or
  24944. * TCDn_CITER[ELINK] is not equal to TCDn_BITER[ELINK].
  24945. */
  24946. #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK)
  24947. #define DMA_ES_DOE_MASK (0x10U)
  24948. #define DMA_ES_DOE_SHIFT (4U)
  24949. /*! DOE - Destination Offset Error
  24950. * 0b0..No destination offset configuration error.
  24951. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE].
  24952. */
  24953. #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK)
  24954. #define DMA_ES_DAE_MASK (0x20U)
  24955. #define DMA_ES_DAE_SHIFT (5U)
  24956. /*! DAE - Destination Address Error
  24957. * 0b0..No destination address configuration error.
  24958. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR
  24959. * is inconsistent with TCDn_ATTR[DSIZE].
  24960. */
  24961. #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK)
  24962. #define DMA_ES_SOE_MASK (0x40U)
  24963. #define DMA_ES_SOE_SHIFT (6U)
  24964. /*! SOE - Source Offset Error
  24965. * 0b0..No source offset configuration error.
  24966. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE].
  24967. */
  24968. #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK)
  24969. #define DMA_ES_SAE_MASK (0x80U)
  24970. #define DMA_ES_SAE_SHIFT (7U)
  24971. /*! SAE - Source Address Error
  24972. * 0b0..No source address configuration error.
  24973. * 0b1..The most-recently recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR
  24974. * is inconsistent with TCDn_ATTR[SSIZE].
  24975. */
  24976. #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK)
  24977. #define DMA_ES_ERRCHN_MASK (0x1F00U)
  24978. #define DMA_ES_ERRCHN_SHIFT (8U)
  24979. /*! ERRCHN - Error Channel Number or Canceled Channel Number
  24980. */
  24981. #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK)
  24982. #define DMA_ES_CPE_MASK (0x4000U)
  24983. #define DMA_ES_CPE_SHIFT (14U)
  24984. /*! CPE - Channel Priority Error
  24985. * 0b0..No channel priority error.
  24986. * 0b1..The most-recently recorded error was a configuration error in the channel priorities within a group.
  24987. * Channel priorities within a group are not unique.
  24988. */
  24989. #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK)
  24990. #define DMA_ES_GPE_MASK (0x8000U)
  24991. #define DMA_ES_GPE_SHIFT (15U)
  24992. /*! GPE - Group Priority Error
  24993. * 0b0..No group priority error.
  24994. * 0b1..The most-recently recorded error was a configuration error among the group priorities. All group priorities are not unique.
  24995. */
  24996. #define DMA_ES_GPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_GPE_SHIFT)) & DMA_ES_GPE_MASK)
  24997. #define DMA_ES_ECX_MASK (0x10000U)
  24998. #define DMA_ES_ECX_SHIFT (16U)
  24999. /*! ECX - Transfer Canceled
  25000. * 0b0..No canceled transfers
  25001. * 0b1..The most-recently recorded entry was a canceled transfer initiated by the error cancel transfer field
  25002. */
  25003. #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK)
  25004. #define DMA_ES_VLD_MASK (0x80000000U)
  25005. #define DMA_ES_VLD_SHIFT (31U)
  25006. /*! VLD - Logical OR of all ERR status fields
  25007. * 0b0..No ERR fields are 1
  25008. * 0b1..At least one ERR field has a value of 1, indicating a valid error exists that has not been cleared
  25009. */
  25010. #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK)
  25011. /*! @} */
  25012. /*! @name ERQ - Enable Request */
  25013. /*! @{ */
  25014. #define DMA_ERQ_ERQ0_MASK (0x1U)
  25015. #define DMA_ERQ_ERQ0_SHIFT (0U)
  25016. /*! ERQ0 - Enable DMA Request 0
  25017. * 0b0..The DMA request signal for channel 0 is disabled
  25018. * 0b1..The DMA request signal for channel 0 is enabled
  25019. */
  25020. #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK)
  25021. #define DMA_ERQ_ERQ1_MASK (0x2U)
  25022. #define DMA_ERQ_ERQ1_SHIFT (1U)
  25023. /*! ERQ1 - Enable DMA Request 1
  25024. * 0b0..The DMA request signal for channel 1 is disabled
  25025. * 0b1..The DMA request signal for channel 1 is enabled
  25026. */
  25027. #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK)
  25028. #define DMA_ERQ_ERQ2_MASK (0x4U)
  25029. #define DMA_ERQ_ERQ2_SHIFT (2U)
  25030. /*! ERQ2 - Enable DMA Request 2
  25031. * 0b0..The DMA request signal for channel 2 is disabled
  25032. * 0b1..The DMA request signal for channel 2 is enabled
  25033. */
  25034. #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK)
  25035. #define DMA_ERQ_ERQ3_MASK (0x8U)
  25036. #define DMA_ERQ_ERQ3_SHIFT (3U)
  25037. /*! ERQ3 - Enable DMA Request 3
  25038. * 0b0..The DMA request signal for channel 3 is disabled
  25039. * 0b1..The DMA request signal for channel 3 is enabled
  25040. */
  25041. #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK)
  25042. #define DMA_ERQ_ERQ4_MASK (0x10U)
  25043. #define DMA_ERQ_ERQ4_SHIFT (4U)
  25044. /*! ERQ4 - Enable DMA Request 4
  25045. * 0b0..The DMA request signal for channel 4 is disabled
  25046. * 0b1..The DMA request signal for channel 4 is enabled
  25047. */
  25048. #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK)
  25049. #define DMA_ERQ_ERQ5_MASK (0x20U)
  25050. #define DMA_ERQ_ERQ5_SHIFT (5U)
  25051. /*! ERQ5 - Enable DMA Request 5
  25052. * 0b0..The DMA request signal for channel 5 is disabled
  25053. * 0b1..The DMA request signal for channel 5 is enabled
  25054. */
  25055. #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK)
  25056. #define DMA_ERQ_ERQ6_MASK (0x40U)
  25057. #define DMA_ERQ_ERQ6_SHIFT (6U)
  25058. /*! ERQ6 - Enable DMA Request 6
  25059. * 0b0..The DMA request signal for channel 6 is disabled
  25060. * 0b1..The DMA request signal for channel 6 is enabled
  25061. */
  25062. #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK)
  25063. #define DMA_ERQ_ERQ7_MASK (0x80U)
  25064. #define DMA_ERQ_ERQ7_SHIFT (7U)
  25065. /*! ERQ7 - Enable DMA Request 7
  25066. * 0b0..The DMA request signal for channel 7 is disabled
  25067. * 0b1..The DMA request signal for channel 7 is enabled
  25068. */
  25069. #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK)
  25070. #define DMA_ERQ_ERQ8_MASK (0x100U)
  25071. #define DMA_ERQ_ERQ8_SHIFT (8U)
  25072. /*! ERQ8 - Enable DMA Request 8
  25073. * 0b0..The DMA request signal for channel 8 is disabled
  25074. * 0b1..The DMA request signal for channel 8 is enabled
  25075. */
  25076. #define DMA_ERQ_ERQ8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ8_SHIFT)) & DMA_ERQ_ERQ8_MASK)
  25077. #define DMA_ERQ_ERQ9_MASK (0x200U)
  25078. #define DMA_ERQ_ERQ9_SHIFT (9U)
  25079. /*! ERQ9 - Enable DMA Request 9
  25080. * 0b0..The DMA request signal for channel 9 is disabled
  25081. * 0b1..The DMA request signal for channel 9 is enabled
  25082. */
  25083. #define DMA_ERQ_ERQ9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ9_SHIFT)) & DMA_ERQ_ERQ9_MASK)
  25084. #define DMA_ERQ_ERQ10_MASK (0x400U)
  25085. #define DMA_ERQ_ERQ10_SHIFT (10U)
  25086. /*! ERQ10 - Enable DMA Request 10
  25087. * 0b0..The DMA request signal for channel 10 is disabled
  25088. * 0b1..The DMA request signal for channel 10 is enabled
  25089. */
  25090. #define DMA_ERQ_ERQ10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ10_SHIFT)) & DMA_ERQ_ERQ10_MASK)
  25091. #define DMA_ERQ_ERQ11_MASK (0x800U)
  25092. #define DMA_ERQ_ERQ11_SHIFT (11U)
  25093. /*! ERQ11 - Enable DMA Request 11
  25094. * 0b0..The DMA request signal for channel 11 is disabled
  25095. * 0b1..The DMA request signal for channel 11 is enabled
  25096. */
  25097. #define DMA_ERQ_ERQ11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ11_SHIFT)) & DMA_ERQ_ERQ11_MASK)
  25098. #define DMA_ERQ_ERQ12_MASK (0x1000U)
  25099. #define DMA_ERQ_ERQ12_SHIFT (12U)
  25100. /*! ERQ12 - Enable DMA Request 12
  25101. * 0b0..The DMA request signal for channel 12 is disabled
  25102. * 0b1..The DMA request signal for channel 12 is enabled
  25103. */
  25104. #define DMA_ERQ_ERQ12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ12_SHIFT)) & DMA_ERQ_ERQ12_MASK)
  25105. #define DMA_ERQ_ERQ13_MASK (0x2000U)
  25106. #define DMA_ERQ_ERQ13_SHIFT (13U)
  25107. /*! ERQ13 - Enable DMA Request 13
  25108. * 0b0..The DMA request signal for channel 13 is disabled
  25109. * 0b1..The DMA request signal for channel 13 is enabled
  25110. */
  25111. #define DMA_ERQ_ERQ13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ13_SHIFT)) & DMA_ERQ_ERQ13_MASK)
  25112. #define DMA_ERQ_ERQ14_MASK (0x4000U)
  25113. #define DMA_ERQ_ERQ14_SHIFT (14U)
  25114. /*! ERQ14 - Enable DMA Request 14
  25115. * 0b0..The DMA request signal for channel 14 is disabled
  25116. * 0b1..The DMA request signal for channel 14 is enabled
  25117. */
  25118. #define DMA_ERQ_ERQ14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ14_SHIFT)) & DMA_ERQ_ERQ14_MASK)
  25119. #define DMA_ERQ_ERQ15_MASK (0x8000U)
  25120. #define DMA_ERQ_ERQ15_SHIFT (15U)
  25121. /*! ERQ15 - Enable DMA Request 15
  25122. * 0b0..The DMA request signal for channel 15 is disabled
  25123. * 0b1..The DMA request signal for channel 15 is enabled
  25124. */
  25125. #define DMA_ERQ_ERQ15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ15_SHIFT)) & DMA_ERQ_ERQ15_MASK)
  25126. #define DMA_ERQ_ERQ16_MASK (0x10000U)
  25127. #define DMA_ERQ_ERQ16_SHIFT (16U)
  25128. /*! ERQ16 - Enable DMA Request 16
  25129. * 0b0..The DMA request signal for channel 16 is disabled
  25130. * 0b1..The DMA request signal for channel 16 is enabled
  25131. */
  25132. #define DMA_ERQ_ERQ16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ16_SHIFT)) & DMA_ERQ_ERQ16_MASK)
  25133. #define DMA_ERQ_ERQ17_MASK (0x20000U)
  25134. #define DMA_ERQ_ERQ17_SHIFT (17U)
  25135. /*! ERQ17 - Enable DMA Request 17
  25136. * 0b0..The DMA request signal for channel 17 is disabled
  25137. * 0b1..The DMA request signal for channel 17 is enabled
  25138. */
  25139. #define DMA_ERQ_ERQ17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ17_SHIFT)) & DMA_ERQ_ERQ17_MASK)
  25140. #define DMA_ERQ_ERQ18_MASK (0x40000U)
  25141. #define DMA_ERQ_ERQ18_SHIFT (18U)
  25142. /*! ERQ18 - Enable DMA Request 18
  25143. * 0b0..The DMA request signal for channel 18 is disabled
  25144. * 0b1..The DMA request signal for channel 18 is enabled
  25145. */
  25146. #define DMA_ERQ_ERQ18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ18_SHIFT)) & DMA_ERQ_ERQ18_MASK)
  25147. #define DMA_ERQ_ERQ19_MASK (0x80000U)
  25148. #define DMA_ERQ_ERQ19_SHIFT (19U)
  25149. /*! ERQ19 - Enable DMA Request 19
  25150. * 0b0..The DMA request signal for channel 19 is disabled
  25151. * 0b1..The DMA request signal for channel 19 is enabled
  25152. */
  25153. #define DMA_ERQ_ERQ19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ19_SHIFT)) & DMA_ERQ_ERQ19_MASK)
  25154. #define DMA_ERQ_ERQ20_MASK (0x100000U)
  25155. #define DMA_ERQ_ERQ20_SHIFT (20U)
  25156. /*! ERQ20 - Enable DMA Request 20
  25157. * 0b0..The DMA request signal for channel 20 is disabled
  25158. * 0b1..The DMA request signal for channel 20 is enabled
  25159. */
  25160. #define DMA_ERQ_ERQ20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ20_SHIFT)) & DMA_ERQ_ERQ20_MASK)
  25161. #define DMA_ERQ_ERQ21_MASK (0x200000U)
  25162. #define DMA_ERQ_ERQ21_SHIFT (21U)
  25163. /*! ERQ21 - Enable DMA Request 21
  25164. * 0b0..The DMA request signal for channel 21 is disabled
  25165. * 0b1..The DMA request signal for channel 21 is enabled
  25166. */
  25167. #define DMA_ERQ_ERQ21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ21_SHIFT)) & DMA_ERQ_ERQ21_MASK)
  25168. #define DMA_ERQ_ERQ22_MASK (0x400000U)
  25169. #define DMA_ERQ_ERQ22_SHIFT (22U)
  25170. /*! ERQ22 - Enable DMA Request 22
  25171. * 0b0..The DMA request signal for channel 22 is disabled
  25172. * 0b1..The DMA request signal for channel 22 is enabled
  25173. */
  25174. #define DMA_ERQ_ERQ22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ22_SHIFT)) & DMA_ERQ_ERQ22_MASK)
  25175. #define DMA_ERQ_ERQ23_MASK (0x800000U)
  25176. #define DMA_ERQ_ERQ23_SHIFT (23U)
  25177. /*! ERQ23 - Enable DMA Request 23
  25178. * 0b0..The DMA request signal for channel 23 is disabled
  25179. * 0b1..The DMA request signal for channel 23 is enabled
  25180. */
  25181. #define DMA_ERQ_ERQ23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ23_SHIFT)) & DMA_ERQ_ERQ23_MASK)
  25182. #define DMA_ERQ_ERQ24_MASK (0x1000000U)
  25183. #define DMA_ERQ_ERQ24_SHIFT (24U)
  25184. /*! ERQ24 - Enable DMA Request 24
  25185. * 0b0..The DMA request signal for channel 24 is disabled
  25186. * 0b1..The DMA request signal for channel 24 is enabled
  25187. */
  25188. #define DMA_ERQ_ERQ24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ24_SHIFT)) & DMA_ERQ_ERQ24_MASK)
  25189. #define DMA_ERQ_ERQ25_MASK (0x2000000U)
  25190. #define DMA_ERQ_ERQ25_SHIFT (25U)
  25191. /*! ERQ25 - Enable DMA Request 25
  25192. * 0b0..The DMA request signal for channel 25 is disabled
  25193. * 0b1..The DMA request signal for channel 25 is enabled
  25194. */
  25195. #define DMA_ERQ_ERQ25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ25_SHIFT)) & DMA_ERQ_ERQ25_MASK)
  25196. #define DMA_ERQ_ERQ26_MASK (0x4000000U)
  25197. #define DMA_ERQ_ERQ26_SHIFT (26U)
  25198. /*! ERQ26 - Enable DMA Request 26
  25199. * 0b0..The DMA request signal for channel 26 is disabled
  25200. * 0b1..The DMA request signal for channel 26 is enabled
  25201. */
  25202. #define DMA_ERQ_ERQ26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ26_SHIFT)) & DMA_ERQ_ERQ26_MASK)
  25203. #define DMA_ERQ_ERQ27_MASK (0x8000000U)
  25204. #define DMA_ERQ_ERQ27_SHIFT (27U)
  25205. /*! ERQ27 - Enable DMA Request 27
  25206. * 0b0..The DMA request signal for channel 27 is disabled
  25207. * 0b1..The DMA request signal for channel 27 is enabled
  25208. */
  25209. #define DMA_ERQ_ERQ27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ27_SHIFT)) & DMA_ERQ_ERQ27_MASK)
  25210. #define DMA_ERQ_ERQ28_MASK (0x10000000U)
  25211. #define DMA_ERQ_ERQ28_SHIFT (28U)
  25212. /*! ERQ28 - Enable DMA Request 28
  25213. * 0b0..The DMA request signal for channel 28 is disabled
  25214. * 0b1..The DMA request signal for channel 28 is enabled
  25215. */
  25216. #define DMA_ERQ_ERQ28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ28_SHIFT)) & DMA_ERQ_ERQ28_MASK)
  25217. #define DMA_ERQ_ERQ29_MASK (0x20000000U)
  25218. #define DMA_ERQ_ERQ29_SHIFT (29U)
  25219. /*! ERQ29 - Enable DMA Request 29
  25220. * 0b0..The DMA request signal for channel 29 is disabled
  25221. * 0b1..The DMA request signal for channel 29 is enabled
  25222. */
  25223. #define DMA_ERQ_ERQ29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ29_SHIFT)) & DMA_ERQ_ERQ29_MASK)
  25224. #define DMA_ERQ_ERQ30_MASK (0x40000000U)
  25225. #define DMA_ERQ_ERQ30_SHIFT (30U)
  25226. /*! ERQ30 - Enable DMA Request 30
  25227. * 0b0..The DMA request signal for channel 30 is disabled
  25228. * 0b1..The DMA request signal for channel 30 is enabled
  25229. */
  25230. #define DMA_ERQ_ERQ30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ30_SHIFT)) & DMA_ERQ_ERQ30_MASK)
  25231. #define DMA_ERQ_ERQ31_MASK (0x80000000U)
  25232. #define DMA_ERQ_ERQ31_SHIFT (31U)
  25233. /*! ERQ31 - Enable DMA Request 31
  25234. * 0b0..The DMA request signal for channel 31 is disabled
  25235. * 0b1..The DMA request signal for channel 31 is enabled
  25236. */
  25237. #define DMA_ERQ_ERQ31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ31_SHIFT)) & DMA_ERQ_ERQ31_MASK)
  25238. /*! @} */
  25239. /*! @name EEI - Enable Error Interrupt */
  25240. /*! @{ */
  25241. #define DMA_EEI_EEI0_MASK (0x1U)
  25242. #define DMA_EEI_EEI0_SHIFT (0U)
  25243. /*! EEI0 - Enable Error Interrupt 0
  25244. * 0b0..An error on channel 0 does not generate an error interrupt
  25245. * 0b1..An error on channel 0 generates an error interrupt request
  25246. */
  25247. #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK)
  25248. #define DMA_EEI_EEI1_MASK (0x2U)
  25249. #define DMA_EEI_EEI1_SHIFT (1U)
  25250. /*! EEI1 - Enable Error Interrupt 1
  25251. * 0b0..An error on channel 1 does not generate an error interrupt
  25252. * 0b1..An error on channel 1 generates an error interrupt request
  25253. */
  25254. #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK)
  25255. #define DMA_EEI_EEI2_MASK (0x4U)
  25256. #define DMA_EEI_EEI2_SHIFT (2U)
  25257. /*! EEI2 - Enable Error Interrupt 2
  25258. * 0b0..An error on channel 2 does not generate an error interrupt
  25259. * 0b1..An error on channel 2 generates an error interrupt request
  25260. */
  25261. #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK)
  25262. #define DMA_EEI_EEI3_MASK (0x8U)
  25263. #define DMA_EEI_EEI3_SHIFT (3U)
  25264. /*! EEI3 - Enable Error Interrupt 3
  25265. * 0b0..An error on channel 3 does not generate an error interrupt
  25266. * 0b1..An error on channel 3 generates an error interrupt request
  25267. */
  25268. #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK)
  25269. #define DMA_EEI_EEI4_MASK (0x10U)
  25270. #define DMA_EEI_EEI4_SHIFT (4U)
  25271. /*! EEI4 - Enable Error Interrupt 4
  25272. * 0b0..An error on channel 4 does not generate an error interrupt
  25273. * 0b1..An error on channel 4 generates an error interrupt request
  25274. */
  25275. #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK)
  25276. #define DMA_EEI_EEI5_MASK (0x20U)
  25277. #define DMA_EEI_EEI5_SHIFT (5U)
  25278. /*! EEI5 - Enable Error Interrupt 5
  25279. * 0b0..An error on channel 5 does not generate an error interrupt
  25280. * 0b1..An error on channel 5 generates an error interrupt request
  25281. */
  25282. #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK)
  25283. #define DMA_EEI_EEI6_MASK (0x40U)
  25284. #define DMA_EEI_EEI6_SHIFT (6U)
  25285. /*! EEI6 - Enable Error Interrupt 6
  25286. * 0b0..An error on channel 6 does not generate an error interrupt
  25287. * 0b1..An error on channel 6 generates an error interrupt request
  25288. */
  25289. #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK)
  25290. #define DMA_EEI_EEI7_MASK (0x80U)
  25291. #define DMA_EEI_EEI7_SHIFT (7U)
  25292. /*! EEI7 - Enable Error Interrupt 7
  25293. * 0b0..An error on channel 7 does not generate an error interrupt
  25294. * 0b1..An error on channel 7 generates an error interrupt request
  25295. */
  25296. #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK)
  25297. #define DMA_EEI_EEI8_MASK (0x100U)
  25298. #define DMA_EEI_EEI8_SHIFT (8U)
  25299. /*! EEI8 - Enable Error Interrupt 8
  25300. * 0b0..An error on channel 8 does not generate an error interrupt
  25301. * 0b1..An error on channel 8 generates an error interrupt request
  25302. */
  25303. #define DMA_EEI_EEI8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI8_SHIFT)) & DMA_EEI_EEI8_MASK)
  25304. #define DMA_EEI_EEI9_MASK (0x200U)
  25305. #define DMA_EEI_EEI9_SHIFT (9U)
  25306. /*! EEI9 - Enable Error Interrupt 9
  25307. * 0b0..An error on channel 9 does not generate an error interrupt
  25308. * 0b1..An error on channel 9 generates an error interrupt request
  25309. */
  25310. #define DMA_EEI_EEI9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI9_SHIFT)) & DMA_EEI_EEI9_MASK)
  25311. #define DMA_EEI_EEI10_MASK (0x400U)
  25312. #define DMA_EEI_EEI10_SHIFT (10U)
  25313. /*! EEI10 - Enable Error Interrupt 10
  25314. * 0b0..An error on channel 10 does not generate an error interrupt
  25315. * 0b1..An error on channel 10 generates an error interrupt request
  25316. */
  25317. #define DMA_EEI_EEI10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI10_SHIFT)) & DMA_EEI_EEI10_MASK)
  25318. #define DMA_EEI_EEI11_MASK (0x800U)
  25319. #define DMA_EEI_EEI11_SHIFT (11U)
  25320. /*! EEI11 - Enable Error Interrupt 11
  25321. * 0b0..An error on channel 11 does not generate an error interrupt
  25322. * 0b1..An error on channel 11 generates an error interrupt request
  25323. */
  25324. #define DMA_EEI_EEI11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI11_SHIFT)) & DMA_EEI_EEI11_MASK)
  25325. #define DMA_EEI_EEI12_MASK (0x1000U)
  25326. #define DMA_EEI_EEI12_SHIFT (12U)
  25327. /*! EEI12 - Enable Error Interrupt 12
  25328. * 0b0..An error on channel 12 does not generate an error interrupt
  25329. * 0b1..An error on channel 12 generates an error interrupt request
  25330. */
  25331. #define DMA_EEI_EEI12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI12_SHIFT)) & DMA_EEI_EEI12_MASK)
  25332. #define DMA_EEI_EEI13_MASK (0x2000U)
  25333. #define DMA_EEI_EEI13_SHIFT (13U)
  25334. /*! EEI13 - Enable Error Interrupt 13
  25335. * 0b0..An error on channel 13 does not generate an error interrupt
  25336. * 0b1..An error on channel 13 generates an error interrupt request
  25337. */
  25338. #define DMA_EEI_EEI13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI13_SHIFT)) & DMA_EEI_EEI13_MASK)
  25339. #define DMA_EEI_EEI14_MASK (0x4000U)
  25340. #define DMA_EEI_EEI14_SHIFT (14U)
  25341. /*! EEI14 - Enable Error Interrupt 14
  25342. * 0b0..An error on channel 14 does not generate an error interrupt
  25343. * 0b1..An error on channel 14 generates an error interrupt request
  25344. */
  25345. #define DMA_EEI_EEI14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI14_SHIFT)) & DMA_EEI_EEI14_MASK)
  25346. #define DMA_EEI_EEI15_MASK (0x8000U)
  25347. #define DMA_EEI_EEI15_SHIFT (15U)
  25348. /*! EEI15 - Enable Error Interrupt 15
  25349. * 0b0..An error on channel 15 does not generate an error interrupt
  25350. * 0b1..An error on channel 15 generates an error interrupt request
  25351. */
  25352. #define DMA_EEI_EEI15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI15_SHIFT)) & DMA_EEI_EEI15_MASK)
  25353. #define DMA_EEI_EEI16_MASK (0x10000U)
  25354. #define DMA_EEI_EEI16_SHIFT (16U)
  25355. /*! EEI16 - Enable Error Interrupt 16
  25356. * 0b0..An error on channel 16 does not generate an error interrupt
  25357. * 0b1..An error on channel 16 generates an error interrupt request
  25358. */
  25359. #define DMA_EEI_EEI16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI16_SHIFT)) & DMA_EEI_EEI16_MASK)
  25360. #define DMA_EEI_EEI17_MASK (0x20000U)
  25361. #define DMA_EEI_EEI17_SHIFT (17U)
  25362. /*! EEI17 - Enable Error Interrupt 17
  25363. * 0b0..An error on channel 17 does not generate an error interrupt
  25364. * 0b1..An error on channel 17 generates an error interrupt request
  25365. */
  25366. #define DMA_EEI_EEI17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI17_SHIFT)) & DMA_EEI_EEI17_MASK)
  25367. #define DMA_EEI_EEI18_MASK (0x40000U)
  25368. #define DMA_EEI_EEI18_SHIFT (18U)
  25369. /*! EEI18 - Enable Error Interrupt 18
  25370. * 0b0..An error on channel 18 does not generate an error interrupt
  25371. * 0b1..An error on channel 18 generates an error interrupt request
  25372. */
  25373. #define DMA_EEI_EEI18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI18_SHIFT)) & DMA_EEI_EEI18_MASK)
  25374. #define DMA_EEI_EEI19_MASK (0x80000U)
  25375. #define DMA_EEI_EEI19_SHIFT (19U)
  25376. /*! EEI19 - Enable Error Interrupt 19
  25377. * 0b0..An error on channel 19 does not generate an error interrupt
  25378. * 0b1..An error on channel 19 generates an error interrupt request
  25379. */
  25380. #define DMA_EEI_EEI19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI19_SHIFT)) & DMA_EEI_EEI19_MASK)
  25381. #define DMA_EEI_EEI20_MASK (0x100000U)
  25382. #define DMA_EEI_EEI20_SHIFT (20U)
  25383. /*! EEI20 - Enable Error Interrupt 20
  25384. * 0b0..An error on channel 20 does not generate an error interrupt
  25385. * 0b1..An error on channel 20 generates an error interrupt request
  25386. */
  25387. #define DMA_EEI_EEI20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI20_SHIFT)) & DMA_EEI_EEI20_MASK)
  25388. #define DMA_EEI_EEI21_MASK (0x200000U)
  25389. #define DMA_EEI_EEI21_SHIFT (21U)
  25390. /*! EEI21 - Enable Error Interrupt 21
  25391. * 0b0..An error on channel 21 does not generate an error interrupt
  25392. * 0b1..An error on channel 21 generates an error interrupt request
  25393. */
  25394. #define DMA_EEI_EEI21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI21_SHIFT)) & DMA_EEI_EEI21_MASK)
  25395. #define DMA_EEI_EEI22_MASK (0x400000U)
  25396. #define DMA_EEI_EEI22_SHIFT (22U)
  25397. /*! EEI22 - Enable Error Interrupt 22
  25398. * 0b0..An error on channel 22 does not generate an error interrupt
  25399. * 0b1..An error on channel 22 generates an error interrupt request
  25400. */
  25401. #define DMA_EEI_EEI22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI22_SHIFT)) & DMA_EEI_EEI22_MASK)
  25402. #define DMA_EEI_EEI23_MASK (0x800000U)
  25403. #define DMA_EEI_EEI23_SHIFT (23U)
  25404. /*! EEI23 - Enable Error Interrupt 23
  25405. * 0b0..An error on channel 23 does not generate an error interrupt
  25406. * 0b1..An error on channel 23 generates an error interrupt request
  25407. */
  25408. #define DMA_EEI_EEI23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI23_SHIFT)) & DMA_EEI_EEI23_MASK)
  25409. #define DMA_EEI_EEI24_MASK (0x1000000U)
  25410. #define DMA_EEI_EEI24_SHIFT (24U)
  25411. /*! EEI24 - Enable Error Interrupt 24
  25412. * 0b0..An error on channel 24 does not generate an error interrupt
  25413. * 0b1..An error on channel 24 generates an error interrupt request
  25414. */
  25415. #define DMA_EEI_EEI24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI24_SHIFT)) & DMA_EEI_EEI24_MASK)
  25416. #define DMA_EEI_EEI25_MASK (0x2000000U)
  25417. #define DMA_EEI_EEI25_SHIFT (25U)
  25418. /*! EEI25 - Enable Error Interrupt 25
  25419. * 0b0..An error on channel 25 does not generate an error interrupt
  25420. * 0b1..An error on channel 25 generates an error interrupt request
  25421. */
  25422. #define DMA_EEI_EEI25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI25_SHIFT)) & DMA_EEI_EEI25_MASK)
  25423. #define DMA_EEI_EEI26_MASK (0x4000000U)
  25424. #define DMA_EEI_EEI26_SHIFT (26U)
  25425. /*! EEI26 - Enable Error Interrupt 26
  25426. * 0b0..An error on channel 26 does not generate an error interrupt
  25427. * 0b1..An error on channel 26 generates an error interrupt request
  25428. */
  25429. #define DMA_EEI_EEI26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI26_SHIFT)) & DMA_EEI_EEI26_MASK)
  25430. #define DMA_EEI_EEI27_MASK (0x8000000U)
  25431. #define DMA_EEI_EEI27_SHIFT (27U)
  25432. /*! EEI27 - Enable Error Interrupt 27
  25433. * 0b0..An error on channel 27 does not generate an error interrupt
  25434. * 0b1..An error on channel 27 generates an error interrupt request
  25435. */
  25436. #define DMA_EEI_EEI27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI27_SHIFT)) & DMA_EEI_EEI27_MASK)
  25437. #define DMA_EEI_EEI28_MASK (0x10000000U)
  25438. #define DMA_EEI_EEI28_SHIFT (28U)
  25439. /*! EEI28 - Enable Error Interrupt 28
  25440. * 0b0..An error on channel 28 does not generate an error interrupt
  25441. * 0b1..An error on channel 28 generates an error interrupt request
  25442. */
  25443. #define DMA_EEI_EEI28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI28_SHIFT)) & DMA_EEI_EEI28_MASK)
  25444. #define DMA_EEI_EEI29_MASK (0x20000000U)
  25445. #define DMA_EEI_EEI29_SHIFT (29U)
  25446. /*! EEI29 - Enable Error Interrupt 29
  25447. * 0b0..An error on channel 29 does not generate an error interrupt
  25448. * 0b1..An error on channel 29 generates an error interrupt request
  25449. */
  25450. #define DMA_EEI_EEI29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI29_SHIFT)) & DMA_EEI_EEI29_MASK)
  25451. #define DMA_EEI_EEI30_MASK (0x40000000U)
  25452. #define DMA_EEI_EEI30_SHIFT (30U)
  25453. /*! EEI30 - Enable Error Interrupt 30
  25454. * 0b0..An error on channel 30 does not generate an error interrupt
  25455. * 0b1..An error on channel 30 generates an error interrupt request
  25456. */
  25457. #define DMA_EEI_EEI30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI30_SHIFT)) & DMA_EEI_EEI30_MASK)
  25458. #define DMA_EEI_EEI31_MASK (0x80000000U)
  25459. #define DMA_EEI_EEI31_SHIFT (31U)
  25460. /*! EEI31 - Enable Error Interrupt 31
  25461. * 0b0..An error on channel 31 does not generate an error interrupt
  25462. * 0b1..An error on channel 31 generates an error interrupt request
  25463. */
  25464. #define DMA_EEI_EEI31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI31_SHIFT)) & DMA_EEI_EEI31_MASK)
  25465. /*! @} */
  25466. /*! @name CEEI - Clear Enable Error Interrupt */
  25467. /*! @{ */
  25468. #define DMA_CEEI_CEEI_MASK (0x1FU)
  25469. #define DMA_CEEI_CEEI_SHIFT (0U)
  25470. /*! CEEI - Clear Enable Error Interrupt
  25471. */
  25472. #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK)
  25473. #define DMA_CEEI_CAEE_MASK (0x40U)
  25474. #define DMA_CEEI_CAEE_SHIFT (6U)
  25475. /*! CAEE - Clear All Enable Error Interrupts
  25476. * 0b0..Write 0 only to the EEI field specified in the CEEI field
  25477. * 0b1..Write 0 to all fields in EEI
  25478. */
  25479. #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK)
  25480. #define DMA_CEEI_NOP_MASK (0x80U)
  25481. #define DMA_CEEI_NOP_SHIFT (7U)
  25482. /*! NOP - No Op Enable
  25483. * 0b0..Normal operation
  25484. * 0b1..No operation, ignore the other fields in this register
  25485. */
  25486. #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK)
  25487. /*! @} */
  25488. /*! @name SEEI - Set Enable Error Interrupt */
  25489. /*! @{ */
  25490. #define DMA_SEEI_SEEI_MASK (0x1FU)
  25491. #define DMA_SEEI_SEEI_SHIFT (0U)
  25492. /*! SEEI - Set Enable Error Interrupt
  25493. */
  25494. #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK)
  25495. #define DMA_SEEI_SAEE_MASK (0x40U)
  25496. #define DMA_SEEI_SAEE_SHIFT (6U)
  25497. /*! SAEE - Set All Enable Error Interrupts
  25498. * 0b0..Write 1 only to the EEI field specified in the SEEI field
  25499. * 0b1..Writes 1 to all fields in EEI
  25500. */
  25501. #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK)
  25502. #define DMA_SEEI_NOP_MASK (0x80U)
  25503. #define DMA_SEEI_NOP_SHIFT (7U)
  25504. /*! NOP - No Op Enable
  25505. * 0b0..Normal operation
  25506. * 0b1..No operation, ignore the other fields in this register
  25507. */
  25508. #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK)
  25509. /*! @} */
  25510. /*! @name CERQ - Clear Enable Request */
  25511. /*! @{ */
  25512. #define DMA_CERQ_CERQ_MASK (0x1FU)
  25513. #define DMA_CERQ_CERQ_SHIFT (0U)
  25514. /*! CERQ - Clear Enable Request
  25515. */
  25516. #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK)
  25517. #define DMA_CERQ_CAER_MASK (0x40U)
  25518. #define DMA_CERQ_CAER_SHIFT (6U)
  25519. /*! CAER - Clear All Enable Requests
  25520. * 0b0..Write 0 to only the ERQ field specified in the CERQ field
  25521. * 0b1..Write 0 to all fields in ERQ
  25522. */
  25523. #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK)
  25524. #define DMA_CERQ_NOP_MASK (0x80U)
  25525. #define DMA_CERQ_NOP_SHIFT (7U)
  25526. /*! NOP - No Op Enable
  25527. * 0b0..Normal operation
  25528. * 0b1..No operation, ignore the other fields in this register
  25529. */
  25530. #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK)
  25531. /*! @} */
  25532. /*! @name SERQ - Set Enable Request */
  25533. /*! @{ */
  25534. #define DMA_SERQ_SERQ_MASK (0x1FU)
  25535. #define DMA_SERQ_SERQ_SHIFT (0U)
  25536. /*! SERQ - Set Enable Request
  25537. */
  25538. #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK)
  25539. #define DMA_SERQ_SAER_MASK (0x40U)
  25540. #define DMA_SERQ_SAER_SHIFT (6U)
  25541. /*! SAER - Set All Enable Requests
  25542. * 0b0..Write 1 to only the ERQ field specified in the SERQ field
  25543. * 0b1..Write 1 to all fields in ERQ
  25544. */
  25545. #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK)
  25546. #define DMA_SERQ_NOP_MASK (0x80U)
  25547. #define DMA_SERQ_NOP_SHIFT (7U)
  25548. /*! NOP - No Op Enable
  25549. * 0b0..Normal operation
  25550. * 0b1..No operation, ignore the other fields in this register
  25551. */
  25552. #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK)
  25553. /*! @} */
  25554. /*! @name CDNE - Clear DONE Status Bit */
  25555. /*! @{ */
  25556. #define DMA_CDNE_CDNE_MASK (0x1FU)
  25557. #define DMA_CDNE_CDNE_SHIFT (0U)
  25558. /*! CDNE - Clear DONE field
  25559. */
  25560. #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK)
  25561. #define DMA_CDNE_CADN_MASK (0x40U)
  25562. #define DMA_CDNE_CADN_SHIFT (6U)
  25563. /*! CADN - Clears All DONE fields
  25564. * 0b0..Writes 0 to only the TCDn_CSR[DONE] field specified in the CDNE field
  25565. * 0b1..Writes 0 to all bits in TCDn_CSR[DONE]
  25566. */
  25567. #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK)
  25568. #define DMA_CDNE_NOP_MASK (0x80U)
  25569. #define DMA_CDNE_NOP_SHIFT (7U)
  25570. /*! NOP - No Op Enable
  25571. * 0b0..Normal operation
  25572. * 0b1..No operation; all other fields in this register are ignored.
  25573. */
  25574. #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK)
  25575. /*! @} */
  25576. /*! @name SSRT - Set START Bit */
  25577. /*! @{ */
  25578. #define DMA_SSRT_SSRT_MASK (0x1FU)
  25579. #define DMA_SSRT_SSRT_SHIFT (0U)
  25580. /*! SSRT - Set START field
  25581. */
  25582. #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK)
  25583. #define DMA_SSRT_SAST_MASK (0x40U)
  25584. #define DMA_SSRT_SAST_SHIFT (6U)
  25585. /*! SAST - Set All START fields (activates all channels)
  25586. * 0b0..Write 1 to only the TCDn_CSR[START] field specified in the SSRT field
  25587. * 0b1..Write 1 to all bits in TCDn_CSR[START]
  25588. */
  25589. #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK)
  25590. #define DMA_SSRT_NOP_MASK (0x80U)
  25591. #define DMA_SSRT_NOP_SHIFT (7U)
  25592. /*! NOP - No Op Enable
  25593. * 0b0..Normal operation
  25594. * 0b1..No operation; all other fields in this register are ignored.
  25595. */
  25596. #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK)
  25597. /*! @} */
  25598. /*! @name CERR - Clear Error */
  25599. /*! @{ */
  25600. #define DMA_CERR_CERR_MASK (0x1FU)
  25601. #define DMA_CERR_CERR_SHIFT (0U)
  25602. /*! CERR - Clear Error Indicator
  25603. */
  25604. #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK)
  25605. #define DMA_CERR_CAEI_MASK (0x40U)
  25606. #define DMA_CERR_CAEI_SHIFT (6U)
  25607. /*! CAEI - Clear All Error Indicators
  25608. * 0b0..Write 0 to only the ERR field specified in the CERR field
  25609. * 0b1..Write 0 to all fields in ERR
  25610. */
  25611. #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK)
  25612. #define DMA_CERR_NOP_MASK (0x80U)
  25613. #define DMA_CERR_NOP_SHIFT (7U)
  25614. /*! NOP - No Op Enable
  25615. * 0b0..Normal operation
  25616. * 0b1..No operation; all other fields in this register are ignored.
  25617. */
  25618. #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK)
  25619. /*! @} */
  25620. /*! @name CINT - Clear Interrupt Request */
  25621. /*! @{ */
  25622. #define DMA_CINT_CINT_MASK (0x1FU)
  25623. #define DMA_CINT_CINT_SHIFT (0U)
  25624. /*! CINT - Clear Interrupt Request
  25625. */
  25626. #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK)
  25627. #define DMA_CINT_CAIR_MASK (0x40U)
  25628. #define DMA_CINT_CAIR_SHIFT (6U)
  25629. /*! CAIR - Clear All Interrupt Requests
  25630. * 0b0..Clear only the INT field specified in the CINT field
  25631. * 0b1..Clear all bits in INT
  25632. */
  25633. #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK)
  25634. #define DMA_CINT_NOP_MASK (0x80U)
  25635. #define DMA_CINT_NOP_SHIFT (7U)
  25636. /*! NOP - No Op Enable
  25637. * 0b0..Normal operation
  25638. * 0b1..No operation; all other fields in this register are ignored.
  25639. */
  25640. #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK)
  25641. /*! @} */
  25642. /*! @name INT - Interrupt Request */
  25643. /*! @{ */
  25644. #define DMA_INT_INT0_MASK (0x1U)
  25645. #define DMA_INT_INT0_SHIFT (0U)
  25646. /*! INT0 - Interrupt Request 0
  25647. * 0b0..The interrupt request for channel 0 is cleared
  25648. * 0b1..The interrupt request for channel 0 is active
  25649. */
  25650. #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK)
  25651. #define DMA_INT_INT1_MASK (0x2U)
  25652. #define DMA_INT_INT1_SHIFT (1U)
  25653. /*! INT1 - Interrupt Request 1
  25654. * 0b0..The interrupt request for channel 1 is cleared
  25655. * 0b1..The interrupt request for channel 1 is active
  25656. */
  25657. #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK)
  25658. #define DMA_INT_INT2_MASK (0x4U)
  25659. #define DMA_INT_INT2_SHIFT (2U)
  25660. /*! INT2 - Interrupt Request 2
  25661. * 0b0..The interrupt request for channel 2 is cleared
  25662. * 0b1..The interrupt request for channel 2 is active
  25663. */
  25664. #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK)
  25665. #define DMA_INT_INT3_MASK (0x8U)
  25666. #define DMA_INT_INT3_SHIFT (3U)
  25667. /*! INT3 - Interrupt Request 3
  25668. * 0b0..The interrupt request for channel 3 is cleared
  25669. * 0b1..The interrupt request for channel 3 is active
  25670. */
  25671. #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK)
  25672. #define DMA_INT_INT4_MASK (0x10U)
  25673. #define DMA_INT_INT4_SHIFT (4U)
  25674. /*! INT4 - Interrupt Request 4
  25675. * 0b0..The interrupt request for channel 4 is cleared
  25676. * 0b1..The interrupt request for channel 4 is active
  25677. */
  25678. #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK)
  25679. #define DMA_INT_INT5_MASK (0x20U)
  25680. #define DMA_INT_INT5_SHIFT (5U)
  25681. /*! INT5 - Interrupt Request 5
  25682. * 0b0..The interrupt request for channel 5 is cleared
  25683. * 0b1..The interrupt request for channel 5 is active
  25684. */
  25685. #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK)
  25686. #define DMA_INT_INT6_MASK (0x40U)
  25687. #define DMA_INT_INT6_SHIFT (6U)
  25688. /*! INT6 - Interrupt Request 6
  25689. * 0b0..The interrupt request for channel 6 is cleared
  25690. * 0b1..The interrupt request for channel 6 is active
  25691. */
  25692. #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK)
  25693. #define DMA_INT_INT7_MASK (0x80U)
  25694. #define DMA_INT_INT7_SHIFT (7U)
  25695. /*! INT7 - Interrupt Request 7
  25696. * 0b0..The interrupt request for channel 7 is cleared
  25697. * 0b1..The interrupt request for channel 7 is active
  25698. */
  25699. #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK)
  25700. #define DMA_INT_INT8_MASK (0x100U)
  25701. #define DMA_INT_INT8_SHIFT (8U)
  25702. /*! INT8 - Interrupt Request 8
  25703. * 0b0..The interrupt request for channel 8 is cleared
  25704. * 0b1..The interrupt request for channel 8 is active
  25705. */
  25706. #define DMA_INT_INT8(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT8_SHIFT)) & DMA_INT_INT8_MASK)
  25707. #define DMA_INT_INT9_MASK (0x200U)
  25708. #define DMA_INT_INT9_SHIFT (9U)
  25709. /*! INT9 - Interrupt Request 9
  25710. * 0b0..The interrupt request for channel 9 is cleared
  25711. * 0b1..The interrupt request for channel 9 is active
  25712. */
  25713. #define DMA_INT_INT9(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT9_SHIFT)) & DMA_INT_INT9_MASK)
  25714. #define DMA_INT_INT10_MASK (0x400U)
  25715. #define DMA_INT_INT10_SHIFT (10U)
  25716. /*! INT10 - Interrupt Request 10
  25717. * 0b0..The interrupt request for channel 10 is cleared
  25718. * 0b1..The interrupt request for channel 10 is active
  25719. */
  25720. #define DMA_INT_INT10(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT10_SHIFT)) & DMA_INT_INT10_MASK)
  25721. #define DMA_INT_INT11_MASK (0x800U)
  25722. #define DMA_INT_INT11_SHIFT (11U)
  25723. /*! INT11 - Interrupt Request 11
  25724. * 0b0..The interrupt request for channel 11 is cleared
  25725. * 0b1..The interrupt request for channel 11 is active
  25726. */
  25727. #define DMA_INT_INT11(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT11_SHIFT)) & DMA_INT_INT11_MASK)
  25728. #define DMA_INT_INT12_MASK (0x1000U)
  25729. #define DMA_INT_INT12_SHIFT (12U)
  25730. /*! INT12 - Interrupt Request 12
  25731. * 0b0..The interrupt request for channel 12 is cleared
  25732. * 0b1..The interrupt request for channel 12 is active
  25733. */
  25734. #define DMA_INT_INT12(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT12_SHIFT)) & DMA_INT_INT12_MASK)
  25735. #define DMA_INT_INT13_MASK (0x2000U)
  25736. #define DMA_INT_INT13_SHIFT (13U)
  25737. /*! INT13 - Interrupt Request 13
  25738. * 0b0..The interrupt request for channel 13 is cleared
  25739. * 0b1..The interrupt request for channel 13 is active
  25740. */
  25741. #define DMA_INT_INT13(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT13_SHIFT)) & DMA_INT_INT13_MASK)
  25742. #define DMA_INT_INT14_MASK (0x4000U)
  25743. #define DMA_INT_INT14_SHIFT (14U)
  25744. /*! INT14 - Interrupt Request 14
  25745. * 0b0..The interrupt request for channel 14 is cleared
  25746. * 0b1..The interrupt request for channel 14 is active
  25747. */
  25748. #define DMA_INT_INT14(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT14_SHIFT)) & DMA_INT_INT14_MASK)
  25749. #define DMA_INT_INT15_MASK (0x8000U)
  25750. #define DMA_INT_INT15_SHIFT (15U)
  25751. /*! INT15 - Interrupt Request 15
  25752. * 0b0..The interrupt request for channel 15 is cleared
  25753. * 0b1..The interrupt request for channel 15 is active
  25754. */
  25755. #define DMA_INT_INT15(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT15_SHIFT)) & DMA_INT_INT15_MASK)
  25756. #define DMA_INT_INT16_MASK (0x10000U)
  25757. #define DMA_INT_INT16_SHIFT (16U)
  25758. /*! INT16 - Interrupt Request 16
  25759. * 0b0..The interrupt request for channel 16 is cleared
  25760. * 0b1..The interrupt request for channel 16 is active
  25761. */
  25762. #define DMA_INT_INT16(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT16_SHIFT)) & DMA_INT_INT16_MASK)
  25763. #define DMA_INT_INT17_MASK (0x20000U)
  25764. #define DMA_INT_INT17_SHIFT (17U)
  25765. /*! INT17 - Interrupt Request 17
  25766. * 0b0..The interrupt request for channel 17 is cleared
  25767. * 0b1..The interrupt request for channel 17 is active
  25768. */
  25769. #define DMA_INT_INT17(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT17_SHIFT)) & DMA_INT_INT17_MASK)
  25770. #define DMA_INT_INT18_MASK (0x40000U)
  25771. #define DMA_INT_INT18_SHIFT (18U)
  25772. /*! INT18 - Interrupt Request 18
  25773. * 0b0..The interrupt request for channel 18 is cleared
  25774. * 0b1..The interrupt request for channel 18 is active
  25775. */
  25776. #define DMA_INT_INT18(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT18_SHIFT)) & DMA_INT_INT18_MASK)
  25777. #define DMA_INT_INT19_MASK (0x80000U)
  25778. #define DMA_INT_INT19_SHIFT (19U)
  25779. /*! INT19 - Interrupt Request 19
  25780. * 0b0..The interrupt request for channel 19 is cleared
  25781. * 0b1..The interrupt request for channel 19 is active
  25782. */
  25783. #define DMA_INT_INT19(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT19_SHIFT)) & DMA_INT_INT19_MASK)
  25784. #define DMA_INT_INT20_MASK (0x100000U)
  25785. #define DMA_INT_INT20_SHIFT (20U)
  25786. /*! INT20 - Interrupt Request 20
  25787. * 0b0..The interrupt request for channel 20 is cleared
  25788. * 0b1..The interrupt request for channel 20 is active
  25789. */
  25790. #define DMA_INT_INT20(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT20_SHIFT)) & DMA_INT_INT20_MASK)
  25791. #define DMA_INT_INT21_MASK (0x200000U)
  25792. #define DMA_INT_INT21_SHIFT (21U)
  25793. /*! INT21 - Interrupt Request 21
  25794. * 0b0..The interrupt request for channel 21 is cleared
  25795. * 0b1..The interrupt request for channel 21 is active
  25796. */
  25797. #define DMA_INT_INT21(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT21_SHIFT)) & DMA_INT_INT21_MASK)
  25798. #define DMA_INT_INT22_MASK (0x400000U)
  25799. #define DMA_INT_INT22_SHIFT (22U)
  25800. /*! INT22 - Interrupt Request 22
  25801. * 0b0..The interrupt request for channel 22 is cleared
  25802. * 0b1..The interrupt request for channel 22 is active
  25803. */
  25804. #define DMA_INT_INT22(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT22_SHIFT)) & DMA_INT_INT22_MASK)
  25805. #define DMA_INT_INT23_MASK (0x800000U)
  25806. #define DMA_INT_INT23_SHIFT (23U)
  25807. /*! INT23 - Interrupt Request 23
  25808. * 0b0..The interrupt request for channel 23 is cleared
  25809. * 0b1..The interrupt request for channel 23 is active
  25810. */
  25811. #define DMA_INT_INT23(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT23_SHIFT)) & DMA_INT_INT23_MASK)
  25812. #define DMA_INT_INT24_MASK (0x1000000U)
  25813. #define DMA_INT_INT24_SHIFT (24U)
  25814. /*! INT24 - Interrupt Request 24
  25815. * 0b0..The interrupt request for channel 24 is cleared
  25816. * 0b1..The interrupt request for channel 24 is active
  25817. */
  25818. #define DMA_INT_INT24(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT24_SHIFT)) & DMA_INT_INT24_MASK)
  25819. #define DMA_INT_INT25_MASK (0x2000000U)
  25820. #define DMA_INT_INT25_SHIFT (25U)
  25821. /*! INT25 - Interrupt Request 25
  25822. * 0b0..The interrupt request for channel 25 is cleared
  25823. * 0b1..The interrupt request for channel 25 is active
  25824. */
  25825. #define DMA_INT_INT25(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT25_SHIFT)) & DMA_INT_INT25_MASK)
  25826. #define DMA_INT_INT26_MASK (0x4000000U)
  25827. #define DMA_INT_INT26_SHIFT (26U)
  25828. /*! INT26 - Interrupt Request 26
  25829. * 0b0..The interrupt request for channel 26 is cleared
  25830. * 0b1..The interrupt request for channel 26 is active
  25831. */
  25832. #define DMA_INT_INT26(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT26_SHIFT)) & DMA_INT_INT26_MASK)
  25833. #define DMA_INT_INT27_MASK (0x8000000U)
  25834. #define DMA_INT_INT27_SHIFT (27U)
  25835. /*! INT27 - Interrupt Request 27
  25836. * 0b0..The interrupt request for channel 27 is cleared
  25837. * 0b1..The interrupt request for channel 27 is active
  25838. */
  25839. #define DMA_INT_INT27(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT27_SHIFT)) & DMA_INT_INT27_MASK)
  25840. #define DMA_INT_INT28_MASK (0x10000000U)
  25841. #define DMA_INT_INT28_SHIFT (28U)
  25842. /*! INT28 - Interrupt Request 28
  25843. * 0b0..The interrupt request for channel 28 is cleared
  25844. * 0b1..The interrupt request for channel 28 is active
  25845. */
  25846. #define DMA_INT_INT28(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT28_SHIFT)) & DMA_INT_INT28_MASK)
  25847. #define DMA_INT_INT29_MASK (0x20000000U)
  25848. #define DMA_INT_INT29_SHIFT (29U)
  25849. /*! INT29 - Interrupt Request 29
  25850. * 0b0..The interrupt request for channel 29 is cleared
  25851. * 0b1..The interrupt request for channel 29 is active
  25852. */
  25853. #define DMA_INT_INT29(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT29_SHIFT)) & DMA_INT_INT29_MASK)
  25854. #define DMA_INT_INT30_MASK (0x40000000U)
  25855. #define DMA_INT_INT30_SHIFT (30U)
  25856. /*! INT30 - Interrupt Request 30
  25857. * 0b0..The interrupt request for channel 30 is cleared
  25858. * 0b1..The interrupt request for channel 30 is active
  25859. */
  25860. #define DMA_INT_INT30(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT30_SHIFT)) & DMA_INT_INT30_MASK)
  25861. #define DMA_INT_INT31_MASK (0x80000000U)
  25862. #define DMA_INT_INT31_SHIFT (31U)
  25863. /*! INT31 - Interrupt Request 31
  25864. * 0b0..The interrupt request for channel 31 is cleared
  25865. * 0b1..The interrupt request for channel 31 is active
  25866. */
  25867. #define DMA_INT_INT31(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT31_SHIFT)) & DMA_INT_INT31_MASK)
  25868. /*! @} */
  25869. /*! @name ERR - Error */
  25870. /*! @{ */
  25871. #define DMA_ERR_ERR0_MASK (0x1U)
  25872. #define DMA_ERR_ERR0_SHIFT (0U)
  25873. /*! ERR0 - Error In Channel 0
  25874. * 0b0..No error in this channel has occurred
  25875. * 0b1..An error in this channel has occurred
  25876. */
  25877. #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK)
  25878. #define DMA_ERR_ERR1_MASK (0x2U)
  25879. #define DMA_ERR_ERR1_SHIFT (1U)
  25880. /*! ERR1 - Error In Channel 1
  25881. * 0b0..No error in this channel has occurred
  25882. * 0b1..An error in this channel has occurred
  25883. */
  25884. #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK)
  25885. #define DMA_ERR_ERR2_MASK (0x4U)
  25886. #define DMA_ERR_ERR2_SHIFT (2U)
  25887. /*! ERR2 - Error In Channel 2
  25888. * 0b0..No error in this channel has occurred
  25889. * 0b1..An error in this channel has occurred
  25890. */
  25891. #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK)
  25892. #define DMA_ERR_ERR3_MASK (0x8U)
  25893. #define DMA_ERR_ERR3_SHIFT (3U)
  25894. /*! ERR3 - Error In Channel 3
  25895. * 0b0..No error in this channel has occurred
  25896. * 0b1..An error in this channel has occurred
  25897. */
  25898. #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK)
  25899. #define DMA_ERR_ERR4_MASK (0x10U)
  25900. #define DMA_ERR_ERR4_SHIFT (4U)
  25901. /*! ERR4 - Error In Channel 4
  25902. * 0b0..No error in this channel has occurred
  25903. * 0b1..An error in this channel has occurred
  25904. */
  25905. #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK)
  25906. #define DMA_ERR_ERR5_MASK (0x20U)
  25907. #define DMA_ERR_ERR5_SHIFT (5U)
  25908. /*! ERR5 - Error In Channel 5
  25909. * 0b0..No error in this channel has occurred
  25910. * 0b1..An error in this channel has occurred
  25911. */
  25912. #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK)
  25913. #define DMA_ERR_ERR6_MASK (0x40U)
  25914. #define DMA_ERR_ERR6_SHIFT (6U)
  25915. /*! ERR6 - Error In Channel 6
  25916. * 0b0..No error in this channel has occurred
  25917. * 0b1..An error in this channel has occurred
  25918. */
  25919. #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK)
  25920. #define DMA_ERR_ERR7_MASK (0x80U)
  25921. #define DMA_ERR_ERR7_SHIFT (7U)
  25922. /*! ERR7 - Error In Channel 7
  25923. * 0b0..No error in this channel has occurred
  25924. * 0b1..An error in this channel has occurred
  25925. */
  25926. #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK)
  25927. #define DMA_ERR_ERR8_MASK (0x100U)
  25928. #define DMA_ERR_ERR8_SHIFT (8U)
  25929. /*! ERR8 - Error In Channel 8
  25930. * 0b0..No error in this channel has occurred
  25931. * 0b1..An error in this channel has occurred
  25932. */
  25933. #define DMA_ERR_ERR8(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR8_SHIFT)) & DMA_ERR_ERR8_MASK)
  25934. #define DMA_ERR_ERR9_MASK (0x200U)
  25935. #define DMA_ERR_ERR9_SHIFT (9U)
  25936. /*! ERR9 - Error In Channel 9
  25937. * 0b0..No error in this channel has occurred
  25938. * 0b1..An error in this channel has occurred
  25939. */
  25940. #define DMA_ERR_ERR9(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR9_SHIFT)) & DMA_ERR_ERR9_MASK)
  25941. #define DMA_ERR_ERR10_MASK (0x400U)
  25942. #define DMA_ERR_ERR10_SHIFT (10U)
  25943. /*! ERR10 - Error In Channel 10
  25944. * 0b0..No error in this channel has occurred
  25945. * 0b1..An error in this channel has occurred
  25946. */
  25947. #define DMA_ERR_ERR10(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR10_SHIFT)) & DMA_ERR_ERR10_MASK)
  25948. #define DMA_ERR_ERR11_MASK (0x800U)
  25949. #define DMA_ERR_ERR11_SHIFT (11U)
  25950. /*! ERR11 - Error In Channel 11
  25951. * 0b0..No error in this channel has occurred
  25952. * 0b1..An error in this channel has occurred
  25953. */
  25954. #define DMA_ERR_ERR11(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR11_SHIFT)) & DMA_ERR_ERR11_MASK)
  25955. #define DMA_ERR_ERR12_MASK (0x1000U)
  25956. #define DMA_ERR_ERR12_SHIFT (12U)
  25957. /*! ERR12 - Error In Channel 12
  25958. * 0b0..No error in this channel has occurred
  25959. * 0b1..An error in this channel has occurred
  25960. */
  25961. #define DMA_ERR_ERR12(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR12_SHIFT)) & DMA_ERR_ERR12_MASK)
  25962. #define DMA_ERR_ERR13_MASK (0x2000U)
  25963. #define DMA_ERR_ERR13_SHIFT (13U)
  25964. /*! ERR13 - Error In Channel 13
  25965. * 0b0..No error in this channel has occurred
  25966. * 0b1..An error in this channel has occurred
  25967. */
  25968. #define DMA_ERR_ERR13(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR13_SHIFT)) & DMA_ERR_ERR13_MASK)
  25969. #define DMA_ERR_ERR14_MASK (0x4000U)
  25970. #define DMA_ERR_ERR14_SHIFT (14U)
  25971. /*! ERR14 - Error In Channel 14
  25972. * 0b0..No error in this channel has occurred
  25973. * 0b1..An error in this channel has occurred
  25974. */
  25975. #define DMA_ERR_ERR14(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR14_SHIFT)) & DMA_ERR_ERR14_MASK)
  25976. #define DMA_ERR_ERR15_MASK (0x8000U)
  25977. #define DMA_ERR_ERR15_SHIFT (15U)
  25978. /*! ERR15 - Error In Channel 15
  25979. * 0b0..No error in this channel has occurred
  25980. * 0b1..An error in this channel has occurred
  25981. */
  25982. #define DMA_ERR_ERR15(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR15_SHIFT)) & DMA_ERR_ERR15_MASK)
  25983. #define DMA_ERR_ERR16_MASK (0x10000U)
  25984. #define DMA_ERR_ERR16_SHIFT (16U)
  25985. /*! ERR16 - Error In Channel 16
  25986. * 0b0..No error in this channel has occurred
  25987. * 0b1..An error in this channel has occurred
  25988. */
  25989. #define DMA_ERR_ERR16(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR16_SHIFT)) & DMA_ERR_ERR16_MASK)
  25990. #define DMA_ERR_ERR17_MASK (0x20000U)
  25991. #define DMA_ERR_ERR17_SHIFT (17U)
  25992. /*! ERR17 - Error In Channel 17
  25993. * 0b0..No error in this channel has occurred
  25994. * 0b1..An error in this channel has occurred
  25995. */
  25996. #define DMA_ERR_ERR17(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR17_SHIFT)) & DMA_ERR_ERR17_MASK)
  25997. #define DMA_ERR_ERR18_MASK (0x40000U)
  25998. #define DMA_ERR_ERR18_SHIFT (18U)
  25999. /*! ERR18 - Error In Channel 18
  26000. * 0b0..No error in this channel has occurred
  26001. * 0b1..An error in this channel has occurred
  26002. */
  26003. #define DMA_ERR_ERR18(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR18_SHIFT)) & DMA_ERR_ERR18_MASK)
  26004. #define DMA_ERR_ERR19_MASK (0x80000U)
  26005. #define DMA_ERR_ERR19_SHIFT (19U)
  26006. /*! ERR19 - Error In Channel 19
  26007. * 0b0..No error in this channel has occurred
  26008. * 0b1..An error in this channel has occurred
  26009. */
  26010. #define DMA_ERR_ERR19(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR19_SHIFT)) & DMA_ERR_ERR19_MASK)
  26011. #define DMA_ERR_ERR20_MASK (0x100000U)
  26012. #define DMA_ERR_ERR20_SHIFT (20U)
  26013. /*! ERR20 - Error In Channel 20
  26014. * 0b0..No error in this channel has occurred
  26015. * 0b1..An error in this channel has occurred
  26016. */
  26017. #define DMA_ERR_ERR20(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR20_SHIFT)) & DMA_ERR_ERR20_MASK)
  26018. #define DMA_ERR_ERR21_MASK (0x200000U)
  26019. #define DMA_ERR_ERR21_SHIFT (21U)
  26020. /*! ERR21 - Error In Channel 21
  26021. * 0b0..No error in this channel has occurred
  26022. * 0b1..An error in this channel has occurred
  26023. */
  26024. #define DMA_ERR_ERR21(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR21_SHIFT)) & DMA_ERR_ERR21_MASK)
  26025. #define DMA_ERR_ERR22_MASK (0x400000U)
  26026. #define DMA_ERR_ERR22_SHIFT (22U)
  26027. /*! ERR22 - Error In Channel 22
  26028. * 0b0..No error in this channel has occurred
  26029. * 0b1..An error in this channel has occurred
  26030. */
  26031. #define DMA_ERR_ERR22(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR22_SHIFT)) & DMA_ERR_ERR22_MASK)
  26032. #define DMA_ERR_ERR23_MASK (0x800000U)
  26033. #define DMA_ERR_ERR23_SHIFT (23U)
  26034. /*! ERR23 - Error In Channel 23
  26035. * 0b0..No error in this channel has occurred
  26036. * 0b1..An error in this channel has occurred
  26037. */
  26038. #define DMA_ERR_ERR23(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR23_SHIFT)) & DMA_ERR_ERR23_MASK)
  26039. #define DMA_ERR_ERR24_MASK (0x1000000U)
  26040. #define DMA_ERR_ERR24_SHIFT (24U)
  26041. /*! ERR24 - Error In Channel 24
  26042. * 0b0..No error in this channel has occurred
  26043. * 0b1..An error in this channel has occurred
  26044. */
  26045. #define DMA_ERR_ERR24(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR24_SHIFT)) & DMA_ERR_ERR24_MASK)
  26046. #define DMA_ERR_ERR25_MASK (0x2000000U)
  26047. #define DMA_ERR_ERR25_SHIFT (25U)
  26048. /*! ERR25 - Error In Channel 25
  26049. * 0b0..No error in this channel has occurred
  26050. * 0b1..An error in this channel has occurred
  26051. */
  26052. #define DMA_ERR_ERR25(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR25_SHIFT)) & DMA_ERR_ERR25_MASK)
  26053. #define DMA_ERR_ERR26_MASK (0x4000000U)
  26054. #define DMA_ERR_ERR26_SHIFT (26U)
  26055. /*! ERR26 - Error In Channel 26
  26056. * 0b0..No error in this channel has occurred
  26057. * 0b1..An error in this channel has occurred
  26058. */
  26059. #define DMA_ERR_ERR26(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR26_SHIFT)) & DMA_ERR_ERR26_MASK)
  26060. #define DMA_ERR_ERR27_MASK (0x8000000U)
  26061. #define DMA_ERR_ERR27_SHIFT (27U)
  26062. /*! ERR27 - Error In Channel 27
  26063. * 0b0..No error in this channel has occurred
  26064. * 0b1..An error in this channel has occurred
  26065. */
  26066. #define DMA_ERR_ERR27(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR27_SHIFT)) & DMA_ERR_ERR27_MASK)
  26067. #define DMA_ERR_ERR28_MASK (0x10000000U)
  26068. #define DMA_ERR_ERR28_SHIFT (28U)
  26069. /*! ERR28 - Error In Channel 28
  26070. * 0b0..No error in this channel has occurred
  26071. * 0b1..An error in this channel has occurred
  26072. */
  26073. #define DMA_ERR_ERR28(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR28_SHIFT)) & DMA_ERR_ERR28_MASK)
  26074. #define DMA_ERR_ERR29_MASK (0x20000000U)
  26075. #define DMA_ERR_ERR29_SHIFT (29U)
  26076. /*! ERR29 - Error In Channel 29
  26077. * 0b0..No error in this channel has occurred
  26078. * 0b1..An error in this channel has occurred
  26079. */
  26080. #define DMA_ERR_ERR29(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR29_SHIFT)) & DMA_ERR_ERR29_MASK)
  26081. #define DMA_ERR_ERR30_MASK (0x40000000U)
  26082. #define DMA_ERR_ERR30_SHIFT (30U)
  26083. /*! ERR30 - Error In Channel 30
  26084. * 0b0..No error in this channel has occurred
  26085. * 0b1..An error in this channel has occurred
  26086. */
  26087. #define DMA_ERR_ERR30(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR30_SHIFT)) & DMA_ERR_ERR30_MASK)
  26088. #define DMA_ERR_ERR31_MASK (0x80000000U)
  26089. #define DMA_ERR_ERR31_SHIFT (31U)
  26090. /*! ERR31 - Error In Channel 31
  26091. * 0b0..No error in this channel has occurred
  26092. * 0b1..An error in this channel has occurred
  26093. */
  26094. #define DMA_ERR_ERR31(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR31_SHIFT)) & DMA_ERR_ERR31_MASK)
  26095. /*! @} */
  26096. /*! @name HRS - Hardware Request Status */
  26097. /*! @{ */
  26098. #define DMA_HRS_HRS0_MASK (0x1U)
  26099. #define DMA_HRS_HRS0_SHIFT (0U)
  26100. /*! HRS0 - Hardware Request Status Channel 0
  26101. * 0b0..A hardware service request for channel 0 is not present
  26102. * 0b1..A hardware service request for channel 0 is present
  26103. */
  26104. #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK)
  26105. #define DMA_HRS_HRS1_MASK (0x2U)
  26106. #define DMA_HRS_HRS1_SHIFT (1U)
  26107. /*! HRS1 - Hardware Request Status Channel 1
  26108. * 0b0..A hardware service request for channel 1 is not present
  26109. * 0b1..A hardware service request for channel 1 is present
  26110. */
  26111. #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK)
  26112. #define DMA_HRS_HRS2_MASK (0x4U)
  26113. #define DMA_HRS_HRS2_SHIFT (2U)
  26114. /*! HRS2 - Hardware Request Status Channel 2
  26115. * 0b0..A hardware service request for channel 2 is not present
  26116. * 0b1..A hardware service request for channel 2 is present
  26117. */
  26118. #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK)
  26119. #define DMA_HRS_HRS3_MASK (0x8U)
  26120. #define DMA_HRS_HRS3_SHIFT (3U)
  26121. /*! HRS3 - Hardware Request Status Channel 3
  26122. * 0b0..A hardware service request for channel 3 is not present
  26123. * 0b1..A hardware service request for channel 3 is present
  26124. */
  26125. #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK)
  26126. #define DMA_HRS_HRS4_MASK (0x10U)
  26127. #define DMA_HRS_HRS4_SHIFT (4U)
  26128. /*! HRS4 - Hardware Request Status Channel 4
  26129. * 0b0..A hardware service request for channel 4 is not present
  26130. * 0b1..A hardware service request for channel 4 is present
  26131. */
  26132. #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK)
  26133. #define DMA_HRS_HRS5_MASK (0x20U)
  26134. #define DMA_HRS_HRS5_SHIFT (5U)
  26135. /*! HRS5 - Hardware Request Status Channel 5
  26136. * 0b0..A hardware service request for channel 5 is not present
  26137. * 0b1..A hardware service request for channel 5 is present
  26138. */
  26139. #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK)
  26140. #define DMA_HRS_HRS6_MASK (0x40U)
  26141. #define DMA_HRS_HRS6_SHIFT (6U)
  26142. /*! HRS6 - Hardware Request Status Channel 6
  26143. * 0b0..A hardware service request for channel 6 is not present
  26144. * 0b1..A hardware service request for channel 6 is present
  26145. */
  26146. #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK)
  26147. #define DMA_HRS_HRS7_MASK (0x80U)
  26148. #define DMA_HRS_HRS7_SHIFT (7U)
  26149. /*! HRS7 - Hardware Request Status Channel 7
  26150. * 0b0..A hardware service request for channel 7 is not present
  26151. * 0b1..A hardware service request for channel 7 is present
  26152. */
  26153. #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK)
  26154. #define DMA_HRS_HRS8_MASK (0x100U)
  26155. #define DMA_HRS_HRS8_SHIFT (8U)
  26156. /*! HRS8 - Hardware Request Status Channel 8
  26157. * 0b0..A hardware service request for channel 8 is not present
  26158. * 0b1..A hardware service request for channel 8 is present
  26159. */
  26160. #define DMA_HRS_HRS8(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS8_SHIFT)) & DMA_HRS_HRS8_MASK)
  26161. #define DMA_HRS_HRS9_MASK (0x200U)
  26162. #define DMA_HRS_HRS9_SHIFT (9U)
  26163. /*! HRS9 - Hardware Request Status Channel 9
  26164. * 0b0..A hardware service request for channel 9 is not present
  26165. * 0b1..A hardware service request for channel 9 is present
  26166. */
  26167. #define DMA_HRS_HRS9(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS9_SHIFT)) & DMA_HRS_HRS9_MASK)
  26168. #define DMA_HRS_HRS10_MASK (0x400U)
  26169. #define DMA_HRS_HRS10_SHIFT (10U)
  26170. /*! HRS10 - Hardware Request Status Channel 10
  26171. * 0b0..A hardware service request for channel 10 is not present
  26172. * 0b1..A hardware service request for channel 10 is present
  26173. */
  26174. #define DMA_HRS_HRS10(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS10_SHIFT)) & DMA_HRS_HRS10_MASK)
  26175. #define DMA_HRS_HRS11_MASK (0x800U)
  26176. #define DMA_HRS_HRS11_SHIFT (11U)
  26177. /*! HRS11 - Hardware Request Status Channel 11
  26178. * 0b0..A hardware service request for channel 11 is not present
  26179. * 0b1..A hardware service request for channel 11 is present
  26180. */
  26181. #define DMA_HRS_HRS11(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS11_SHIFT)) & DMA_HRS_HRS11_MASK)
  26182. #define DMA_HRS_HRS12_MASK (0x1000U)
  26183. #define DMA_HRS_HRS12_SHIFT (12U)
  26184. /*! HRS12 - Hardware Request Status Channel 12
  26185. * 0b0..A hardware service request for channel 12 is not present
  26186. * 0b1..A hardware service request for channel 12 is present
  26187. */
  26188. #define DMA_HRS_HRS12(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS12_SHIFT)) & DMA_HRS_HRS12_MASK)
  26189. #define DMA_HRS_HRS13_MASK (0x2000U)
  26190. #define DMA_HRS_HRS13_SHIFT (13U)
  26191. /*! HRS13 - Hardware Request Status Channel 13
  26192. * 0b0..A hardware service request for channel 13 is not present
  26193. * 0b1..A hardware service request for channel 13 is present
  26194. */
  26195. #define DMA_HRS_HRS13(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS13_SHIFT)) & DMA_HRS_HRS13_MASK)
  26196. #define DMA_HRS_HRS14_MASK (0x4000U)
  26197. #define DMA_HRS_HRS14_SHIFT (14U)
  26198. /*! HRS14 - Hardware Request Status Channel 14
  26199. * 0b0..A hardware service request for channel 14 is not present
  26200. * 0b1..A hardware service request for channel 14 is present
  26201. */
  26202. #define DMA_HRS_HRS14(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS14_SHIFT)) & DMA_HRS_HRS14_MASK)
  26203. #define DMA_HRS_HRS15_MASK (0x8000U)
  26204. #define DMA_HRS_HRS15_SHIFT (15U)
  26205. /*! HRS15 - Hardware Request Status Channel 15
  26206. * 0b0..A hardware service request for channel 15 is not present
  26207. * 0b1..A hardware service request for channel 15 is present
  26208. */
  26209. #define DMA_HRS_HRS15(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS15_SHIFT)) & DMA_HRS_HRS15_MASK)
  26210. #define DMA_HRS_HRS16_MASK (0x10000U)
  26211. #define DMA_HRS_HRS16_SHIFT (16U)
  26212. /*! HRS16 - Hardware Request Status Channel 16
  26213. * 0b0..A hardware service request for channel 16 is not present
  26214. * 0b1..A hardware service request for channel 16 is present
  26215. */
  26216. #define DMA_HRS_HRS16(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS16_SHIFT)) & DMA_HRS_HRS16_MASK)
  26217. #define DMA_HRS_HRS17_MASK (0x20000U)
  26218. #define DMA_HRS_HRS17_SHIFT (17U)
  26219. /*! HRS17 - Hardware Request Status Channel 17
  26220. * 0b0..A hardware service request for channel 17 is not present
  26221. * 0b1..A hardware service request for channel 17 is present
  26222. */
  26223. #define DMA_HRS_HRS17(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS17_SHIFT)) & DMA_HRS_HRS17_MASK)
  26224. #define DMA_HRS_HRS18_MASK (0x40000U)
  26225. #define DMA_HRS_HRS18_SHIFT (18U)
  26226. /*! HRS18 - Hardware Request Status Channel 18
  26227. * 0b0..A hardware service request for channel 18 is not present
  26228. * 0b1..A hardware service request for channel 18 is present
  26229. */
  26230. #define DMA_HRS_HRS18(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS18_SHIFT)) & DMA_HRS_HRS18_MASK)
  26231. #define DMA_HRS_HRS19_MASK (0x80000U)
  26232. #define DMA_HRS_HRS19_SHIFT (19U)
  26233. /*! HRS19 - Hardware Request Status Channel 19
  26234. * 0b0..A hardware service request for channel 19 is not present
  26235. * 0b1..A hardware service request for channel 19 is present
  26236. */
  26237. #define DMA_HRS_HRS19(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS19_SHIFT)) & DMA_HRS_HRS19_MASK)
  26238. #define DMA_HRS_HRS20_MASK (0x100000U)
  26239. #define DMA_HRS_HRS20_SHIFT (20U)
  26240. /*! HRS20 - Hardware Request Status Channel 20
  26241. * 0b0..A hardware service request for channel 20 is not present
  26242. * 0b1..A hardware service request for channel 20 is present
  26243. */
  26244. #define DMA_HRS_HRS20(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS20_SHIFT)) & DMA_HRS_HRS20_MASK)
  26245. #define DMA_HRS_HRS21_MASK (0x200000U)
  26246. #define DMA_HRS_HRS21_SHIFT (21U)
  26247. /*! HRS21 - Hardware Request Status Channel 21
  26248. * 0b0..A hardware service request for channel 21 is not present
  26249. * 0b1..A hardware service request for channel 21 is present
  26250. */
  26251. #define DMA_HRS_HRS21(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS21_SHIFT)) & DMA_HRS_HRS21_MASK)
  26252. #define DMA_HRS_HRS22_MASK (0x400000U)
  26253. #define DMA_HRS_HRS22_SHIFT (22U)
  26254. /*! HRS22 - Hardware Request Status Channel 22
  26255. * 0b0..A hardware service request for channel 22 is not present
  26256. * 0b1..A hardware service request for channel 22 is present
  26257. */
  26258. #define DMA_HRS_HRS22(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS22_SHIFT)) & DMA_HRS_HRS22_MASK)
  26259. #define DMA_HRS_HRS23_MASK (0x800000U)
  26260. #define DMA_HRS_HRS23_SHIFT (23U)
  26261. /*! HRS23 - Hardware Request Status Channel 23
  26262. * 0b0..A hardware service request for channel 23 is not present
  26263. * 0b1..A hardware service request for channel 23 is present
  26264. */
  26265. #define DMA_HRS_HRS23(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS23_SHIFT)) & DMA_HRS_HRS23_MASK)
  26266. #define DMA_HRS_HRS24_MASK (0x1000000U)
  26267. #define DMA_HRS_HRS24_SHIFT (24U)
  26268. /*! HRS24 - Hardware Request Status Channel 24
  26269. * 0b0..A hardware service request for channel 24 is not present
  26270. * 0b1..A hardware service request for channel 24 is present
  26271. */
  26272. #define DMA_HRS_HRS24(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS24_SHIFT)) & DMA_HRS_HRS24_MASK)
  26273. #define DMA_HRS_HRS25_MASK (0x2000000U)
  26274. #define DMA_HRS_HRS25_SHIFT (25U)
  26275. /*! HRS25 - Hardware Request Status Channel 25
  26276. * 0b0..A hardware service request for channel 25 is not present
  26277. * 0b1..A hardware service request for channel 25 is present
  26278. */
  26279. #define DMA_HRS_HRS25(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS25_SHIFT)) & DMA_HRS_HRS25_MASK)
  26280. #define DMA_HRS_HRS26_MASK (0x4000000U)
  26281. #define DMA_HRS_HRS26_SHIFT (26U)
  26282. /*! HRS26 - Hardware Request Status Channel 26
  26283. * 0b0..A hardware service request for channel 26 is not present
  26284. * 0b1..A hardware service request for channel 26 is present
  26285. */
  26286. #define DMA_HRS_HRS26(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS26_SHIFT)) & DMA_HRS_HRS26_MASK)
  26287. #define DMA_HRS_HRS27_MASK (0x8000000U)
  26288. #define DMA_HRS_HRS27_SHIFT (27U)
  26289. /*! HRS27 - Hardware Request Status Channel 27
  26290. * 0b0..A hardware service request for channel 27 is not present
  26291. * 0b1..A hardware service request for channel 27 is present
  26292. */
  26293. #define DMA_HRS_HRS27(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS27_SHIFT)) & DMA_HRS_HRS27_MASK)
  26294. #define DMA_HRS_HRS28_MASK (0x10000000U)
  26295. #define DMA_HRS_HRS28_SHIFT (28U)
  26296. /*! HRS28 - Hardware Request Status Channel 28
  26297. * 0b0..A hardware service request for channel 28 is not present
  26298. * 0b1..A hardware service request for channel 28 is present
  26299. */
  26300. #define DMA_HRS_HRS28(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS28_SHIFT)) & DMA_HRS_HRS28_MASK)
  26301. #define DMA_HRS_HRS29_MASK (0x20000000U)
  26302. #define DMA_HRS_HRS29_SHIFT (29U)
  26303. /*! HRS29 - Hardware Request Status Channel 29
  26304. * 0b0..A hardware service request for channel 29 is not preset
  26305. * 0b1..A hardware service request for channel 29 is present
  26306. */
  26307. #define DMA_HRS_HRS29(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS29_SHIFT)) & DMA_HRS_HRS29_MASK)
  26308. #define DMA_HRS_HRS30_MASK (0x40000000U)
  26309. #define DMA_HRS_HRS30_SHIFT (30U)
  26310. /*! HRS30 - Hardware Request Status Channel 30
  26311. * 0b0..A hardware service request for channel 30 is not present
  26312. * 0b1..A hardware service request for channel 30 is present
  26313. */
  26314. #define DMA_HRS_HRS30(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS30_SHIFT)) & DMA_HRS_HRS30_MASK)
  26315. #define DMA_HRS_HRS31_MASK (0x80000000U)
  26316. #define DMA_HRS_HRS31_SHIFT (31U)
  26317. /*! HRS31 - Hardware Request Status Channel 31
  26318. * 0b0..A hardware service request for channel 31 is not present
  26319. * 0b1..A hardware service request for channel 31 is present
  26320. */
  26321. #define DMA_HRS_HRS31(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS31_SHIFT)) & DMA_HRS_HRS31_MASK)
  26322. /*! @} */
  26323. /*! @name EARS - Enable Asynchronous Request in Stop */
  26324. /*! @{ */
  26325. #define DMA_EARS_EDREQ_0_MASK (0x1U)
  26326. #define DMA_EARS_EDREQ_0_SHIFT (0U)
  26327. /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0.
  26328. * 0b0..Disable asynchronous DMA request for channel 0
  26329. * 0b1..Enable asynchronous DMA request for channel 0
  26330. */
  26331. #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK)
  26332. #define DMA_EARS_EDREQ_1_MASK (0x2U)
  26333. #define DMA_EARS_EDREQ_1_SHIFT (1U)
  26334. /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1.
  26335. * 0b0..Disable asynchronous DMA request for channel 1
  26336. * 0b1..Enable asynchronous DMA request for channel 1
  26337. */
  26338. #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK)
  26339. #define DMA_EARS_EDREQ_2_MASK (0x4U)
  26340. #define DMA_EARS_EDREQ_2_SHIFT (2U)
  26341. /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2.
  26342. * 0b0..Disable asynchronous DMA request for channel 2
  26343. * 0b1..Enable asynchronous DMA request for channel 2
  26344. */
  26345. #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK)
  26346. #define DMA_EARS_EDREQ_3_MASK (0x8U)
  26347. #define DMA_EARS_EDREQ_3_SHIFT (3U)
  26348. /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3.
  26349. * 0b0..Disable asynchronous DMA request for channel 3
  26350. * 0b1..Enable asynchronous DMA request for channel 3
  26351. */
  26352. #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK)
  26353. #define DMA_EARS_EDREQ_4_MASK (0x10U)
  26354. #define DMA_EARS_EDREQ_4_SHIFT (4U)
  26355. /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4.
  26356. * 0b0..Disable asynchronous DMA request for channel 4
  26357. * 0b1..Enable asynchronous DMA request for channel 4
  26358. */
  26359. #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK)
  26360. #define DMA_EARS_EDREQ_5_MASK (0x20U)
  26361. #define DMA_EARS_EDREQ_5_SHIFT (5U)
  26362. /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5.
  26363. * 0b0..Disable asynchronous DMA request for channel 5
  26364. * 0b1..Enable asynchronous DMA request for channel 5
  26365. */
  26366. #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK)
  26367. #define DMA_EARS_EDREQ_6_MASK (0x40U)
  26368. #define DMA_EARS_EDREQ_6_SHIFT (6U)
  26369. /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6.
  26370. * 0b0..Disable asynchronous DMA request for channel 6
  26371. * 0b1..Enable asynchronous DMA request for channel 6
  26372. */
  26373. #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK)
  26374. #define DMA_EARS_EDREQ_7_MASK (0x80U)
  26375. #define DMA_EARS_EDREQ_7_SHIFT (7U)
  26376. /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7.
  26377. * 0b0..Disable asynchronous DMA request for channel 7
  26378. * 0b1..Enable asynchronous DMA request for channel 7
  26379. */
  26380. #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK)
  26381. #define DMA_EARS_EDREQ_8_MASK (0x100U)
  26382. #define DMA_EARS_EDREQ_8_SHIFT (8U)
  26383. /*! EDREQ_8 - Enable asynchronous DMA request in stop mode for channel 8.
  26384. * 0b0..Disable asynchronous DMA request for channel 8
  26385. * 0b1..Enable asynchronous DMA request for channel 8
  26386. */
  26387. #define DMA_EARS_EDREQ_8(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_8_SHIFT)) & DMA_EARS_EDREQ_8_MASK)
  26388. #define DMA_EARS_EDREQ_9_MASK (0x200U)
  26389. #define DMA_EARS_EDREQ_9_SHIFT (9U)
  26390. /*! EDREQ_9 - Enable asynchronous DMA request in stop mode for channel 9.
  26391. * 0b0..Disable asynchronous DMA request for channel 9
  26392. * 0b1..Enable asynchronous DMA request for channel 9
  26393. */
  26394. #define DMA_EARS_EDREQ_9(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_9_SHIFT)) & DMA_EARS_EDREQ_9_MASK)
  26395. #define DMA_EARS_EDREQ_10_MASK (0x400U)
  26396. #define DMA_EARS_EDREQ_10_SHIFT (10U)
  26397. /*! EDREQ_10 - Enable asynchronous DMA request in stop mode for channel 10.
  26398. * 0b0..Disable asynchronous DMA request for channel 10
  26399. * 0b1..Enable asynchronous DMA request for channel 10
  26400. */
  26401. #define DMA_EARS_EDREQ_10(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_10_SHIFT)) & DMA_EARS_EDREQ_10_MASK)
  26402. #define DMA_EARS_EDREQ_11_MASK (0x800U)
  26403. #define DMA_EARS_EDREQ_11_SHIFT (11U)
  26404. /*! EDREQ_11 - Enable asynchronous DMA request in stop mode for channel 11.
  26405. * 0b0..Disable asynchronous DMA request for channel 11
  26406. * 0b1..Enable asynchronous DMA request for channel 11
  26407. */
  26408. #define DMA_EARS_EDREQ_11(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_11_SHIFT)) & DMA_EARS_EDREQ_11_MASK)
  26409. #define DMA_EARS_EDREQ_12_MASK (0x1000U)
  26410. #define DMA_EARS_EDREQ_12_SHIFT (12U)
  26411. /*! EDREQ_12 - Enable asynchronous DMA request in stop mode for channel 12.
  26412. * 0b0..Disable asynchronous DMA request for channel 12
  26413. * 0b1..Enable asynchronous DMA request for channel 12
  26414. */
  26415. #define DMA_EARS_EDREQ_12(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_12_SHIFT)) & DMA_EARS_EDREQ_12_MASK)
  26416. #define DMA_EARS_EDREQ_13_MASK (0x2000U)
  26417. #define DMA_EARS_EDREQ_13_SHIFT (13U)
  26418. /*! EDREQ_13 - Enable asynchronous DMA request in stop mode for channel 13.
  26419. * 0b0..Disable asynchronous DMA request for channel 13
  26420. * 0b1..Enable asynchronous DMA request for channel 13
  26421. */
  26422. #define DMA_EARS_EDREQ_13(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_13_SHIFT)) & DMA_EARS_EDREQ_13_MASK)
  26423. #define DMA_EARS_EDREQ_14_MASK (0x4000U)
  26424. #define DMA_EARS_EDREQ_14_SHIFT (14U)
  26425. /*! EDREQ_14 - Enable asynchronous DMA request in stop mode for channel 14.
  26426. * 0b0..Disable asynchronous DMA request for channel 14
  26427. * 0b1..Enable asynchronous DMA request for channel 14
  26428. */
  26429. #define DMA_EARS_EDREQ_14(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_14_SHIFT)) & DMA_EARS_EDREQ_14_MASK)
  26430. #define DMA_EARS_EDREQ_15_MASK (0x8000U)
  26431. #define DMA_EARS_EDREQ_15_SHIFT (15U)
  26432. /*! EDREQ_15 - Enable asynchronous DMA request in stop mode for channel 15.
  26433. * 0b0..Disable asynchronous DMA request for channel 15
  26434. * 0b1..Enable asynchronous DMA request for channel 15
  26435. */
  26436. #define DMA_EARS_EDREQ_15(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_15_SHIFT)) & DMA_EARS_EDREQ_15_MASK)
  26437. #define DMA_EARS_EDREQ_16_MASK (0x10000U)
  26438. #define DMA_EARS_EDREQ_16_SHIFT (16U)
  26439. /*! EDREQ_16 - Enable asynchronous DMA request in stop mode for channel 16.
  26440. * 0b0..Disable asynchronous DMA request for channel 16
  26441. * 0b1..Enable asynchronous DMA request for channel 16
  26442. */
  26443. #define DMA_EARS_EDREQ_16(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_16_SHIFT)) & DMA_EARS_EDREQ_16_MASK)
  26444. #define DMA_EARS_EDREQ_17_MASK (0x20000U)
  26445. #define DMA_EARS_EDREQ_17_SHIFT (17U)
  26446. /*! EDREQ_17 - Enable asynchronous DMA request in stop mode for channel 17.
  26447. * 0b0..Disable asynchronous DMA request for channel 17
  26448. * 0b1..Enable asynchronous DMA request for channel 17
  26449. */
  26450. #define DMA_EARS_EDREQ_17(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_17_SHIFT)) & DMA_EARS_EDREQ_17_MASK)
  26451. #define DMA_EARS_EDREQ_18_MASK (0x40000U)
  26452. #define DMA_EARS_EDREQ_18_SHIFT (18U)
  26453. /*! EDREQ_18 - Enable asynchronous DMA request in stop mode for channel 18.
  26454. * 0b0..Disable asynchronous DMA request for channel 18
  26455. * 0b1..Enable asynchronous DMA request for channel 18
  26456. */
  26457. #define DMA_EARS_EDREQ_18(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_18_SHIFT)) & DMA_EARS_EDREQ_18_MASK)
  26458. #define DMA_EARS_EDREQ_19_MASK (0x80000U)
  26459. #define DMA_EARS_EDREQ_19_SHIFT (19U)
  26460. /*! EDREQ_19 - Enable asynchronous DMA request in stop mode for channel 19.
  26461. * 0b0..Disable asynchronous DMA request for channel 19
  26462. * 0b1..Enable asynchronous DMA request for channel 19
  26463. */
  26464. #define DMA_EARS_EDREQ_19(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_19_SHIFT)) & DMA_EARS_EDREQ_19_MASK)
  26465. #define DMA_EARS_EDREQ_20_MASK (0x100000U)
  26466. #define DMA_EARS_EDREQ_20_SHIFT (20U)
  26467. /*! EDREQ_20 - Enable asynchronous DMA request in stop mode for channel 20.
  26468. * 0b0..Disable asynchronous DMA request for channel 20
  26469. * 0b1..Enable asynchronous DMA request for channel 20
  26470. */
  26471. #define DMA_EARS_EDREQ_20(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_20_SHIFT)) & DMA_EARS_EDREQ_20_MASK)
  26472. #define DMA_EARS_EDREQ_21_MASK (0x200000U)
  26473. #define DMA_EARS_EDREQ_21_SHIFT (21U)
  26474. /*! EDREQ_21 - Enable asynchronous DMA request in stop mode for channel 21.
  26475. * 0b0..Disable asynchronous DMA request for channel 21
  26476. * 0b1..Enable asynchronous DMA request for channel 21
  26477. */
  26478. #define DMA_EARS_EDREQ_21(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_21_SHIFT)) & DMA_EARS_EDREQ_21_MASK)
  26479. #define DMA_EARS_EDREQ_22_MASK (0x400000U)
  26480. #define DMA_EARS_EDREQ_22_SHIFT (22U)
  26481. /*! EDREQ_22 - Enable asynchronous DMA request in stop mode for channel 22.
  26482. * 0b0..Disable asynchronous DMA request for channel 22
  26483. * 0b1..Enable asynchronous DMA request for channel 22
  26484. */
  26485. #define DMA_EARS_EDREQ_22(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_22_SHIFT)) & DMA_EARS_EDREQ_22_MASK)
  26486. #define DMA_EARS_EDREQ_23_MASK (0x800000U)
  26487. #define DMA_EARS_EDREQ_23_SHIFT (23U)
  26488. /*! EDREQ_23 - Enable asynchronous DMA request in stop mode for channel 23.
  26489. * 0b0..Disable asynchronous DMA request for channel 23
  26490. * 0b1..Enable asynchronous DMA request for channel 23
  26491. */
  26492. #define DMA_EARS_EDREQ_23(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_23_SHIFT)) & DMA_EARS_EDREQ_23_MASK)
  26493. #define DMA_EARS_EDREQ_24_MASK (0x1000000U)
  26494. #define DMA_EARS_EDREQ_24_SHIFT (24U)
  26495. /*! EDREQ_24 - Enable asynchronous DMA request in stop mode for channel 24.
  26496. * 0b0..Disable asynchronous DMA request for channel 24
  26497. * 0b1..Enable asynchronous DMA request for channel 24
  26498. */
  26499. #define DMA_EARS_EDREQ_24(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_24_SHIFT)) & DMA_EARS_EDREQ_24_MASK)
  26500. #define DMA_EARS_EDREQ_25_MASK (0x2000000U)
  26501. #define DMA_EARS_EDREQ_25_SHIFT (25U)
  26502. /*! EDREQ_25 - Enable asynchronous DMA request in stop mode for channel 25.
  26503. * 0b0..Disable asynchronous DMA request for channel 25
  26504. * 0b1..Enable asynchronous DMA request for channel 25
  26505. */
  26506. #define DMA_EARS_EDREQ_25(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_25_SHIFT)) & DMA_EARS_EDREQ_25_MASK)
  26507. #define DMA_EARS_EDREQ_26_MASK (0x4000000U)
  26508. #define DMA_EARS_EDREQ_26_SHIFT (26U)
  26509. /*! EDREQ_26 - Enable asynchronous DMA request in stop mode for channel 26.
  26510. * 0b0..Disable asynchronous DMA request for channel 26
  26511. * 0b1..Enable asynchronous DMA request for channel 26
  26512. */
  26513. #define DMA_EARS_EDREQ_26(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_26_SHIFT)) & DMA_EARS_EDREQ_26_MASK)
  26514. #define DMA_EARS_EDREQ_27_MASK (0x8000000U)
  26515. #define DMA_EARS_EDREQ_27_SHIFT (27U)
  26516. /*! EDREQ_27 - Enable asynchronous DMA request in stop mode for channel 27.
  26517. * 0b0..Disable asynchronous DMA request for channel 27
  26518. * 0b1..Enable asynchronous DMA request for channel 27
  26519. */
  26520. #define DMA_EARS_EDREQ_27(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_27_SHIFT)) & DMA_EARS_EDREQ_27_MASK)
  26521. #define DMA_EARS_EDREQ_28_MASK (0x10000000U)
  26522. #define DMA_EARS_EDREQ_28_SHIFT (28U)
  26523. /*! EDREQ_28 - Enable asynchronous DMA request in stop mode for channel 28.
  26524. * 0b0..Disable asynchronous DMA request for channel 28
  26525. * 0b1..Enable asynchronous DMA request for channel 28
  26526. */
  26527. #define DMA_EARS_EDREQ_28(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_28_SHIFT)) & DMA_EARS_EDREQ_28_MASK)
  26528. #define DMA_EARS_EDREQ_29_MASK (0x20000000U)
  26529. #define DMA_EARS_EDREQ_29_SHIFT (29U)
  26530. /*! EDREQ_29 - Enable asynchronous DMA request in stop mode for channel 29.
  26531. * 0b0..Disable asynchronous DMA request for channel 29
  26532. * 0b1..Enable asynchronous DMA request for channel 29
  26533. */
  26534. #define DMA_EARS_EDREQ_29(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_29_SHIFT)) & DMA_EARS_EDREQ_29_MASK)
  26535. #define DMA_EARS_EDREQ_30_MASK (0x40000000U)
  26536. #define DMA_EARS_EDREQ_30_SHIFT (30U)
  26537. /*! EDREQ_30 - Enable asynchronous DMA request in stop mode for channel 30.
  26538. * 0b0..Disable asynchronous DMA request for channel 30
  26539. * 0b1..Enable asynchronous DMA request for channel 30
  26540. */
  26541. #define DMA_EARS_EDREQ_30(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_30_SHIFT)) & DMA_EARS_EDREQ_30_MASK)
  26542. #define DMA_EARS_EDREQ_31_MASK (0x80000000U)
  26543. #define DMA_EARS_EDREQ_31_SHIFT (31U)
  26544. /*! EDREQ_31 - Enable asynchronous DMA request in stop mode for channel 31.
  26545. * 0b0..Disable asynchronous DMA request for channel 31
  26546. * 0b1..Enable asynchronous DMA request for channel 31
  26547. */
  26548. #define DMA_EARS_EDREQ_31(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_31_SHIFT)) & DMA_EARS_EDREQ_31_MASK)
  26549. /*! @} */
  26550. /*! @name DCHPRI3 - Channel Priority */
  26551. /*! @{ */
  26552. #define DMA_DCHPRI3_CHPRI_MASK (0xFU)
  26553. #define DMA_DCHPRI3_CHPRI_SHIFT (0U)
  26554. /*! CHPRI - Channel n Arbitration Priority
  26555. */
  26556. #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK)
  26557. #define DMA_DCHPRI3_GRPPRI_MASK (0x30U)
  26558. #define DMA_DCHPRI3_GRPPRI_SHIFT (4U)
  26559. /*! GRPPRI - Channel n Current Group Priority
  26560. */
  26561. #define DMA_DCHPRI3_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_GRPPRI_SHIFT)) & DMA_DCHPRI3_GRPPRI_MASK)
  26562. #define DMA_DCHPRI3_DPA_MASK (0x40U)
  26563. #define DMA_DCHPRI3_DPA_SHIFT (6U)
  26564. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26565. * 0b0..Channel n can suspend a lower priority channel
  26566. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26567. */
  26568. #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK)
  26569. #define DMA_DCHPRI3_ECP_MASK (0x80U)
  26570. #define DMA_DCHPRI3_ECP_SHIFT (7U)
  26571. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26572. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26573. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26574. */
  26575. #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK)
  26576. /*! @} */
  26577. /*! @name DCHPRI2 - Channel Priority */
  26578. /*! @{ */
  26579. #define DMA_DCHPRI2_CHPRI_MASK (0xFU)
  26580. #define DMA_DCHPRI2_CHPRI_SHIFT (0U)
  26581. /*! CHPRI - Channel n Arbitration Priority
  26582. */
  26583. #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK)
  26584. #define DMA_DCHPRI2_GRPPRI_MASK (0x30U)
  26585. #define DMA_DCHPRI2_GRPPRI_SHIFT (4U)
  26586. /*! GRPPRI - Channel n Current Group Priority
  26587. */
  26588. #define DMA_DCHPRI2_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_GRPPRI_SHIFT)) & DMA_DCHPRI2_GRPPRI_MASK)
  26589. #define DMA_DCHPRI2_DPA_MASK (0x40U)
  26590. #define DMA_DCHPRI2_DPA_SHIFT (6U)
  26591. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26592. * 0b0..Channel n can suspend a lower priority channel
  26593. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26594. */
  26595. #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK)
  26596. #define DMA_DCHPRI2_ECP_MASK (0x80U)
  26597. #define DMA_DCHPRI2_ECP_SHIFT (7U)
  26598. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26599. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26600. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26601. */
  26602. #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK)
  26603. /*! @} */
  26604. /*! @name DCHPRI1 - Channel Priority */
  26605. /*! @{ */
  26606. #define DMA_DCHPRI1_CHPRI_MASK (0xFU)
  26607. #define DMA_DCHPRI1_CHPRI_SHIFT (0U)
  26608. /*! CHPRI - Channel n Arbitration Priority
  26609. */
  26610. #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK)
  26611. #define DMA_DCHPRI1_GRPPRI_MASK (0x30U)
  26612. #define DMA_DCHPRI1_GRPPRI_SHIFT (4U)
  26613. /*! GRPPRI - Channel n Current Group Priority
  26614. */
  26615. #define DMA_DCHPRI1_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_GRPPRI_SHIFT)) & DMA_DCHPRI1_GRPPRI_MASK)
  26616. #define DMA_DCHPRI1_DPA_MASK (0x40U)
  26617. #define DMA_DCHPRI1_DPA_SHIFT (6U)
  26618. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26619. * 0b0..Channel n can suspend a lower priority channel
  26620. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26621. */
  26622. #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK)
  26623. #define DMA_DCHPRI1_ECP_MASK (0x80U)
  26624. #define DMA_DCHPRI1_ECP_SHIFT (7U)
  26625. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26626. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26627. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26628. */
  26629. #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK)
  26630. /*! @} */
  26631. /*! @name DCHPRI0 - Channel Priority */
  26632. /*! @{ */
  26633. #define DMA_DCHPRI0_CHPRI_MASK (0xFU)
  26634. #define DMA_DCHPRI0_CHPRI_SHIFT (0U)
  26635. /*! CHPRI - Channel n Arbitration Priority
  26636. */
  26637. #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK)
  26638. #define DMA_DCHPRI0_GRPPRI_MASK (0x30U)
  26639. #define DMA_DCHPRI0_GRPPRI_SHIFT (4U)
  26640. /*! GRPPRI - Channel n Current Group Priority
  26641. */
  26642. #define DMA_DCHPRI0_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_GRPPRI_SHIFT)) & DMA_DCHPRI0_GRPPRI_MASK)
  26643. #define DMA_DCHPRI0_DPA_MASK (0x40U)
  26644. #define DMA_DCHPRI0_DPA_SHIFT (6U)
  26645. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26646. * 0b0..Channel n can suspend a lower priority channel
  26647. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26648. */
  26649. #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK)
  26650. #define DMA_DCHPRI0_ECP_MASK (0x80U)
  26651. #define DMA_DCHPRI0_ECP_SHIFT (7U)
  26652. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26653. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26654. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26655. */
  26656. #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK)
  26657. /*! @} */
  26658. /*! @name DCHPRI7 - Channel Priority */
  26659. /*! @{ */
  26660. #define DMA_DCHPRI7_CHPRI_MASK (0xFU)
  26661. #define DMA_DCHPRI7_CHPRI_SHIFT (0U)
  26662. /*! CHPRI - Channel n Arbitration Priority
  26663. */
  26664. #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK)
  26665. #define DMA_DCHPRI7_GRPPRI_MASK (0x30U)
  26666. #define DMA_DCHPRI7_GRPPRI_SHIFT (4U)
  26667. /*! GRPPRI - Channel n Current Group Priority
  26668. */
  26669. #define DMA_DCHPRI7_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_GRPPRI_SHIFT)) & DMA_DCHPRI7_GRPPRI_MASK)
  26670. #define DMA_DCHPRI7_DPA_MASK (0x40U)
  26671. #define DMA_DCHPRI7_DPA_SHIFT (6U)
  26672. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26673. * 0b0..Channel n can suspend a lower priority channel
  26674. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26675. */
  26676. #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK)
  26677. #define DMA_DCHPRI7_ECP_MASK (0x80U)
  26678. #define DMA_DCHPRI7_ECP_SHIFT (7U)
  26679. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26680. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26681. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26682. */
  26683. #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK)
  26684. /*! @} */
  26685. /*! @name DCHPRI6 - Channel Priority */
  26686. /*! @{ */
  26687. #define DMA_DCHPRI6_CHPRI_MASK (0xFU)
  26688. #define DMA_DCHPRI6_CHPRI_SHIFT (0U)
  26689. /*! CHPRI - Channel n Arbitration Priority
  26690. */
  26691. #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK)
  26692. #define DMA_DCHPRI6_GRPPRI_MASK (0x30U)
  26693. #define DMA_DCHPRI6_GRPPRI_SHIFT (4U)
  26694. /*! GRPPRI - Channel n Current Group Priority
  26695. */
  26696. #define DMA_DCHPRI6_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_GRPPRI_SHIFT)) & DMA_DCHPRI6_GRPPRI_MASK)
  26697. #define DMA_DCHPRI6_DPA_MASK (0x40U)
  26698. #define DMA_DCHPRI6_DPA_SHIFT (6U)
  26699. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26700. * 0b0..Channel n can suspend a lower priority channel
  26701. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26702. */
  26703. #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK)
  26704. #define DMA_DCHPRI6_ECP_MASK (0x80U)
  26705. #define DMA_DCHPRI6_ECP_SHIFT (7U)
  26706. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26707. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26708. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26709. */
  26710. #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK)
  26711. /*! @} */
  26712. /*! @name DCHPRI5 - Channel Priority */
  26713. /*! @{ */
  26714. #define DMA_DCHPRI5_CHPRI_MASK (0xFU)
  26715. #define DMA_DCHPRI5_CHPRI_SHIFT (0U)
  26716. /*! CHPRI - Channel n Arbitration Priority
  26717. */
  26718. #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK)
  26719. #define DMA_DCHPRI5_GRPPRI_MASK (0x30U)
  26720. #define DMA_DCHPRI5_GRPPRI_SHIFT (4U)
  26721. /*! GRPPRI - Channel n Current Group Priority
  26722. */
  26723. #define DMA_DCHPRI5_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_GRPPRI_SHIFT)) & DMA_DCHPRI5_GRPPRI_MASK)
  26724. #define DMA_DCHPRI5_DPA_MASK (0x40U)
  26725. #define DMA_DCHPRI5_DPA_SHIFT (6U)
  26726. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26727. * 0b0..Channel n can suspend a lower priority channel
  26728. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26729. */
  26730. #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK)
  26731. #define DMA_DCHPRI5_ECP_MASK (0x80U)
  26732. #define DMA_DCHPRI5_ECP_SHIFT (7U)
  26733. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26734. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26735. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26736. */
  26737. #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK)
  26738. /*! @} */
  26739. /*! @name DCHPRI4 - Channel Priority */
  26740. /*! @{ */
  26741. #define DMA_DCHPRI4_CHPRI_MASK (0xFU)
  26742. #define DMA_DCHPRI4_CHPRI_SHIFT (0U)
  26743. /*! CHPRI - Channel n Arbitration Priority
  26744. */
  26745. #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK)
  26746. #define DMA_DCHPRI4_GRPPRI_MASK (0x30U)
  26747. #define DMA_DCHPRI4_GRPPRI_SHIFT (4U)
  26748. /*! GRPPRI - Channel n Current Group Priority
  26749. */
  26750. #define DMA_DCHPRI4_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_GRPPRI_SHIFT)) & DMA_DCHPRI4_GRPPRI_MASK)
  26751. #define DMA_DCHPRI4_DPA_MASK (0x40U)
  26752. #define DMA_DCHPRI4_DPA_SHIFT (6U)
  26753. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26754. * 0b0..Channel n can suspend a lower priority channel
  26755. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26756. */
  26757. #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK)
  26758. #define DMA_DCHPRI4_ECP_MASK (0x80U)
  26759. #define DMA_DCHPRI4_ECP_SHIFT (7U)
  26760. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26761. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26762. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26763. */
  26764. #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK)
  26765. /*! @} */
  26766. /*! @name DCHPRI11 - Channel Priority */
  26767. /*! @{ */
  26768. #define DMA_DCHPRI11_CHPRI_MASK (0xFU)
  26769. #define DMA_DCHPRI11_CHPRI_SHIFT (0U)
  26770. /*! CHPRI - Channel n Arbitration Priority
  26771. */
  26772. #define DMA_DCHPRI11_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_CHPRI_SHIFT)) & DMA_DCHPRI11_CHPRI_MASK)
  26773. #define DMA_DCHPRI11_GRPPRI_MASK (0x30U)
  26774. #define DMA_DCHPRI11_GRPPRI_SHIFT (4U)
  26775. /*! GRPPRI - Channel n Current Group Priority
  26776. */
  26777. #define DMA_DCHPRI11_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_GRPPRI_SHIFT)) & DMA_DCHPRI11_GRPPRI_MASK)
  26778. #define DMA_DCHPRI11_DPA_MASK (0x40U)
  26779. #define DMA_DCHPRI11_DPA_SHIFT (6U)
  26780. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26781. * 0b0..Channel n can suspend a lower priority channel
  26782. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26783. */
  26784. #define DMA_DCHPRI11_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_DPA_SHIFT)) & DMA_DCHPRI11_DPA_MASK)
  26785. #define DMA_DCHPRI11_ECP_MASK (0x80U)
  26786. #define DMA_DCHPRI11_ECP_SHIFT (7U)
  26787. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26788. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26789. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26790. */
  26791. #define DMA_DCHPRI11_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI11_ECP_SHIFT)) & DMA_DCHPRI11_ECP_MASK)
  26792. /*! @} */
  26793. /*! @name DCHPRI10 - Channel Priority */
  26794. /*! @{ */
  26795. #define DMA_DCHPRI10_CHPRI_MASK (0xFU)
  26796. #define DMA_DCHPRI10_CHPRI_SHIFT (0U)
  26797. /*! CHPRI - Channel n Arbitration Priority
  26798. */
  26799. #define DMA_DCHPRI10_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_CHPRI_SHIFT)) & DMA_DCHPRI10_CHPRI_MASK)
  26800. #define DMA_DCHPRI10_GRPPRI_MASK (0x30U)
  26801. #define DMA_DCHPRI10_GRPPRI_SHIFT (4U)
  26802. /*! GRPPRI - Channel n Current Group Priority
  26803. */
  26804. #define DMA_DCHPRI10_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_GRPPRI_SHIFT)) & DMA_DCHPRI10_GRPPRI_MASK)
  26805. #define DMA_DCHPRI10_DPA_MASK (0x40U)
  26806. #define DMA_DCHPRI10_DPA_SHIFT (6U)
  26807. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26808. * 0b0..Channel n can suspend a lower priority channel
  26809. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26810. */
  26811. #define DMA_DCHPRI10_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_DPA_SHIFT)) & DMA_DCHPRI10_DPA_MASK)
  26812. #define DMA_DCHPRI10_ECP_MASK (0x80U)
  26813. #define DMA_DCHPRI10_ECP_SHIFT (7U)
  26814. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26815. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26816. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26817. */
  26818. #define DMA_DCHPRI10_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI10_ECP_SHIFT)) & DMA_DCHPRI10_ECP_MASK)
  26819. /*! @} */
  26820. /*! @name DCHPRI9 - Channel Priority */
  26821. /*! @{ */
  26822. #define DMA_DCHPRI9_CHPRI_MASK (0xFU)
  26823. #define DMA_DCHPRI9_CHPRI_SHIFT (0U)
  26824. /*! CHPRI - Channel n Arbitration Priority
  26825. */
  26826. #define DMA_DCHPRI9_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_CHPRI_SHIFT)) & DMA_DCHPRI9_CHPRI_MASK)
  26827. #define DMA_DCHPRI9_GRPPRI_MASK (0x30U)
  26828. #define DMA_DCHPRI9_GRPPRI_SHIFT (4U)
  26829. /*! GRPPRI - Channel n Current Group Priority
  26830. */
  26831. #define DMA_DCHPRI9_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_GRPPRI_SHIFT)) & DMA_DCHPRI9_GRPPRI_MASK)
  26832. #define DMA_DCHPRI9_DPA_MASK (0x40U)
  26833. #define DMA_DCHPRI9_DPA_SHIFT (6U)
  26834. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26835. * 0b0..Channel n can suspend a lower priority channel
  26836. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26837. */
  26838. #define DMA_DCHPRI9_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_DPA_SHIFT)) & DMA_DCHPRI9_DPA_MASK)
  26839. #define DMA_DCHPRI9_ECP_MASK (0x80U)
  26840. #define DMA_DCHPRI9_ECP_SHIFT (7U)
  26841. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26842. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26843. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26844. */
  26845. #define DMA_DCHPRI9_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI9_ECP_SHIFT)) & DMA_DCHPRI9_ECP_MASK)
  26846. /*! @} */
  26847. /*! @name DCHPRI8 - Channel Priority */
  26848. /*! @{ */
  26849. #define DMA_DCHPRI8_CHPRI_MASK (0xFU)
  26850. #define DMA_DCHPRI8_CHPRI_SHIFT (0U)
  26851. /*! CHPRI - Channel n Arbitration Priority
  26852. */
  26853. #define DMA_DCHPRI8_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_CHPRI_SHIFT)) & DMA_DCHPRI8_CHPRI_MASK)
  26854. #define DMA_DCHPRI8_GRPPRI_MASK (0x30U)
  26855. #define DMA_DCHPRI8_GRPPRI_SHIFT (4U)
  26856. /*! GRPPRI - Channel n Current Group Priority
  26857. */
  26858. #define DMA_DCHPRI8_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_GRPPRI_SHIFT)) & DMA_DCHPRI8_GRPPRI_MASK)
  26859. #define DMA_DCHPRI8_DPA_MASK (0x40U)
  26860. #define DMA_DCHPRI8_DPA_SHIFT (6U)
  26861. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26862. * 0b0..Channel n can suspend a lower priority channel
  26863. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26864. */
  26865. #define DMA_DCHPRI8_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_DPA_SHIFT)) & DMA_DCHPRI8_DPA_MASK)
  26866. #define DMA_DCHPRI8_ECP_MASK (0x80U)
  26867. #define DMA_DCHPRI8_ECP_SHIFT (7U)
  26868. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26869. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26870. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26871. */
  26872. #define DMA_DCHPRI8_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI8_ECP_SHIFT)) & DMA_DCHPRI8_ECP_MASK)
  26873. /*! @} */
  26874. /*! @name DCHPRI15 - Channel Priority */
  26875. /*! @{ */
  26876. #define DMA_DCHPRI15_CHPRI_MASK (0xFU)
  26877. #define DMA_DCHPRI15_CHPRI_SHIFT (0U)
  26878. /*! CHPRI - Channel n Arbitration Priority
  26879. */
  26880. #define DMA_DCHPRI15_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_CHPRI_SHIFT)) & DMA_DCHPRI15_CHPRI_MASK)
  26881. #define DMA_DCHPRI15_GRPPRI_MASK (0x30U)
  26882. #define DMA_DCHPRI15_GRPPRI_SHIFT (4U)
  26883. /*! GRPPRI - Channel n Current Group Priority
  26884. */
  26885. #define DMA_DCHPRI15_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_GRPPRI_SHIFT)) & DMA_DCHPRI15_GRPPRI_MASK)
  26886. #define DMA_DCHPRI15_DPA_MASK (0x40U)
  26887. #define DMA_DCHPRI15_DPA_SHIFT (6U)
  26888. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26889. * 0b0..Channel n can suspend a lower priority channel
  26890. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26891. */
  26892. #define DMA_DCHPRI15_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_DPA_SHIFT)) & DMA_DCHPRI15_DPA_MASK)
  26893. #define DMA_DCHPRI15_ECP_MASK (0x80U)
  26894. #define DMA_DCHPRI15_ECP_SHIFT (7U)
  26895. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26896. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26897. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26898. */
  26899. #define DMA_DCHPRI15_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI15_ECP_SHIFT)) & DMA_DCHPRI15_ECP_MASK)
  26900. /*! @} */
  26901. /*! @name DCHPRI14 - Channel Priority */
  26902. /*! @{ */
  26903. #define DMA_DCHPRI14_CHPRI_MASK (0xFU)
  26904. #define DMA_DCHPRI14_CHPRI_SHIFT (0U)
  26905. /*! CHPRI - Channel n Arbitration Priority
  26906. */
  26907. #define DMA_DCHPRI14_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_CHPRI_SHIFT)) & DMA_DCHPRI14_CHPRI_MASK)
  26908. #define DMA_DCHPRI14_GRPPRI_MASK (0x30U)
  26909. #define DMA_DCHPRI14_GRPPRI_SHIFT (4U)
  26910. /*! GRPPRI - Channel n Current Group Priority
  26911. */
  26912. #define DMA_DCHPRI14_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_GRPPRI_SHIFT)) & DMA_DCHPRI14_GRPPRI_MASK)
  26913. #define DMA_DCHPRI14_DPA_MASK (0x40U)
  26914. #define DMA_DCHPRI14_DPA_SHIFT (6U)
  26915. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26916. * 0b0..Channel n can suspend a lower priority channel
  26917. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26918. */
  26919. #define DMA_DCHPRI14_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_DPA_SHIFT)) & DMA_DCHPRI14_DPA_MASK)
  26920. #define DMA_DCHPRI14_ECP_MASK (0x80U)
  26921. #define DMA_DCHPRI14_ECP_SHIFT (7U)
  26922. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26923. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26924. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26925. */
  26926. #define DMA_DCHPRI14_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI14_ECP_SHIFT)) & DMA_DCHPRI14_ECP_MASK)
  26927. /*! @} */
  26928. /*! @name DCHPRI13 - Channel Priority */
  26929. /*! @{ */
  26930. #define DMA_DCHPRI13_CHPRI_MASK (0xFU)
  26931. #define DMA_DCHPRI13_CHPRI_SHIFT (0U)
  26932. /*! CHPRI - Channel n Arbitration Priority
  26933. */
  26934. #define DMA_DCHPRI13_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_CHPRI_SHIFT)) & DMA_DCHPRI13_CHPRI_MASK)
  26935. #define DMA_DCHPRI13_GRPPRI_MASK (0x30U)
  26936. #define DMA_DCHPRI13_GRPPRI_SHIFT (4U)
  26937. /*! GRPPRI - Channel n Current Group Priority
  26938. */
  26939. #define DMA_DCHPRI13_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_GRPPRI_SHIFT)) & DMA_DCHPRI13_GRPPRI_MASK)
  26940. #define DMA_DCHPRI13_DPA_MASK (0x40U)
  26941. #define DMA_DCHPRI13_DPA_SHIFT (6U)
  26942. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26943. * 0b0..Channel n can suspend a lower priority channel
  26944. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26945. */
  26946. #define DMA_DCHPRI13_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_DPA_SHIFT)) & DMA_DCHPRI13_DPA_MASK)
  26947. #define DMA_DCHPRI13_ECP_MASK (0x80U)
  26948. #define DMA_DCHPRI13_ECP_SHIFT (7U)
  26949. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26950. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26951. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26952. */
  26953. #define DMA_DCHPRI13_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI13_ECP_SHIFT)) & DMA_DCHPRI13_ECP_MASK)
  26954. /*! @} */
  26955. /*! @name DCHPRI12 - Channel Priority */
  26956. /*! @{ */
  26957. #define DMA_DCHPRI12_CHPRI_MASK (0xFU)
  26958. #define DMA_DCHPRI12_CHPRI_SHIFT (0U)
  26959. /*! CHPRI - Channel n Arbitration Priority
  26960. */
  26961. #define DMA_DCHPRI12_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_CHPRI_SHIFT)) & DMA_DCHPRI12_CHPRI_MASK)
  26962. #define DMA_DCHPRI12_GRPPRI_MASK (0x30U)
  26963. #define DMA_DCHPRI12_GRPPRI_SHIFT (4U)
  26964. /*! GRPPRI - Channel n Current Group Priority
  26965. */
  26966. #define DMA_DCHPRI12_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_GRPPRI_SHIFT)) & DMA_DCHPRI12_GRPPRI_MASK)
  26967. #define DMA_DCHPRI12_DPA_MASK (0x40U)
  26968. #define DMA_DCHPRI12_DPA_SHIFT (6U)
  26969. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26970. * 0b0..Channel n can suspend a lower priority channel
  26971. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26972. */
  26973. #define DMA_DCHPRI12_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_DPA_SHIFT)) & DMA_DCHPRI12_DPA_MASK)
  26974. #define DMA_DCHPRI12_ECP_MASK (0x80U)
  26975. #define DMA_DCHPRI12_ECP_SHIFT (7U)
  26976. /*! ECP - Enable Channel Preemption. This field resets to 0.
  26977. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  26978. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  26979. */
  26980. #define DMA_DCHPRI12_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI12_ECP_SHIFT)) & DMA_DCHPRI12_ECP_MASK)
  26981. /*! @} */
  26982. /*! @name DCHPRI19 - Channel Priority */
  26983. /*! @{ */
  26984. #define DMA_DCHPRI19_CHPRI_MASK (0xFU)
  26985. #define DMA_DCHPRI19_CHPRI_SHIFT (0U)
  26986. /*! CHPRI - Channel n Arbitration Priority
  26987. */
  26988. #define DMA_DCHPRI19_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_CHPRI_SHIFT)) & DMA_DCHPRI19_CHPRI_MASK)
  26989. #define DMA_DCHPRI19_GRPPRI_MASK (0x30U)
  26990. #define DMA_DCHPRI19_GRPPRI_SHIFT (4U)
  26991. /*! GRPPRI - Channel n Current Group Priority
  26992. */
  26993. #define DMA_DCHPRI19_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_GRPPRI_SHIFT)) & DMA_DCHPRI19_GRPPRI_MASK)
  26994. #define DMA_DCHPRI19_DPA_MASK (0x40U)
  26995. #define DMA_DCHPRI19_DPA_SHIFT (6U)
  26996. /*! DPA - Disable Preempt Ability. This field resets to 0.
  26997. * 0b0..Channel n can suspend a lower priority channel
  26998. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  26999. */
  27000. #define DMA_DCHPRI19_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_DPA_SHIFT)) & DMA_DCHPRI19_DPA_MASK)
  27001. #define DMA_DCHPRI19_ECP_MASK (0x80U)
  27002. #define DMA_DCHPRI19_ECP_SHIFT (7U)
  27003. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27004. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27005. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27006. */
  27007. #define DMA_DCHPRI19_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI19_ECP_SHIFT)) & DMA_DCHPRI19_ECP_MASK)
  27008. /*! @} */
  27009. /*! @name DCHPRI18 - Channel Priority */
  27010. /*! @{ */
  27011. #define DMA_DCHPRI18_CHPRI_MASK (0xFU)
  27012. #define DMA_DCHPRI18_CHPRI_SHIFT (0U)
  27013. /*! CHPRI - Channel n Arbitration Priority
  27014. */
  27015. #define DMA_DCHPRI18_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_CHPRI_SHIFT)) & DMA_DCHPRI18_CHPRI_MASK)
  27016. #define DMA_DCHPRI18_GRPPRI_MASK (0x30U)
  27017. #define DMA_DCHPRI18_GRPPRI_SHIFT (4U)
  27018. /*! GRPPRI - Channel n Current Group Priority
  27019. */
  27020. #define DMA_DCHPRI18_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_GRPPRI_SHIFT)) & DMA_DCHPRI18_GRPPRI_MASK)
  27021. #define DMA_DCHPRI18_DPA_MASK (0x40U)
  27022. #define DMA_DCHPRI18_DPA_SHIFT (6U)
  27023. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27024. * 0b0..Channel n can suspend a lower priority channel
  27025. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27026. */
  27027. #define DMA_DCHPRI18_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_DPA_SHIFT)) & DMA_DCHPRI18_DPA_MASK)
  27028. #define DMA_DCHPRI18_ECP_MASK (0x80U)
  27029. #define DMA_DCHPRI18_ECP_SHIFT (7U)
  27030. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27031. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27032. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27033. */
  27034. #define DMA_DCHPRI18_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI18_ECP_SHIFT)) & DMA_DCHPRI18_ECP_MASK)
  27035. /*! @} */
  27036. /*! @name DCHPRI17 - Channel Priority */
  27037. /*! @{ */
  27038. #define DMA_DCHPRI17_CHPRI_MASK (0xFU)
  27039. #define DMA_DCHPRI17_CHPRI_SHIFT (0U)
  27040. /*! CHPRI - Channel n Arbitration Priority
  27041. */
  27042. #define DMA_DCHPRI17_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_CHPRI_SHIFT)) & DMA_DCHPRI17_CHPRI_MASK)
  27043. #define DMA_DCHPRI17_GRPPRI_MASK (0x30U)
  27044. #define DMA_DCHPRI17_GRPPRI_SHIFT (4U)
  27045. /*! GRPPRI - Channel n Current Group Priority
  27046. */
  27047. #define DMA_DCHPRI17_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_GRPPRI_SHIFT)) & DMA_DCHPRI17_GRPPRI_MASK)
  27048. #define DMA_DCHPRI17_DPA_MASK (0x40U)
  27049. #define DMA_DCHPRI17_DPA_SHIFT (6U)
  27050. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27051. * 0b0..Channel n can suspend a lower priority channel
  27052. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27053. */
  27054. #define DMA_DCHPRI17_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_DPA_SHIFT)) & DMA_DCHPRI17_DPA_MASK)
  27055. #define DMA_DCHPRI17_ECP_MASK (0x80U)
  27056. #define DMA_DCHPRI17_ECP_SHIFT (7U)
  27057. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27058. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27059. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27060. */
  27061. #define DMA_DCHPRI17_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI17_ECP_SHIFT)) & DMA_DCHPRI17_ECP_MASK)
  27062. /*! @} */
  27063. /*! @name DCHPRI16 - Channel Priority */
  27064. /*! @{ */
  27065. #define DMA_DCHPRI16_CHPRI_MASK (0xFU)
  27066. #define DMA_DCHPRI16_CHPRI_SHIFT (0U)
  27067. /*! CHPRI - Channel n Arbitration Priority
  27068. */
  27069. #define DMA_DCHPRI16_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_CHPRI_SHIFT)) & DMA_DCHPRI16_CHPRI_MASK)
  27070. #define DMA_DCHPRI16_GRPPRI_MASK (0x30U)
  27071. #define DMA_DCHPRI16_GRPPRI_SHIFT (4U)
  27072. /*! GRPPRI - Channel n Current Group Priority
  27073. */
  27074. #define DMA_DCHPRI16_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_GRPPRI_SHIFT)) & DMA_DCHPRI16_GRPPRI_MASK)
  27075. #define DMA_DCHPRI16_DPA_MASK (0x40U)
  27076. #define DMA_DCHPRI16_DPA_SHIFT (6U)
  27077. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27078. * 0b0..Channel n can suspend a lower priority channel
  27079. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27080. */
  27081. #define DMA_DCHPRI16_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_DPA_SHIFT)) & DMA_DCHPRI16_DPA_MASK)
  27082. #define DMA_DCHPRI16_ECP_MASK (0x80U)
  27083. #define DMA_DCHPRI16_ECP_SHIFT (7U)
  27084. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27085. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27086. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27087. */
  27088. #define DMA_DCHPRI16_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI16_ECP_SHIFT)) & DMA_DCHPRI16_ECP_MASK)
  27089. /*! @} */
  27090. /*! @name DCHPRI23 - Channel Priority */
  27091. /*! @{ */
  27092. #define DMA_DCHPRI23_CHPRI_MASK (0xFU)
  27093. #define DMA_DCHPRI23_CHPRI_SHIFT (0U)
  27094. /*! CHPRI - Channel n Arbitration Priority
  27095. */
  27096. #define DMA_DCHPRI23_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_CHPRI_SHIFT)) & DMA_DCHPRI23_CHPRI_MASK)
  27097. #define DMA_DCHPRI23_GRPPRI_MASK (0x30U)
  27098. #define DMA_DCHPRI23_GRPPRI_SHIFT (4U)
  27099. /*! GRPPRI - Channel n Current Group Priority
  27100. */
  27101. #define DMA_DCHPRI23_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_GRPPRI_SHIFT)) & DMA_DCHPRI23_GRPPRI_MASK)
  27102. #define DMA_DCHPRI23_DPA_MASK (0x40U)
  27103. #define DMA_DCHPRI23_DPA_SHIFT (6U)
  27104. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27105. * 0b0..Channel n can suspend a lower priority channel
  27106. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27107. */
  27108. #define DMA_DCHPRI23_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_DPA_SHIFT)) & DMA_DCHPRI23_DPA_MASK)
  27109. #define DMA_DCHPRI23_ECP_MASK (0x80U)
  27110. #define DMA_DCHPRI23_ECP_SHIFT (7U)
  27111. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27112. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27113. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27114. */
  27115. #define DMA_DCHPRI23_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI23_ECP_SHIFT)) & DMA_DCHPRI23_ECP_MASK)
  27116. /*! @} */
  27117. /*! @name DCHPRI22 - Channel Priority */
  27118. /*! @{ */
  27119. #define DMA_DCHPRI22_CHPRI_MASK (0xFU)
  27120. #define DMA_DCHPRI22_CHPRI_SHIFT (0U)
  27121. /*! CHPRI - Channel n Arbitration Priority
  27122. */
  27123. #define DMA_DCHPRI22_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_CHPRI_SHIFT)) & DMA_DCHPRI22_CHPRI_MASK)
  27124. #define DMA_DCHPRI22_GRPPRI_MASK (0x30U)
  27125. #define DMA_DCHPRI22_GRPPRI_SHIFT (4U)
  27126. /*! GRPPRI - Channel n Current Group Priority
  27127. */
  27128. #define DMA_DCHPRI22_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_GRPPRI_SHIFT)) & DMA_DCHPRI22_GRPPRI_MASK)
  27129. #define DMA_DCHPRI22_DPA_MASK (0x40U)
  27130. #define DMA_DCHPRI22_DPA_SHIFT (6U)
  27131. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27132. * 0b0..Channel n can suspend a lower priority channel
  27133. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27134. */
  27135. #define DMA_DCHPRI22_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_DPA_SHIFT)) & DMA_DCHPRI22_DPA_MASK)
  27136. #define DMA_DCHPRI22_ECP_MASK (0x80U)
  27137. #define DMA_DCHPRI22_ECP_SHIFT (7U)
  27138. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27139. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27140. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27141. */
  27142. #define DMA_DCHPRI22_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI22_ECP_SHIFT)) & DMA_DCHPRI22_ECP_MASK)
  27143. /*! @} */
  27144. /*! @name DCHPRI21 - Channel Priority */
  27145. /*! @{ */
  27146. #define DMA_DCHPRI21_CHPRI_MASK (0xFU)
  27147. #define DMA_DCHPRI21_CHPRI_SHIFT (0U)
  27148. /*! CHPRI - Channel n Arbitration Priority
  27149. */
  27150. #define DMA_DCHPRI21_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_CHPRI_SHIFT)) & DMA_DCHPRI21_CHPRI_MASK)
  27151. #define DMA_DCHPRI21_GRPPRI_MASK (0x30U)
  27152. #define DMA_DCHPRI21_GRPPRI_SHIFT (4U)
  27153. /*! GRPPRI - Channel n Current Group Priority
  27154. */
  27155. #define DMA_DCHPRI21_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_GRPPRI_SHIFT)) & DMA_DCHPRI21_GRPPRI_MASK)
  27156. #define DMA_DCHPRI21_DPA_MASK (0x40U)
  27157. #define DMA_DCHPRI21_DPA_SHIFT (6U)
  27158. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27159. * 0b0..Channel n can suspend a lower priority channel
  27160. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27161. */
  27162. #define DMA_DCHPRI21_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_DPA_SHIFT)) & DMA_DCHPRI21_DPA_MASK)
  27163. #define DMA_DCHPRI21_ECP_MASK (0x80U)
  27164. #define DMA_DCHPRI21_ECP_SHIFT (7U)
  27165. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27166. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27167. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27168. */
  27169. #define DMA_DCHPRI21_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI21_ECP_SHIFT)) & DMA_DCHPRI21_ECP_MASK)
  27170. /*! @} */
  27171. /*! @name DCHPRI20 - Channel Priority */
  27172. /*! @{ */
  27173. #define DMA_DCHPRI20_CHPRI_MASK (0xFU)
  27174. #define DMA_DCHPRI20_CHPRI_SHIFT (0U)
  27175. /*! CHPRI - Channel n Arbitration Priority
  27176. */
  27177. #define DMA_DCHPRI20_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_CHPRI_SHIFT)) & DMA_DCHPRI20_CHPRI_MASK)
  27178. #define DMA_DCHPRI20_GRPPRI_MASK (0x30U)
  27179. #define DMA_DCHPRI20_GRPPRI_SHIFT (4U)
  27180. /*! GRPPRI - Channel n Current Group Priority
  27181. */
  27182. #define DMA_DCHPRI20_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_GRPPRI_SHIFT)) & DMA_DCHPRI20_GRPPRI_MASK)
  27183. #define DMA_DCHPRI20_DPA_MASK (0x40U)
  27184. #define DMA_DCHPRI20_DPA_SHIFT (6U)
  27185. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27186. * 0b0..Channel n can suspend a lower priority channel
  27187. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27188. */
  27189. #define DMA_DCHPRI20_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_DPA_SHIFT)) & DMA_DCHPRI20_DPA_MASK)
  27190. #define DMA_DCHPRI20_ECP_MASK (0x80U)
  27191. #define DMA_DCHPRI20_ECP_SHIFT (7U)
  27192. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27193. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27194. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27195. */
  27196. #define DMA_DCHPRI20_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI20_ECP_SHIFT)) & DMA_DCHPRI20_ECP_MASK)
  27197. /*! @} */
  27198. /*! @name DCHPRI27 - Channel Priority */
  27199. /*! @{ */
  27200. #define DMA_DCHPRI27_CHPRI_MASK (0xFU)
  27201. #define DMA_DCHPRI27_CHPRI_SHIFT (0U)
  27202. /*! CHPRI - Channel n Arbitration Priority
  27203. */
  27204. #define DMA_DCHPRI27_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_CHPRI_SHIFT)) & DMA_DCHPRI27_CHPRI_MASK)
  27205. #define DMA_DCHPRI27_GRPPRI_MASK (0x30U)
  27206. #define DMA_DCHPRI27_GRPPRI_SHIFT (4U)
  27207. /*! GRPPRI - Channel n Current Group Priority
  27208. */
  27209. #define DMA_DCHPRI27_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_GRPPRI_SHIFT)) & DMA_DCHPRI27_GRPPRI_MASK)
  27210. #define DMA_DCHPRI27_DPA_MASK (0x40U)
  27211. #define DMA_DCHPRI27_DPA_SHIFT (6U)
  27212. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27213. * 0b0..Channel n can suspend a lower priority channel
  27214. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27215. */
  27216. #define DMA_DCHPRI27_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_DPA_SHIFT)) & DMA_DCHPRI27_DPA_MASK)
  27217. #define DMA_DCHPRI27_ECP_MASK (0x80U)
  27218. #define DMA_DCHPRI27_ECP_SHIFT (7U)
  27219. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27220. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27221. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27222. */
  27223. #define DMA_DCHPRI27_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI27_ECP_SHIFT)) & DMA_DCHPRI27_ECP_MASK)
  27224. /*! @} */
  27225. /*! @name DCHPRI26 - Channel Priority */
  27226. /*! @{ */
  27227. #define DMA_DCHPRI26_CHPRI_MASK (0xFU)
  27228. #define DMA_DCHPRI26_CHPRI_SHIFT (0U)
  27229. /*! CHPRI - Channel n Arbitration Priority
  27230. */
  27231. #define DMA_DCHPRI26_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_CHPRI_SHIFT)) & DMA_DCHPRI26_CHPRI_MASK)
  27232. #define DMA_DCHPRI26_GRPPRI_MASK (0x30U)
  27233. #define DMA_DCHPRI26_GRPPRI_SHIFT (4U)
  27234. /*! GRPPRI - Channel n Current Group Priority
  27235. */
  27236. #define DMA_DCHPRI26_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_GRPPRI_SHIFT)) & DMA_DCHPRI26_GRPPRI_MASK)
  27237. #define DMA_DCHPRI26_DPA_MASK (0x40U)
  27238. #define DMA_DCHPRI26_DPA_SHIFT (6U)
  27239. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27240. * 0b0..Channel n can suspend a lower priority channel
  27241. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27242. */
  27243. #define DMA_DCHPRI26_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_DPA_SHIFT)) & DMA_DCHPRI26_DPA_MASK)
  27244. #define DMA_DCHPRI26_ECP_MASK (0x80U)
  27245. #define DMA_DCHPRI26_ECP_SHIFT (7U)
  27246. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27247. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27248. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27249. */
  27250. #define DMA_DCHPRI26_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI26_ECP_SHIFT)) & DMA_DCHPRI26_ECP_MASK)
  27251. /*! @} */
  27252. /*! @name DCHPRI25 - Channel Priority */
  27253. /*! @{ */
  27254. #define DMA_DCHPRI25_CHPRI_MASK (0xFU)
  27255. #define DMA_DCHPRI25_CHPRI_SHIFT (0U)
  27256. /*! CHPRI - Channel n Arbitration Priority
  27257. */
  27258. #define DMA_DCHPRI25_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_CHPRI_SHIFT)) & DMA_DCHPRI25_CHPRI_MASK)
  27259. #define DMA_DCHPRI25_GRPPRI_MASK (0x30U)
  27260. #define DMA_DCHPRI25_GRPPRI_SHIFT (4U)
  27261. /*! GRPPRI - Channel n Current Group Priority
  27262. */
  27263. #define DMA_DCHPRI25_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_GRPPRI_SHIFT)) & DMA_DCHPRI25_GRPPRI_MASK)
  27264. #define DMA_DCHPRI25_DPA_MASK (0x40U)
  27265. #define DMA_DCHPRI25_DPA_SHIFT (6U)
  27266. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27267. * 0b0..Channel n can suspend a lower priority channel
  27268. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27269. */
  27270. #define DMA_DCHPRI25_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_DPA_SHIFT)) & DMA_DCHPRI25_DPA_MASK)
  27271. #define DMA_DCHPRI25_ECP_MASK (0x80U)
  27272. #define DMA_DCHPRI25_ECP_SHIFT (7U)
  27273. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27274. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27275. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27276. */
  27277. #define DMA_DCHPRI25_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI25_ECP_SHIFT)) & DMA_DCHPRI25_ECP_MASK)
  27278. /*! @} */
  27279. /*! @name DCHPRI24 - Channel Priority */
  27280. /*! @{ */
  27281. #define DMA_DCHPRI24_CHPRI_MASK (0xFU)
  27282. #define DMA_DCHPRI24_CHPRI_SHIFT (0U)
  27283. /*! CHPRI - Channel n Arbitration Priority
  27284. */
  27285. #define DMA_DCHPRI24_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_CHPRI_SHIFT)) & DMA_DCHPRI24_CHPRI_MASK)
  27286. #define DMA_DCHPRI24_GRPPRI_MASK (0x30U)
  27287. #define DMA_DCHPRI24_GRPPRI_SHIFT (4U)
  27288. /*! GRPPRI - Channel n Current Group Priority
  27289. */
  27290. #define DMA_DCHPRI24_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_GRPPRI_SHIFT)) & DMA_DCHPRI24_GRPPRI_MASK)
  27291. #define DMA_DCHPRI24_DPA_MASK (0x40U)
  27292. #define DMA_DCHPRI24_DPA_SHIFT (6U)
  27293. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27294. * 0b0..Channel n can suspend a lower priority channel
  27295. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27296. */
  27297. #define DMA_DCHPRI24_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_DPA_SHIFT)) & DMA_DCHPRI24_DPA_MASK)
  27298. #define DMA_DCHPRI24_ECP_MASK (0x80U)
  27299. #define DMA_DCHPRI24_ECP_SHIFT (7U)
  27300. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27301. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27302. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27303. */
  27304. #define DMA_DCHPRI24_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI24_ECP_SHIFT)) & DMA_DCHPRI24_ECP_MASK)
  27305. /*! @} */
  27306. /*! @name DCHPRI31 - Channel Priority */
  27307. /*! @{ */
  27308. #define DMA_DCHPRI31_CHPRI_MASK (0xFU)
  27309. #define DMA_DCHPRI31_CHPRI_SHIFT (0U)
  27310. /*! CHPRI - Channel n Arbitration Priority
  27311. */
  27312. #define DMA_DCHPRI31_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_CHPRI_SHIFT)) & DMA_DCHPRI31_CHPRI_MASK)
  27313. #define DMA_DCHPRI31_GRPPRI_MASK (0x30U)
  27314. #define DMA_DCHPRI31_GRPPRI_SHIFT (4U)
  27315. /*! GRPPRI - Channel n Current Group Priority
  27316. */
  27317. #define DMA_DCHPRI31_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_GRPPRI_SHIFT)) & DMA_DCHPRI31_GRPPRI_MASK)
  27318. #define DMA_DCHPRI31_DPA_MASK (0x40U)
  27319. #define DMA_DCHPRI31_DPA_SHIFT (6U)
  27320. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27321. * 0b0..Channel n can suspend a lower priority channel
  27322. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27323. */
  27324. #define DMA_DCHPRI31_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_DPA_SHIFT)) & DMA_DCHPRI31_DPA_MASK)
  27325. #define DMA_DCHPRI31_ECP_MASK (0x80U)
  27326. #define DMA_DCHPRI31_ECP_SHIFT (7U)
  27327. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27328. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27329. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27330. */
  27331. #define DMA_DCHPRI31_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI31_ECP_SHIFT)) & DMA_DCHPRI31_ECP_MASK)
  27332. /*! @} */
  27333. /*! @name DCHPRI30 - Channel Priority */
  27334. /*! @{ */
  27335. #define DMA_DCHPRI30_CHPRI_MASK (0xFU)
  27336. #define DMA_DCHPRI30_CHPRI_SHIFT (0U)
  27337. /*! CHPRI - Channel n Arbitration Priority
  27338. */
  27339. #define DMA_DCHPRI30_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_CHPRI_SHIFT)) & DMA_DCHPRI30_CHPRI_MASK)
  27340. #define DMA_DCHPRI30_GRPPRI_MASK (0x30U)
  27341. #define DMA_DCHPRI30_GRPPRI_SHIFT (4U)
  27342. /*! GRPPRI - Channel n Current Group Priority
  27343. */
  27344. #define DMA_DCHPRI30_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_GRPPRI_SHIFT)) & DMA_DCHPRI30_GRPPRI_MASK)
  27345. #define DMA_DCHPRI30_DPA_MASK (0x40U)
  27346. #define DMA_DCHPRI30_DPA_SHIFT (6U)
  27347. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27348. * 0b0..Channel n can suspend a lower priority channel
  27349. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27350. */
  27351. #define DMA_DCHPRI30_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_DPA_SHIFT)) & DMA_DCHPRI30_DPA_MASK)
  27352. #define DMA_DCHPRI30_ECP_MASK (0x80U)
  27353. #define DMA_DCHPRI30_ECP_SHIFT (7U)
  27354. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27355. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27356. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27357. */
  27358. #define DMA_DCHPRI30_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI30_ECP_SHIFT)) & DMA_DCHPRI30_ECP_MASK)
  27359. /*! @} */
  27360. /*! @name DCHPRI29 - Channel Priority */
  27361. /*! @{ */
  27362. #define DMA_DCHPRI29_CHPRI_MASK (0xFU)
  27363. #define DMA_DCHPRI29_CHPRI_SHIFT (0U)
  27364. /*! CHPRI - Channel n Arbitration Priority
  27365. */
  27366. #define DMA_DCHPRI29_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_CHPRI_SHIFT)) & DMA_DCHPRI29_CHPRI_MASK)
  27367. #define DMA_DCHPRI29_GRPPRI_MASK (0x30U)
  27368. #define DMA_DCHPRI29_GRPPRI_SHIFT (4U)
  27369. /*! GRPPRI - Channel n Current Group Priority
  27370. */
  27371. #define DMA_DCHPRI29_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_GRPPRI_SHIFT)) & DMA_DCHPRI29_GRPPRI_MASK)
  27372. #define DMA_DCHPRI29_DPA_MASK (0x40U)
  27373. #define DMA_DCHPRI29_DPA_SHIFT (6U)
  27374. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27375. * 0b0..Channel n can suspend a lower priority channel
  27376. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27377. */
  27378. #define DMA_DCHPRI29_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_DPA_SHIFT)) & DMA_DCHPRI29_DPA_MASK)
  27379. #define DMA_DCHPRI29_ECP_MASK (0x80U)
  27380. #define DMA_DCHPRI29_ECP_SHIFT (7U)
  27381. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27382. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27383. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27384. */
  27385. #define DMA_DCHPRI29_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI29_ECP_SHIFT)) & DMA_DCHPRI29_ECP_MASK)
  27386. /*! @} */
  27387. /*! @name DCHPRI28 - Channel Priority */
  27388. /*! @{ */
  27389. #define DMA_DCHPRI28_CHPRI_MASK (0xFU)
  27390. #define DMA_DCHPRI28_CHPRI_SHIFT (0U)
  27391. /*! CHPRI - Channel n Arbitration Priority
  27392. */
  27393. #define DMA_DCHPRI28_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_CHPRI_SHIFT)) & DMA_DCHPRI28_CHPRI_MASK)
  27394. #define DMA_DCHPRI28_GRPPRI_MASK (0x30U)
  27395. #define DMA_DCHPRI28_GRPPRI_SHIFT (4U)
  27396. /*! GRPPRI - Channel n Current Group Priority
  27397. */
  27398. #define DMA_DCHPRI28_GRPPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_GRPPRI_SHIFT)) & DMA_DCHPRI28_GRPPRI_MASK)
  27399. #define DMA_DCHPRI28_DPA_MASK (0x40U)
  27400. #define DMA_DCHPRI28_DPA_SHIFT (6U)
  27401. /*! DPA - Disable Preempt Ability. This field resets to 0.
  27402. * 0b0..Channel n can suspend a lower priority channel
  27403. * 0b1..Channel n cannot suspend any channel, regardless of channel priority
  27404. */
  27405. #define DMA_DCHPRI28_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_DPA_SHIFT)) & DMA_DCHPRI28_DPA_MASK)
  27406. #define DMA_DCHPRI28_ECP_MASK (0x80U)
  27407. #define DMA_DCHPRI28_ECP_SHIFT (7U)
  27408. /*! ECP - Enable Channel Preemption. This field resets to 0.
  27409. * 0b0..Channel n cannot be suspended by a higher priority channel's service request
  27410. * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel
  27411. */
  27412. #define DMA_DCHPRI28_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI28_ECP_SHIFT)) & DMA_DCHPRI28_ECP_MASK)
  27413. /*! @} */
  27414. /*! @name SADDR - TCD Source Address */
  27415. /*! @{ */
  27416. #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU)
  27417. #define DMA_SADDR_SADDR_SHIFT (0U)
  27418. /*! SADDR - Source Address
  27419. */
  27420. #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK)
  27421. /*! @} */
  27422. /* The count of DMA_SADDR */
  27423. #define DMA_SADDR_COUNT (32U)
  27424. /*! @name SOFF - TCD Signed Source Address Offset */
  27425. /*! @{ */
  27426. #define DMA_SOFF_SOFF_MASK (0xFFFFU)
  27427. #define DMA_SOFF_SOFF_SHIFT (0U)
  27428. /*! SOFF - Source address signed offset
  27429. */
  27430. #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK)
  27431. /*! @} */
  27432. /* The count of DMA_SOFF */
  27433. #define DMA_SOFF_COUNT (32U)
  27434. /*! @name ATTR - TCD Transfer Attributes */
  27435. /*! @{ */
  27436. #define DMA_ATTR_DSIZE_MASK (0x7U)
  27437. #define DMA_ATTR_DSIZE_SHIFT (0U)
  27438. /*! DSIZE - Destination data transfer size
  27439. */
  27440. #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK)
  27441. #define DMA_ATTR_DMOD_MASK (0xF8U)
  27442. #define DMA_ATTR_DMOD_SHIFT (3U)
  27443. /*! DMOD - Destination Address Modulo
  27444. */
  27445. #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK)
  27446. #define DMA_ATTR_SSIZE_MASK (0x700U)
  27447. #define DMA_ATTR_SSIZE_SHIFT (8U)
  27448. /*! SSIZE - Source data transfer size
  27449. * 0b000..8-bit
  27450. * 0b001..16-bit
  27451. * 0b010..32-bit
  27452. * 0b011..64-bit
  27453. * 0b100..Reserved
  27454. * 0b101..32-byte burst (4 beats of 64 bits)
  27455. * 0b110..Reserved
  27456. * 0b111..Reserved
  27457. */
  27458. #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK)
  27459. #define DMA_ATTR_SMOD_MASK (0xF800U)
  27460. #define DMA_ATTR_SMOD_SHIFT (11U)
  27461. /*! SMOD - Source Address Modulo
  27462. * 0b00000..Source address modulo feature is disabled
  27463. * 0b00001-0b11111..Value defines address range used to set up circular data queue
  27464. */
  27465. #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK)
  27466. /*! @} */
  27467. /* The count of DMA_ATTR */
  27468. #define DMA_ATTR_COUNT (32U)
  27469. /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */
  27470. /*! @{ */
  27471. #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU)
  27472. #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U)
  27473. /*! NBYTES - Minor Byte Transfer Count
  27474. */
  27475. #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK)
  27476. /*! @} */
  27477. /* The count of DMA_NBYTES_MLNO */
  27478. #define DMA_NBYTES_MLNO_COUNT (32U)
  27479. /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */
  27480. /*! @{ */
  27481. #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU)
  27482. #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U)
  27483. /*! NBYTES - Minor Byte Transfer Count
  27484. */
  27485. #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK)
  27486. #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U)
  27487. #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U)
  27488. /*! DMLOE - Destination Minor Loop Offset Enable
  27489. * 0b0..The minor loop offset is not applied to the DADDR
  27490. * 0b1..The minor loop offset is applied to the DADDR
  27491. */
  27492. #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK)
  27493. #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U)
  27494. #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U)
  27495. /*! SMLOE - Source Minor Loop Offset Enable
  27496. * 0b0..The minor loop offset is not applied to the SADDR
  27497. * 0b1..The minor loop offset is applied to the SADDR
  27498. */
  27499. #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK)
  27500. /*! @} */
  27501. /* The count of DMA_NBYTES_MLOFFNO */
  27502. #define DMA_NBYTES_MLOFFNO_COUNT (32U)
  27503. /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */
  27504. /*! @{ */
  27505. #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU)
  27506. #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U)
  27507. /*! NBYTES - Minor Byte Transfer Count
  27508. */
  27509. #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK)
  27510. #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U)
  27511. #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U)
  27512. /*! MLOFF - If SMLOE = 1 or DMLOE = 1, this field represents a sign-extended offset applied to the
  27513. * source or destination address to form the next-state value after the minor loop completes.
  27514. */
  27515. #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK)
  27516. #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U)
  27517. #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U)
  27518. /*! DMLOE - Destination Minor Loop Offset Enable
  27519. * 0b0..The minor loop offset is not applied to the DADDR
  27520. * 0b1..The minor loop offset is applied to the DADDR
  27521. */
  27522. #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK)
  27523. #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U)
  27524. #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U)
  27525. /*! SMLOE - Source Minor Loop Offset Enable
  27526. * 0b0..The minor loop offset is not applied to the SADDR
  27527. * 0b1..The minor loop offset is applied to the SADDR
  27528. */
  27529. #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK)
  27530. /*! @} */
  27531. /* The count of DMA_NBYTES_MLOFFYES */
  27532. #define DMA_NBYTES_MLOFFYES_COUNT (32U)
  27533. /*! @name SLAST - TCD Last Source Address Adjustment */
  27534. /*! @{ */
  27535. #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU)
  27536. #define DMA_SLAST_SLAST_SHIFT (0U)
  27537. /*! SLAST - Last Source Address Adjustment
  27538. */
  27539. #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK)
  27540. /*! @} */
  27541. /* The count of DMA_SLAST */
  27542. #define DMA_SLAST_COUNT (32U)
  27543. /*! @name DADDR - TCD Destination Address */
  27544. /*! @{ */
  27545. #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU)
  27546. #define DMA_DADDR_DADDR_SHIFT (0U)
  27547. /*! DADDR - Destination Address
  27548. */
  27549. #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK)
  27550. /*! @} */
  27551. /* The count of DMA_DADDR */
  27552. #define DMA_DADDR_COUNT (32U)
  27553. /*! @name DOFF - TCD Signed Destination Address Offset */
  27554. /*! @{ */
  27555. #define DMA_DOFF_DOFF_MASK (0xFFFFU)
  27556. #define DMA_DOFF_DOFF_SHIFT (0U)
  27557. /*! DOFF - Destination Address Signed Offset
  27558. */
  27559. #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK)
  27560. /*! @} */
  27561. /* The count of DMA_DOFF */
  27562. #define DMA_DOFF_COUNT (32U)
  27563. /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  27564. /*! @{ */
  27565. #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU)
  27566. #define DMA_CITER_ELINKNO_CITER_SHIFT (0U)
  27567. /*! CITER - Current Major Iteration Count
  27568. */
  27569. #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK)
  27570. #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U)
  27571. #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U)
  27572. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  27573. * 0b0..Channel-to-channel linking is disabled
  27574. * 0b1..Channel-to-channel linking is enabled
  27575. */
  27576. #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK)
  27577. /*! @} */
  27578. /* The count of DMA_CITER_ELINKNO */
  27579. #define DMA_CITER_ELINKNO_COUNT (32U)
  27580. /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  27581. /*! @{ */
  27582. #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU)
  27583. #define DMA_CITER_ELINKYES_CITER_SHIFT (0U)
  27584. /*! CITER - Current Major Iteration Count
  27585. */
  27586. #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK)
  27587. #define DMA_CITER_ELINKYES_LINKCH_MASK (0x3E00U)
  27588. #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U)
  27589. /*! LINKCH - Minor Loop Link Channel Number
  27590. */
  27591. #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK)
  27592. #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U)
  27593. #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U)
  27594. /*! ELINK - Enable channel-to-channel linking on minor-loop complete
  27595. * 0b0..Channel-to-channel linking is disabled
  27596. * 0b1..Channel-to-channel linking is enabled
  27597. */
  27598. #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK)
  27599. /*! @} */
  27600. /* The count of DMA_CITER_ELINKYES */
  27601. #define DMA_CITER_ELINKYES_COUNT (32U)
  27602. /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */
  27603. /*! @{ */
  27604. #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU)
  27605. #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U)
  27606. /*! DLASTSGA - Destination last address adjustment, or next memory address TCD for channel (scatter/gather)
  27607. */
  27608. #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK)
  27609. /*! @} */
  27610. /* The count of DMA_DLAST_SGA */
  27611. #define DMA_DLAST_SGA_COUNT (32U)
  27612. /*! @name CSR - TCD Control and Status */
  27613. /*! @{ */
  27614. #define DMA_CSR_START_MASK (0x1U)
  27615. #define DMA_CSR_START_SHIFT (0U)
  27616. /*! START - Channel Start
  27617. * 0b0..Channel is not explicitly started
  27618. * 0b1..Channel is explicitly started via a software initiated service request
  27619. */
  27620. #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK)
  27621. #define DMA_CSR_INTMAJOR_MASK (0x2U)
  27622. #define DMA_CSR_INTMAJOR_SHIFT (1U)
  27623. /*! INTMAJOR - Enable an interrupt when major iteration count completes.
  27624. * 0b0..End of major loop interrupt is disabled
  27625. * 0b1..End of major loop interrupt is enabled
  27626. */
  27627. #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK)
  27628. #define DMA_CSR_INTHALF_MASK (0x4U)
  27629. #define DMA_CSR_INTHALF_SHIFT (2U)
  27630. /*! INTHALF - Enable an interrupt when major counter is half complete.
  27631. * 0b0..Half-point interrupt is disabled
  27632. * 0b1..Half-point interrupt is enabled
  27633. */
  27634. #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK)
  27635. #define DMA_CSR_DREQ_MASK (0x8U)
  27636. #define DMA_CSR_DREQ_SHIFT (3U)
  27637. /*! DREQ - Disable Request
  27638. * 0b0..The channel's ERQ field is not affected
  27639. * 0b1..The channel's ERQ field value changes to 0 when the major loop is complete
  27640. */
  27641. #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK)
  27642. #define DMA_CSR_ESG_MASK (0x10U)
  27643. #define DMA_CSR_ESG_SHIFT (4U)
  27644. /*! ESG - Enable Scatter/Gather Processing
  27645. * 0b0..The current channel's TCD is normal format
  27646. * 0b1..The current channel's TCD specifies a scatter gather format
  27647. */
  27648. #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK)
  27649. #define DMA_CSR_MAJORELINK_MASK (0x20U)
  27650. #define DMA_CSR_MAJORELINK_SHIFT (5U)
  27651. /*! MAJORELINK - Enable channel-to-channel linking on major loop complete
  27652. * 0b0..Channel-to-channel linking is disabled
  27653. * 0b1..Channel-to-channel linking is enabled
  27654. */
  27655. #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK)
  27656. #define DMA_CSR_ACTIVE_MASK (0x40U)
  27657. #define DMA_CSR_ACTIVE_SHIFT (6U)
  27658. /*! ACTIVE - Channel Active
  27659. */
  27660. #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK)
  27661. #define DMA_CSR_DONE_MASK (0x80U)
  27662. #define DMA_CSR_DONE_SHIFT (7U)
  27663. /*! DONE - Channel Done
  27664. */
  27665. #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK)
  27666. #define DMA_CSR_MAJORLINKCH_MASK (0x1F00U)
  27667. #define DMA_CSR_MAJORLINKCH_SHIFT (8U)
  27668. /*! MAJORLINKCH - Major Loop Link Channel Number
  27669. */
  27670. #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK)
  27671. #define DMA_CSR_BWC_MASK (0xC000U)
  27672. #define DMA_CSR_BWC_SHIFT (14U)
  27673. /*! BWC - Bandwidth Control
  27674. * 0b00..No eDMA engine stalls
  27675. * 0b01..Reserved
  27676. * 0b10..eDMA engine stalls for 4 cycles after each R/W
  27677. * 0b11..eDMA engine stalls for 8 cycles after each R/W
  27678. */
  27679. #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK)
  27680. /*! @} */
  27681. /* The count of DMA_CSR */
  27682. #define DMA_CSR_COUNT (32U)
  27683. /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */
  27684. /*! @{ */
  27685. #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU)
  27686. #define DMA_BITER_ELINKNO_BITER_SHIFT (0U)
  27687. /*! BITER - Starting Major Iteration Count
  27688. */
  27689. #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK)
  27690. #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U)
  27691. #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U)
  27692. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  27693. * 0b0..Channel-to-channel linking is disabled
  27694. * 0b1..Channel-to-channel linking is enabled
  27695. */
  27696. #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK)
  27697. /*! @} */
  27698. /* The count of DMA_BITER_ELINKNO */
  27699. #define DMA_BITER_ELINKNO_COUNT (32U)
  27700. /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */
  27701. /*! @{ */
  27702. #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU)
  27703. #define DMA_BITER_ELINKYES_BITER_SHIFT (0U)
  27704. /*! BITER - Starting major iteration count
  27705. */
  27706. #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK)
  27707. #define DMA_BITER_ELINKYES_LINKCH_MASK (0x3E00U)
  27708. #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U)
  27709. /*! LINKCH - Link Channel Number
  27710. */
  27711. #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK)
  27712. #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U)
  27713. #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U)
  27714. /*! ELINK - Enables channel-to-channel linking on minor loop complete
  27715. * 0b0..Channel-to-channel linking is disabled
  27716. * 0b1..Channel-to-channel linking is enabled
  27717. */
  27718. #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK)
  27719. /*! @} */
  27720. /* The count of DMA_BITER_ELINKYES */
  27721. #define DMA_BITER_ELINKYES_COUNT (32U)
  27722. /*!
  27723. * @}
  27724. */ /* end of group DMA_Register_Masks */
  27725. /* DMA - Peripheral instance base addresses */
  27726. /** Peripheral DMA0 base address */
  27727. #define DMA0_BASE (0x40070000u)
  27728. /** Peripheral DMA0 base pointer */
  27729. #define DMA0 ((DMA_Type *)DMA0_BASE)
  27730. /** Array initializer of DMA peripheral base addresses */
  27731. #define DMA_BASE_ADDRS { DMA0_BASE }
  27732. /** Array initializer of DMA peripheral base pointers */
  27733. #define DMA_BASE_PTRS { DMA0 }
  27734. /** Interrupt vectors for the DMA peripheral type */
  27735. #define DMA_CHN_IRQS { { DMA0_DMA16_IRQn, DMA1_DMA17_IRQn, DMA2_DMA18_IRQn, DMA3_DMA19_IRQn, DMA4_DMA20_IRQn, DMA5_DMA21_IRQn, DMA6_DMA22_IRQn, DMA7_DMA23_IRQn, DMA8_DMA24_IRQn, DMA9_DMA25_IRQn, DMA10_DMA26_IRQn, DMA11_DMA27_IRQn, DMA12_DMA28_IRQn, DMA13_DMA29_IRQn, DMA14_DMA30_IRQn, DMA15_DMA31_IRQn, DMA0_DMA16_IRQn, DMA1_DMA17_IRQn, DMA2_DMA18_IRQn, DMA3_DMA19_IRQn, DMA4_DMA20_IRQn, DMA5_DMA21_IRQn, DMA6_DMA22_IRQn, DMA7_DMA23_IRQn, DMA8_DMA24_IRQn, DMA9_DMA25_IRQn, DMA10_DMA26_IRQn, DMA11_DMA27_IRQn, DMA12_DMA28_IRQn, DMA13_DMA29_IRQn, DMA14_DMA30_IRQn, DMA15_DMA31_IRQn } }
  27736. #define DMA_ERROR_IRQS { DMA_ERROR_IRQn }
  27737. /*!
  27738. * @}
  27739. */ /* end of group DMA_Peripheral_Access_Layer */
  27740. /* ----------------------------------------------------------------------------
  27741. -- DMAMUX Peripheral Access Layer
  27742. ---------------------------------------------------------------------------- */
  27743. /*!
  27744. * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer
  27745. * @{
  27746. */
  27747. /** DMAMUX - Register Layout Typedef */
  27748. typedef struct {
  27749. __IO uint32_t CHCFG[32]; /**< Channel 0 Configuration Register..Channel 31 Configuration Register, array offset: 0x0, array step: 0x4 */
  27750. } DMAMUX_Type;
  27751. /* ----------------------------------------------------------------------------
  27752. -- DMAMUX Register Masks
  27753. ---------------------------------------------------------------------------- */
  27754. /*!
  27755. * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks
  27756. * @{
  27757. */
  27758. /*! @name CHCFG - Channel 0 Configuration Register..Channel 31 Configuration Register */
  27759. /*! @{ */
  27760. #define DMAMUX_CHCFG_SOURCE_MASK (0xFFU)
  27761. #define DMAMUX_CHCFG_SOURCE_SHIFT (0U)
  27762. /*! SOURCE - DMA Channel Source (Slot Number)
  27763. */
  27764. #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK)
  27765. #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U)
  27766. #define DMAMUX_CHCFG_A_ON_SHIFT (29U)
  27767. /*! A_ON - DMA Channel Always Enable
  27768. * 0b0..DMA Channel Always ON function is disabled
  27769. * 0b1..DMA Channel Always ON function is enabled
  27770. */
  27771. #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK)
  27772. #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U)
  27773. #define DMAMUX_CHCFG_TRIG_SHIFT (30U)
  27774. /*! TRIG - DMA Channel Trigger Enable
  27775. * 0b0..Triggering is disabled. If triggering is disabled and ENBL is set, the DMA Channel will simply route the
  27776. * specified source to the DMA channel. (Normal mode)
  27777. * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode.
  27778. */
  27779. #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK)
  27780. #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U)
  27781. #define DMAMUX_CHCFG_ENBL_SHIFT (31U)
  27782. /*! ENBL - DMA Mux Channel Enable
  27783. * 0b0..DMA Mux channel is disabled
  27784. * 0b1..DMA Mux channel is enabled
  27785. */
  27786. #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK)
  27787. /*! @} */
  27788. /* The count of DMAMUX_CHCFG */
  27789. #define DMAMUX_CHCFG_COUNT (32U)
  27790. /*!
  27791. * @}
  27792. */ /* end of group DMAMUX_Register_Masks */
  27793. /* DMAMUX - Peripheral instance base addresses */
  27794. /** Peripheral DMAMUX0 base address */
  27795. #define DMAMUX0_BASE (0x40074000u)
  27796. /** Peripheral DMAMUX0 base pointer */
  27797. #define DMAMUX0 ((DMAMUX_Type *)DMAMUX0_BASE)
  27798. /** Array initializer of DMAMUX peripheral base addresses */
  27799. #define DMAMUX_BASE_ADDRS { DMAMUX0_BASE }
  27800. /** Array initializer of DMAMUX peripheral base pointers */
  27801. #define DMAMUX_BASE_PTRS { DMAMUX0 }
  27802. /*!
  27803. * @}
  27804. */ /* end of group DMAMUX_Peripheral_Access_Layer */
  27805. /* ----------------------------------------------------------------------------
  27806. -- DSI_HOST Peripheral Access Layer
  27807. ---------------------------------------------------------------------------- */
  27808. /*!
  27809. * @addtogroup DSI_HOST_Peripheral_Access_Layer DSI_HOST Peripheral Access Layer
  27810. * @{
  27811. */
  27812. /** DSI_HOST - Register Layout Typedef */
  27813. typedef struct {
  27814. __IO uint32_t CFG_NUM_LANES; /**< CFG_NUM_LANES, offset: 0x0 */
  27815. __IO uint32_t CFG_NONCONTINUOUS_CLK; /**< CFG_NONCONTINUOUS_CLK, offset: 0x4 */
  27816. __IO uint32_t CFG_T_PRE; /**< CFG_T_PRE, offset: 0x8 */
  27817. __IO uint32_t CFG_T_POST; /**< CFG_T_POST, offset: 0xC */
  27818. __IO uint32_t CFG_TX_GAP; /**< CFG_TX_GAP, offset: 0x10 */
  27819. __IO uint32_t CFG_AUTOINSERT_EOTP; /**< CFG_AUTOINSERT_ETOP, offset: 0x14 */
  27820. __IO uint32_t CFG_EXTRA_CMDS_AFTER_EOTP; /**< CFG_EXTRA_CMDS_AFTER_ETOP, offset: 0x18 */
  27821. __IO uint32_t CFG_HTX_TO_COUNT; /**< CFG_HTX_TO_COUNT, offset: 0x1C */
  27822. __IO uint32_t CFG_LRX_H_TO_COUNT; /**< CFG_LRX_H_TO_COUNT, offset: 0x20 */
  27823. __IO uint32_t CFG_BTA_H_TO_COUNT; /**< CFG_BTA_H_TO_COUNT, offset: 0x24 */
  27824. __IO uint32_t CFG_TWAKEUP; /**< CFG_TWAKEUP, offset: 0x28 */
  27825. __I uint32_t CFG_STATUS_OUT; /**< CFG_STATUS_OUT, offset: 0x2C */
  27826. __I uint32_t RX_ERROR_STATUS; /**< RX_ERROR_STATUS, offset: 0x30 */
  27827. } DSI_HOST_Type;
  27828. /* ----------------------------------------------------------------------------
  27829. -- DSI_HOST Register Masks
  27830. ---------------------------------------------------------------------------- */
  27831. /*!
  27832. * @addtogroup DSI_HOST_Register_Masks DSI_HOST Register Masks
  27833. * @{
  27834. */
  27835. /*! @name CFG_NUM_LANES - CFG_NUM_LANES */
  27836. /*! @{ */
  27837. #define DSI_HOST_CFG_NUM_LANES_NUM_LANES_MASK (0x3U)
  27838. #define DSI_HOST_CFG_NUM_LANES_NUM_LANES_SHIFT (0U)
  27839. /*! NUM_LANES - Sets the number of active lanes that are to be used for transmitting data.
  27840. * 0b00..1 lane
  27841. * 0b01..2 lanes
  27842. */
  27843. #define DSI_HOST_CFG_NUM_LANES_NUM_LANES(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_NUM_LANES_NUM_LANES_SHIFT)) & DSI_HOST_CFG_NUM_LANES_NUM_LANES_MASK)
  27844. /*! @} */
  27845. /*! @name CFG_NONCONTINUOUS_CLK - CFG_NONCONTINUOUS_CLK */
  27846. /*! @{ */
  27847. #define DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_MASK (0x1U)
  27848. #define DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_SHIFT (0U)
  27849. /*! CLK_MODE - Sets the Host Controller into non-continuous MIPI clock mode. When in non-continuous
  27850. * clock mode, the high speed clock will transition into low power mode between transmissions.
  27851. * 0b0..Continuous high speed clock
  27852. * 0b1..Non-Continuous high speed clock
  27853. */
  27854. #define DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_SHIFT)) & DSI_HOST_CFG_NONCONTINUOUS_CLK_CLK_MODE_MASK)
  27855. /*! @} */
  27856. /*! @name CFG_T_PRE - CFG_T_PRE */
  27857. /*! @{ */
  27858. #define DSI_HOST_CFG_T_PRE_NUM_PERIODS_MASK (0xFFU)
  27859. #define DSI_HOST_CFG_T_PRE_NUM_PERIODS_SHIFT (0U)
  27860. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) that the controller will
  27861. * wait after enabling the clock lane for HS operation before enabling the data lanes for HS
  27862. * operation. This setting represents the TCLK-PRE DPHY timing parameter. The minimum value for this
  27863. * port is 1.
  27864. */
  27865. #define DSI_HOST_CFG_T_PRE_NUM_PERIODS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_T_PRE_NUM_PERIODS_SHIFT)) & DSI_HOST_CFG_T_PRE_NUM_PERIODS_MASK)
  27866. /*! @} */
  27867. /*! @name CFG_T_POST - CFG_T_POST */
  27868. /*! @{ */
  27869. #define DSI_HOST_CFG_T_POST_NUM_PERIODS_MASK (0xFFU)
  27870. #define DSI_HOST_CFG_T_POST_NUM_PERIODS_SHIFT (0U)
  27871. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) to wait before putting
  27872. * the clock lane into LP mode after the data lanes have been detected to be in Stop State. This
  27873. * setting represents the DPHY timing parameters TLPX + TCLK-PREPARE + TCLK-ZERO + TCLK-PRE
  27874. * requirement for the clock lane before the data lane is allowed to change from LP11 to start a high
  27875. * speed transmission. The minimum value for this port is 1.
  27876. */
  27877. #define DSI_HOST_CFG_T_POST_NUM_PERIODS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_T_POST_NUM_PERIODS_SHIFT)) & DSI_HOST_CFG_T_POST_NUM_PERIODS_MASK)
  27878. /*! @} */
  27879. /*! @name CFG_TX_GAP - CFG_TX_GAP */
  27880. /*! @{ */
  27881. #define DSI_HOST_CFG_TX_GAP_NUM_PERIODS_MASK (0xFFU)
  27882. #define DSI_HOST_CFG_TX_GAP_NUM_PERIODS_SHIFT (0U)
  27883. /*! NUM_PERIODS - Sets the number of byte clock periods ('clk_byte' input) that the controller will
  27884. * wait after the clock lane has been put into LP mode before enabling the clock lane for HS mode
  27885. * again. This setting represents the THS-EXIT DPHY timing parameter. The minimum value for this
  27886. * port is 1.
  27887. */
  27888. #define DSI_HOST_CFG_TX_GAP_NUM_PERIODS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_TX_GAP_NUM_PERIODS_SHIFT)) & DSI_HOST_CFG_TX_GAP_NUM_PERIODS_MASK)
  27889. /*! @} */
  27890. /*! @name CFG_AUTOINSERT_EOTP - CFG_AUTOINSERT_ETOP */
  27891. /*! @{ */
  27892. #define DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_MASK (0x1U)
  27893. #define DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_SHIFT (0U)
  27894. /*! AUTOINSERT - Enables the Host Controller to automatically insert an EoTp short packet when switching from HS to LP mode.
  27895. * 0b0..EoTp is not automatically inserted
  27896. * 0b1..EoTp is automatically inserted
  27897. */
  27898. #define DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_SHIFT)) & DSI_HOST_CFG_AUTOINSERT_EOTP_AUTOINSERT_MASK)
  27899. /*! @} */
  27900. /*! @name CFG_EXTRA_CMDS_AFTER_EOTP - CFG_EXTRA_CMDS_AFTER_ETOP */
  27901. /*! @{ */
  27902. #define DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_MASK (0xFFU)
  27903. #define DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_SHIFT (0U)
  27904. /*! EXTRA_EOTP - Configures the DSI Host Controller to send extra End Of Transmission Packets after
  27905. * the end of a packet. The value is the number of extra EOTP packets sent.
  27906. */
  27907. #define DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_SHIFT)) & DSI_HOST_CFG_EXTRA_CMDS_AFTER_EOTP_EXTRA_EOTP_MASK)
  27908. /*! @} */
  27909. /*! @name CFG_HTX_TO_COUNT - CFG_HTX_TO_COUNT */
  27910. /*! @{ */
  27911. #define DSI_HOST_CFG_HTX_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27912. #define DSI_HOST_CFG_HTX_TO_COUNT_COUNT_SHIFT (0U)
  27913. /*! COUNT - Sets the value of the DSI Host High Speed TX timeout count in clk_byte clock periods
  27914. * that once reached will initiate a timeout error and follow the recovery procedure documented in
  27915. * the DSI specification.
  27916. */
  27917. #define DSI_HOST_CFG_HTX_TO_COUNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_HTX_TO_COUNT_COUNT_SHIFT)) & DSI_HOST_CFG_HTX_TO_COUNT_COUNT_MASK)
  27918. /*! @} */
  27919. /*! @name CFG_LRX_H_TO_COUNT - CFG_LRX_H_TO_COUNT */
  27920. /*! @{ */
  27921. #define DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27922. #define DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_SHIFT (0U)
  27923. /*! COUNT - Sets the value of the DSI Host low power RX timeout count in clk_byte clock periods that
  27924. * once reached will initiate a timeout error and follow the recovery procedure documented in
  27925. * the DSI specification.
  27926. */
  27927. #define DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_SHIFT)) & DSI_HOST_CFG_LRX_H_TO_COUNT_COUNT_MASK)
  27928. /*! @} */
  27929. /*! @name CFG_BTA_H_TO_COUNT - CFG_BTA_H_TO_COUNT */
  27930. /*! @{ */
  27931. #define DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_MASK (0xFFFFFFU)
  27932. #define DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_SHIFT (0U)
  27933. /*! COUNT - Sets the value of the DSI Host Bus Turn Around (BTA) timeout in clk_byte clock periods
  27934. * that once reached will initiate a timeout error.
  27935. */
  27936. #define DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_SHIFT)) & DSI_HOST_CFG_BTA_H_TO_COUNT_COUNT_MASK)
  27937. /*! @} */
  27938. /*! @name CFG_TWAKEUP - CFG_TWAKEUP */
  27939. /*! @{ */
  27940. #define DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_MASK (0x7FFFFU)
  27941. #define DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_SHIFT (0U)
  27942. /*! NUM_PERIODS - DPHY Twakeup timing parameter. Sets the number of clk_esc clock periods to keep a
  27943. * clock or data lane in Mark-1 state after exiting ULPS. The MIPI DPHY spec requires a minimum
  27944. * of 1ms in Mark-1 state after leaving ULPS.
  27945. */
  27946. #define DSI_HOST_CFG_TWAKEUP_NUM_PERIODS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_SHIFT)) & DSI_HOST_CFG_TWAKEUP_NUM_PERIODS_MASK)
  27947. /*! @} */
  27948. /*! @name CFG_STATUS_OUT - CFG_STATUS_OUT */
  27949. /*! @{ */
  27950. #define DSI_HOST_CFG_STATUS_OUT_STATUS_MASK (0xFFFFFFFFU)
  27951. #define DSI_HOST_CFG_STATUS_OUT_STATUS_SHIFT (0U)
  27952. /*! STATUS - Status Register
  27953. */
  27954. #define DSI_HOST_CFG_STATUS_OUT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_CFG_STATUS_OUT_STATUS_SHIFT)) & DSI_HOST_CFG_STATUS_OUT_STATUS_MASK)
  27955. /*! @} */
  27956. /*! @name RX_ERROR_STATUS - RX_ERROR_STATUS */
  27957. /*! @{ */
  27958. #define DSI_HOST_RX_ERROR_STATUS_STATUS_MASK (0x7FFU)
  27959. #define DSI_HOST_RX_ERROR_STATUS_STATUS_SHIFT (0U)
  27960. /*! STATUS - Status Register for Host receive error detection, ECC errors, CRC errors and for timeout indicators
  27961. */
  27962. #define DSI_HOST_RX_ERROR_STATUS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_RX_ERROR_STATUS_STATUS_SHIFT)) & DSI_HOST_RX_ERROR_STATUS_STATUS_MASK)
  27963. /*! @} */
  27964. /*!
  27965. * @}
  27966. */ /* end of group DSI_HOST_Register_Masks */
  27967. /* DSI_HOST - Peripheral instance base addresses */
  27968. /** Peripheral DSI_HOST base address */
  27969. #define DSI_HOST_BASE (0x4080C000u)
  27970. /** Peripheral DSI_HOST base pointer */
  27971. #define DSI_HOST ((DSI_HOST_Type *)DSI_HOST_BASE)
  27972. /** Array initializer of DSI_HOST peripheral base addresses */
  27973. #define DSI_HOST_BASE_ADDRS { DSI_HOST_BASE }
  27974. /** Array initializer of DSI_HOST peripheral base pointers */
  27975. #define DSI_HOST_BASE_PTRS { DSI_HOST }
  27976. /** Interrupt vectors for the DSI_HOST peripheral type */
  27977. #define DSI_HOST_DSI_IRQS { MIPI_DSI_IRQn }
  27978. /*!
  27979. * @}
  27980. */ /* end of group DSI_HOST_Peripheral_Access_Layer */
  27981. /* ----------------------------------------------------------------------------
  27982. -- DSI_HOST_APB_PKT_IF Peripheral Access Layer
  27983. ---------------------------------------------------------------------------- */
  27984. /*!
  27985. * @addtogroup DSI_HOST_APB_PKT_IF_Peripheral_Access_Layer DSI_HOST_APB_PKT_IF Peripheral Access Layer
  27986. * @{
  27987. */
  27988. /** DSI_HOST_APB_PKT_IF - Register Layout Typedef */
  27989. typedef struct {
  27990. __IO uint32_t TX_PAYLOAD; /**< TX_PAYLOAD, offset: 0x0 */
  27991. __IO uint32_t PKT_CONTROL; /**< PKT_CONTROL, offset: 0x4 */
  27992. __IO uint32_t SEND_PACKET; /**< SEND_PACKET, offset: 0x8 */
  27993. __I uint32_t PKT_STATUS; /**< PKT_STATUS, offset: 0xC */
  27994. __I uint32_t PKT_FIFO_WR_LEVEL; /**< PKT_FIFO_WR_LEVEL, offset: 0x10 */
  27995. __I uint32_t PKT_FIFO_RD_LEVEL; /**< PKT_FIFO_RD_LEVEL, offset: 0x14 */
  27996. __I uint32_t PKT_RX_PAYLOAD; /**< PKT_RX_PAYLOAD, offset: 0x18 */
  27997. __I uint32_t PKT_RX_PKT_HEADER; /**< PKT_RX_PKT_HEADER, offset: 0x1C */
  27998. __I uint32_t IRQ_STATUS; /**< IRQ_STATUS, offset: 0x20 */
  27999. __I uint32_t IRQ_STATUS2; /**< IRQ_STATUS2, offset: 0x24 */
  28000. __IO uint32_t IRQ_MASK; /**< IRQ_MASK, offset: 0x28 */
  28001. __IO uint32_t IRQ_MASK2; /**< IRQ_MASK2, offset: 0x2C */
  28002. } DSI_HOST_APB_PKT_IF_Type;
  28003. /* ----------------------------------------------------------------------------
  28004. -- DSI_HOST_APB_PKT_IF Register Masks
  28005. ---------------------------------------------------------------------------- */
  28006. /*!
  28007. * @addtogroup DSI_HOST_APB_PKT_IF_Register_Masks DSI_HOST_APB_PKT_IF Register Masks
  28008. * @{
  28009. */
  28010. /*! @name TX_PAYLOAD - TX_PAYLOAD */
  28011. /*! @{ */
  28012. #define DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_MASK (0xFFFFFFFFU)
  28013. #define DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_SHIFT (0U)
  28014. /*! PAYLOAD - Tx Payload data write register. Write to this register loads the payload FIFO with 32 bit values.
  28015. */
  28016. #define DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_SHIFT)) & DSI_HOST_APB_PKT_IF_TX_PAYLOAD_PAYLOAD_MASK)
  28017. /*! @} */
  28018. /*! @name PKT_CONTROL - PKT_CONTROL */
  28019. /*! @{ */
  28020. #define DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_MASK (0x7FFFFFFU)
  28021. #define DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_SHIFT (0U)
  28022. /*! CTRL - Tx packet control
  28023. */
  28024. #define DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_CONTROL_CTRL_MASK)
  28025. /*! @} */
  28026. /*! @name SEND_PACKET - SEND_PACKET */
  28027. /*! @{ */
  28028. #define DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_MASK (0x1U)
  28029. #define DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_SHIFT (0U)
  28030. /*! TX_SEND - Tx send packet, writing to this register causes the packet described in dsi_host_pkt_control to be sent.
  28031. * 0b0..Packet not sent
  28032. * 0b1..Packet is sent
  28033. */
  28034. #define DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_SHIFT)) & DSI_HOST_APB_PKT_IF_SEND_PACKET_TX_SEND_MASK)
  28035. /*! @} */
  28036. /*! @name PKT_STATUS - PKT_STATUS */
  28037. /*! @{ */
  28038. #define DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_MASK (0x1FFU)
  28039. #define DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_SHIFT (0U)
  28040. /*! STATUS - Status of APB to packet interface.
  28041. */
  28042. #define DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_STATUS_STATUS_MASK)
  28043. /*! @} */
  28044. /*! @name PKT_FIFO_WR_LEVEL - PKT_FIFO_WR_LEVEL */
  28045. /*! @{ */
  28046. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_MASK (0xFFFFU)
  28047. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_SHIFT (0U)
  28048. /*! WR - Write level of APB to pkt interface FIFO
  28049. */
  28050. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_FIFO_WR_LEVEL_WR_MASK)
  28051. /*! @} */
  28052. /*! @name PKT_FIFO_RD_LEVEL - PKT_FIFO_RD_LEVEL */
  28053. /*! @{ */
  28054. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_MASK (0xFFFFU)
  28055. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_SHIFT (0U)
  28056. /*! RD - Read level of APB to pkt interface FIFO
  28057. */
  28058. #define DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_FIFO_RD_LEVEL_RD_MASK)
  28059. /*! @} */
  28060. /*! @name PKT_RX_PAYLOAD - PKT_RX_PAYLOAD */
  28061. /*! @{ */
  28062. #define DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_MASK (0xFFFFFFFFU)
  28063. #define DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_SHIFT (0U)
  28064. /*! PAYLOAD - APB to pkt interface Rx payload read
  28065. */
  28066. #define DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_RX_PAYLOAD_PAYLOAD_MASK)
  28067. /*! @} */
  28068. /*! @name PKT_RX_PKT_HEADER - PKT_RX_PKT_HEADER */
  28069. /*! @{ */
  28070. #define DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_MASK (0xFFFFFFU)
  28071. #define DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_SHIFT (0U)
  28072. /*! HEADER - APB to pkt interface Rx packet header
  28073. */
  28074. #define DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_SHIFT)) & DSI_HOST_APB_PKT_IF_PKT_RX_PKT_HEADER_HEADER_MASK)
  28075. /*! @} */
  28076. /*! @name IRQ_STATUS - IRQ_STATUS */
  28077. /*! @{ */
  28078. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_MASK (0xFFFFFFFFU)
  28079. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_SHIFT (0U)
  28080. /*! STATUS - Status of APB to packet interface.
  28081. */
  28082. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_SHIFT)) & DSI_HOST_APB_PKT_IF_IRQ_STATUS_STATUS_MASK)
  28083. /*! @} */
  28084. /*! @name IRQ_STATUS2 - IRQ_STATUS2 */
  28085. /*! @{ */
  28086. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_MASK (0x7U)
  28087. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_SHIFT (0U)
  28088. /*! STATUS2 - Status of APB to packet interface part 2, read part 2 first then dsi_host_irq_status.
  28089. * Reading dsi_host_irq_status will clear both status and status2.
  28090. */
  28091. #define DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_SHIFT)) & DSI_HOST_APB_PKT_IF_IRQ_STATUS2_STATUS2_MASK)
  28092. /*! @} */
  28093. /*! @name IRQ_MASK - IRQ_MASK */
  28094. /*! @{ */
  28095. #define DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_MASK (0xFFFFFFFFU)
  28096. #define DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_SHIFT (0U)
  28097. /*! MASK - IRQ Mask
  28098. */
  28099. #define DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_SHIFT)) & DSI_HOST_APB_PKT_IF_IRQ_MASK_MASK_MASK)
  28100. /*! @} */
  28101. /*! @name IRQ_MASK2 - IRQ_MASK2 */
  28102. /*! @{ */
  28103. #define DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_MASK (0x7U)
  28104. #define DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_SHIFT (0U)
  28105. /*! MASK2 - IRQ mask 2
  28106. */
  28107. #define DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_SHIFT)) & DSI_HOST_APB_PKT_IF_IRQ_MASK2_MASK2_MASK)
  28108. /*! @} */
  28109. /*!
  28110. * @}
  28111. */ /* end of group DSI_HOST_APB_PKT_IF_Register_Masks */
  28112. /* DSI_HOST_APB_PKT_IF - Peripheral instance base addresses */
  28113. /** Peripheral DSI_HOST_APB_PKT_IF base address */
  28114. #define DSI_HOST_APB_PKT_IF_BASE (0x4080C280u)
  28115. /** Peripheral DSI_HOST_APB_PKT_IF base pointer */
  28116. #define DSI_HOST_APB_PKT_IF ((DSI_HOST_APB_PKT_IF_Type *)DSI_HOST_APB_PKT_IF_BASE)
  28117. /** Array initializer of DSI_HOST_APB_PKT_IF peripheral base addresses */
  28118. #define DSI_HOST_APB_PKT_IF_BASE_ADDRS { DSI_HOST_APB_PKT_IF_BASE }
  28119. /** Array initializer of DSI_HOST_APB_PKT_IF peripheral base pointers */
  28120. #define DSI_HOST_APB_PKT_IF_BASE_PTRS { DSI_HOST_APB_PKT_IF }
  28121. /*!
  28122. * @}
  28123. */ /* end of group DSI_HOST_APB_PKT_IF_Peripheral_Access_Layer */
  28124. /* ----------------------------------------------------------------------------
  28125. -- DSI_HOST_DPI_INTFC Peripheral Access Layer
  28126. ---------------------------------------------------------------------------- */
  28127. /*!
  28128. * @addtogroup DSI_HOST_DPI_INTFC_Peripheral_Access_Layer DSI_HOST_DPI_INTFC Peripheral Access Layer
  28129. * @{
  28130. */
  28131. /** DSI_HOST_DPI_INTFC - Register Layout Typedef */
  28132. typedef struct {
  28133. __IO uint32_t PIXEL_PAYLOAD_SIZE; /**< PEXEL_PAYLOAD_SIZE, offset: 0x0 */
  28134. __IO uint32_t PIXEL_FIFO_SEND_LEVEL; /**< PIXEL_FIFO_SEND_LEVEL, offset: 0x4 */
  28135. __IO uint32_t INTERFACE_COLOR_CODING; /**< INTERFACE_COLOR_CODING, offset: 0x8 */
  28136. __IO uint32_t PIXEL_FORMAT; /**< PIXEL_FORMAT, offset: 0xC */
  28137. __IO uint32_t VSYNC_POLARITY; /**< VSYNC_POLARITY, offset: 0x10 */
  28138. __IO uint32_t HSYNC_POLARITY; /**< HSYNC_POLARITY, offset: 0x14 */
  28139. __IO uint32_t VIDEO_MODE; /**< VIDEO_MODE, offset: 0x18 */
  28140. __IO uint32_t HFP; /**< HFP, offset: 0x1C */
  28141. __IO uint32_t HBP; /**< HBP, offset: 0x20 */
  28142. __IO uint32_t HSA; /**< HSA, offset: 0x24 */
  28143. __IO uint32_t ENABLE_MULT_PKTS; /**< ENABLE_MULT_PKTS, offset: 0x28 */
  28144. __IO uint32_t VBP; /**< VBP, offset: 0x2C */
  28145. __IO uint32_t VFP; /**< VFP, offset: 0x30 */
  28146. __IO uint32_t BLLP_MODE; /**< BLLP_MODE, offset: 0x34 */
  28147. __IO uint32_t USE_NULL_PKT_BLLP; /**< USE_NULL_PKT_BLLP, offset: 0x38 */
  28148. __IO uint32_t VACTIVE; /**< VACTIVE, offset: 0x3C */
  28149. } DSI_HOST_DPI_INTFC_Type;
  28150. /* ----------------------------------------------------------------------------
  28151. -- DSI_HOST_DPI_INTFC Register Masks
  28152. ---------------------------------------------------------------------------- */
  28153. /*!
  28154. * @addtogroup DSI_HOST_DPI_INTFC_Register_Masks DSI_HOST_DPI_INTFC Register Masks
  28155. * @{
  28156. */
  28157. /*! @name PIXEL_PAYLOAD_SIZE - PEXEL_PAYLOAD_SIZE */
  28158. /*! @{ */
  28159. #define DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_MASK (0xFFFFU)
  28160. #define DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_SHIFT (0U)
  28161. /*! PAYLOAD_SIZE - Maximum number of pixels that should be sent as one DSI packet. Recommended to be
  28162. * evenly divisible by the line size (in pixels).
  28163. */
  28164. #define DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_SHIFT)) & DSI_HOST_DPI_INTFC_PIXEL_PAYLOAD_SIZE_PAYLOAD_SIZE_MASK)
  28165. /*! @} */
  28166. /*! @name PIXEL_FIFO_SEND_LEVEL - PIXEL_FIFO_SEND_LEVEL */
  28167. /*! @{ */
  28168. #define DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_MASK (0xFFFFU)
  28169. #define DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_SHIFT (0U)
  28170. /*! FIFO_SEND_LEVEL - In order to optimize DSI utility, the DPI bridge buffers a certain number of
  28171. * DPI pixels before initiating a DSI packet. This configuration port controls the level at which
  28172. * the DPI Host bridge begins sending pixels.
  28173. */
  28174. #define DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_SHIFT)) & DSI_HOST_DPI_INTFC_PIXEL_FIFO_SEND_LEVEL_FIFO_SEND_LEVEL_MASK)
  28175. /*! @} */
  28176. /*! @name INTERFACE_COLOR_CODING - INTERFACE_COLOR_CODING */
  28177. /*! @{ */
  28178. #define DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_MASK (0x7U)
  28179. #define DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_SHIFT (0U)
  28180. /*! RGB_CONFIG - Sets the distribution of RGB bits within the 24-bit d bus, as specified by the DPI specification.
  28181. * 0b000..16-bit Configuration 1
  28182. * 0b001..16-bit Configuration 2
  28183. * 0b010..16-bit Configuration 3
  28184. * 0b011..18-bit Configuration 1
  28185. * 0b100..18-bit Configuration 2
  28186. * 0b101..24-bit
  28187. * 0b110, 0b111..Reserved
  28188. */
  28189. #define DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_SHIFT)) & DSI_HOST_DPI_INTFC_INTERFACE_COLOR_CODING_RGB_CONFIG_MASK)
  28190. /*! @} */
  28191. /*! @name PIXEL_FORMAT - PIXEL_FORMAT */
  28192. /*! @{ */
  28193. #define DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_MASK (0x3U)
  28194. #define DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_SHIFT (0U)
  28195. /*! PIXEL_FORMAT - Sets the DSI packet type of the pixels
  28196. * 0b00..16 bit
  28197. * 0b01..18 bit
  28198. * 0b10..18 bit loosely packed
  28199. * 0b11..24 bit
  28200. */
  28201. #define DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_SHIFT)) & DSI_HOST_DPI_INTFC_PIXEL_FORMAT_PIXEL_FORMAT_MASK)
  28202. /*! @} */
  28203. /*! @name VSYNC_POLARITY - VSYNC_POLARITY */
  28204. /*! @{ */
  28205. #define DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_MASK (0x1U)
  28206. #define DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_SHIFT (0U)
  28207. /*! VSYNC_POLARITY - Sets polarity of dpi_vsync_input
  28208. * 0b0..active low
  28209. * 0b1..active high
  28210. */
  28211. #define DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_SHIFT)) & DSI_HOST_DPI_INTFC_VSYNC_POLARITY_VSYNC_POLARITY_MASK)
  28212. /*! @} */
  28213. /*! @name HSYNC_POLARITY - HSYNC_POLARITY */
  28214. /*! @{ */
  28215. #define DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_MASK (0x1U)
  28216. #define DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_SHIFT (0U)
  28217. /*! HSYNC_POLARITY - Sets polarity of dpi_hsync_input
  28218. * 0b0..active low
  28219. * 0b1..active high
  28220. */
  28221. #define DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_SHIFT)) & DSI_HOST_DPI_INTFC_HSYNC_POLARITY_HSYNC_POLARITY_MASK)
  28222. /*! @} */
  28223. /*! @name VIDEO_MODE - VIDEO_MODE */
  28224. /*! @{ */
  28225. #define DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_MASK (0x3U)
  28226. #define DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_SHIFT (0U)
  28227. /*! VIDEO_MODE - Select DSI video mode that the host DPI module should generate packets for.
  28228. * 0b00..Non-Burst mode with Sync Pulses
  28229. * 0b01..Non-Burst mode with Sync Events
  28230. * 0b10..Burst mode
  28231. * 0b11..Reserved, not valid
  28232. */
  28233. #define DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_SHIFT)) & DSI_HOST_DPI_INTFC_VIDEO_MODE_VIDEO_MODE_MASK)
  28234. /*! @} */
  28235. /*! @name HFP - HFP */
  28236. /*! @{ */
  28237. #define DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_MASK (0xFFFFU)
  28238. #define DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_SHIFT (0U)
  28239. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal front porch blanking packet.
  28240. */
  28241. #define DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_SHIFT)) & DSI_HOST_DPI_INTFC_HFP_PAYLOAD_SIZE_MASK)
  28242. /*! @} */
  28243. /*! @name HBP - HBP */
  28244. /*! @{ */
  28245. #define DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_MASK (0xFFFFU)
  28246. #define DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_SHIFT (0U)
  28247. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal back porch blanking packet.
  28248. */
  28249. #define DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_SHIFT)) & DSI_HOST_DPI_INTFC_HBP_PAYLOAD_SIZE_MASK)
  28250. /*! @} */
  28251. /*! @name HSA - HSA */
  28252. /*! @{ */
  28253. #define DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_MASK (0xFFFFU)
  28254. #define DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_SHIFT (0U)
  28255. /*! PAYLOAD_SIZE - Sets the DSI packet payload size, in bytes, of the horizontal sync width filler blanking packet.
  28256. */
  28257. #define DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_SHIFT)) & DSI_HOST_DPI_INTFC_HSA_PAYLOAD_SIZE_MASK)
  28258. /*! @} */
  28259. /*! @name ENABLE_MULT_PKTS - ENABLE_MULT_PKTS */
  28260. /*! @{ */
  28261. #define DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_MASK (0x1U)
  28262. #define DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_SHIFT (0U)
  28263. /*! ENABLE_MULT_PKTS - Enable Multiple packets per video line. When enabled,
  28264. * PIXEL_PAYLOAD_SIZE[PAYLOAD_SIZE] must be set to exactly half the size of the video line
  28265. * 0b0..Video Line is sent in a single packet
  28266. * 0b1..Video Line is sent in two packets
  28267. */
  28268. #define DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_SHIFT)) & DSI_HOST_DPI_INTFC_ENABLE_MULT_PKTS_ENABLE_MULT_PKTS_MASK)
  28269. /*! @} */
  28270. /*! @name VBP - VBP */
  28271. /*! @{ */
  28272. #define DSI_HOST_DPI_INTFC_VBP_NUM_LINES_MASK (0xFFU)
  28273. #define DSI_HOST_DPI_INTFC_VBP_NUM_LINES_SHIFT (0U)
  28274. /*! NUM_LINES - Sets the number of lines in the vertical back porch.
  28275. */
  28276. #define DSI_HOST_DPI_INTFC_VBP_NUM_LINES(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_VBP_NUM_LINES_SHIFT)) & DSI_HOST_DPI_INTFC_VBP_NUM_LINES_MASK)
  28277. /*! @} */
  28278. /*! @name VFP - VFP */
  28279. /*! @{ */
  28280. #define DSI_HOST_DPI_INTFC_VFP_NUM_LINES_MASK (0xFFU)
  28281. #define DSI_HOST_DPI_INTFC_VFP_NUM_LINES_SHIFT (0U)
  28282. /*! NUM_LINES - Sets the number of lines in the vertical front porch.
  28283. */
  28284. #define DSI_HOST_DPI_INTFC_VFP_NUM_LINES(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_VFP_NUM_LINES_SHIFT)) & DSI_HOST_DPI_INTFC_VFP_NUM_LINES_MASK)
  28285. /*! @} */
  28286. /*! @name BLLP_MODE - BLLP_MODE */
  28287. /*! @{ */
  28288. #define DSI_HOST_DPI_INTFC_BLLP_MODE_LP_MASK (0x1U)
  28289. #define DSI_HOST_DPI_INTFC_BLLP_MODE_LP_SHIFT (0U)
  28290. /*! LP - Optimize bllp periods to Low Power mode when possible
  28291. * 0b0..Blanking packets are sent during BLLP periods
  28292. * 0b1..LP mode is used for BLLP periods
  28293. */
  28294. #define DSI_HOST_DPI_INTFC_BLLP_MODE_LP(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_BLLP_MODE_LP_SHIFT)) & DSI_HOST_DPI_INTFC_BLLP_MODE_LP_MASK)
  28295. /*! @} */
  28296. /*! @name USE_NULL_PKT_BLLP - USE_NULL_PKT_BLLP */
  28297. /*! @{ */
  28298. #define DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_MASK (0x1U)
  28299. #define DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_SHIFT (0U)
  28300. /*! NULL - Selects type of blanking packet to be sent during bllp
  28301. * 0b0..Blanking packet used in bllp region 1
  28302. * 0b1..Null packet used in bllp region
  28303. */
  28304. #define DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_SHIFT)) & DSI_HOST_DPI_INTFC_USE_NULL_PKT_BLLP_NULL_MASK)
  28305. /*! @} */
  28306. /*! @name VACTIVE - VACTIVE */
  28307. /*! @{ */
  28308. #define DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_MASK (0x3FFFU)
  28309. #define DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_SHIFT (0U)
  28310. /*! NUM_LINES - Sets the number of lines in the vertical active aread.
  28311. */
  28312. #define DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_SHIFT)) & DSI_HOST_DPI_INTFC_VACTIVE_NUM_LINES_MASK)
  28313. /*! @} */
  28314. /*!
  28315. * @}
  28316. */ /* end of group DSI_HOST_DPI_INTFC_Register_Masks */
  28317. /* DSI_HOST_DPI_INTFC - Peripheral instance base addresses */
  28318. /** Peripheral DSI_HOST_DPI_INTFC base address */
  28319. #define DSI_HOST_DPI_INTFC_BASE (0x4080C200u)
  28320. /** Peripheral DSI_HOST_DPI_INTFC base pointer */
  28321. #define DSI_HOST_DPI_INTFC ((DSI_HOST_DPI_INTFC_Type *)DSI_HOST_DPI_INTFC_BASE)
  28322. /** Array initializer of DSI_HOST_DPI_INTFC peripheral base addresses */
  28323. #define DSI_HOST_DPI_INTFC_BASE_ADDRS { DSI_HOST_DPI_INTFC_BASE }
  28324. /** Array initializer of DSI_HOST_DPI_INTFC peripheral base pointers */
  28325. #define DSI_HOST_DPI_INTFC_BASE_PTRS { DSI_HOST_DPI_INTFC }
  28326. /*!
  28327. * @}
  28328. */ /* end of group DSI_HOST_DPI_INTFC_Peripheral_Access_Layer */
  28329. /* ----------------------------------------------------------------------------
  28330. -- DSI_HOST_NXP_FDSOI28_DPHY_INTFC Peripheral Access Layer
  28331. ---------------------------------------------------------------------------- */
  28332. /*!
  28333. * @addtogroup DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Peripheral_Access_Layer DSI_HOST_NXP_FDSOI28_DPHY_INTFC Peripheral Access Layer
  28334. * @{
  28335. */
  28336. /** DSI_HOST_NXP_FDSOI28_DPHY_INTFC - Register Layout Typedef */
  28337. typedef struct {
  28338. __IO uint32_t PD_TX; /**< PD_TX, offset: 0x0 */
  28339. __IO uint32_t M_PRG_HS_PREPARE; /**< M_PRG_HS_PREPARE, offset: 0x4 */
  28340. __IO uint32_t MC_PRG_HS_PREPARE; /**< MC_PRG_HS_PREPARE, offset: 0x8 */
  28341. __IO uint32_t M_PRG_HS_ZERO; /**< M_PRG_HS_ZERO, offset: 0xC */
  28342. __IO uint32_t MC_PRG_HS_ZERO; /**< MC_PRG_HS_ZERO, offset: 0x10 */
  28343. __IO uint32_t M_PRG_HS_TRAIL; /**< M_PRG_HS_TRAIL, offset: 0x14 */
  28344. __IO uint32_t MC_PRG_HS_TRAIL; /**< MC_PRG_HS_TRAIL, offset: 0x18 */
  28345. __IO uint32_t PD_PLL; /**< PD_PLL, offset: 0x1C */
  28346. __IO uint32_t TST; /**< TST, offset: 0x20 */
  28347. __IO uint32_t CN; /**< CN, offset: 0x24 */
  28348. __IO uint32_t CM; /**< CM, offset: 0x28 */
  28349. __IO uint32_t CO; /**< CO, offset: 0x2C */
  28350. __I uint32_t LOCK; /**< LOCK, offset: 0x30 */
  28351. __IO uint32_t LOCK_BYP; /**< LOCK_BYP, offset: 0x34 */
  28352. __IO uint32_t TX_RCAL; /**< TX_RCAL, offset: 0x38 */
  28353. __IO uint32_t AUTO_PD_EN; /**< AUTO_PD_EN, offset: 0x3C */
  28354. __IO uint32_t RXLPRP; /**< RXLPRP, offset: 0x40 */
  28355. __IO uint32_t RXCDRP; /**< RXCDRP, offset: 0x44 */
  28356. } DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Type;
  28357. /* ----------------------------------------------------------------------------
  28358. -- DSI_HOST_NXP_FDSOI28_DPHY_INTFC Register Masks
  28359. ---------------------------------------------------------------------------- */
  28360. /*!
  28361. * @addtogroup DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Register_Masks DSI_HOST_NXP_FDSOI28_DPHY_INTFC Register Masks
  28362. * @{
  28363. */
  28364. /*! @name PD_TX - PD_TX */
  28365. /*! @{ */
  28366. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_MASK (0x1U)
  28367. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_SHIFT (0U)
  28368. /*! PD_TX - Power Down input for D-PHY
  28369. * 0b1..Power Down
  28370. * 0b0..Power Up
  28371. */
  28372. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_TX_PD_TX_MASK)
  28373. /*! @} */
  28374. /*! @name M_PRG_HS_PREPARE - M_PRG_HS_PREPARE */
  28375. /*! @{ */
  28376. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_MASK (0x3U)
  28377. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_SHIFT (0U)
  28378. /*! M_PRG_HS_PREPARE - DPHY m_PRG_HS_PREPARE input
  28379. */
  28380. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_PREPARE_M_PRG_HS_PREPARE_MASK)
  28381. /*! @} */
  28382. /*! @name MC_PRG_HS_PREPARE - MC_PRG_HS_PREPARE */
  28383. /*! @{ */
  28384. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_MASK (0x1U)
  28385. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_SHIFT (0U)
  28386. /*! MC_PRG_HS_PREPARE - DPHY mc_PRG_HS_PREPARE input
  28387. */
  28388. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_PREPARE_MC_PRG_HS_PREPARE_MASK)
  28389. /*! @} */
  28390. /*! @name M_PRG_HS_ZERO - M_PRG_HS_ZERO */
  28391. /*! @{ */
  28392. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_MASK (0x1FU)
  28393. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_SHIFT (0U)
  28394. /*! M_PRG_HS_ZERO - DPHY m_PRG_HS_ZERO input
  28395. */
  28396. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_ZERO_M_PRG_HS_ZERO_MASK)
  28397. /*! @} */
  28398. /*! @name MC_PRG_HS_ZERO - MC_PRG_HS_ZERO */
  28399. /*! @{ */
  28400. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_MASK (0x3FU)
  28401. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_SHIFT (0U)
  28402. /*! MC_PRG_HS_ZERO - DPHY mc_PRG_HS_ZERO input
  28403. */
  28404. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_ZERO_MC_PRG_HS_ZERO_MASK)
  28405. /*! @} */
  28406. /*! @name M_PRG_HS_TRAIL - M_PRG_HS_TRAIL */
  28407. /*! @{ */
  28408. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_MASK (0xFU)
  28409. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_SHIFT (0U)
  28410. /*! M_PRG_HS_TRAIL - DPHY m_PRG_HS_TRAIL input
  28411. */
  28412. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_M_PRG_HS_TRAIL_M_PRG_HS_TRAIL_MASK)
  28413. /*! @} */
  28414. /*! @name MC_PRG_HS_TRAIL - MC_PRG_HS_TRAIL */
  28415. /*! @{ */
  28416. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_MASK (0xFU)
  28417. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_SHIFT (0U)
  28418. /*! MC_PRG_HS_TRAIL - DPHY mc_PRG_HS_TRAIL input
  28419. */
  28420. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_MC_PRG_HS_TRAIL_MC_PRG_HS_TRAIL_MASK)
  28421. /*! @} */
  28422. /*! @name PD_PLL - PD_PLL */
  28423. /*! @{ */
  28424. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_MASK (0x1U)
  28425. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_SHIFT (0U)
  28426. /*! PD_PLL - Power-down signal
  28427. * 0b1..Power down PLL
  28428. * 0b0..Power up PLL
  28429. */
  28430. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_PD_PLL_PD_PLL_MASK)
  28431. /*! @} */
  28432. /*! @name TST - TST */
  28433. /*! @{ */
  28434. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_MASK (0x3FU)
  28435. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_SHIFT (0U)
  28436. /*! TST - Test
  28437. */
  28438. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TST_TST_MASK)
  28439. /*! @} */
  28440. /*! @name CN - CN */
  28441. /*! @{ */
  28442. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_MASK (0x1FU)
  28443. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_SHIFT (0U)
  28444. /*! CN - Control N divider
  28445. */
  28446. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CN_CN_MASK)
  28447. /*! @} */
  28448. /*! @name CM - CM */
  28449. /*! @{ */
  28450. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_MASK (0xFFU)
  28451. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_SHIFT (0U)
  28452. /*! CM - Control M divider
  28453. */
  28454. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CM_CM_MASK)
  28455. /*! @} */
  28456. /*! @name CO - CO */
  28457. /*! @{ */
  28458. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_MASK (0x3U)
  28459. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_SHIFT (0U)
  28460. /*! CO - Control O divider
  28461. * 0b00..Divide by 1
  28462. * 0b01..Divide by 2
  28463. * 0b10..Divide by 4
  28464. * 0b11..Divide by 8
  28465. */
  28466. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_CO_CO_MASK)
  28467. /*! @} */
  28468. /*! @name LOCK - LOCK */
  28469. /*! @{ */
  28470. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_MASK (0x1U)
  28471. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_SHIFT (0U)
  28472. /*! LOCK - Lock Detect output
  28473. * 0b1..PLL has achieved frequency lock
  28474. * 0b0..PLL not locked
  28475. */
  28476. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_LOCK_MASK)
  28477. /*! @} */
  28478. /*! @name LOCK_BYP - LOCK_BYP */
  28479. /*! @{ */
  28480. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_MASK (0x1U)
  28481. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_SHIFT (0U)
  28482. /*! LOCK_BYP - DPHY LOCK_BYP input
  28483. * 0b0..PLL LOCK signal will gate TxByteClkHS clock
  28484. * 0b1..PLL LOCK signal will not gate TxByteClkHS clock, CIL based counter will be used to gate the TxByteClkHS
  28485. */
  28486. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_LOCK_BYP_LOCK_BYP_MASK)
  28487. /*! @} */
  28488. /*! @name TX_RCAL - TX_RCAL */
  28489. /*! @{ */
  28490. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_MASK (0x3U)
  28491. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_SHIFT (0U)
  28492. /*! TX_RCAL - On-chip termination control bits for manual calibration of HS-TX
  28493. * 0b00..20% higher than mid-range. Highest impedance setting
  28494. * 0b01..Mid-range impedance setting (default)
  28495. * 0b10..15% lower than mid-range
  28496. * 0b11..25% lower than mid-range. Lowest impedance setting
  28497. */
  28498. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_TX_RCAL_TX_RCAL_MASK)
  28499. /*! @} */
  28500. /*! @name AUTO_PD_EN - AUTO_PD_EN */
  28501. /*! @{ */
  28502. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_MASK (0x1U)
  28503. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_SHIFT (0U)
  28504. /*! AUTO_PD_EN - DPHY AUTO_PD_EN input
  28505. * 0b0..Inactive lanes are powered up and driving LP11
  28506. * 0b1..inactive lanes are powered down
  28507. */
  28508. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_AUTO_PD_EN_AUTO_PD_EN_MASK)
  28509. /*! @} */
  28510. /*! @name RXLPRP - RXLPRP */
  28511. /*! @{ */
  28512. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_MASK (0x3U)
  28513. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_SHIFT (0U)
  28514. /*! RXLPRP - DPHY RXLPRP input
  28515. */
  28516. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXLPRP_RXLPRP_MASK)
  28517. /*! @} */
  28518. /*! @name RXCDRP - RXCDRP */
  28519. /*! @{ */
  28520. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_MASK (0x3U)
  28521. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_SHIFT (0U)
  28522. /*! RXCDRP - DPHY RXCDRP input
  28523. * 0b00..344mV
  28524. * 0b01..325mV (Default)
  28525. * 0b10..307mV
  28526. * 0b11..Invalid
  28527. */
  28528. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP(x) (((uint32_t)(((uint32_t)(x)) << DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_SHIFT)) & DSI_HOST_NXP_FDSOI28_DPHY_INTFC_RXCDRP_RXCDRP_MASK)
  28529. /*! @} */
  28530. /*!
  28531. * @}
  28532. */ /* end of group DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Register_Masks */
  28533. /* DSI_HOST_NXP_FDSOI28_DPHY_INTFC - Peripheral instance base addresses */
  28534. /** Peripheral DSI_HOST_DPHY_INTFC base address */
  28535. #define DSI_HOST_DPHY_INTFC_BASE (0x4080C300u)
  28536. /** Peripheral DSI_HOST_DPHY_INTFC base pointer */
  28537. #define DSI_HOST_DPHY_INTFC ((DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Type *)DSI_HOST_DPHY_INTFC_BASE)
  28538. /** Array initializer of DSI_HOST_NXP_FDSOI28_DPHY_INTFC peripheral base
  28539. * addresses */
  28540. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_BASE_ADDRS { DSI_HOST_DPHY_INTFC_BASE }
  28541. /** Array initializer of DSI_HOST_NXP_FDSOI28_DPHY_INTFC peripheral base
  28542. * pointers */
  28543. #define DSI_HOST_NXP_FDSOI28_DPHY_INTFC_BASE_PTRS { DSI_HOST_DPHY_INTFC }
  28544. /*!
  28545. * @}
  28546. */ /* end of group DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Peripheral_Access_Layer */
  28547. /* ----------------------------------------------------------------------------
  28548. -- EMVSIM Peripheral Access Layer
  28549. ---------------------------------------------------------------------------- */
  28550. /*!
  28551. * @addtogroup EMVSIM_Peripheral_Access_Layer EMVSIM Peripheral Access Layer
  28552. * @{
  28553. */
  28554. /** EMVSIM - Register Layout Typedef */
  28555. typedef struct {
  28556. __I uint32_t VER_ID; /**< Version ID Register, offset: 0x0 */
  28557. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  28558. __IO uint32_t CLKCFG; /**< Clock Configuration Register, offset: 0x8 */
  28559. __IO uint32_t DIVISOR; /**< Baud Rate Divisor Register, offset: 0xC */
  28560. __IO uint32_t CTRL; /**< Control Register, offset: 0x10 */
  28561. __IO uint32_t INT_MASK; /**< Interrupt Mask Register, offset: 0x14 */
  28562. __IO uint32_t RX_THD; /**< Receiver Threshold Register, offset: 0x18 */
  28563. __IO uint32_t TX_THD; /**< Transmitter Threshold Register, offset: 0x1C */
  28564. __IO uint32_t RX_STATUS; /**< Receive Status Register, offset: 0x20 */
  28565. __IO uint32_t TX_STATUS; /**< Transmitter Status Register, offset: 0x24 */
  28566. __IO uint32_t PCSR; /**< Port Control and Status Register, offset: 0x28 */
  28567. __I uint32_t RX_BUF; /**< Receive Data Read Buffer, offset: 0x2C */
  28568. __O uint32_t TX_BUF; /**< Transmit Data Buffer, offset: 0x30 */
  28569. __IO uint32_t TX_GETU; /**< Transmitter Guard ETU Value Register, offset: 0x34 */
  28570. __IO uint32_t CWT_VAL; /**< Character Wait Time Value Register, offset: 0x38 */
  28571. __IO uint32_t BWT_VAL; /**< Block Wait Time Value Register, offset: 0x3C */
  28572. __IO uint32_t BGT_VAL; /**< Block Guard Time Value Register, offset: 0x40 */
  28573. __IO uint32_t GPCNT0_VAL; /**< General Purpose Counter 0 Timeout Value Register, offset: 0x44 */
  28574. __IO uint32_t GPCNT1_VAL; /**< General Purpose Counter 1 Timeout Value, offset: 0x48 */
  28575. } EMVSIM_Type;
  28576. /* ----------------------------------------------------------------------------
  28577. -- EMVSIM Register Masks
  28578. ---------------------------------------------------------------------------- */
  28579. /*!
  28580. * @addtogroup EMVSIM_Register_Masks EMVSIM Register Masks
  28581. * @{
  28582. */
  28583. /*! @name VER_ID - Version ID Register */
  28584. /*! @{ */
  28585. #define EMVSIM_VER_ID_VER_MASK (0xFFFFFFFFU)
  28586. #define EMVSIM_VER_ID_VER_SHIFT (0U)
  28587. /*! VER - Version ID of the module
  28588. */
  28589. #define EMVSIM_VER_ID_VER(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_VER_ID_VER_SHIFT)) & EMVSIM_VER_ID_VER_MASK)
  28590. /*! @} */
  28591. /*! @name PARAM - Parameter Register */
  28592. /*! @{ */
  28593. #define EMVSIM_PARAM_RX_FIFO_DEPTH_MASK (0xFFU)
  28594. #define EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT (0U)
  28595. /*! RX_FIFO_DEPTH - Receive FIFO Depth
  28596. */
  28597. #define EMVSIM_PARAM_RX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_RX_FIFO_DEPTH_MASK)
  28598. #define EMVSIM_PARAM_TX_FIFO_DEPTH_MASK (0xFF00U)
  28599. #define EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT (8U)
  28600. /*! TX_FIFO_DEPTH - Transmit FIFO Depth
  28601. */
  28602. #define EMVSIM_PARAM_TX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_TX_FIFO_DEPTH_MASK)
  28603. /*! @} */
  28604. /*! @name CLKCFG - Clock Configuration Register */
  28605. /*! @{ */
  28606. #define EMVSIM_CLKCFG_CLK_PRSC_MASK (0xFFU)
  28607. #define EMVSIM_CLKCFG_CLK_PRSC_SHIFT (0U)
  28608. /*! CLK_PRSC - Clock Prescaler Value
  28609. */
  28610. #define EMVSIM_CLKCFG_CLK_PRSC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_CLK_PRSC_SHIFT)) & EMVSIM_CLKCFG_CLK_PRSC_MASK)
  28611. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK (0x300U)
  28612. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT (8U)
  28613. /*! GPCNT1_CLK_SEL - General Purpose Counter 1 Clock Select
  28614. * 0b00..Disabled / Reset
  28615. * 0b01..Card Clock
  28616. * 0b10..Receive Clock
  28617. * 0b11..ETU Clock (transmit clock)
  28618. */
  28619. #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK)
  28620. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK (0xC00U)
  28621. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT (10U)
  28622. /*! GPCNT0_CLK_SEL - General Purpose Counter 0 Clock Select
  28623. * 0b00..Disabled / Reset
  28624. * 0b01..Card Clock
  28625. * 0b10..Receive Clock
  28626. * 0b11..ETU Clock (transmit clock)
  28627. */
  28628. #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK)
  28629. /*! @} */
  28630. /*! @name DIVISOR - Baud Rate Divisor Register */
  28631. /*! @{ */
  28632. #define EMVSIM_DIVISOR_DIVISOR_VALUE_MASK (0x1FFU)
  28633. #define EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT (0U)
  28634. /*! DIVISOR_VALUE - Divisor (F/D) Value
  28635. * 0b000000000-0b000000100..Invalid. As per ISO 7816 specification, minimum value of F/D is 5
  28636. * 0b000000101-0b011111111..Divisor value F/D
  28637. */
  28638. #define EMVSIM_DIVISOR_DIVISOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT)) & EMVSIM_DIVISOR_DIVISOR_VALUE_MASK)
  28639. /*! @} */
  28640. /*! @name CTRL - Control Register */
  28641. /*! @{ */
  28642. #define EMVSIM_CTRL_IC_MASK (0x1U)
  28643. #define EMVSIM_CTRL_IC_SHIFT (0U)
  28644. /*! IC - Inverse Convention
  28645. * 0b0..Direction convention transfers enabled
  28646. * 0b1..Inverse convention transfers enabled
  28647. */
  28648. #define EMVSIM_CTRL_IC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_IC_SHIFT)) & EMVSIM_CTRL_IC_MASK)
  28649. #define EMVSIM_CTRL_ICM_MASK (0x2U)
  28650. #define EMVSIM_CTRL_ICM_SHIFT (1U)
  28651. /*! ICM - Initial Character Mode
  28652. * 0b0..Initial Character Mode disabled
  28653. * 0b1..Initial Character Mode enabled
  28654. */
  28655. #define EMVSIM_CTRL_ICM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ICM_SHIFT)) & EMVSIM_CTRL_ICM_MASK)
  28656. #define EMVSIM_CTRL_ANACK_MASK (0x4U)
  28657. #define EMVSIM_CTRL_ANACK_SHIFT (2U)
  28658. /*! ANACK - Auto NACK Enable
  28659. * 0b0..NACK generation on errors disabled
  28660. * 0b1..NACK generation on errors enabled
  28661. */
  28662. #define EMVSIM_CTRL_ANACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ANACK_SHIFT)) & EMVSIM_CTRL_ANACK_MASK)
  28663. #define EMVSIM_CTRL_ONACK_MASK (0x8U)
  28664. #define EMVSIM_CTRL_ONACK_SHIFT (3U)
  28665. /*! ONACK - Overrun NACK Enable
  28666. * 0b0..NACK generation on overrun is disabled
  28667. * 0b1..NACK generation on overrun is enabled
  28668. */
  28669. #define EMVSIM_CTRL_ONACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ONACK_SHIFT)) & EMVSIM_CTRL_ONACK_MASK)
  28670. #define EMVSIM_CTRL_FLSH_RX_MASK (0x100U)
  28671. #define EMVSIM_CTRL_FLSH_RX_SHIFT (8U)
  28672. /*! FLSH_RX - Flush Receiver Bit
  28673. * 0b0..EMVSIM Receiver normal operation
  28674. * 0b1..EMVSIM Receiver held in Reset
  28675. */
  28676. #define EMVSIM_CTRL_FLSH_RX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_RX_SHIFT)) & EMVSIM_CTRL_FLSH_RX_MASK)
  28677. #define EMVSIM_CTRL_FLSH_TX_MASK (0x200U)
  28678. #define EMVSIM_CTRL_FLSH_TX_SHIFT (9U)
  28679. /*! FLSH_TX - Flush Transmitter Bit
  28680. * 0b0..EMVSIM Transmitter normal operation
  28681. * 0b1..EMVSIM Transmitter held in Reset
  28682. */
  28683. #define EMVSIM_CTRL_FLSH_TX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_TX_SHIFT)) & EMVSIM_CTRL_FLSH_TX_MASK)
  28684. #define EMVSIM_CTRL_SW_RST_MASK (0x400U)
  28685. #define EMVSIM_CTRL_SW_RST_SHIFT (10U)
  28686. /*! SW_RST - Software Reset Bit
  28687. * 0b0..EMVSIM Normal operation
  28688. * 0b1..EMVSIM held in Reset
  28689. */
  28690. #define EMVSIM_CTRL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_SW_RST_SHIFT)) & EMVSIM_CTRL_SW_RST_MASK)
  28691. #define EMVSIM_CTRL_KILL_CLOCKS_MASK (0x800U)
  28692. #define EMVSIM_CTRL_KILL_CLOCKS_SHIFT (11U)
  28693. /*! KILL_CLOCKS - Kill all internal clocks
  28694. * 0b0..EMVSIM input clock enabled
  28695. * 0b1..EMVSIM input clock is disabled
  28696. */
  28697. #define EMVSIM_CTRL_KILL_CLOCKS(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_KILL_CLOCKS_SHIFT)) & EMVSIM_CTRL_KILL_CLOCKS_MASK)
  28698. #define EMVSIM_CTRL_DOZE_EN_MASK (0x1000U)
  28699. #define EMVSIM_CTRL_DOZE_EN_SHIFT (12U)
  28700. /*! DOZE_EN - Doze Enable
  28701. * 0b0..DOZE instruction gates all internal EMVSIM clocks as well as the Smart Card clock when the transmit FIFO is empty
  28702. * 0b1..DOZE instruction has no effect on EMVSIM module
  28703. */
  28704. #define EMVSIM_CTRL_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_DOZE_EN_SHIFT)) & EMVSIM_CTRL_DOZE_EN_MASK)
  28705. #define EMVSIM_CTRL_STOP_EN_MASK (0x2000U)
  28706. #define EMVSIM_CTRL_STOP_EN_SHIFT (13U)
  28707. /*! STOP_EN - STOP Enable
  28708. * 0b0..STOP instruction shuts down all EMVSIM clocks
  28709. * 0b1..STOP instruction shuts down all clocks except for the Smart Card Clock (SCK) (clock provided to Smart Card)
  28710. */
  28711. #define EMVSIM_CTRL_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_STOP_EN_SHIFT)) & EMVSIM_CTRL_STOP_EN_MASK)
  28712. #define EMVSIM_CTRL_RCV_EN_MASK (0x10000U)
  28713. #define EMVSIM_CTRL_RCV_EN_SHIFT (16U)
  28714. /*! RCV_EN - Receiver Enable
  28715. * 0b0..EMVSIM Receiver disabled
  28716. * 0b1..EMVSIM Receiver enabled
  28717. */
  28718. #define EMVSIM_CTRL_RCV_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCV_EN_SHIFT)) & EMVSIM_CTRL_RCV_EN_MASK)
  28719. #define EMVSIM_CTRL_XMT_EN_MASK (0x20000U)
  28720. #define EMVSIM_CTRL_XMT_EN_SHIFT (17U)
  28721. /*! XMT_EN - Transmitter Enable
  28722. * 0b0..EMVSIM Transmitter disabled
  28723. * 0b1..EMVSIM Transmitter enabled
  28724. */
  28725. #define EMVSIM_CTRL_XMT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_EN_SHIFT)) & EMVSIM_CTRL_XMT_EN_MASK)
  28726. #define EMVSIM_CTRL_RCVR_11_MASK (0x40000U)
  28727. #define EMVSIM_CTRL_RCVR_11_SHIFT (18U)
  28728. /*! RCVR_11 - Receiver 11 ETU Mode Enable
  28729. * 0b0..Receiver configured for 12 ETU operation mode
  28730. * 0b1..Receiver configured for 11 ETU operation mode
  28731. */
  28732. #define EMVSIM_CTRL_RCVR_11(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCVR_11_SHIFT)) & EMVSIM_CTRL_RCVR_11_MASK)
  28733. #define EMVSIM_CTRL_RX_DMA_EN_MASK (0x80000U)
  28734. #define EMVSIM_CTRL_RX_DMA_EN_SHIFT (19U)
  28735. /*! RX_DMA_EN - Receive DMA Enable
  28736. * 0b0..No DMA Read Request asserted for Receiver
  28737. * 0b1..DMA Read Request asserted for Receiver
  28738. */
  28739. #define EMVSIM_CTRL_RX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RX_DMA_EN_SHIFT)) & EMVSIM_CTRL_RX_DMA_EN_MASK)
  28740. #define EMVSIM_CTRL_TX_DMA_EN_MASK (0x100000U)
  28741. #define EMVSIM_CTRL_TX_DMA_EN_SHIFT (20U)
  28742. /*! TX_DMA_EN - Transmit DMA Enable
  28743. * 0b0..No DMA Write Request asserted for Transmitter
  28744. * 0b1..DMA Write Request asserted for Transmitter
  28745. */
  28746. #define EMVSIM_CTRL_TX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_TX_DMA_EN_SHIFT)) & EMVSIM_CTRL_TX_DMA_EN_MASK)
  28747. #define EMVSIM_CTRL_INV_CRC_VAL_MASK (0x1000000U)
  28748. #define EMVSIM_CTRL_INV_CRC_VAL_SHIFT (24U)
  28749. /*! INV_CRC_VAL - Invert bits in the CRC Output Value
  28750. * 0b0..Bits in CRC Output value are not inverted.
  28751. * 0b1..Bits in CRC Output value are inverted.
  28752. */
  28753. #define EMVSIM_CTRL_INV_CRC_VAL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_INV_CRC_VAL_SHIFT)) & EMVSIM_CTRL_INV_CRC_VAL_MASK)
  28754. #define EMVSIM_CTRL_CRC_OUT_FLIP_MASK (0x2000000U)
  28755. #define EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT (25U)
  28756. /*! CRC_OUT_FLIP - CRC Output Value Bit Reversal or Flip
  28757. * 0b0..Bits within the CRC output bytes are not reversed i.e. 15:0 remains 15:0
  28758. * 0b1..Bits within the CRC output bytes are reversed i.e. 15:0 becomes {8:15,0:7}
  28759. */
  28760. #define EMVSIM_CTRL_CRC_OUT_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_OUT_FLIP_MASK)
  28761. #define EMVSIM_CTRL_CRC_IN_FLIP_MASK (0x4000000U)
  28762. #define EMVSIM_CTRL_CRC_IN_FLIP_SHIFT (26U)
  28763. /*! CRC_IN_FLIP - CRC Input Byte's Bit Reversal or Flip Control
  28764. * 0b0..Bits in the input byte are not reversed (i.e. 7:0 remain 7:0) before the CRC calculation
  28765. * 0b1..Bits in the input byte are reversed (i.e. 7:0 becomes 0:7) before CRC calculation
  28766. */
  28767. #define EMVSIM_CTRL_CRC_IN_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_IN_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_IN_FLIP_MASK)
  28768. #define EMVSIM_CTRL_CWT_EN_MASK (0x8000000U)
  28769. #define EMVSIM_CTRL_CWT_EN_SHIFT (27U)
  28770. /*! CWT_EN - Character Wait Time Counter Enable
  28771. * 0b0..Character Wait time Counter is disabled
  28772. * 0b1..Character Wait time counter is enabled
  28773. */
  28774. #define EMVSIM_CTRL_CWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CWT_EN_SHIFT)) & EMVSIM_CTRL_CWT_EN_MASK)
  28775. #define EMVSIM_CTRL_LRC_EN_MASK (0x10000000U)
  28776. #define EMVSIM_CTRL_LRC_EN_SHIFT (28U)
  28777. /*! LRC_EN - LRC Enable
  28778. * 0b0..8-bit Linear Redundancy Checking disabled
  28779. * 0b1..8-bit Linear Redundancy Checking enabled
  28780. */
  28781. #define EMVSIM_CTRL_LRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_LRC_EN_SHIFT)) & EMVSIM_CTRL_LRC_EN_MASK)
  28782. #define EMVSIM_CTRL_CRC_EN_MASK (0x20000000U)
  28783. #define EMVSIM_CTRL_CRC_EN_SHIFT (29U)
  28784. /*! CRC_EN - CRC Enable
  28785. * 0b0..16-bit Cyclic Redundancy Checking disabled
  28786. * 0b1..16-bit Cyclic Redundancy Checking enabled
  28787. */
  28788. #define EMVSIM_CTRL_CRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_EN_SHIFT)) & EMVSIM_CTRL_CRC_EN_MASK)
  28789. #define EMVSIM_CTRL_XMT_CRC_LRC_MASK (0x40000000U)
  28790. #define EMVSIM_CTRL_XMT_CRC_LRC_SHIFT (30U)
  28791. /*! XMT_CRC_LRC - Transmit CRC or LRC Enable
  28792. * 0b0..No CRC or LRC value is transmitted
  28793. * 0b1..Transmit LRC or CRC info when FIFO empties (whichever is enabled)
  28794. */
  28795. #define EMVSIM_CTRL_XMT_CRC_LRC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_CRC_LRC_SHIFT)) & EMVSIM_CTRL_XMT_CRC_LRC_MASK)
  28796. #define EMVSIM_CTRL_BWT_EN_MASK (0x80000000U)
  28797. #define EMVSIM_CTRL_BWT_EN_SHIFT (31U)
  28798. /*! BWT_EN - Block Wait Time Counter Enable
  28799. * 0b0..Disable BWT, BGT Counters
  28800. * 0b1..Enable BWT, BGT Counters
  28801. */
  28802. #define EMVSIM_CTRL_BWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_BWT_EN_SHIFT)) & EMVSIM_CTRL_BWT_EN_MASK)
  28803. /*! @} */
  28804. /*! @name INT_MASK - Interrupt Mask Register */
  28805. /*! @{ */
  28806. #define EMVSIM_INT_MASK_RDT_IM_MASK (0x1U)
  28807. #define EMVSIM_INT_MASK_RDT_IM_SHIFT (0U)
  28808. /*! RDT_IM - Receive Data Threshold Interrupt Mask
  28809. * 0b0..RDTF interrupt enabled
  28810. * 0b1..RDTF interrupt masked
  28811. */
  28812. #define EMVSIM_INT_MASK_RDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RDT_IM_SHIFT)) & EMVSIM_INT_MASK_RDT_IM_MASK)
  28813. #define EMVSIM_INT_MASK_TC_IM_MASK (0x2U)
  28814. #define EMVSIM_INT_MASK_TC_IM_SHIFT (1U)
  28815. /*! TC_IM - Transmit Complete Interrupt Mask
  28816. * 0b0..TCF interrupt enabled
  28817. * 0b1..TCF interrupt masked
  28818. */
  28819. #define EMVSIM_INT_MASK_TC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TC_IM_SHIFT)) & EMVSIM_INT_MASK_TC_IM_MASK)
  28820. #define EMVSIM_INT_MASK_RFO_IM_MASK (0x4U)
  28821. #define EMVSIM_INT_MASK_RFO_IM_SHIFT (2U)
  28822. /*! RFO_IM - Receive FIFO Overflow Interrupt Mask
  28823. * 0b0..RFO interrupt enabled
  28824. * 0b1..RFO interrupt masked
  28825. */
  28826. #define EMVSIM_INT_MASK_RFO_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RFO_IM_SHIFT)) & EMVSIM_INT_MASK_RFO_IM_MASK)
  28827. #define EMVSIM_INT_MASK_ETC_IM_MASK (0x8U)
  28828. #define EMVSIM_INT_MASK_ETC_IM_SHIFT (3U)
  28829. /*! ETC_IM - Early Transmit Complete Interrupt Mask
  28830. * 0b0..ETC interrupt enabled
  28831. * 0b1..ETC interrupt masked
  28832. */
  28833. #define EMVSIM_INT_MASK_ETC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_ETC_IM_SHIFT)) & EMVSIM_INT_MASK_ETC_IM_MASK)
  28834. #define EMVSIM_INT_MASK_TFE_IM_MASK (0x10U)
  28835. #define EMVSIM_INT_MASK_TFE_IM_SHIFT (4U)
  28836. /*! TFE_IM - Transmit FIFO Empty Interrupt Mask
  28837. * 0b0..TFE interrupt enabled
  28838. * 0b1..TFE interrupt masked
  28839. */
  28840. #define EMVSIM_INT_MASK_TFE_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFE_IM_SHIFT)) & EMVSIM_INT_MASK_TFE_IM_MASK)
  28841. #define EMVSIM_INT_MASK_TNACK_IM_MASK (0x20U)
  28842. #define EMVSIM_INT_MASK_TNACK_IM_SHIFT (5U)
  28843. /*! TNACK_IM - Transmit NACK Threshold Interrupt Mask
  28844. * 0b0..TNTE interrupt enabled
  28845. * 0b1..TNTE interrupt masked
  28846. */
  28847. #define EMVSIM_INT_MASK_TNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TNACK_IM_SHIFT)) & EMVSIM_INT_MASK_TNACK_IM_MASK)
  28848. #define EMVSIM_INT_MASK_TFF_IM_MASK (0x40U)
  28849. #define EMVSIM_INT_MASK_TFF_IM_SHIFT (6U)
  28850. /*! TFF_IM - Transmit FIFO Full Interrupt Mask
  28851. * 0b0..TFF interrupt enabled
  28852. * 0b1..TFF interrupt masked
  28853. */
  28854. #define EMVSIM_INT_MASK_TFF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFF_IM_SHIFT)) & EMVSIM_INT_MASK_TFF_IM_MASK)
  28855. #define EMVSIM_INT_MASK_TDT_IM_MASK (0x80U)
  28856. #define EMVSIM_INT_MASK_TDT_IM_SHIFT (7U)
  28857. /*! TDT_IM - Transmit Data Threshold Interrupt Mask
  28858. * 0b0..TDTF interrupt enabled
  28859. * 0b1..TDTF interrupt masked
  28860. */
  28861. #define EMVSIM_INT_MASK_TDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TDT_IM_SHIFT)) & EMVSIM_INT_MASK_TDT_IM_MASK)
  28862. #define EMVSIM_INT_MASK_GPCNT0_IM_MASK (0x100U)
  28863. #define EMVSIM_INT_MASK_GPCNT0_IM_SHIFT (8U)
  28864. /*! GPCNT0_IM - General Purpose Timer 0 Timeout Interrupt Mask
  28865. * 0b0..GPCNT0_TO interrupt enabled
  28866. * 0b1..GPCNT0_TO interrupt masked
  28867. */
  28868. #define EMVSIM_INT_MASK_GPCNT0_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT0_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT0_IM_MASK)
  28869. #define EMVSIM_INT_MASK_CWT_ERR_IM_MASK (0x200U)
  28870. #define EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT (9U)
  28871. /*! CWT_ERR_IM - Character Wait Time Error Interrupt Mask
  28872. * 0b0..CWT_ERR interrupt enabled
  28873. * 0b1..CWT_ERR interrupt masked
  28874. */
  28875. #define EMVSIM_INT_MASK_CWT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_CWT_ERR_IM_MASK)
  28876. #define EMVSIM_INT_MASK_RNACK_IM_MASK (0x400U)
  28877. #define EMVSIM_INT_MASK_RNACK_IM_SHIFT (10U)
  28878. /*! RNACK_IM - Receiver NACK Threshold Interrupt Mask
  28879. * 0b0..RTE interrupt enabled
  28880. * 0b1..RTE interrupt masked
  28881. */
  28882. #define EMVSIM_INT_MASK_RNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RNACK_IM_SHIFT)) & EMVSIM_INT_MASK_RNACK_IM_MASK)
  28883. #define EMVSIM_INT_MASK_BWT_ERR_IM_MASK (0x800U)
  28884. #define EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT (11U)
  28885. /*! BWT_ERR_IM - Block Wait Time Error Interrupt Mask
  28886. * 0b0..BWT_ERR interrupt enabled
  28887. * 0b1..BWT_ERR interrupt masked
  28888. */
  28889. #define EMVSIM_INT_MASK_BWT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_BWT_ERR_IM_MASK)
  28890. #define EMVSIM_INT_MASK_BGT_ERR_IM_MASK (0x1000U)
  28891. #define EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT (12U)
  28892. /*! BGT_ERR_IM - Block Guard Time Error Interrupt
  28893. * 0b0..BGT_ERR interrupt enabled
  28894. * 0b1..BGT_ERR interrupt masked
  28895. */
  28896. #define EMVSIM_INT_MASK_BGT_ERR_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT)) & EMVSIM_INT_MASK_BGT_ERR_IM_MASK)
  28897. #define EMVSIM_INT_MASK_GPCNT1_IM_MASK (0x2000U)
  28898. #define EMVSIM_INT_MASK_GPCNT1_IM_SHIFT (13U)
  28899. /*! GPCNT1_IM - General Purpose Counter 1 Timeout Interrupt Mask
  28900. * 0b0..GPCNT1_TO interrupt enabled
  28901. * 0b1..GPCNT1_TO interrupt masked
  28902. */
  28903. #define EMVSIM_INT_MASK_GPCNT1_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT1_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT1_IM_MASK)
  28904. #define EMVSIM_INT_MASK_RX_DATA_IM_MASK (0x4000U)
  28905. #define EMVSIM_INT_MASK_RX_DATA_IM_SHIFT (14U)
  28906. /*! RX_DATA_IM - Receive Data Interrupt Mask
  28907. * 0b0..RX_DATA interrupt enabled
  28908. * 0b1..RX_DATA interrupt masked
  28909. */
  28910. #define EMVSIM_INT_MASK_RX_DATA_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RX_DATA_IM_SHIFT)) & EMVSIM_INT_MASK_RX_DATA_IM_MASK)
  28911. #define EMVSIM_INT_MASK_PEF_IM_MASK (0x8000U)
  28912. #define EMVSIM_INT_MASK_PEF_IM_SHIFT (15U)
  28913. /*! PEF_IM - Parity Error Interrupt Mask
  28914. * 0b0..PEF interrupt enabled
  28915. * 0b1..PEF interrupt masked
  28916. */
  28917. #define EMVSIM_INT_MASK_PEF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_PEF_IM_SHIFT)) & EMVSIM_INT_MASK_PEF_IM_MASK)
  28918. /*! @} */
  28919. /*! @name RX_THD - Receiver Threshold Register */
  28920. /*! @{ */
  28921. #define EMVSIM_RX_THD_RDT_MASK (0xFU)
  28922. #define EMVSIM_RX_THD_RDT_SHIFT (0U)
  28923. /*! RDT - Receiver Data Threshold Value
  28924. */
  28925. #define EMVSIM_RX_THD_RDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RDT_SHIFT)) & EMVSIM_RX_THD_RDT_MASK)
  28926. #define EMVSIM_RX_THD_RNCK_THD_MASK (0xF00U)
  28927. #define EMVSIM_RX_THD_RNCK_THD_SHIFT (8U)
  28928. /*! RNCK_THD - Receiver NACK Threshold Value
  28929. */
  28930. #define EMVSIM_RX_THD_RNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RNCK_THD_SHIFT)) & EMVSIM_RX_THD_RNCK_THD_MASK)
  28931. /*! @} */
  28932. /*! @name TX_THD - Transmitter Threshold Register */
  28933. /*! @{ */
  28934. #define EMVSIM_TX_THD_TDT_MASK (0xFU)
  28935. #define EMVSIM_TX_THD_TDT_SHIFT (0U)
  28936. /*! TDT - Transmitter Data Threshold Value
  28937. */
  28938. #define EMVSIM_TX_THD_TDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TDT_SHIFT)) & EMVSIM_TX_THD_TDT_MASK)
  28939. #define EMVSIM_TX_THD_TNCK_THD_MASK (0xF00U)
  28940. #define EMVSIM_TX_THD_TNCK_THD_SHIFT (8U)
  28941. /*! TNCK_THD - Transmitter NACK Threshold Value
  28942. */
  28943. #define EMVSIM_TX_THD_TNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TNCK_THD_SHIFT)) & EMVSIM_TX_THD_TNCK_THD_MASK)
  28944. /*! @} */
  28945. /*! @name RX_STATUS - Receive Status Register */
  28946. /*! @{ */
  28947. #define EMVSIM_RX_STATUS_RFO_MASK (0x1U)
  28948. #define EMVSIM_RX_STATUS_RFO_SHIFT (0U)
  28949. /*! RFO - Receive FIFO Overflow Flag
  28950. * 0b0..No overrun error has occurred
  28951. * 0b1..A byte was received when the received FIFO was already full
  28952. */
  28953. #define EMVSIM_RX_STATUS_RFO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RFO_SHIFT)) & EMVSIM_RX_STATUS_RFO_MASK)
  28954. #define EMVSIM_RX_STATUS_RX_DATA_MASK (0x10U)
  28955. #define EMVSIM_RX_STATUS_RX_DATA_SHIFT (4U)
  28956. /*! RX_DATA - Receive Data Interrupt Flag
  28957. * 0b0..No new byte is received
  28958. * 0b1..New byte is received ans stored in Receive FIFO
  28959. */
  28960. #define EMVSIM_RX_STATUS_RX_DATA(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_DATA_SHIFT)) & EMVSIM_RX_STATUS_RX_DATA_MASK)
  28961. #define EMVSIM_RX_STATUS_RDTF_MASK (0x20U)
  28962. #define EMVSIM_RX_STATUS_RDTF_SHIFT (5U)
  28963. /*! RDTF - Receive Data Threshold Interrupt Flag
  28964. * 0b0..Number of unread bytes in receive FIFO less than the value set by RDT
  28965. * 0b1..Number of unread bytes in receive FIFO greater or than equal to value set by RDT.
  28966. */
  28967. #define EMVSIM_RX_STATUS_RDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RDTF_SHIFT)) & EMVSIM_RX_STATUS_RDTF_MASK)
  28968. #define EMVSIM_RX_STATUS_LRC_OK_MASK (0x40U)
  28969. #define EMVSIM_RX_STATUS_LRC_OK_SHIFT (6U)
  28970. /*! LRC_OK - LRC Check OK Flag
  28971. * 0b0..Current LRC value does not match remainder.
  28972. * 0b1..Current calculated LRC value matches the expected result (i.e. zero).
  28973. */
  28974. #define EMVSIM_RX_STATUS_LRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_LRC_OK_SHIFT)) & EMVSIM_RX_STATUS_LRC_OK_MASK)
  28975. #define EMVSIM_RX_STATUS_CRC_OK_MASK (0x80U)
  28976. #define EMVSIM_RX_STATUS_CRC_OK_SHIFT (7U)
  28977. /*! CRC_OK - CRC Check OK Flag
  28978. * 0b0..Current CRC value does not match remainder.
  28979. * 0b1..Current calculated CRC value matches the expected result.
  28980. */
  28981. #define EMVSIM_RX_STATUS_CRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CRC_OK_SHIFT)) & EMVSIM_RX_STATUS_CRC_OK_MASK)
  28982. #define EMVSIM_RX_STATUS_CWT_ERR_MASK (0x100U)
  28983. #define EMVSIM_RX_STATUS_CWT_ERR_SHIFT (8U)
  28984. /*! CWT_ERR - Character Wait Time Error Flag
  28985. * 0b0..No CWT violation has occurred
  28986. * 0b1..Time between two consecutive characters has exceeded the value in CWT_VAL.
  28987. */
  28988. #define EMVSIM_RX_STATUS_CWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_CWT_ERR_MASK)
  28989. #define EMVSIM_RX_STATUS_RTE_MASK (0x200U)
  28990. #define EMVSIM_RX_STATUS_RTE_SHIFT (9U)
  28991. /*! RTE - Received NACK Threshold Error Flag
  28992. * 0b0..Number of NACKs generated by the receiver is less than the value programmed in RNCK_THD
  28993. * 0b1..Number of NACKs generated by the receiver is equal to the value programmed in RNCK_THD
  28994. */
  28995. #define EMVSIM_RX_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RTE_SHIFT)) & EMVSIM_RX_STATUS_RTE_MASK)
  28996. #define EMVSIM_RX_STATUS_BWT_ERR_MASK (0x400U)
  28997. #define EMVSIM_RX_STATUS_BWT_ERR_SHIFT (10U)
  28998. /*! BWT_ERR - Block Wait Time Error Flag
  28999. * 0b0..Block wait time not exceeded
  29000. * 0b1..Block wait time was exceeded
  29001. */
  29002. #define EMVSIM_RX_STATUS_BWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BWT_ERR_MASK)
  29003. #define EMVSIM_RX_STATUS_BGT_ERR_MASK (0x800U)
  29004. #define EMVSIM_RX_STATUS_BGT_ERR_SHIFT (11U)
  29005. /*! BGT_ERR - Block Guard Time Error Flag
  29006. * 0b0..Block guard time was sufficient
  29007. * 0b1..Block guard time was too small
  29008. */
  29009. #define EMVSIM_RX_STATUS_BGT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BGT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BGT_ERR_MASK)
  29010. #define EMVSIM_RX_STATUS_PEF_MASK (0x1000U)
  29011. #define EMVSIM_RX_STATUS_PEF_SHIFT (12U)
  29012. /*! PEF - Parity Error Flag
  29013. * 0b0..No parity error detected
  29014. * 0b1..Parity error detected
  29015. */
  29016. #define EMVSIM_RX_STATUS_PEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_PEF_SHIFT)) & EMVSIM_RX_STATUS_PEF_MASK)
  29017. #define EMVSIM_RX_STATUS_FEF_MASK (0x2000U)
  29018. #define EMVSIM_RX_STATUS_FEF_SHIFT (13U)
  29019. /*! FEF - Frame Error Flag
  29020. * 0b0..No frame error detected
  29021. * 0b1..Frame error detected
  29022. */
  29023. #define EMVSIM_RX_STATUS_FEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_FEF_SHIFT)) & EMVSIM_RX_STATUS_FEF_MASK)
  29024. #define EMVSIM_RX_STATUS_RX_WPTR_MASK (0xF0000U)
  29025. #define EMVSIM_RX_STATUS_RX_WPTR_SHIFT (16U)
  29026. /*! RX_WPTR - Receive FIFO Write Pointer Value
  29027. */
  29028. #define EMVSIM_RX_STATUS_RX_WPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_WPTR_SHIFT)) & EMVSIM_RX_STATUS_RX_WPTR_MASK)
  29029. #define EMVSIM_RX_STATUS_RX_CNT_MASK (0xF000000U)
  29030. #define EMVSIM_RX_STATUS_RX_CNT_SHIFT (24U)
  29031. /*! RX_CNT - Receive FIFO Byte Count
  29032. * 0b0000..FIFO is emtpy
  29033. */
  29034. #define EMVSIM_RX_STATUS_RX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_CNT_SHIFT)) & EMVSIM_RX_STATUS_RX_CNT_MASK)
  29035. /*! @} */
  29036. /*! @name TX_STATUS - Transmitter Status Register */
  29037. /*! @{ */
  29038. #define EMVSIM_TX_STATUS_TNTE_MASK (0x1U)
  29039. #define EMVSIM_TX_STATUS_TNTE_SHIFT (0U)
  29040. /*! TNTE - Transmit NACK Threshold Error Flag
  29041. * 0b0..Transmit NACK threshold has not been reached
  29042. * 0b1..Transmit NACK threshold reached; transmitter frozen
  29043. */
  29044. #define EMVSIM_TX_STATUS_TNTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TNTE_SHIFT)) & EMVSIM_TX_STATUS_TNTE_MASK)
  29045. #define EMVSIM_TX_STATUS_TFE_MASK (0x8U)
  29046. #define EMVSIM_TX_STATUS_TFE_SHIFT (3U)
  29047. /*! TFE - Transmit FIFO Empty Flag
  29048. * 0b0..Transmit FIFO is not empty
  29049. * 0b1..Transmit FIFO is empty
  29050. */
  29051. #define EMVSIM_TX_STATUS_TFE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFE_SHIFT)) & EMVSIM_TX_STATUS_TFE_MASK)
  29052. #define EMVSIM_TX_STATUS_ETCF_MASK (0x10U)
  29053. #define EMVSIM_TX_STATUS_ETCF_SHIFT (4U)
  29054. /*! ETCF - Early Transmit Complete Flag
  29055. * 0b0..Transmit pending or in progress
  29056. * 0b1..Transmit complete
  29057. */
  29058. #define EMVSIM_TX_STATUS_ETCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_ETCF_SHIFT)) & EMVSIM_TX_STATUS_ETCF_MASK)
  29059. #define EMVSIM_TX_STATUS_TCF_MASK (0x20U)
  29060. #define EMVSIM_TX_STATUS_TCF_SHIFT (5U)
  29061. /*! TCF - Transmit Complete Flag
  29062. * 0b0..Transmit pending or in progress
  29063. * 0b1..Transmit complete
  29064. */
  29065. #define EMVSIM_TX_STATUS_TCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TCF_SHIFT)) & EMVSIM_TX_STATUS_TCF_MASK)
  29066. #define EMVSIM_TX_STATUS_TFF_MASK (0x40U)
  29067. #define EMVSIM_TX_STATUS_TFF_SHIFT (6U)
  29068. /*! TFF - Transmit FIFO Full Flag
  29069. * 0b0..Transmit FIFO Full condition has not occurred
  29070. * 0b1..A Transmit FIFO Full condition has occurred
  29071. */
  29072. #define EMVSIM_TX_STATUS_TFF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFF_SHIFT)) & EMVSIM_TX_STATUS_TFF_MASK)
  29073. #define EMVSIM_TX_STATUS_TDTF_MASK (0x80U)
  29074. #define EMVSIM_TX_STATUS_TDTF_SHIFT (7U)
  29075. /*! TDTF - Transmit Data Threshold Flag
  29076. * 0b0..Number of bytes in FIFO is greater than TDT, or bit has been cleared
  29077. * 0b1..Number of bytes in FIFO is less than or equal to TDT
  29078. */
  29079. #define EMVSIM_TX_STATUS_TDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TDTF_SHIFT)) & EMVSIM_TX_STATUS_TDTF_MASK)
  29080. #define EMVSIM_TX_STATUS_GPCNT0_TO_MASK (0x100U)
  29081. #define EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT (8U)
  29082. /*! GPCNT0_TO - General Purpose Counter 0 Timeout Flag
  29083. * 0b0..GPCNT0 time not reached, or bit has been cleared.
  29084. * 0b1..General Purpose counter has reached the GPCNT0 value
  29085. */
  29086. #define EMVSIM_TX_STATUS_GPCNT0_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT0_TO_MASK)
  29087. #define EMVSIM_TX_STATUS_GPCNT1_TO_MASK (0x200U)
  29088. #define EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT (9U)
  29089. /*! GPCNT1_TO - General Purpose Counter 1 Timeout Flag
  29090. * 0b0..GPCNT1 time not reached, or bit has been cleared.
  29091. * 0b1..General Purpose counter has reached the GPCNT1 value
  29092. */
  29093. #define EMVSIM_TX_STATUS_GPCNT1_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT1_TO_MASK)
  29094. #define EMVSIM_TX_STATUS_TX_RPTR_MASK (0xF0000U)
  29095. #define EMVSIM_TX_STATUS_TX_RPTR_SHIFT (16U)
  29096. /*! TX_RPTR - Transmit FIFO Read Pointer
  29097. */
  29098. #define EMVSIM_TX_STATUS_TX_RPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_RPTR_SHIFT)) & EMVSIM_TX_STATUS_TX_RPTR_MASK)
  29099. #define EMVSIM_TX_STATUS_TX_CNT_MASK (0xF000000U)
  29100. #define EMVSIM_TX_STATUS_TX_CNT_SHIFT (24U)
  29101. /*! TX_CNT - Transmit FIFO Byte Count
  29102. * 0b0000..FIFO is emtpy
  29103. */
  29104. #define EMVSIM_TX_STATUS_TX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_CNT_SHIFT)) & EMVSIM_TX_STATUS_TX_CNT_MASK)
  29105. /*! @} */
  29106. /*! @name PCSR - Port Control and Status Register */
  29107. /*! @{ */
  29108. #define EMVSIM_PCSR_SAPD_MASK (0x1U)
  29109. #define EMVSIM_PCSR_SAPD_SHIFT (0U)
  29110. /*! SAPD - Auto Power Down Enable
  29111. * 0b0..Auto power down disabled
  29112. * 0b1..Auto power down enabled
  29113. */
  29114. #define EMVSIM_PCSR_SAPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SAPD_SHIFT)) & EMVSIM_PCSR_SAPD_MASK)
  29115. #define EMVSIM_PCSR_SVCC_EN_MASK (0x2U)
  29116. #define EMVSIM_PCSR_SVCC_EN_SHIFT (1U)
  29117. /*! SVCC_EN - Vcc Enable for Smart Card
  29118. * 0b0..Smart Card Voltage disabled
  29119. * 0b1..Smart Card Voltage enabled
  29120. */
  29121. #define EMVSIM_PCSR_SVCC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SVCC_EN_SHIFT)) & EMVSIM_PCSR_SVCC_EN_MASK)
  29122. #define EMVSIM_PCSR_VCCENP_MASK (0x4U)
  29123. #define EMVSIM_PCSR_VCCENP_SHIFT (2U)
  29124. /*! VCCENP - VCC Enable Polarity Control
  29125. * 0b0..SVCC_EN is active high. Polarity of SVCC_EN is unchanged.
  29126. * 0b1..SVCC_EN is active low. Polarity of SVCC_EN is inverted.
  29127. */
  29128. #define EMVSIM_PCSR_VCCENP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_VCCENP_SHIFT)) & EMVSIM_PCSR_VCCENP_MASK)
  29129. #define EMVSIM_PCSR_SRST_MASK (0x8U)
  29130. #define EMVSIM_PCSR_SRST_SHIFT (3U)
  29131. /*! SRST - Reset to Smart Card
  29132. * 0b0..Smart Card Reset is asserted
  29133. * 0b1..Smart Card Reset is de-asserted
  29134. */
  29135. #define EMVSIM_PCSR_SRST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SRST_SHIFT)) & EMVSIM_PCSR_SRST_MASK)
  29136. #define EMVSIM_PCSR_SCEN_MASK (0x10U)
  29137. #define EMVSIM_PCSR_SCEN_SHIFT (4U)
  29138. /*! SCEN - Clock Enable for Smart Card
  29139. * 0b0..Smart Card Clock Disabled
  29140. * 0b1..Smart Card Clock Enabled
  29141. */
  29142. #define EMVSIM_PCSR_SCEN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCEN_SHIFT)) & EMVSIM_PCSR_SCEN_MASK)
  29143. #define EMVSIM_PCSR_SCSP_MASK (0x20U)
  29144. #define EMVSIM_PCSR_SCSP_SHIFT (5U)
  29145. /*! SCSP - Smart Card Clock Stop Polarity
  29146. * 0b0..Clock is logic 0 when stopped by SCEN
  29147. * 0b1..Clock is logic 1 when stopped by SCEN
  29148. */
  29149. #define EMVSIM_PCSR_SCSP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCSP_SHIFT)) & EMVSIM_PCSR_SCSP_MASK)
  29150. #define EMVSIM_PCSR_SPD_MASK (0x80U)
  29151. #define EMVSIM_PCSR_SPD_SHIFT (7U)
  29152. /*! SPD - Auto Power Down Control
  29153. * 0b0..No effect
  29154. * 0b1..Start Auto Powerdown or Power Down is in progress
  29155. */
  29156. #define EMVSIM_PCSR_SPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPD_SHIFT)) & EMVSIM_PCSR_SPD_MASK)
  29157. #define EMVSIM_PCSR_SPDIM_MASK (0x1000000U)
  29158. #define EMVSIM_PCSR_SPDIM_SHIFT (24U)
  29159. /*! SPDIM - Smart Card Presence Detect Interrupt Mask
  29160. * 0b0..SIM presence detect interrupt is enabled
  29161. * 0b1..SIM presence detect interrupt is masked
  29162. */
  29163. #define EMVSIM_PCSR_SPDIM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIM_SHIFT)) & EMVSIM_PCSR_SPDIM_MASK)
  29164. #define EMVSIM_PCSR_SPDIF_MASK (0x2000000U)
  29165. #define EMVSIM_PCSR_SPDIF_SHIFT (25U)
  29166. /*! SPDIF - Smart Card Presence Detect Interrupt Flag
  29167. * 0b0..No insertion or removal of Smart Card detected on Port
  29168. * 0b1..Insertion or removal of Smart Card detected on Port
  29169. */
  29170. #define EMVSIM_PCSR_SPDIF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIF_SHIFT)) & EMVSIM_PCSR_SPDIF_MASK)
  29171. #define EMVSIM_PCSR_SPDP_MASK (0x4000000U)
  29172. #define EMVSIM_PCSR_SPDP_SHIFT (26U)
  29173. /*! SPDP - Smart Card Presence Detect Pin Status
  29174. * 0b0..SIM Presence Detect pin is logic low
  29175. * 0b1..SIM Presence Detectpin is logic high
  29176. */
  29177. #define EMVSIM_PCSR_SPDP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDP_SHIFT)) & EMVSIM_PCSR_SPDP_MASK)
  29178. #define EMVSIM_PCSR_SPDES_MASK (0x8000000U)
  29179. #define EMVSIM_PCSR_SPDES_SHIFT (27U)
  29180. /*! SPDES - SIM Presence Detect Edge Select
  29181. * 0b0..Falling edge on the pin
  29182. * 0b1..Rising edge on the pin
  29183. */
  29184. #define EMVSIM_PCSR_SPDES(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDES_SHIFT)) & EMVSIM_PCSR_SPDES_MASK)
  29185. /*! @} */
  29186. /*! @name RX_BUF - Receive Data Read Buffer */
  29187. /*! @{ */
  29188. #define EMVSIM_RX_BUF_RX_BYTE_MASK (0xFFU)
  29189. #define EMVSIM_RX_BUF_RX_BYTE_SHIFT (0U)
  29190. /*! RX_BYTE - Receive Data Byte Read
  29191. */
  29192. #define EMVSIM_RX_BUF_RX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_BUF_RX_BYTE_SHIFT)) & EMVSIM_RX_BUF_RX_BYTE_MASK)
  29193. /*! @} */
  29194. /*! @name TX_BUF - Transmit Data Buffer */
  29195. /*! @{ */
  29196. #define EMVSIM_TX_BUF_TX_BYTE_MASK (0xFFU)
  29197. #define EMVSIM_TX_BUF_TX_BYTE_SHIFT (0U)
  29198. /*! TX_BYTE - Transmit Data Byte
  29199. */
  29200. #define EMVSIM_TX_BUF_TX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_BUF_TX_BYTE_SHIFT)) & EMVSIM_TX_BUF_TX_BYTE_MASK)
  29201. /*! @} */
  29202. /*! @name TX_GETU - Transmitter Guard ETU Value Register */
  29203. /*! @{ */
  29204. #define EMVSIM_TX_GETU_GETU_MASK (0xFFU)
  29205. #define EMVSIM_TX_GETU_GETU_SHIFT (0U)
  29206. /*! GETU - Transmitter Guard Time Value in ETU
  29207. */
  29208. #define EMVSIM_TX_GETU_GETU(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_GETU_GETU_SHIFT)) & EMVSIM_TX_GETU_GETU_MASK)
  29209. /*! @} */
  29210. /*! @name CWT_VAL - Character Wait Time Value Register */
  29211. /*! @{ */
  29212. #define EMVSIM_CWT_VAL_CWT_MASK (0xFFFFU)
  29213. #define EMVSIM_CWT_VAL_CWT_SHIFT (0U)
  29214. /*! CWT - Character Wait Time Value
  29215. */
  29216. #define EMVSIM_CWT_VAL_CWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CWT_VAL_CWT_SHIFT)) & EMVSIM_CWT_VAL_CWT_MASK)
  29217. /*! @} */
  29218. /*! @name BWT_VAL - Block Wait Time Value Register */
  29219. /*! @{ */
  29220. #define EMVSIM_BWT_VAL_BWT_MASK (0xFFFFFFFFU)
  29221. #define EMVSIM_BWT_VAL_BWT_SHIFT (0U)
  29222. /*! BWT - Block Wait Time Value
  29223. */
  29224. #define EMVSIM_BWT_VAL_BWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BWT_VAL_BWT_SHIFT)) & EMVSIM_BWT_VAL_BWT_MASK)
  29225. /*! @} */
  29226. /*! @name BGT_VAL - Block Guard Time Value Register */
  29227. /*! @{ */
  29228. #define EMVSIM_BGT_VAL_BGT_MASK (0xFFFFU)
  29229. #define EMVSIM_BGT_VAL_BGT_SHIFT (0U)
  29230. /*! BGT - Block Guard Time Value
  29231. */
  29232. #define EMVSIM_BGT_VAL_BGT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BGT_VAL_BGT_SHIFT)) & EMVSIM_BGT_VAL_BGT_MASK)
  29233. /*! @} */
  29234. /*! @name GPCNT0_VAL - General Purpose Counter 0 Timeout Value Register */
  29235. /*! @{ */
  29236. #define EMVSIM_GPCNT0_VAL_GPCNT0_MASK (0xFFFFU)
  29237. #define EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT (0U)
  29238. /*! GPCNT0 - General Purpose Counter 0 Timeout Value
  29239. */
  29240. #define EMVSIM_GPCNT0_VAL_GPCNT0(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT)) & EMVSIM_GPCNT0_VAL_GPCNT0_MASK)
  29241. /*! @} */
  29242. /*! @name GPCNT1_VAL - General Purpose Counter 1 Timeout Value */
  29243. /*! @{ */
  29244. #define EMVSIM_GPCNT1_VAL_GPCNT1_MASK (0xFFFFU)
  29245. #define EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT (0U)
  29246. /*! GPCNT1 - General Purpose Counter 1 Timeout Value
  29247. */
  29248. #define EMVSIM_GPCNT1_VAL_GPCNT1(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT)) & EMVSIM_GPCNT1_VAL_GPCNT1_MASK)
  29249. /*! @} */
  29250. /*!
  29251. * @}
  29252. */ /* end of group EMVSIM_Register_Masks */
  29253. /* EMVSIM - Peripheral instance base addresses */
  29254. /** Peripheral EMVSIM1 base address */
  29255. #define EMVSIM1_BASE (0x40154000u)
  29256. /** Peripheral EMVSIM1 base pointer */
  29257. #define EMVSIM1 ((EMVSIM_Type *)EMVSIM1_BASE)
  29258. /** Peripheral EMVSIM2 base address */
  29259. #define EMVSIM2_BASE (0x40158000u)
  29260. /** Peripheral EMVSIM2 base pointer */
  29261. #define EMVSIM2 ((EMVSIM_Type *)EMVSIM2_BASE)
  29262. /** Array initializer of EMVSIM peripheral base addresses */
  29263. #define EMVSIM_BASE_ADDRS { 0u, EMVSIM1_BASE, EMVSIM2_BASE }
  29264. /** Array initializer of EMVSIM peripheral base pointers */
  29265. #define EMVSIM_BASE_PTRS { (EMVSIM_Type *)0u, EMVSIM1, EMVSIM2 }
  29266. /** Interrupt vectors for the EMVSIM peripheral type */
  29267. #define EMVSIM_IRQS { NotAvail_IRQn, EMVSIM1_IRQn, EMVSIM2_IRQn }
  29268. /*!
  29269. * @}
  29270. */ /* end of group EMVSIM_Peripheral_Access_Layer */
  29271. /* ----------------------------------------------------------------------------
  29272. -- ENC Peripheral Access Layer
  29273. ---------------------------------------------------------------------------- */
  29274. /*!
  29275. * @addtogroup ENC_Peripheral_Access_Layer ENC Peripheral Access Layer
  29276. * @{
  29277. */
  29278. /** ENC - Register Layout Typedef */
  29279. typedef struct {
  29280. __IO uint16_t CTRL; /**< Control Register, offset: 0x0 */
  29281. __IO uint16_t FILT; /**< Input Filter Register, offset: 0x2 */
  29282. __IO uint16_t WTR; /**< Watchdog Timeout Register, offset: 0x4 */
  29283. __IO uint16_t POSD; /**< Position Difference Counter Register, offset: 0x6 */
  29284. __I uint16_t POSDH; /**< Position Difference Hold Register, offset: 0x8 */
  29285. __IO uint16_t REV; /**< Revolution Counter Register, offset: 0xA */
  29286. __I uint16_t REVH; /**< Revolution Hold Register, offset: 0xC */
  29287. __IO uint16_t UPOS; /**< Upper Position Counter Register, offset: 0xE */
  29288. __IO uint16_t LPOS; /**< Lower Position Counter Register, offset: 0x10 */
  29289. __I uint16_t UPOSH; /**< Upper Position Hold Register, offset: 0x12 */
  29290. __I uint16_t LPOSH; /**< Lower Position Hold Register, offset: 0x14 */
  29291. __IO uint16_t UINIT; /**< Upper Initialization Register, offset: 0x16 */
  29292. __IO uint16_t LINIT; /**< Lower Initialization Register, offset: 0x18 */
  29293. __I uint16_t IMR; /**< Input Monitor Register, offset: 0x1A */
  29294. __IO uint16_t TST; /**< Test Register, offset: 0x1C */
  29295. __IO uint16_t CTRL2; /**< Control 2 Register, offset: 0x1E */
  29296. __IO uint16_t UMOD; /**< Upper Modulus Register, offset: 0x20 */
  29297. __IO uint16_t LMOD; /**< Lower Modulus Register, offset: 0x22 */
  29298. __IO uint16_t UCOMP; /**< Upper Position Compare Register, offset: 0x24 */
  29299. __IO uint16_t LCOMP; /**< Lower Position Compare Register, offset: 0x26 */
  29300. __I uint16_t LASTEDGE; /**< Last Edge Time Register, offset: 0x28 */
  29301. __I uint16_t LASTEDGEH; /**< Last Edge Time Hold Register, offset: 0x2A */
  29302. __I uint16_t POSDPER; /**< Position Difference Period Counter Register, offset: 0x2C */
  29303. __I uint16_t POSDPERBFR; /**< Position Difference Period Buffer Register, offset: 0x2E */
  29304. __I uint16_t POSDPERH; /**< Position Difference Period Hold Register, offset: 0x30 */
  29305. __IO uint16_t CTRL3; /**< Control 3 Register, offset: 0x32 */
  29306. } ENC_Type;
  29307. /* ----------------------------------------------------------------------------
  29308. -- ENC Register Masks
  29309. ---------------------------------------------------------------------------- */
  29310. /*!
  29311. * @addtogroup ENC_Register_Masks ENC Register Masks
  29312. * @{
  29313. */
  29314. /*! @name CTRL - Control Register */
  29315. /*! @{ */
  29316. #define ENC_CTRL_CMPIE_MASK (0x1U)
  29317. #define ENC_CTRL_CMPIE_SHIFT (0U)
  29318. /*! CMPIE - Compare Interrupt Enable
  29319. * 0b0..Disabled
  29320. * 0b1..Enabled
  29321. */
  29322. #define ENC_CTRL_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIE_SHIFT)) & ENC_CTRL_CMPIE_MASK)
  29323. #define ENC_CTRL_CMPIRQ_MASK (0x2U)
  29324. #define ENC_CTRL_CMPIRQ_SHIFT (1U)
  29325. /*! CMPIRQ - Compare Interrupt Request
  29326. * 0b0..No match has occurred (the counter does not match the COMP value)
  29327. * 0b1..COMP match has occurred (the counter matches the COMP value)
  29328. */
  29329. #define ENC_CTRL_CMPIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_CMPIRQ_SHIFT)) & ENC_CTRL_CMPIRQ_MASK)
  29330. #define ENC_CTRL_WDE_MASK (0x4U)
  29331. #define ENC_CTRL_WDE_SHIFT (2U)
  29332. /*! WDE - Watchdog Enable
  29333. * 0b0..Disabled
  29334. * 0b1..Enabled
  29335. */
  29336. #define ENC_CTRL_WDE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_WDE_SHIFT)) & ENC_CTRL_WDE_MASK)
  29337. #define ENC_CTRL_DIE_MASK (0x8U)
  29338. #define ENC_CTRL_DIE_SHIFT (3U)
  29339. /*! DIE - Watchdog Timeout Interrupt Enable
  29340. * 0b0..Disabled
  29341. * 0b1..Enabled
  29342. */
  29343. #define ENC_CTRL_DIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIE_SHIFT)) & ENC_CTRL_DIE_MASK)
  29344. #define ENC_CTRL_DIRQ_MASK (0x10U)
  29345. #define ENC_CTRL_DIRQ_SHIFT (4U)
  29346. /*! DIRQ - Watchdog Timeout Interrupt Request
  29347. * 0b0..No Watchdog timeout interrupt has occurred
  29348. * 0b1..Watchdog timeout interrupt has occurred
  29349. */
  29350. #define ENC_CTRL_DIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_DIRQ_SHIFT)) & ENC_CTRL_DIRQ_MASK)
  29351. #define ENC_CTRL_XNE_MASK (0x20U)
  29352. #define ENC_CTRL_XNE_SHIFT (5U)
  29353. /*! XNE - Use Negative Edge of INDEX Pulse
  29354. * 0b0..Use positive edge of INDEX pulse
  29355. * 0b1..Use negative edge of INDEX pulse
  29356. */
  29357. #define ENC_CTRL_XNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XNE_SHIFT)) & ENC_CTRL_XNE_MASK)
  29358. #define ENC_CTRL_XIP_MASK (0x40U)
  29359. #define ENC_CTRL_XIP_SHIFT (6U)
  29360. /*! XIP - INDEX Triggered Initialization of Position Counters UPOS and LPOS
  29361. * 0b0..INDEX pulse does not initialize the position counter
  29362. * 0b1..INDEX pulse initializes the position counter
  29363. */
  29364. #define ENC_CTRL_XIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIP_SHIFT)) & ENC_CTRL_XIP_MASK)
  29365. #define ENC_CTRL_XIE_MASK (0x80U)
  29366. #define ENC_CTRL_XIE_SHIFT (7U)
  29367. /*! XIE - INDEX Pulse Interrupt Enable
  29368. * 0b0..Disabled
  29369. * 0b1..Enabled
  29370. */
  29371. #define ENC_CTRL_XIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIE_SHIFT)) & ENC_CTRL_XIE_MASK)
  29372. #define ENC_CTRL_XIRQ_MASK (0x100U)
  29373. #define ENC_CTRL_XIRQ_SHIFT (8U)
  29374. /*! XIRQ - INDEX Pulse Interrupt Request
  29375. * 0b0..INDEX pulse has not occurred
  29376. * 0b1..INDEX pulse has occurred
  29377. */
  29378. #define ENC_CTRL_XIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_XIRQ_SHIFT)) & ENC_CTRL_XIRQ_MASK)
  29379. #define ENC_CTRL_PH1_MASK (0x200U)
  29380. #define ENC_CTRL_PH1_SHIFT (9U)
  29381. /*! PH1 - Enable Signal Phase Count Mode
  29382. * 0b0..Use the standard quadrature decoder, where PHASEA and PHASEB represent a two-phase quadrature signal.
  29383. * 0b1..Bypass the quadrature decoder. A positive transition of the PHASEA input generates a count signal. The
  29384. * PHASEB input and the REV bit control the counter direction: If CTRL[REV] = 0, PHASEB = 0, then count up If
  29385. * CTRL[REV] = 1, PHASEB = 1, then count up If CTRL[REV] = 0, PHASEB = 1, then count down If CTRL[REV] = 1,
  29386. * PHASEB = 0, then count down
  29387. */
  29388. #define ENC_CTRL_PH1(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_PH1_SHIFT)) & ENC_CTRL_PH1_MASK)
  29389. #define ENC_CTRL_REV_MASK (0x400U)
  29390. #define ENC_CTRL_REV_SHIFT (10U)
  29391. /*! REV - Enable Reverse Direction Counting
  29392. * 0b0..Count normally
  29393. * 0b1..Count in the reverse direction
  29394. */
  29395. #define ENC_CTRL_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_REV_SHIFT)) & ENC_CTRL_REV_MASK)
  29396. #define ENC_CTRL_SWIP_MASK (0x800U)
  29397. #define ENC_CTRL_SWIP_SHIFT (11U)
  29398. /*! SWIP - Software-Triggered Initialization of Position Counters UPOS and LPOS
  29399. * 0b0..No action
  29400. * 0b1..Initialize position counter (using upper and lower initialization registers, UINIT and LINIT)
  29401. */
  29402. #define ENC_CTRL_SWIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_SWIP_SHIFT)) & ENC_CTRL_SWIP_MASK)
  29403. #define ENC_CTRL_HNE_MASK (0x1000U)
  29404. #define ENC_CTRL_HNE_SHIFT (12U)
  29405. /*! HNE - Use Negative Edge of HOME Input
  29406. * 0b0..Use positive-going edge-to-trigger initialization of position counters UPOS and LPOS
  29407. * 0b1..Use negative-going edge-to-trigger initialization of position counters UPOS and LPOS
  29408. */
  29409. #define ENC_CTRL_HNE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HNE_SHIFT)) & ENC_CTRL_HNE_MASK)
  29410. #define ENC_CTRL_HIP_MASK (0x2000U)
  29411. #define ENC_CTRL_HIP_SHIFT (13U)
  29412. /*! HIP - Enable HOME to Initialize Position Counters UPOS and LPOS
  29413. * 0b0..No action
  29414. * 0b1..HOME signal initializes the position counter
  29415. */
  29416. #define ENC_CTRL_HIP(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIP_SHIFT)) & ENC_CTRL_HIP_MASK)
  29417. #define ENC_CTRL_HIE_MASK (0x4000U)
  29418. #define ENC_CTRL_HIE_SHIFT (14U)
  29419. /*! HIE - HOME Interrupt Enable
  29420. * 0b0..Disabled
  29421. * 0b1..Enabled
  29422. */
  29423. #define ENC_CTRL_HIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIE_SHIFT)) & ENC_CTRL_HIE_MASK)
  29424. #define ENC_CTRL_HIRQ_MASK (0x8000U)
  29425. #define ENC_CTRL_HIRQ_SHIFT (15U)
  29426. /*! HIRQ - HOME Signal Transition Interrupt Request
  29427. * 0b0..No transition on the HOME signal has occurred
  29428. * 0b1..A transition on the HOME signal has occurred
  29429. */
  29430. #define ENC_CTRL_HIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL_HIRQ_SHIFT)) & ENC_CTRL_HIRQ_MASK)
  29431. /*! @} */
  29432. /*! @name FILT - Input Filter Register */
  29433. /*! @{ */
  29434. #define ENC_FILT_FILT_PER_MASK (0xFFU)
  29435. #define ENC_FILT_FILT_PER_SHIFT (0U)
  29436. /*! FILT_PER - Input Filter Sample Period
  29437. */
  29438. #define ENC_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PER_SHIFT)) & ENC_FILT_FILT_PER_MASK)
  29439. #define ENC_FILT_FILT_CNT_MASK (0x700U)
  29440. #define ENC_FILT_FILT_CNT_SHIFT (8U)
  29441. /*! FILT_CNT - Input Filter Sample Count
  29442. */
  29443. #define ENC_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_CNT_SHIFT)) & ENC_FILT_FILT_CNT_MASK)
  29444. #define ENC_FILT_FILT_PRSC_MASK (0xE000U)
  29445. #define ENC_FILT_FILT_PRSC_SHIFT (13U)
  29446. /*! FILT_PRSC - prescaler divide IPbus clock to FILT clk
  29447. */
  29448. #define ENC_FILT_FILT_PRSC(x) (((uint16_t)(((uint16_t)(x)) << ENC_FILT_FILT_PRSC_SHIFT)) & ENC_FILT_FILT_PRSC_MASK)
  29449. /*! @} */
  29450. /*! @name WTR - Watchdog Timeout Register */
  29451. /*! @{ */
  29452. #define ENC_WTR_WDOG_MASK (0xFFFFU)
  29453. #define ENC_WTR_WDOG_SHIFT (0U)
  29454. /*! WDOG - WDOG
  29455. */
  29456. #define ENC_WTR_WDOG(x) (((uint16_t)(((uint16_t)(x)) << ENC_WTR_WDOG_SHIFT)) & ENC_WTR_WDOG_MASK)
  29457. /*! @} */
  29458. /*! @name POSD - Position Difference Counter Register */
  29459. /*! @{ */
  29460. #define ENC_POSD_POSD_MASK (0xFFFFU)
  29461. #define ENC_POSD_POSD_SHIFT (0U)
  29462. /*! POSD - POSD
  29463. */
  29464. #define ENC_POSD_POSD(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSD_POSD_SHIFT)) & ENC_POSD_POSD_MASK)
  29465. /*! @} */
  29466. /*! @name POSDH - Position Difference Hold Register */
  29467. /*! @{ */
  29468. #define ENC_POSDH_POSDH_MASK (0xFFFFU)
  29469. #define ENC_POSDH_POSDH_SHIFT (0U)
  29470. /*! POSDH - POSDH
  29471. */
  29472. #define ENC_POSDH_POSDH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDH_POSDH_SHIFT)) & ENC_POSDH_POSDH_MASK)
  29473. /*! @} */
  29474. /*! @name REV - Revolution Counter Register */
  29475. /*! @{ */
  29476. #define ENC_REV_REV_MASK (0xFFFFU)
  29477. #define ENC_REV_REV_SHIFT (0U)
  29478. /*! REV - REV
  29479. */
  29480. #define ENC_REV_REV(x) (((uint16_t)(((uint16_t)(x)) << ENC_REV_REV_SHIFT)) & ENC_REV_REV_MASK)
  29481. /*! @} */
  29482. /*! @name REVH - Revolution Hold Register */
  29483. /*! @{ */
  29484. #define ENC_REVH_REVH_MASK (0xFFFFU)
  29485. #define ENC_REVH_REVH_SHIFT (0U)
  29486. /*! REVH - REVH
  29487. */
  29488. #define ENC_REVH_REVH(x) (((uint16_t)(((uint16_t)(x)) << ENC_REVH_REVH_SHIFT)) & ENC_REVH_REVH_MASK)
  29489. /*! @} */
  29490. /*! @name UPOS - Upper Position Counter Register */
  29491. /*! @{ */
  29492. #define ENC_UPOS_POS_MASK (0xFFFFU)
  29493. #define ENC_UPOS_POS_SHIFT (0U)
  29494. /*! POS - POS
  29495. */
  29496. #define ENC_UPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOS_POS_SHIFT)) & ENC_UPOS_POS_MASK)
  29497. /*! @} */
  29498. /*! @name LPOS - Lower Position Counter Register */
  29499. /*! @{ */
  29500. #define ENC_LPOS_POS_MASK (0xFFFFU)
  29501. #define ENC_LPOS_POS_SHIFT (0U)
  29502. /*! POS - POS
  29503. */
  29504. #define ENC_LPOS_POS(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOS_POS_SHIFT)) & ENC_LPOS_POS_MASK)
  29505. /*! @} */
  29506. /*! @name UPOSH - Upper Position Hold Register */
  29507. /*! @{ */
  29508. #define ENC_UPOSH_POSH_MASK (0xFFFFU)
  29509. #define ENC_UPOSH_POSH_SHIFT (0U)
  29510. /*! POSH - POSH
  29511. */
  29512. #define ENC_UPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_UPOSH_POSH_SHIFT)) & ENC_UPOSH_POSH_MASK)
  29513. /*! @} */
  29514. /*! @name LPOSH - Lower Position Hold Register */
  29515. /*! @{ */
  29516. #define ENC_LPOSH_POSH_MASK (0xFFFFU)
  29517. #define ENC_LPOSH_POSH_SHIFT (0U)
  29518. /*! POSH - POSH
  29519. */
  29520. #define ENC_LPOSH_POSH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LPOSH_POSH_SHIFT)) & ENC_LPOSH_POSH_MASK)
  29521. /*! @} */
  29522. /*! @name UINIT - Upper Initialization Register */
  29523. /*! @{ */
  29524. #define ENC_UINIT_INIT_MASK (0xFFFFU)
  29525. #define ENC_UINIT_INIT_SHIFT (0U)
  29526. /*! INIT - INIT
  29527. */
  29528. #define ENC_UINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_UINIT_INIT_SHIFT)) & ENC_UINIT_INIT_MASK)
  29529. /*! @} */
  29530. /*! @name LINIT - Lower Initialization Register */
  29531. /*! @{ */
  29532. #define ENC_LINIT_INIT_MASK (0xFFFFU)
  29533. #define ENC_LINIT_INIT_SHIFT (0U)
  29534. /*! INIT - INIT
  29535. */
  29536. #define ENC_LINIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << ENC_LINIT_INIT_SHIFT)) & ENC_LINIT_INIT_MASK)
  29537. /*! @} */
  29538. /*! @name IMR - Input Monitor Register */
  29539. /*! @{ */
  29540. #define ENC_IMR_HOME_MASK (0x1U)
  29541. #define ENC_IMR_HOME_SHIFT (0U)
  29542. /*! HOME - HOME
  29543. */
  29544. #define ENC_IMR_HOME(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_HOME_SHIFT)) & ENC_IMR_HOME_MASK)
  29545. #define ENC_IMR_INDEX_MASK (0x2U)
  29546. #define ENC_IMR_INDEX_SHIFT (1U)
  29547. /*! INDEX - INDEX
  29548. */
  29549. #define ENC_IMR_INDEX(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_INDEX_SHIFT)) & ENC_IMR_INDEX_MASK)
  29550. #define ENC_IMR_PHB_MASK (0x4U)
  29551. #define ENC_IMR_PHB_SHIFT (2U)
  29552. /*! PHB - PHB
  29553. */
  29554. #define ENC_IMR_PHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHB_SHIFT)) & ENC_IMR_PHB_MASK)
  29555. #define ENC_IMR_PHA_MASK (0x8U)
  29556. #define ENC_IMR_PHA_SHIFT (3U)
  29557. /*! PHA - PHA
  29558. */
  29559. #define ENC_IMR_PHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_PHA_SHIFT)) & ENC_IMR_PHA_MASK)
  29560. #define ENC_IMR_FHOM_MASK (0x10U)
  29561. #define ENC_IMR_FHOM_SHIFT (4U)
  29562. /*! FHOM - FHOM
  29563. */
  29564. #define ENC_IMR_FHOM(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FHOM_SHIFT)) & ENC_IMR_FHOM_MASK)
  29565. #define ENC_IMR_FIND_MASK (0x20U)
  29566. #define ENC_IMR_FIND_SHIFT (5U)
  29567. /*! FIND - FIND
  29568. */
  29569. #define ENC_IMR_FIND(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FIND_SHIFT)) & ENC_IMR_FIND_MASK)
  29570. #define ENC_IMR_FPHB_MASK (0x40U)
  29571. #define ENC_IMR_FPHB_SHIFT (6U)
  29572. /*! FPHB - FPHB
  29573. */
  29574. #define ENC_IMR_FPHB(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHB_SHIFT)) & ENC_IMR_FPHB_MASK)
  29575. #define ENC_IMR_FPHA_MASK (0x80U)
  29576. #define ENC_IMR_FPHA_SHIFT (7U)
  29577. /*! FPHA - FPHA
  29578. */
  29579. #define ENC_IMR_FPHA(x) (((uint16_t)(((uint16_t)(x)) << ENC_IMR_FPHA_SHIFT)) & ENC_IMR_FPHA_MASK)
  29580. /*! @} */
  29581. /*! @name TST - Test Register */
  29582. /*! @{ */
  29583. #define ENC_TST_TEST_COUNT_MASK (0xFFU)
  29584. #define ENC_TST_TEST_COUNT_SHIFT (0U)
  29585. /*! TEST_COUNT - TEST_COUNT
  29586. */
  29587. #define ENC_TST_TEST_COUNT(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_COUNT_SHIFT)) & ENC_TST_TEST_COUNT_MASK)
  29588. #define ENC_TST_TEST_PERIOD_MASK (0x1F00U)
  29589. #define ENC_TST_TEST_PERIOD_SHIFT (8U)
  29590. /*! TEST_PERIOD - TEST_PERIOD
  29591. */
  29592. #define ENC_TST_TEST_PERIOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEST_PERIOD_SHIFT)) & ENC_TST_TEST_PERIOD_MASK)
  29593. #define ENC_TST_QDN_MASK (0x2000U)
  29594. #define ENC_TST_QDN_SHIFT (13U)
  29595. /*! QDN - Quadrature Decoder Negative Signal
  29596. * 0b0..Generates a positive quadrature decoder signal
  29597. * 0b1..Generates a negative quadrature decoder signal
  29598. */
  29599. #define ENC_TST_QDN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_QDN_SHIFT)) & ENC_TST_QDN_MASK)
  29600. #define ENC_TST_TCE_MASK (0x4000U)
  29601. #define ENC_TST_TCE_SHIFT (14U)
  29602. /*! TCE - Test Counter Enable
  29603. * 0b0..Disabled
  29604. * 0b1..Enabled
  29605. */
  29606. #define ENC_TST_TCE(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TCE_SHIFT)) & ENC_TST_TCE_MASK)
  29607. #define ENC_TST_TEN_MASK (0x8000U)
  29608. #define ENC_TST_TEN_SHIFT (15U)
  29609. /*! TEN - Test Mode Enable
  29610. * 0b0..Disabled
  29611. * 0b1..Enabled
  29612. */
  29613. #define ENC_TST_TEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_TST_TEN_SHIFT)) & ENC_TST_TEN_MASK)
  29614. /*! @} */
  29615. /*! @name CTRL2 - Control 2 Register */
  29616. /*! @{ */
  29617. #define ENC_CTRL2_UPDHLD_MASK (0x1U)
  29618. #define ENC_CTRL2_UPDHLD_SHIFT (0U)
  29619. /*! UPDHLD - Update Hold Registers
  29620. * 0b0..Disable updates of hold registers on the rising edge of TRIGGER input signal
  29621. * 0b1..Enable updates of hold registers on the rising edge of TRIGGER input signal
  29622. */
  29623. #define ENC_CTRL2_UPDHLD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDHLD_SHIFT)) & ENC_CTRL2_UPDHLD_MASK)
  29624. #define ENC_CTRL2_UPDPOS_MASK (0x2U)
  29625. #define ENC_CTRL2_UPDPOS_SHIFT (1U)
  29626. /*! UPDPOS - Update Position Registers
  29627. * 0b0..No action for POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  29628. * 0b1..Clear POSD, REV, UPOS and LPOS registers on rising edge of TRIGGER
  29629. */
  29630. #define ENC_CTRL2_UPDPOS(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_UPDPOS_SHIFT)) & ENC_CTRL2_UPDPOS_MASK)
  29631. #define ENC_CTRL2_MOD_MASK (0x4U)
  29632. #define ENC_CTRL2_MOD_SHIFT (2U)
  29633. /*! MOD - Enable Modulo Counting
  29634. * 0b0..Disable modulo counting
  29635. * 0b1..Enable modulo counting
  29636. */
  29637. #define ENC_CTRL2_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_MOD_SHIFT)) & ENC_CTRL2_MOD_MASK)
  29638. #define ENC_CTRL2_DIR_MASK (0x8U)
  29639. #define ENC_CTRL2_DIR_SHIFT (3U)
  29640. /*! DIR - Count Direction Flag
  29641. * 0b0..Last count was in the down direction
  29642. * 0b1..Last count was in the up direction
  29643. */
  29644. #define ENC_CTRL2_DIR(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_DIR_SHIFT)) & ENC_CTRL2_DIR_MASK)
  29645. #define ENC_CTRL2_RUIE_MASK (0x10U)
  29646. #define ENC_CTRL2_RUIE_SHIFT (4U)
  29647. /*! RUIE - Roll-under Interrupt Enable
  29648. * 0b0..Disabled
  29649. * 0b1..Enabled
  29650. */
  29651. #define ENC_CTRL2_RUIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIE_SHIFT)) & ENC_CTRL2_RUIE_MASK)
  29652. #define ENC_CTRL2_RUIRQ_MASK (0x20U)
  29653. #define ENC_CTRL2_RUIRQ_SHIFT (5U)
  29654. /*! RUIRQ - Roll-under Interrupt Request
  29655. * 0b0..No roll-under has occurred
  29656. * 0b1..Roll-under has occurred
  29657. */
  29658. #define ENC_CTRL2_RUIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_RUIRQ_SHIFT)) & ENC_CTRL2_RUIRQ_MASK)
  29659. #define ENC_CTRL2_ROIE_MASK (0x40U)
  29660. #define ENC_CTRL2_ROIE_SHIFT (6U)
  29661. /*! ROIE - Roll-over Interrupt Enable
  29662. * 0b0..Disabled
  29663. * 0b1..Enabled
  29664. */
  29665. #define ENC_CTRL2_ROIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIE_SHIFT)) & ENC_CTRL2_ROIE_MASK)
  29666. #define ENC_CTRL2_ROIRQ_MASK (0x80U)
  29667. #define ENC_CTRL2_ROIRQ_SHIFT (7U)
  29668. /*! ROIRQ - Roll-over Interrupt Request
  29669. * 0b0..No roll-over has occurred
  29670. * 0b1..Roll-over has occurred
  29671. */
  29672. #define ENC_CTRL2_ROIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_ROIRQ_SHIFT)) & ENC_CTRL2_ROIRQ_MASK)
  29673. #define ENC_CTRL2_REVMOD_MASK (0x100U)
  29674. #define ENC_CTRL2_REVMOD_SHIFT (8U)
  29675. /*! REVMOD - Revolution Counter Modulus Enable
  29676. * 0b0..Use INDEX pulse to increment/decrement revolution counter (REV)
  29677. * 0b1..Use modulus counting roll-over/under to increment/decrement revolution counter (REV)
  29678. */
  29679. #define ENC_CTRL2_REVMOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_REVMOD_SHIFT)) & ENC_CTRL2_REVMOD_MASK)
  29680. #define ENC_CTRL2_OUTCTL_MASK (0x200U)
  29681. #define ENC_CTRL2_OUTCTL_SHIFT (9U)
  29682. /*! OUTCTL - Output Control
  29683. * 0b0..POSMATCH pulses when a match occurs between the position counters (POS) and the corresponding compare value (COMP )
  29684. * 0b1..POSMATCH pulses when the UPOS, LPOS, REV, or POSD registers are read
  29685. */
  29686. #define ENC_CTRL2_OUTCTL(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_OUTCTL_SHIFT)) & ENC_CTRL2_OUTCTL_MASK)
  29687. #define ENC_CTRL2_SABIE_MASK (0x400U)
  29688. #define ENC_CTRL2_SABIE_SHIFT (10U)
  29689. /*! SABIE - Simultaneous PHASEA and PHASEB Change Interrupt Enable
  29690. * 0b0..Disabled
  29691. * 0b1..Enabled
  29692. */
  29693. #define ENC_CTRL2_SABIE(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIE_SHIFT)) & ENC_CTRL2_SABIE_MASK)
  29694. #define ENC_CTRL2_SABIRQ_MASK (0x800U)
  29695. #define ENC_CTRL2_SABIRQ_SHIFT (11U)
  29696. /*! SABIRQ - Simultaneous PHASEA and PHASEB Change Interrupt Request
  29697. * 0b0..No simultaneous change of PHASEA and PHASEB has occurred
  29698. * 0b1..A simultaneous change of PHASEA and PHASEB has occurred
  29699. */
  29700. #define ENC_CTRL2_SABIRQ(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL2_SABIRQ_SHIFT)) & ENC_CTRL2_SABIRQ_MASK)
  29701. /*! @} */
  29702. /*! @name UMOD - Upper Modulus Register */
  29703. /*! @{ */
  29704. #define ENC_UMOD_MOD_MASK (0xFFFFU)
  29705. #define ENC_UMOD_MOD_SHIFT (0U)
  29706. /*! MOD - MOD
  29707. */
  29708. #define ENC_UMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_UMOD_MOD_SHIFT)) & ENC_UMOD_MOD_MASK)
  29709. /*! @} */
  29710. /*! @name LMOD - Lower Modulus Register */
  29711. /*! @{ */
  29712. #define ENC_LMOD_MOD_MASK (0xFFFFU)
  29713. #define ENC_LMOD_MOD_SHIFT (0U)
  29714. /*! MOD - MOD
  29715. */
  29716. #define ENC_LMOD_MOD(x) (((uint16_t)(((uint16_t)(x)) << ENC_LMOD_MOD_SHIFT)) & ENC_LMOD_MOD_MASK)
  29717. /*! @} */
  29718. /*! @name UCOMP - Upper Position Compare Register */
  29719. /*! @{ */
  29720. #define ENC_UCOMP_COMP_MASK (0xFFFFU)
  29721. #define ENC_UCOMP_COMP_SHIFT (0U)
  29722. /*! COMP - COMP
  29723. */
  29724. #define ENC_UCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_UCOMP_COMP_SHIFT)) & ENC_UCOMP_COMP_MASK)
  29725. /*! @} */
  29726. /*! @name LCOMP - Lower Position Compare Register */
  29727. /*! @{ */
  29728. #define ENC_LCOMP_COMP_MASK (0xFFFFU)
  29729. #define ENC_LCOMP_COMP_SHIFT (0U)
  29730. /*! COMP - COMP
  29731. */
  29732. #define ENC_LCOMP_COMP(x) (((uint16_t)(((uint16_t)(x)) << ENC_LCOMP_COMP_SHIFT)) & ENC_LCOMP_COMP_MASK)
  29733. /*! @} */
  29734. /*! @name LASTEDGE - Last Edge Time Register */
  29735. /*! @{ */
  29736. #define ENC_LASTEDGE_LASTEDGE_MASK (0xFFFFU)
  29737. #define ENC_LASTEDGE_LASTEDGE_SHIFT (0U)
  29738. /*! LASTEDGE - Last Edge Time Counter
  29739. */
  29740. #define ENC_LASTEDGE_LASTEDGE(x) (((uint16_t)(((uint16_t)(x)) << ENC_LASTEDGE_LASTEDGE_SHIFT)) & ENC_LASTEDGE_LASTEDGE_MASK)
  29741. /*! @} */
  29742. /*! @name LASTEDGEH - Last Edge Time Hold Register */
  29743. /*! @{ */
  29744. #define ENC_LASTEDGEH_LASTEDGEH_MASK (0xFFFFU)
  29745. #define ENC_LASTEDGEH_LASTEDGEH_SHIFT (0U)
  29746. /*! LASTEDGEH - Last Edge Time Hold
  29747. */
  29748. #define ENC_LASTEDGEH_LASTEDGEH(x) (((uint16_t)(((uint16_t)(x)) << ENC_LASTEDGEH_LASTEDGEH_SHIFT)) & ENC_LASTEDGEH_LASTEDGEH_MASK)
  29749. /*! @} */
  29750. /*! @name POSDPER - Position Difference Period Counter Register */
  29751. /*! @{ */
  29752. #define ENC_POSDPER_POSDPER_MASK (0xFFFFU)
  29753. #define ENC_POSDPER_POSDPER_SHIFT (0U)
  29754. /*! POSDPER - Position difference period
  29755. */
  29756. #define ENC_POSDPER_POSDPER(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPER_POSDPER_SHIFT)) & ENC_POSDPER_POSDPER_MASK)
  29757. /*! @} */
  29758. /*! @name POSDPERBFR - Position Difference Period Buffer Register */
  29759. /*! @{ */
  29760. #define ENC_POSDPERBFR_POSDPERBFR_MASK (0xFFFFU)
  29761. #define ENC_POSDPERBFR_POSDPERBFR_SHIFT (0U)
  29762. /*! POSDPERBFR - Position difference period buffer
  29763. */
  29764. #define ENC_POSDPERBFR_POSDPERBFR(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPERBFR_POSDPERBFR_SHIFT)) & ENC_POSDPERBFR_POSDPERBFR_MASK)
  29765. /*! @} */
  29766. /*! @name POSDPERH - Position Difference Period Hold Register */
  29767. /*! @{ */
  29768. #define ENC_POSDPERH_POSDPERH_MASK (0xFFFFU)
  29769. #define ENC_POSDPERH_POSDPERH_SHIFT (0U)
  29770. /*! POSDPERH - Position difference period hold
  29771. */
  29772. #define ENC_POSDPERH_POSDPERH(x) (((uint16_t)(((uint16_t)(x)) << ENC_POSDPERH_POSDPERH_SHIFT)) & ENC_POSDPERH_POSDPERH_MASK)
  29773. /*! @} */
  29774. /*! @name CTRL3 - Control 3 Register */
  29775. /*! @{ */
  29776. #define ENC_CTRL3_PMEN_MASK (0x1U)
  29777. #define ENC_CTRL3_PMEN_SHIFT (0U)
  29778. /*! PMEN - Period measurement function enable
  29779. * 0b0..Period measurement functions are not used. POSD is loaded to POSDH and then cleared whenever POSD, UPOS, LPOS, or REV is read.
  29780. * 0b1..Period measurement functions are used. POSD is loaded to POSDH and then cleared only when POSD is read.
  29781. */
  29782. #define ENC_CTRL3_PMEN(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL3_PMEN_SHIFT)) & ENC_CTRL3_PMEN_MASK)
  29783. #define ENC_CTRL3_PRSC_MASK (0xF0U)
  29784. #define ENC_CTRL3_PRSC_SHIFT (4U)
  29785. /*! PRSC - Prescaler
  29786. */
  29787. #define ENC_CTRL3_PRSC(x) (((uint16_t)(((uint16_t)(x)) << ENC_CTRL3_PRSC_SHIFT)) & ENC_CTRL3_PRSC_MASK)
  29788. /*! @} */
  29789. /*!
  29790. * @}
  29791. */ /* end of group ENC_Register_Masks */
  29792. /* ENC - Peripheral instance base addresses */
  29793. /** Peripheral ENC1 base address */
  29794. #define ENC1_BASE (0x40174000u)
  29795. /** Peripheral ENC1 base pointer */
  29796. #define ENC1 ((ENC_Type *)ENC1_BASE)
  29797. /** Peripheral ENC2 base address */
  29798. #define ENC2_BASE (0x40178000u)
  29799. /** Peripheral ENC2 base pointer */
  29800. #define ENC2 ((ENC_Type *)ENC2_BASE)
  29801. /** Peripheral ENC3 base address */
  29802. #define ENC3_BASE (0x4017C000u)
  29803. /** Peripheral ENC3 base pointer */
  29804. #define ENC3 ((ENC_Type *)ENC3_BASE)
  29805. /** Peripheral ENC4 base address */
  29806. #define ENC4_BASE (0x40180000u)
  29807. /** Peripheral ENC4 base pointer */
  29808. #define ENC4 ((ENC_Type *)ENC4_BASE)
  29809. /** Array initializer of ENC peripheral base addresses */
  29810. #define ENC_BASE_ADDRS { 0u, ENC1_BASE, ENC2_BASE, ENC3_BASE, ENC4_BASE }
  29811. /** Array initializer of ENC peripheral base pointers */
  29812. #define ENC_BASE_PTRS { (ENC_Type *)0u, ENC1, ENC2, ENC3, ENC4 }
  29813. /** Interrupt vectors for the ENC peripheral type */
  29814. #define ENC_COMPARE_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29815. #define ENC_HOME_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29816. #define ENC_WDOG_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29817. #define ENC_INDEX_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29818. #define ENC_INPUT_SWITCH_IRQS { NotAvail_IRQn, ENC1_IRQn, ENC2_IRQn, ENC3_IRQn, ENC4_IRQn }
  29819. /*!
  29820. * @}
  29821. */ /* end of group ENC_Peripheral_Access_Layer */
  29822. /* ----------------------------------------------------------------------------
  29823. -- ENET Peripheral Access Layer
  29824. ---------------------------------------------------------------------------- */
  29825. /*!
  29826. * @addtogroup ENET_Peripheral_Access_Layer ENET Peripheral Access Layer
  29827. * @{
  29828. */
  29829. /** ENET - Register Layout Typedef */
  29830. typedef struct {
  29831. uint8_t RESERVED_0[4];
  29832. __IO uint32_t EIR; /**< Interrupt Event Register, offset: 0x4 */
  29833. __IO uint32_t EIMR; /**< Interrupt Mask Register, offset: 0x8 */
  29834. uint8_t RESERVED_1[4];
  29835. __IO uint32_t RDAR; /**< Receive Descriptor Active Register - Ring 0, offset: 0x10 */
  29836. __IO uint32_t TDAR; /**< Transmit Descriptor Active Register - Ring 0, offset: 0x14 */
  29837. uint8_t RESERVED_2[12];
  29838. __IO uint32_t ECR; /**< Ethernet Control Register, offset: 0x24 */
  29839. uint8_t RESERVED_3[24];
  29840. __IO uint32_t MMFR; /**< MII Management Frame Register, offset: 0x40 */
  29841. __IO uint32_t MSCR; /**< MII Speed Control Register, offset: 0x44 */
  29842. uint8_t RESERVED_4[28];
  29843. __IO uint32_t MIBC; /**< MIB Control Register, offset: 0x64 */
  29844. uint8_t RESERVED_5[28];
  29845. __IO uint32_t RCR; /**< Receive Control Register, offset: 0x84 */
  29846. uint8_t RESERVED_6[60];
  29847. __IO uint32_t TCR; /**< Transmit Control Register, offset: 0xC4 */
  29848. uint8_t RESERVED_7[28];
  29849. __IO uint32_t PALR; /**< Physical Address Lower Register, offset: 0xE4 */
  29850. __IO uint32_t PAUR; /**< Physical Address Upper Register, offset: 0xE8 */
  29851. __IO uint32_t OPD; /**< Opcode/Pause Duration Register, offset: 0xEC */
  29852. __IO uint32_t TXIC[3]; /**< Transmit Interrupt Coalescing Register, array offset: 0xF0, array step: 0x4 */
  29853. uint8_t RESERVED_8[4];
  29854. __IO uint32_t RXIC[3]; /**< Receive Interrupt Coalescing Register, array offset: 0x100, array step: 0x4 */
  29855. uint8_t RESERVED_9[12];
  29856. __IO uint32_t IAUR; /**< Descriptor Individual Upper Address Register, offset: 0x118 */
  29857. __IO uint32_t IALR; /**< Descriptor Individual Lower Address Register, offset: 0x11C */
  29858. __IO uint32_t GAUR; /**< Descriptor Group Upper Address Register, offset: 0x120 */
  29859. __IO uint32_t GALR; /**< Descriptor Group Lower Address Register, offset: 0x124 */
  29860. uint8_t RESERVED_10[28];
  29861. __IO uint32_t TFWR; /**< Transmit FIFO Watermark Register, offset: 0x144 */
  29862. uint8_t RESERVED_11[24];
  29863. __IO uint32_t RDSR1; /**< Receive Descriptor Ring 1 Start Register, offset: 0x160 */
  29864. __IO uint32_t TDSR1; /**< Transmit Buffer Descriptor Ring 1 Start Register, offset: 0x164 */
  29865. __IO uint32_t MRBR1; /**< Maximum Receive Buffer Size Register - Ring 1, offset: 0x168 */
  29866. __IO uint32_t RDSR2; /**< Receive Descriptor Ring 2 Start Register, offset: 0x16C */
  29867. __IO uint32_t TDSR2; /**< Transmit Buffer Descriptor Ring 2 Start Register, offset: 0x170 */
  29868. __IO uint32_t MRBR2; /**< Maximum Receive Buffer Size Register - Ring 2, offset: 0x174 */
  29869. uint8_t RESERVED_12[8];
  29870. __IO uint32_t RDSR; /**< Receive Descriptor Ring 0 Start Register, offset: 0x180 */
  29871. __IO uint32_t TDSR; /**< Transmit Buffer Descriptor Ring 0 Start Register, offset: 0x184 */
  29872. __IO uint32_t MRBR; /**< Maximum Receive Buffer Size Register - Ring 0, offset: 0x188 */
  29873. uint8_t RESERVED_13[4];
  29874. __IO uint32_t RSFL; /**< Receive FIFO Section Full Threshold, offset: 0x190 */
  29875. __IO uint32_t RSEM; /**< Receive FIFO Section Empty Threshold, offset: 0x194 */
  29876. __IO uint32_t RAEM; /**< Receive FIFO Almost Empty Threshold, offset: 0x198 */
  29877. __IO uint32_t RAFL; /**< Receive FIFO Almost Full Threshold, offset: 0x19C */
  29878. __IO uint32_t TSEM; /**< Transmit FIFO Section Empty Threshold, offset: 0x1A0 */
  29879. __IO uint32_t TAEM; /**< Transmit FIFO Almost Empty Threshold, offset: 0x1A4 */
  29880. __IO uint32_t TAFL; /**< Transmit FIFO Almost Full Threshold, offset: 0x1A8 */
  29881. __IO uint32_t TIPG; /**< Transmit Inter-Packet Gap, offset: 0x1AC */
  29882. __IO uint32_t FTRL; /**< Frame Truncation Length, offset: 0x1B0 */
  29883. uint8_t RESERVED_14[12];
  29884. __IO uint32_t TACC; /**< Transmit Accelerator Function Configuration, offset: 0x1C0 */
  29885. __IO uint32_t RACC; /**< Receive Accelerator Function Configuration, offset: 0x1C4 */
  29886. __IO uint32_t RCMR[2]; /**< Receive Classification Match Register for Class n, array offset: 0x1C8, array step: 0x4 */
  29887. uint8_t RESERVED_15[8];
  29888. __IO uint32_t DMACFG[2]; /**< DMA Class Based Configuration, array offset: 0x1D8, array step: 0x4 */
  29889. __IO uint32_t RDAR1; /**< Receive Descriptor Active Register - Ring 1, offset: 0x1E0 */
  29890. __IO uint32_t TDAR1; /**< Transmit Descriptor Active Register - Ring 1, offset: 0x1E4 */
  29891. __IO uint32_t RDAR2; /**< Receive Descriptor Active Register - Ring 2, offset: 0x1E8 */
  29892. __IO uint32_t TDAR2; /**< Transmit Descriptor Active Register - Ring 2, offset: 0x1EC */
  29893. __IO uint32_t QOS; /**< QOS Scheme, offset: 0x1F0 */
  29894. uint8_t RESERVED_16[16];
  29895. __I uint32_t RMON_T_PACKETS; /**< Tx Packet Count Statistic Register, offset: 0x204 */
  29896. __I uint32_t RMON_T_BC_PKT; /**< Tx Broadcast Packets Statistic Register, offset: 0x208 */
  29897. __I uint32_t RMON_T_MC_PKT; /**< Tx Multicast Packets Statistic Register, offset: 0x20C */
  29898. __I uint32_t RMON_T_CRC_ALIGN; /**< Tx Packets with CRC/Align Error Statistic Register, offset: 0x210 */
  29899. __I uint32_t RMON_T_UNDERSIZE; /**< Tx Packets Less Than Bytes and Good CRC Statistic Register, offset: 0x214 */
  29900. __I uint32_t RMON_T_OVERSIZE; /**< Tx Packets GT MAX_FL bytes and Good CRC Statistic Register, offset: 0x218 */
  29901. __I uint32_t RMON_T_FRAG; /**< Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x21C */
  29902. __I uint32_t RMON_T_JAB; /**< Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register, offset: 0x220 */
  29903. __I uint32_t RMON_T_COL; /**< Tx Collision Count Statistic Register, offset: 0x224 */
  29904. __I uint32_t RMON_T_P64; /**< Tx 64-Byte Packets Statistic Register, offset: 0x228 */
  29905. __I uint32_t RMON_T_P65TO127; /**< Tx 65- to 127-byte Packets Statistic Register, offset: 0x22C */
  29906. __I uint32_t RMON_T_P128TO255; /**< Tx 128- to 255-byte Packets Statistic Register, offset: 0x230 */
  29907. __I uint32_t RMON_T_P256TO511; /**< Tx 256- to 511-byte Packets Statistic Register, offset: 0x234 */
  29908. __I uint32_t RMON_T_P512TO1023; /**< Tx 512- to 1023-byte Packets Statistic Register, offset: 0x238 */
  29909. __I uint32_t RMON_T_P1024TO2047; /**< Tx 1024- to 2047-byte Packets Statistic Register, offset: 0x23C */
  29910. __I uint32_t RMON_T_P_GTE2048; /**< Tx Packets Greater Than 2048 Bytes Statistic Register, offset: 0x240 */
  29911. __I uint32_t RMON_T_OCTETS; /**< Tx Octets Statistic Register, offset: 0x244 */
  29912. uint32_t IEEE_T_DROP; /**< Reserved Statistic Register, offset: 0x248 */
  29913. __I uint32_t IEEE_T_FRAME_OK; /**< Frames Transmitted OK Statistic Register, offset: 0x24C */
  29914. __I uint32_t IEEE_T_1COL; /**< Frames Transmitted with Single Collision Statistic Register, offset: 0x250 */
  29915. __I uint32_t IEEE_T_MCOL; /**< Frames Transmitted with Multiple Collisions Statistic Register, offset: 0x254 */
  29916. __I uint32_t IEEE_T_DEF; /**< Frames Transmitted after Deferral Delay Statistic Register, offset: 0x258 */
  29917. __I uint32_t IEEE_T_LCOL; /**< Frames Transmitted with Late Collision Statistic Register, offset: 0x25C */
  29918. __I uint32_t IEEE_T_EXCOL; /**< Frames Transmitted with Excessive Collisions Statistic Register, offset: 0x260 */
  29919. __I uint32_t IEEE_T_MACERR; /**< Frames Transmitted with Tx FIFO Underrun Statistic Register, offset: 0x264 */
  29920. __I uint32_t IEEE_T_CSERR; /**< Frames Transmitted with Carrier Sense Error Statistic Register, offset: 0x268 */
  29921. __I uint32_t IEEE_T_SQE; /**< Reserved Statistic Register, offset: 0x26C */
  29922. __I uint32_t IEEE_T_FDXFC; /**< Flow Control Pause Frames Transmitted Statistic Register, offset: 0x270 */
  29923. __I uint32_t IEEE_T_OCTETS_OK; /**< Octet Count for Frames Transmitted w/o Error Statistic Register, offset: 0x274 */
  29924. uint8_t RESERVED_17[12];
  29925. __I uint32_t RMON_R_PACKETS; /**< Rx Packet Count Statistic Register, offset: 0x284 */
  29926. __I uint32_t RMON_R_BC_PKT; /**< Rx Broadcast Packets Statistic Register, offset: 0x288 */
  29927. __I uint32_t RMON_R_MC_PKT; /**< Rx Multicast Packets Statistic Register, offset: 0x28C */
  29928. __I uint32_t RMON_R_CRC_ALIGN; /**< Rx Packets with CRC/Align Error Statistic Register, offset: 0x290 */
  29929. __I uint32_t RMON_R_UNDERSIZE; /**< Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register, offset: 0x294 */
  29930. __I uint32_t RMON_R_OVERSIZE; /**< Rx Packets Greater Than MAX_FL and Good CRC Statistic Register, offset: 0x298 */
  29931. __I uint32_t RMON_R_FRAG; /**< Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register, offset: 0x29C */
  29932. __I uint32_t RMON_R_JAB; /**< Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register, offset: 0x2A0 */
  29933. uint8_t RESERVED_18[4];
  29934. __I uint32_t RMON_R_P64; /**< Rx 64-Byte Packets Statistic Register, offset: 0x2A8 */
  29935. __I uint32_t RMON_R_P65TO127; /**< Rx 65- to 127-Byte Packets Statistic Register, offset: 0x2AC */
  29936. __I uint32_t RMON_R_P128TO255; /**< Rx 128- to 255-Byte Packets Statistic Register, offset: 0x2B0 */
  29937. __I uint32_t RMON_R_P256TO511; /**< Rx 256- to 511-Byte Packets Statistic Register, offset: 0x2B4 */
  29938. __I uint32_t RMON_R_P512TO1023; /**< Rx 512- to 1023-Byte Packets Statistic Register, offset: 0x2B8 */
  29939. __I uint32_t RMON_R_P1024TO2047; /**< Rx 1024- to 2047-Byte Packets Statistic Register, offset: 0x2BC */
  29940. __I uint32_t RMON_R_P_GTE2048; /**< Rx Packets Greater than 2048 Bytes Statistic Register, offset: 0x2C0 */
  29941. __I uint32_t RMON_R_OCTETS; /**< Rx Octets Statistic Register, offset: 0x2C4 */
  29942. __I uint32_t IEEE_R_DROP; /**< Frames not Counted Correctly Statistic Register, offset: 0x2C8 */
  29943. __I uint32_t IEEE_R_FRAME_OK; /**< Frames Received OK Statistic Register, offset: 0x2CC */
  29944. __I uint32_t IEEE_R_CRC; /**< Frames Received with CRC Error Statistic Register, offset: 0x2D0 */
  29945. __I uint32_t IEEE_R_ALIGN; /**< Frames Received with Alignment Error Statistic Register, offset: 0x2D4 */
  29946. __I uint32_t IEEE_R_MACERR; /**< Receive FIFO Overflow Count Statistic Register, offset: 0x2D8 */
  29947. __I uint32_t IEEE_R_FDXFC; /**< Flow Control Pause Frames Received Statistic Register, offset: 0x2DC */
  29948. __I uint32_t IEEE_R_OCTETS_OK; /**< Octet Count for Frames Received without Error Statistic Register, offset: 0x2E0 */
  29949. uint8_t RESERVED_19[284];
  29950. __IO uint32_t ATCR; /**< Adjustable Timer Control Register, offset: 0x400 */
  29951. __IO uint32_t ATVR; /**< Timer Value Register, offset: 0x404 */
  29952. __IO uint32_t ATOFF; /**< Timer Offset Register, offset: 0x408 */
  29953. __IO uint32_t ATPER; /**< Timer Period Register, offset: 0x40C */
  29954. __IO uint32_t ATCOR; /**< Timer Correction Register, offset: 0x410 */
  29955. __IO uint32_t ATINC; /**< Time-Stamping Clock Period Register, offset: 0x414 */
  29956. __I uint32_t ATSTMP; /**< Timestamp of Last Transmitted Frame, offset: 0x418 */
  29957. uint8_t RESERVED_20[488];
  29958. __IO uint32_t TGSR; /**< Timer Global Status Register, offset: 0x604 */
  29959. struct { /* offset: 0x608, array step: 0x8 */
  29960. __IO uint32_t TCSR; /**< Timer Control Status Register, array offset: 0x608, array step: 0x8 */
  29961. __IO uint32_t TCCR; /**< Timer Compare Capture Register, array offset: 0x60C, array step: 0x8 */
  29962. } CHANNEL[4];
  29963. } ENET_Type;
  29964. /* ----------------------------------------------------------------------------
  29965. -- ENET Register Masks
  29966. ---------------------------------------------------------------------------- */
  29967. /*!
  29968. * @addtogroup ENET_Register_Masks ENET Register Masks
  29969. * @{
  29970. */
  29971. /*! @name EIR - Interrupt Event Register */
  29972. /*! @{ */
  29973. #define ENET_EIR_RXB1_MASK (0x1U)
  29974. #define ENET_EIR_RXB1_SHIFT (0U)
  29975. /*! RXB1 - Receive buffer interrupt, class 1
  29976. */
  29977. #define ENET_EIR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB1_SHIFT)) & ENET_EIR_RXB1_MASK)
  29978. #define ENET_EIR_RXF1_MASK (0x2U)
  29979. #define ENET_EIR_RXF1_SHIFT (1U)
  29980. /*! RXF1 - Receive frame interrupt, class 1
  29981. */
  29982. #define ENET_EIR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF1_SHIFT)) & ENET_EIR_RXF1_MASK)
  29983. #define ENET_EIR_TXB1_MASK (0x4U)
  29984. #define ENET_EIR_TXB1_SHIFT (2U)
  29985. /*! TXB1 - Transmit buffer interrupt, class 1
  29986. */
  29987. #define ENET_EIR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB1_SHIFT)) & ENET_EIR_TXB1_MASK)
  29988. #define ENET_EIR_TXF1_MASK (0x8U)
  29989. #define ENET_EIR_TXF1_SHIFT (3U)
  29990. /*! TXF1 - Transmit frame interrupt, class 1
  29991. */
  29992. #define ENET_EIR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF1_SHIFT)) & ENET_EIR_TXF1_MASK)
  29993. #define ENET_EIR_RXB2_MASK (0x10U)
  29994. #define ENET_EIR_RXB2_SHIFT (4U)
  29995. /*! RXB2 - Receive buffer interrupt, class 2
  29996. */
  29997. #define ENET_EIR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB2_SHIFT)) & ENET_EIR_RXB2_MASK)
  29998. #define ENET_EIR_RXF2_MASK (0x20U)
  29999. #define ENET_EIR_RXF2_SHIFT (5U)
  30000. /*! RXF2 - Receive frame interrupt, class 2
  30001. */
  30002. #define ENET_EIR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF2_SHIFT)) & ENET_EIR_RXF2_MASK)
  30003. #define ENET_EIR_TXB2_MASK (0x40U)
  30004. #define ENET_EIR_TXB2_SHIFT (6U)
  30005. /*! TXB2 - Transmit buffer interrupt, class 2
  30006. */
  30007. #define ENET_EIR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB2_SHIFT)) & ENET_EIR_TXB2_MASK)
  30008. #define ENET_EIR_TXF2_MASK (0x80U)
  30009. #define ENET_EIR_TXF2_SHIFT (7U)
  30010. /*! TXF2 - Transmit frame interrupt, class 2
  30011. */
  30012. #define ENET_EIR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF2_SHIFT)) & ENET_EIR_TXF2_MASK)
  30013. #define ENET_EIR_RXFLUSH_0_MASK (0x1000U)
  30014. #define ENET_EIR_RXFLUSH_0_SHIFT (12U)
  30015. #define ENET_EIR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_0_SHIFT)) & ENET_EIR_RXFLUSH_0_MASK)
  30016. #define ENET_EIR_RXFLUSH_1_MASK (0x2000U)
  30017. #define ENET_EIR_RXFLUSH_1_SHIFT (13U)
  30018. #define ENET_EIR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_1_SHIFT)) & ENET_EIR_RXFLUSH_1_MASK)
  30019. #define ENET_EIR_RXFLUSH_2_MASK (0x4000U)
  30020. #define ENET_EIR_RXFLUSH_2_SHIFT (14U)
  30021. #define ENET_EIR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXFLUSH_2_SHIFT)) & ENET_EIR_RXFLUSH_2_MASK)
  30022. #define ENET_EIR_TS_TIMER_MASK (0x8000U)
  30023. #define ENET_EIR_TS_TIMER_SHIFT (15U)
  30024. /*! TS_TIMER - Timestamp Timer
  30025. */
  30026. #define ENET_EIR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_TIMER_SHIFT)) & ENET_EIR_TS_TIMER_MASK)
  30027. #define ENET_EIR_TS_AVAIL_MASK (0x10000U)
  30028. #define ENET_EIR_TS_AVAIL_SHIFT (16U)
  30029. /*! TS_AVAIL - Transmit Timestamp Available
  30030. */
  30031. #define ENET_EIR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TS_AVAIL_SHIFT)) & ENET_EIR_TS_AVAIL_MASK)
  30032. #define ENET_EIR_WAKEUP_MASK (0x20000U)
  30033. #define ENET_EIR_WAKEUP_SHIFT (17U)
  30034. /*! WAKEUP - Node Wakeup Request Indication
  30035. */
  30036. #define ENET_EIR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_WAKEUP_SHIFT)) & ENET_EIR_WAKEUP_MASK)
  30037. #define ENET_EIR_PLR_MASK (0x40000U)
  30038. #define ENET_EIR_PLR_SHIFT (18U)
  30039. /*! PLR - Payload Receive Error
  30040. */
  30041. #define ENET_EIR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_PLR_SHIFT)) & ENET_EIR_PLR_MASK)
  30042. #define ENET_EIR_UN_MASK (0x80000U)
  30043. #define ENET_EIR_UN_SHIFT (19U)
  30044. /*! UN - Transmit FIFO Underrun
  30045. */
  30046. #define ENET_EIR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_UN_SHIFT)) & ENET_EIR_UN_MASK)
  30047. #define ENET_EIR_RL_MASK (0x100000U)
  30048. #define ENET_EIR_RL_SHIFT (20U)
  30049. /*! RL - Collision Retry Limit
  30050. */
  30051. #define ENET_EIR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RL_SHIFT)) & ENET_EIR_RL_MASK)
  30052. #define ENET_EIR_LC_MASK (0x200000U)
  30053. #define ENET_EIR_LC_SHIFT (21U)
  30054. /*! LC - Late Collision
  30055. */
  30056. #define ENET_EIR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_LC_SHIFT)) & ENET_EIR_LC_MASK)
  30057. #define ENET_EIR_EBERR_MASK (0x400000U)
  30058. #define ENET_EIR_EBERR_SHIFT (22U)
  30059. /*! EBERR - Ethernet Bus Error
  30060. */
  30061. #define ENET_EIR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_EBERR_SHIFT)) & ENET_EIR_EBERR_MASK)
  30062. #define ENET_EIR_MII_MASK (0x800000U)
  30063. #define ENET_EIR_MII_SHIFT (23U)
  30064. /*! MII - MII Interrupt.
  30065. */
  30066. #define ENET_EIR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_MII_SHIFT)) & ENET_EIR_MII_MASK)
  30067. #define ENET_EIR_RXB_MASK (0x1000000U)
  30068. #define ENET_EIR_RXB_SHIFT (24U)
  30069. /*! RXB - Receive Buffer Interrupt
  30070. */
  30071. #define ENET_EIR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXB_SHIFT)) & ENET_EIR_RXB_MASK)
  30072. #define ENET_EIR_RXF_MASK (0x2000000U)
  30073. #define ENET_EIR_RXF_SHIFT (25U)
  30074. /*! RXF - Receive Frame Interrupt
  30075. */
  30076. #define ENET_EIR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_RXF_SHIFT)) & ENET_EIR_RXF_MASK)
  30077. #define ENET_EIR_TXB_MASK (0x4000000U)
  30078. #define ENET_EIR_TXB_SHIFT (26U)
  30079. /*! TXB - Transmit Buffer Interrupt
  30080. */
  30081. #define ENET_EIR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXB_SHIFT)) & ENET_EIR_TXB_MASK)
  30082. #define ENET_EIR_TXF_MASK (0x8000000U)
  30083. #define ENET_EIR_TXF_SHIFT (27U)
  30084. /*! TXF - Transmit Frame Interrupt
  30085. */
  30086. #define ENET_EIR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_TXF_SHIFT)) & ENET_EIR_TXF_MASK)
  30087. #define ENET_EIR_GRA_MASK (0x10000000U)
  30088. #define ENET_EIR_GRA_SHIFT (28U)
  30089. /*! GRA - Graceful Stop Complete
  30090. */
  30091. #define ENET_EIR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_GRA_SHIFT)) & ENET_EIR_GRA_MASK)
  30092. #define ENET_EIR_BABT_MASK (0x20000000U)
  30093. #define ENET_EIR_BABT_SHIFT (29U)
  30094. /*! BABT - Babbling Transmit Error
  30095. */
  30096. #define ENET_EIR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABT_SHIFT)) & ENET_EIR_BABT_MASK)
  30097. #define ENET_EIR_BABR_MASK (0x40000000U)
  30098. #define ENET_EIR_BABR_SHIFT (30U)
  30099. /*! BABR - Babbling Receive Error
  30100. */
  30101. #define ENET_EIR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIR_BABR_SHIFT)) & ENET_EIR_BABR_MASK)
  30102. /*! @} */
  30103. /*! @name EIMR - Interrupt Mask Register */
  30104. /*! @{ */
  30105. #define ENET_EIMR_RXB1_MASK (0x1U)
  30106. #define ENET_EIMR_RXB1_SHIFT (0U)
  30107. /*! RXB1 - Receive buffer interrupt, class 1
  30108. * 0b0..The corresponding interrupt source is masked.
  30109. * 0b1..The corresponding interrupt source is not masked.
  30110. */
  30111. #define ENET_EIMR_RXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB1_SHIFT)) & ENET_EIMR_RXB1_MASK)
  30112. #define ENET_EIMR_RXF1_MASK (0x2U)
  30113. #define ENET_EIMR_RXF1_SHIFT (1U)
  30114. /*! RXF1 - Receive frame interrupt, class 1
  30115. * 0b0..The corresponding interrupt source is masked.
  30116. * 0b1..The corresponding interrupt source is not masked.
  30117. */
  30118. #define ENET_EIMR_RXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF1_SHIFT)) & ENET_EIMR_RXF1_MASK)
  30119. #define ENET_EIMR_TXB1_MASK (0x4U)
  30120. #define ENET_EIMR_TXB1_SHIFT (2U)
  30121. /*! TXB1 - Transmit buffer interrupt, class 1
  30122. * 0b0..The corresponding interrupt source is masked.
  30123. * 0b1..The corresponding interrupt source is not masked.
  30124. */
  30125. #define ENET_EIMR_TXB1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB1_SHIFT)) & ENET_EIMR_TXB1_MASK)
  30126. #define ENET_EIMR_TXF1_MASK (0x8U)
  30127. #define ENET_EIMR_TXF1_SHIFT (3U)
  30128. /*! TXF1 - Transmit frame interrupt, class 1
  30129. * 0b0..The corresponding interrupt source is masked.
  30130. * 0b1..The corresponding interrupt source is not masked.
  30131. */
  30132. #define ENET_EIMR_TXF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF1_SHIFT)) & ENET_EIMR_TXF1_MASK)
  30133. #define ENET_EIMR_RXB2_MASK (0x10U)
  30134. #define ENET_EIMR_RXB2_SHIFT (4U)
  30135. /*! RXB2 - Receive buffer interrupt, class 2
  30136. * 0b0..The corresponding interrupt source is masked.
  30137. * 0b1..The corresponding interrupt source is not masked.
  30138. */
  30139. #define ENET_EIMR_RXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB2_SHIFT)) & ENET_EIMR_RXB2_MASK)
  30140. #define ENET_EIMR_RXF2_MASK (0x20U)
  30141. #define ENET_EIMR_RXF2_SHIFT (5U)
  30142. /*! RXF2 - Receive frame interrupt, class 2
  30143. * 0b0..The corresponding interrupt source is masked.
  30144. * 0b1..The corresponding interrupt source is not masked.
  30145. */
  30146. #define ENET_EIMR_RXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF2_SHIFT)) & ENET_EIMR_RXF2_MASK)
  30147. #define ENET_EIMR_TXB2_MASK (0x40U)
  30148. #define ENET_EIMR_TXB2_SHIFT (6U)
  30149. /*! TXB2 - Transmit buffer interrupt, class 2
  30150. * 0b0..The corresponding interrupt source is masked.
  30151. * 0b1..The corresponding interrupt source is not masked.
  30152. */
  30153. #define ENET_EIMR_TXB2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB2_SHIFT)) & ENET_EIMR_TXB2_MASK)
  30154. #define ENET_EIMR_TXF2_MASK (0x80U)
  30155. #define ENET_EIMR_TXF2_SHIFT (7U)
  30156. /*! TXF2 - Transmit frame interrupt, class 2
  30157. * 0b0..The corresponding interrupt source is masked.
  30158. * 0b1..The corresponding interrupt source is not masked.
  30159. */
  30160. #define ENET_EIMR_TXF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF2_SHIFT)) & ENET_EIMR_TXF2_MASK)
  30161. #define ENET_EIMR_RXFLUSH_0_MASK (0x1000U)
  30162. #define ENET_EIMR_RXFLUSH_0_SHIFT (12U)
  30163. /*! RXFLUSH_0
  30164. * 0b0..The corresponding interrupt source is masked.
  30165. * 0b1..The corresponding interrupt source is not masked.
  30166. */
  30167. #define ENET_EIMR_RXFLUSH_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_0_SHIFT)) & ENET_EIMR_RXFLUSH_0_MASK)
  30168. #define ENET_EIMR_RXFLUSH_1_MASK (0x2000U)
  30169. #define ENET_EIMR_RXFLUSH_1_SHIFT (13U)
  30170. /*! RXFLUSH_1
  30171. * 0b0..The corresponding interrupt source is masked.
  30172. * 0b1..The corresponding interrupt source is not masked.
  30173. */
  30174. #define ENET_EIMR_RXFLUSH_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_1_SHIFT)) & ENET_EIMR_RXFLUSH_1_MASK)
  30175. #define ENET_EIMR_RXFLUSH_2_MASK (0x4000U)
  30176. #define ENET_EIMR_RXFLUSH_2_SHIFT (14U)
  30177. /*! RXFLUSH_2
  30178. * 0b0..The corresponding interrupt source is masked.
  30179. * 0b1..The corresponding interrupt source is not masked.
  30180. */
  30181. #define ENET_EIMR_RXFLUSH_2(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXFLUSH_2_SHIFT)) & ENET_EIMR_RXFLUSH_2_MASK)
  30182. #define ENET_EIMR_TS_TIMER_MASK (0x8000U)
  30183. #define ENET_EIMR_TS_TIMER_SHIFT (15U)
  30184. /*! TS_TIMER - TS_TIMER Interrupt Mask
  30185. * 0b0..The corresponding interrupt source is masked.
  30186. * 0b1..The corresponding interrupt source is not masked.
  30187. */
  30188. #define ENET_EIMR_TS_TIMER(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_TIMER_SHIFT)) & ENET_EIMR_TS_TIMER_MASK)
  30189. #define ENET_EIMR_TS_AVAIL_MASK (0x10000U)
  30190. #define ENET_EIMR_TS_AVAIL_SHIFT (16U)
  30191. /*! TS_AVAIL - TS_AVAIL Interrupt Mask
  30192. * 0b0..The corresponding interrupt source is masked.
  30193. * 0b1..The corresponding interrupt source is not masked.
  30194. */
  30195. #define ENET_EIMR_TS_AVAIL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TS_AVAIL_SHIFT)) & ENET_EIMR_TS_AVAIL_MASK)
  30196. #define ENET_EIMR_WAKEUP_MASK (0x20000U)
  30197. #define ENET_EIMR_WAKEUP_SHIFT (17U)
  30198. /*! WAKEUP - WAKEUP Interrupt Mask
  30199. * 0b0..The corresponding interrupt source is masked.
  30200. * 0b1..The corresponding interrupt source is not masked.
  30201. */
  30202. #define ENET_EIMR_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_WAKEUP_SHIFT)) & ENET_EIMR_WAKEUP_MASK)
  30203. #define ENET_EIMR_PLR_MASK (0x40000U)
  30204. #define ENET_EIMR_PLR_SHIFT (18U)
  30205. /*! PLR - PLR Interrupt Mask
  30206. * 0b0..The corresponding interrupt source is masked.
  30207. * 0b1..The corresponding interrupt source is not masked.
  30208. */
  30209. #define ENET_EIMR_PLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_PLR_SHIFT)) & ENET_EIMR_PLR_MASK)
  30210. #define ENET_EIMR_UN_MASK (0x80000U)
  30211. #define ENET_EIMR_UN_SHIFT (19U)
  30212. /*! UN - UN Interrupt Mask
  30213. * 0b0..The corresponding interrupt source is masked.
  30214. * 0b1..The corresponding interrupt source is not masked.
  30215. */
  30216. #define ENET_EIMR_UN(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_UN_SHIFT)) & ENET_EIMR_UN_MASK)
  30217. #define ENET_EIMR_RL_MASK (0x100000U)
  30218. #define ENET_EIMR_RL_SHIFT (20U)
  30219. /*! RL - RL Interrupt Mask
  30220. * 0b0..The corresponding interrupt source is masked.
  30221. * 0b1..The corresponding interrupt source is not masked.
  30222. */
  30223. #define ENET_EIMR_RL(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RL_SHIFT)) & ENET_EIMR_RL_MASK)
  30224. #define ENET_EIMR_LC_MASK (0x200000U)
  30225. #define ENET_EIMR_LC_SHIFT (21U)
  30226. /*! LC - LC Interrupt Mask
  30227. * 0b0..The corresponding interrupt source is masked.
  30228. * 0b1..The corresponding interrupt source is not masked.
  30229. */
  30230. #define ENET_EIMR_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_LC_SHIFT)) & ENET_EIMR_LC_MASK)
  30231. #define ENET_EIMR_EBERR_MASK (0x400000U)
  30232. #define ENET_EIMR_EBERR_SHIFT (22U)
  30233. /*! EBERR - EBERR Interrupt Mask
  30234. * 0b0..The corresponding interrupt source is masked.
  30235. * 0b1..The corresponding interrupt source is not masked.
  30236. */
  30237. #define ENET_EIMR_EBERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_EBERR_SHIFT)) & ENET_EIMR_EBERR_MASK)
  30238. #define ENET_EIMR_MII_MASK (0x800000U)
  30239. #define ENET_EIMR_MII_SHIFT (23U)
  30240. /*! MII - MII Interrupt Mask
  30241. * 0b0..The corresponding interrupt source is masked.
  30242. * 0b1..The corresponding interrupt source is not masked.
  30243. */
  30244. #define ENET_EIMR_MII(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_MII_SHIFT)) & ENET_EIMR_MII_MASK)
  30245. #define ENET_EIMR_RXB_MASK (0x1000000U)
  30246. #define ENET_EIMR_RXB_SHIFT (24U)
  30247. /*! RXB - RXB Interrupt Mask
  30248. * 0b0..The corresponding interrupt source is masked.
  30249. * 0b1..The corresponding interrupt source is not masked.
  30250. */
  30251. #define ENET_EIMR_RXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXB_SHIFT)) & ENET_EIMR_RXB_MASK)
  30252. #define ENET_EIMR_RXF_MASK (0x2000000U)
  30253. #define ENET_EIMR_RXF_SHIFT (25U)
  30254. /*! RXF - RXF Interrupt Mask
  30255. * 0b0..The corresponding interrupt source is masked.
  30256. * 0b1..The corresponding interrupt source is not masked.
  30257. */
  30258. #define ENET_EIMR_RXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_RXF_SHIFT)) & ENET_EIMR_RXF_MASK)
  30259. #define ENET_EIMR_TXB_MASK (0x4000000U)
  30260. #define ENET_EIMR_TXB_SHIFT (26U)
  30261. /*! TXB - TXB Interrupt Mask
  30262. * 0b0..The corresponding interrupt source is masked.
  30263. * 0b1..The corresponding interrupt source is not masked.
  30264. */
  30265. #define ENET_EIMR_TXB(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXB_SHIFT)) & ENET_EIMR_TXB_MASK)
  30266. #define ENET_EIMR_TXF_MASK (0x8000000U)
  30267. #define ENET_EIMR_TXF_SHIFT (27U)
  30268. /*! TXF - TXF Interrupt Mask
  30269. * 0b0..The corresponding interrupt source is masked.
  30270. * 0b1..The corresponding interrupt source is not masked.
  30271. */
  30272. #define ENET_EIMR_TXF(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_TXF_SHIFT)) & ENET_EIMR_TXF_MASK)
  30273. #define ENET_EIMR_GRA_MASK (0x10000000U)
  30274. #define ENET_EIMR_GRA_SHIFT (28U)
  30275. /*! GRA - GRA Interrupt Mask
  30276. * 0b0..The corresponding interrupt source is masked.
  30277. * 0b1..The corresponding interrupt source is not masked.
  30278. */
  30279. #define ENET_EIMR_GRA(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_GRA_SHIFT)) & ENET_EIMR_GRA_MASK)
  30280. #define ENET_EIMR_BABT_MASK (0x20000000U)
  30281. #define ENET_EIMR_BABT_SHIFT (29U)
  30282. /*! BABT - BABT Interrupt Mask
  30283. * 0b0..The corresponding interrupt source is masked.
  30284. * 0b1..The corresponding interrupt source is not masked.
  30285. */
  30286. #define ENET_EIMR_BABT(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABT_SHIFT)) & ENET_EIMR_BABT_MASK)
  30287. #define ENET_EIMR_BABR_MASK (0x40000000U)
  30288. #define ENET_EIMR_BABR_SHIFT (30U)
  30289. /*! BABR - BABR Interrupt Mask
  30290. * 0b0..The corresponding interrupt source is masked.
  30291. * 0b1..The corresponding interrupt source is not masked.
  30292. */
  30293. #define ENET_EIMR_BABR(x) (((uint32_t)(((uint32_t)(x)) << ENET_EIMR_BABR_SHIFT)) & ENET_EIMR_BABR_MASK)
  30294. /*! @} */
  30295. /*! @name RDAR - Receive Descriptor Active Register - Ring 0 */
  30296. /*! @{ */
  30297. #define ENET_RDAR_RDAR_MASK (0x1000000U)
  30298. #define ENET_RDAR_RDAR_SHIFT (24U)
  30299. /*! RDAR - Receive Descriptor Active
  30300. */
  30301. #define ENET_RDAR_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR_RDAR_SHIFT)) & ENET_RDAR_RDAR_MASK)
  30302. /*! @} */
  30303. /*! @name TDAR - Transmit Descriptor Active Register - Ring 0 */
  30304. /*! @{ */
  30305. #define ENET_TDAR_TDAR_MASK (0x1000000U)
  30306. #define ENET_TDAR_TDAR_SHIFT (24U)
  30307. /*! TDAR - Transmit Descriptor Active
  30308. */
  30309. #define ENET_TDAR_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR_TDAR_SHIFT)) & ENET_TDAR_TDAR_MASK)
  30310. /*! @} */
  30311. /*! @name ECR - Ethernet Control Register */
  30312. /*! @{ */
  30313. #define ENET_ECR_RESET_MASK (0x1U)
  30314. #define ENET_ECR_RESET_SHIFT (0U)
  30315. /*! RESET - Ethernet MAC Reset
  30316. */
  30317. #define ENET_ECR_RESET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_RESET_SHIFT)) & ENET_ECR_RESET_MASK)
  30318. #define ENET_ECR_ETHEREN_MASK (0x2U)
  30319. #define ENET_ECR_ETHEREN_SHIFT (1U)
  30320. /*! ETHEREN - Ethernet Enable
  30321. * 0b0..Reception immediately stops and transmission stops after a bad CRC is appended to any currently transmitted frame.
  30322. * 0b1..MAC is enabled, and reception and transmission are possible.
  30323. */
  30324. #define ENET_ECR_ETHEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_ETHEREN_SHIFT)) & ENET_ECR_ETHEREN_MASK)
  30325. #define ENET_ECR_MAGICEN_MASK (0x4U)
  30326. #define ENET_ECR_MAGICEN_SHIFT (2U)
  30327. /*! MAGICEN - Magic Packet Detection Enable
  30328. * 0b0..Magic detection logic disabled.
  30329. * 0b1..The MAC core detects magic packets and asserts EIR[WAKEUP] when a frame is detected.
  30330. */
  30331. #define ENET_ECR_MAGICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_MAGICEN_SHIFT)) & ENET_ECR_MAGICEN_MASK)
  30332. #define ENET_ECR_SLEEP_MASK (0x8U)
  30333. #define ENET_ECR_SLEEP_SHIFT (3U)
  30334. /*! SLEEP - Sleep Mode Enable
  30335. * 0b0..Normal operating mode.
  30336. * 0b1..Sleep mode.
  30337. */
  30338. #define ENET_ECR_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SLEEP_SHIFT)) & ENET_ECR_SLEEP_MASK)
  30339. #define ENET_ECR_EN1588_MASK (0x10U)
  30340. #define ENET_ECR_EN1588_SHIFT (4U)
  30341. /*! EN1588 - EN1588 Enable
  30342. * 0b0..Legacy FEC buffer descriptors and functions enabled.
  30343. * 0b1..Enhanced frame time-stamping functions enabled. Has no effect within the MAC besides controlling the DMA control bit ena_1588.
  30344. */
  30345. #define ENET_ECR_EN1588(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_EN1588_SHIFT)) & ENET_ECR_EN1588_MASK)
  30346. #define ENET_ECR_SPEED_MASK (0x20U)
  30347. #define ENET_ECR_SPEED_SHIFT (5U)
  30348. /*! SPEED
  30349. * 0b0..10/100-Mbit/s mode
  30350. * 0b1..1000-Mbit/s mode
  30351. */
  30352. #define ENET_ECR_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SPEED_SHIFT)) & ENET_ECR_SPEED_MASK)
  30353. #define ENET_ECR_DBGEN_MASK (0x40U)
  30354. #define ENET_ECR_DBGEN_SHIFT (6U)
  30355. /*! DBGEN - Debug Enable
  30356. * 0b0..MAC continues operation in debug mode.
  30357. * 0b1..MAC enters hardware freeze mode when the processor is in debug mode.
  30358. */
  30359. #define ENET_ECR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBGEN_SHIFT)) & ENET_ECR_DBGEN_MASK)
  30360. #define ENET_ECR_DBSWP_MASK (0x100U)
  30361. #define ENET_ECR_DBSWP_SHIFT (8U)
  30362. /*! DBSWP - Descriptor Byte Swapping Enable
  30363. * 0b0..The buffer descriptor bytes are not swapped to support big-endian devices.
  30364. * 0b1..The buffer descriptor bytes are swapped to support little-endian devices.
  30365. */
  30366. #define ENET_ECR_DBSWP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_DBSWP_SHIFT)) & ENET_ECR_DBSWP_MASK)
  30367. #define ENET_ECR_SVLANEN_MASK (0x200U)
  30368. #define ENET_ECR_SVLANEN_SHIFT (9U)
  30369. /*! SVLANEN - S-VLAN enable
  30370. * 0b0..Only the EtherType 0x8100 will be considered for VLAN detection.
  30371. * 0b1..The EtherType 0x88a8 will be considered in addition to 0x8100 (C-VLAN) to identify a VLAN frame in
  30372. * receive. When a VLAN frame is identified, the two bytes following the VLAN type are extracted and used by the
  30373. * classification match comparators, RCMRn.
  30374. */
  30375. #define ENET_ECR_SVLANEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANEN_SHIFT)) & ENET_ECR_SVLANEN_MASK)
  30376. #define ENET_ECR_VLANUSE2ND_MASK (0x400U)
  30377. #define ENET_ECR_VLANUSE2ND_SHIFT (10U)
  30378. /*! VLANUSE2ND - VLAN use second tag
  30379. * 0b0..Always extract data from the first VLAN tag if it exists.
  30380. * 0b1..When a double-tagged frame is detected, the data of the second tag is extracted for further processing. A
  30381. * double-tagged frame is defined as: The first tag can be a C-VLAN or a S-VLAN (if SVLAN_ENA = 1) The
  30382. * second tag must be a C-VLAN
  30383. */
  30384. #define ENET_ECR_VLANUSE2ND(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_VLANUSE2ND_SHIFT)) & ENET_ECR_VLANUSE2ND_MASK)
  30385. #define ENET_ECR_SVLANDBL_MASK (0x800U)
  30386. #define ENET_ECR_SVLANDBL_SHIFT (11U)
  30387. /*! SVLANDBL - S-VLAN double tag
  30388. * 0b0..Disable S-VLAN double tag
  30389. * 0b1..Enable S-VLAN double tag
  30390. */
  30391. #define ENET_ECR_SVLANDBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_SVLANDBL_SHIFT)) & ENET_ECR_SVLANDBL_MASK)
  30392. #define ENET_ECR_TXC_DLY_MASK (0x10000U)
  30393. #define ENET_ECR_TXC_DLY_SHIFT (16U)
  30394. /*! TXC_DLY - Transmit clock delay
  30395. * 0b0..RGMII_TXC is not delayed.
  30396. * 0b1..Generate delayed version of RGMII_TXC.
  30397. */
  30398. #define ENET_ECR_TXC_DLY(x) (((uint32_t)(((uint32_t)(x)) << ENET_ECR_TXC_DLY_SHIFT)) & ENET_ECR_TXC_DLY_MASK)
  30399. /*! @} */
  30400. /*! @name MMFR - MII Management Frame Register */
  30401. /*! @{ */
  30402. #define ENET_MMFR_DATA_MASK (0xFFFFU)
  30403. #define ENET_MMFR_DATA_SHIFT (0U)
  30404. /*! DATA - Management Frame Data
  30405. */
  30406. #define ENET_MMFR_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_DATA_SHIFT)) & ENET_MMFR_DATA_MASK)
  30407. #define ENET_MMFR_TA_MASK (0x30000U)
  30408. #define ENET_MMFR_TA_SHIFT (16U)
  30409. /*! TA - Turn Around
  30410. */
  30411. #define ENET_MMFR_TA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_TA_SHIFT)) & ENET_MMFR_TA_MASK)
  30412. #define ENET_MMFR_RA_MASK (0x7C0000U)
  30413. #define ENET_MMFR_RA_SHIFT (18U)
  30414. /*! RA - Register Address
  30415. */
  30416. #define ENET_MMFR_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_RA_SHIFT)) & ENET_MMFR_RA_MASK)
  30417. #define ENET_MMFR_PA_MASK (0xF800000U)
  30418. #define ENET_MMFR_PA_SHIFT (23U)
  30419. /*! PA - PHY Address
  30420. */
  30421. #define ENET_MMFR_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_PA_SHIFT)) & ENET_MMFR_PA_MASK)
  30422. #define ENET_MMFR_OP_MASK (0x30000000U)
  30423. #define ENET_MMFR_OP_SHIFT (28U)
  30424. /*! OP - Operation Code
  30425. */
  30426. #define ENET_MMFR_OP(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_OP_SHIFT)) & ENET_MMFR_OP_MASK)
  30427. #define ENET_MMFR_ST_MASK (0xC0000000U)
  30428. #define ENET_MMFR_ST_SHIFT (30U)
  30429. /*! ST - Start Of Frame Delimiter
  30430. */
  30431. #define ENET_MMFR_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_MMFR_ST_SHIFT)) & ENET_MMFR_ST_MASK)
  30432. /*! @} */
  30433. /*! @name MSCR - MII Speed Control Register */
  30434. /*! @{ */
  30435. #define ENET_MSCR_MII_SPEED_MASK (0x7EU)
  30436. #define ENET_MSCR_MII_SPEED_SHIFT (1U)
  30437. /*! MII_SPEED - MII Speed
  30438. */
  30439. #define ENET_MSCR_MII_SPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_MII_SPEED_SHIFT)) & ENET_MSCR_MII_SPEED_MASK)
  30440. #define ENET_MSCR_DIS_PRE_MASK (0x80U)
  30441. #define ENET_MSCR_DIS_PRE_SHIFT (7U)
  30442. /*! DIS_PRE - Disable Preamble
  30443. * 0b0..Preamble enabled.
  30444. * 0b1..Preamble (32 ones) is not prepended to the MII management frame.
  30445. */
  30446. #define ENET_MSCR_DIS_PRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_DIS_PRE_SHIFT)) & ENET_MSCR_DIS_PRE_MASK)
  30447. #define ENET_MSCR_HOLDTIME_MASK (0x700U)
  30448. #define ENET_MSCR_HOLDTIME_SHIFT (8U)
  30449. /*! HOLDTIME - Hold time On MDIO Output
  30450. * 0b000..1 internal module clock cycle
  30451. * 0b001..2 internal module clock cycles
  30452. * 0b010..3 internal module clock cycles
  30453. * 0b111..8 internal module clock cycles
  30454. */
  30455. #define ENET_MSCR_HOLDTIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_MSCR_HOLDTIME_SHIFT)) & ENET_MSCR_HOLDTIME_MASK)
  30456. /*! @} */
  30457. /*! @name MIBC - MIB Control Register */
  30458. /*! @{ */
  30459. #define ENET_MIBC_MIB_CLEAR_MASK (0x20000000U)
  30460. #define ENET_MIBC_MIB_CLEAR_SHIFT (29U)
  30461. /*! MIB_CLEAR - MIB Clear
  30462. * 0b0..See note above.
  30463. * 0b1..All statistics counters are reset to 0.
  30464. */
  30465. #define ENET_MIBC_MIB_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_CLEAR_SHIFT)) & ENET_MIBC_MIB_CLEAR_MASK)
  30466. #define ENET_MIBC_MIB_IDLE_MASK (0x40000000U)
  30467. #define ENET_MIBC_MIB_IDLE_SHIFT (30U)
  30468. /*! MIB_IDLE - MIB Idle
  30469. * 0b0..The MIB block is updating MIB counters.
  30470. * 0b1..The MIB block is not currently updating any MIB counters.
  30471. */
  30472. #define ENET_MIBC_MIB_IDLE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_IDLE_SHIFT)) & ENET_MIBC_MIB_IDLE_MASK)
  30473. #define ENET_MIBC_MIB_DIS_MASK (0x80000000U)
  30474. #define ENET_MIBC_MIB_DIS_SHIFT (31U)
  30475. /*! MIB_DIS - Disable MIB Logic
  30476. * 0b0..MIB logic is enabled.
  30477. * 0b1..MIB logic is disabled. The MIB logic halts and does not update any MIB counters.
  30478. */
  30479. #define ENET_MIBC_MIB_DIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_MIBC_MIB_DIS_SHIFT)) & ENET_MIBC_MIB_DIS_MASK)
  30480. /*! @} */
  30481. /*! @name RCR - Receive Control Register */
  30482. /*! @{ */
  30483. #define ENET_RCR_LOOP_MASK (0x1U)
  30484. #define ENET_RCR_LOOP_SHIFT (0U)
  30485. /*! LOOP - Internal Loopback
  30486. * 0b0..Loopback disabled.
  30487. * 0b1..Transmitted frames are looped back internal to the device and transmit MII output signals are not asserted. DRT must be cleared.
  30488. */
  30489. #define ENET_RCR_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_LOOP_SHIFT)) & ENET_RCR_LOOP_MASK)
  30490. #define ENET_RCR_DRT_MASK (0x2U)
  30491. #define ENET_RCR_DRT_SHIFT (1U)
  30492. /*! DRT - Disable Receive On Transmit
  30493. * 0b0..Receive path operates independently of transmit (i.e., full-duplex mode). Can also be used to monitor transmit activity in half-duplex mode.
  30494. * 0b1..Disable reception of frames while transmitting. (Normally used for half-duplex mode.)
  30495. */
  30496. #define ENET_RCR_DRT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_DRT_SHIFT)) & ENET_RCR_DRT_MASK)
  30497. #define ENET_RCR_MII_MODE_MASK (0x4U)
  30498. #define ENET_RCR_MII_MODE_SHIFT (2U)
  30499. /*! MII_MODE - Media Independent Interface Mode
  30500. * 0b0..Reserved.
  30501. * 0b1..MII or RMII mode, as indicated by the RMII_MODE field.
  30502. */
  30503. #define ENET_RCR_MII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MII_MODE_SHIFT)) & ENET_RCR_MII_MODE_MASK)
  30504. #define ENET_RCR_PROM_MASK (0x8U)
  30505. #define ENET_RCR_PROM_SHIFT (3U)
  30506. /*! PROM - Promiscuous Mode
  30507. * 0b0..Disabled.
  30508. * 0b1..Enabled.
  30509. */
  30510. #define ENET_RCR_PROM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PROM_SHIFT)) & ENET_RCR_PROM_MASK)
  30511. #define ENET_RCR_BC_REJ_MASK (0x10U)
  30512. #define ENET_RCR_BC_REJ_SHIFT (4U)
  30513. /*! BC_REJ - Broadcast Frame Reject
  30514. * 0b0..Will not reject frames as described above
  30515. * 0b1..Will reject frames as described above
  30516. */
  30517. #define ENET_RCR_BC_REJ(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_BC_REJ_SHIFT)) & ENET_RCR_BC_REJ_MASK)
  30518. #define ENET_RCR_FCE_MASK (0x20U)
  30519. #define ENET_RCR_FCE_SHIFT (5U)
  30520. /*! FCE - Flow Control Enable
  30521. * 0b0..Disable flow control
  30522. * 0b1..Enable flow control
  30523. */
  30524. #define ENET_RCR_FCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_FCE_SHIFT)) & ENET_RCR_FCE_MASK)
  30525. #define ENET_RCR_RGMII_EN_MASK (0x40U)
  30526. #define ENET_RCR_RGMII_EN_SHIFT (6U)
  30527. /*! RGMII_EN - RGMII Mode Enable
  30528. * 0b0..MAC configured for non-RGMII operation
  30529. * 0b1..MAC configured for RGMII operation. If ECR[SPEED] is set, the MAC is in RGMII 1000-Mbit/s mode. If
  30530. * ECR[SPEED] is cleared, the MAC is in RGMII 10/100-Mbit/s mode.
  30531. */
  30532. #define ENET_RCR_RGMII_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RGMII_EN_SHIFT)) & ENET_RCR_RGMII_EN_MASK)
  30533. #define ENET_RCR_RMII_MODE_MASK (0x100U)
  30534. #define ENET_RCR_RMII_MODE_SHIFT (8U)
  30535. /*! RMII_MODE - RMII Mode Enable
  30536. * 0b0..MAC configured for MII mode.
  30537. * 0b1..MAC configured for RMII operation.
  30538. */
  30539. #define ENET_RCR_RMII_MODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_MODE_SHIFT)) & ENET_RCR_RMII_MODE_MASK)
  30540. #define ENET_RCR_RMII_10T_MASK (0x200U)
  30541. #define ENET_RCR_RMII_10T_SHIFT (9U)
  30542. /*! RMII_10T
  30543. * 0b0..100-Mbit/s or 1-Gbit/s operation.
  30544. * 0b1..10-Mbit/s operation.
  30545. */
  30546. #define ENET_RCR_RMII_10T(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_RMII_10T_SHIFT)) & ENET_RCR_RMII_10T_MASK)
  30547. #define ENET_RCR_PADEN_MASK (0x1000U)
  30548. #define ENET_RCR_PADEN_SHIFT (12U)
  30549. /*! PADEN - Enable Frame Padding Remove On Receive
  30550. * 0b0..No padding is removed on receive by the MAC.
  30551. * 0b1..Padding is removed from received frames.
  30552. */
  30553. #define ENET_RCR_PADEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PADEN_SHIFT)) & ENET_RCR_PADEN_MASK)
  30554. #define ENET_RCR_PAUFWD_MASK (0x2000U)
  30555. #define ENET_RCR_PAUFWD_SHIFT (13U)
  30556. /*! PAUFWD - Terminate/Forward Pause Frames
  30557. * 0b0..Pause frames are terminated and discarded in the MAC.
  30558. * 0b1..Pause frames are forwarded to the user application.
  30559. */
  30560. #define ENET_RCR_PAUFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_PAUFWD_SHIFT)) & ENET_RCR_PAUFWD_MASK)
  30561. #define ENET_RCR_CRCFWD_MASK (0x4000U)
  30562. #define ENET_RCR_CRCFWD_SHIFT (14U)
  30563. /*! CRCFWD - Terminate/Forward Received CRC
  30564. * 0b0..The CRC field of received frames is transmitted to the user application.
  30565. * 0b1..The CRC field is stripped from the frame.
  30566. */
  30567. #define ENET_RCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CRCFWD_SHIFT)) & ENET_RCR_CRCFWD_MASK)
  30568. #define ENET_RCR_CFEN_MASK (0x8000U)
  30569. #define ENET_RCR_CFEN_SHIFT (15U)
  30570. /*! CFEN - MAC Control Frame Enable
  30571. * 0b0..MAC control frames with any opcode other than 0x0001 (pause frame) are accepted and forwarded to the client interface.
  30572. * 0b1..MAC control frames with any opcode other than 0x0001 (pause frame) are silently discarded.
  30573. */
  30574. #define ENET_RCR_CFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_CFEN_SHIFT)) & ENET_RCR_CFEN_MASK)
  30575. #define ENET_RCR_MAX_FL_MASK (0x3FFF0000U)
  30576. #define ENET_RCR_MAX_FL_SHIFT (16U)
  30577. /*! MAX_FL - Maximum Frame Length
  30578. */
  30579. #define ENET_RCR_MAX_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_MAX_FL_SHIFT)) & ENET_RCR_MAX_FL_MASK)
  30580. #define ENET_RCR_NLC_MASK (0x40000000U)
  30581. #define ENET_RCR_NLC_SHIFT (30U)
  30582. /*! NLC - Payload Length Check Disable
  30583. * 0b0..The payload length check is disabled.
  30584. * 0b1..The core checks the frame's payload length with the frame length/type field. Errors are indicated in the EIR[PLR] field.
  30585. */
  30586. #define ENET_RCR_NLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_NLC_SHIFT)) & ENET_RCR_NLC_MASK)
  30587. #define ENET_RCR_GRS_MASK (0x80000000U)
  30588. #define ENET_RCR_GRS_SHIFT (31U)
  30589. /*! GRS - Graceful Receive Stopped
  30590. * 0b0..Receive not stopped
  30591. * 0b1..Receive stopped
  30592. */
  30593. #define ENET_RCR_GRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCR_GRS_SHIFT)) & ENET_RCR_GRS_MASK)
  30594. /*! @} */
  30595. /*! @name TCR - Transmit Control Register */
  30596. /*! @{ */
  30597. #define ENET_TCR_GTS_MASK (0x1U)
  30598. #define ENET_TCR_GTS_SHIFT (0U)
  30599. /*! GTS - Graceful Transmit Stop
  30600. * 0b0..Disable graceful transmit stop
  30601. * 0b1..Enable graceful transmit stop
  30602. */
  30603. #define ENET_TCR_GTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_GTS_SHIFT)) & ENET_TCR_GTS_MASK)
  30604. #define ENET_TCR_FDEN_MASK (0x4U)
  30605. #define ENET_TCR_FDEN_SHIFT (2U)
  30606. /*! FDEN - Full-Duplex Enable
  30607. * 0b0..Disable full-duplex
  30608. * 0b1..Enable full-duplex
  30609. */
  30610. #define ENET_TCR_FDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_FDEN_SHIFT)) & ENET_TCR_FDEN_MASK)
  30611. #define ENET_TCR_TFC_PAUSE_MASK (0x8U)
  30612. #define ENET_TCR_TFC_PAUSE_SHIFT (3U)
  30613. /*! TFC_PAUSE - Transmit Frame Control Pause
  30614. * 0b0..No PAUSE frame transmitted.
  30615. * 0b1..The MAC stops transmission of data frames after the current transmission is complete.
  30616. */
  30617. #define ENET_TCR_TFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_TFC_PAUSE_SHIFT)) & ENET_TCR_TFC_PAUSE_MASK)
  30618. #define ENET_TCR_RFC_PAUSE_MASK (0x10U)
  30619. #define ENET_TCR_RFC_PAUSE_SHIFT (4U)
  30620. /*! RFC_PAUSE - Receive Frame Control Pause
  30621. */
  30622. #define ENET_TCR_RFC_PAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_RFC_PAUSE_SHIFT)) & ENET_TCR_RFC_PAUSE_MASK)
  30623. #define ENET_TCR_ADDSEL_MASK (0xE0U)
  30624. #define ENET_TCR_ADDSEL_SHIFT (5U)
  30625. /*! ADDSEL - Source MAC Address Select On Transmit
  30626. * 0b000..Node MAC address programmed on PADDR1/2 registers.
  30627. * 0b100..Reserved.
  30628. * 0b101..Reserved.
  30629. * 0b110..Reserved.
  30630. */
  30631. #define ENET_TCR_ADDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDSEL_SHIFT)) & ENET_TCR_ADDSEL_MASK)
  30632. #define ENET_TCR_ADDINS_MASK (0x100U)
  30633. #define ENET_TCR_ADDINS_SHIFT (8U)
  30634. /*! ADDINS - Set MAC Address On Transmit
  30635. * 0b0..The source MAC address is not modified by the MAC.
  30636. * 0b1..The MAC overwrites the source MAC address with the programmed MAC address according to ADDSEL.
  30637. */
  30638. #define ENET_TCR_ADDINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_ADDINS_SHIFT)) & ENET_TCR_ADDINS_MASK)
  30639. #define ENET_TCR_CRCFWD_MASK (0x200U)
  30640. #define ENET_TCR_CRCFWD_SHIFT (9U)
  30641. /*! CRCFWD - Forward Frame From Application With CRC
  30642. * 0b0..TxBD[TC] controls whether the frame has a CRC from the application.
  30643. * 0b1..The transmitter does not append any CRC to transmitted frames, as it is expecting a frame with CRC from the application.
  30644. */
  30645. #define ENET_TCR_CRCFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCR_CRCFWD_SHIFT)) & ENET_TCR_CRCFWD_MASK)
  30646. /*! @} */
  30647. /*! @name PALR - Physical Address Lower Register */
  30648. /*! @{ */
  30649. #define ENET_PALR_PADDR1_MASK (0xFFFFFFFFU)
  30650. #define ENET_PALR_PADDR1_SHIFT (0U)
  30651. /*! PADDR1 - Pause Address
  30652. */
  30653. #define ENET_PALR_PADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_PALR_PADDR1_SHIFT)) & ENET_PALR_PADDR1_MASK)
  30654. /*! @} */
  30655. /*! @name PAUR - Physical Address Upper Register */
  30656. /*! @{ */
  30657. #define ENET_PAUR_TYPE_MASK (0xFFFFU)
  30658. #define ENET_PAUR_TYPE_SHIFT (0U)
  30659. /*! TYPE - Type Field In PAUSE Frames
  30660. */
  30661. #define ENET_PAUR_TYPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_TYPE_SHIFT)) & ENET_PAUR_TYPE_MASK)
  30662. #define ENET_PAUR_PADDR2_MASK (0xFFFF0000U)
  30663. #define ENET_PAUR_PADDR2_SHIFT (16U)
  30664. #define ENET_PAUR_PADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_PAUR_PADDR2_SHIFT)) & ENET_PAUR_PADDR2_MASK)
  30665. /*! @} */
  30666. /*! @name OPD - Opcode/Pause Duration Register */
  30667. /*! @{ */
  30668. #define ENET_OPD_PAUSE_DUR_MASK (0xFFFFU)
  30669. #define ENET_OPD_PAUSE_DUR_SHIFT (0U)
  30670. /*! PAUSE_DUR - Pause Duration
  30671. */
  30672. #define ENET_OPD_PAUSE_DUR(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_PAUSE_DUR_SHIFT)) & ENET_OPD_PAUSE_DUR_MASK)
  30673. #define ENET_OPD_OPCODE_MASK (0xFFFF0000U)
  30674. #define ENET_OPD_OPCODE_SHIFT (16U)
  30675. /*! OPCODE - Opcode Field In PAUSE Frames
  30676. */
  30677. #define ENET_OPD_OPCODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_OPD_OPCODE_SHIFT)) & ENET_OPD_OPCODE_MASK)
  30678. /*! @} */
  30679. /*! @name TXIC - Transmit Interrupt Coalescing Register */
  30680. /*! @{ */
  30681. #define ENET_TXIC_ICTT_MASK (0xFFFFU)
  30682. #define ENET_TXIC_ICTT_SHIFT (0U)
  30683. /*! ICTT - Interrupt coalescing timer threshold
  30684. */
  30685. #define ENET_TXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICTT_SHIFT)) & ENET_TXIC_ICTT_MASK)
  30686. #define ENET_TXIC_ICFT_MASK (0xFF00000U)
  30687. #define ENET_TXIC_ICFT_SHIFT (20U)
  30688. /*! ICFT - Interrupt coalescing frame count threshold
  30689. */
  30690. #define ENET_TXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICFT_SHIFT)) & ENET_TXIC_ICFT_MASK)
  30691. #define ENET_TXIC_ICCS_MASK (0x40000000U)
  30692. #define ENET_TXIC_ICCS_SHIFT (30U)
  30693. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  30694. * 0b0..Use MII/GMII TX clocks.
  30695. * 0b1..Use ENET system clock.
  30696. */
  30697. #define ENET_TXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICCS_SHIFT)) & ENET_TXIC_ICCS_MASK)
  30698. #define ENET_TXIC_ICEN_MASK (0x80000000U)
  30699. #define ENET_TXIC_ICEN_SHIFT (31U)
  30700. /*! ICEN - Interrupt Coalescing Enable
  30701. * 0b0..Disable Interrupt coalescing.
  30702. * 0b1..Enable Interrupt coalescing.
  30703. */
  30704. #define ENET_TXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_TXIC_ICEN_SHIFT)) & ENET_TXIC_ICEN_MASK)
  30705. /*! @} */
  30706. /* The count of ENET_TXIC */
  30707. #define ENET_TXIC_COUNT (3U)
  30708. /*! @name RXIC - Receive Interrupt Coalescing Register */
  30709. /*! @{ */
  30710. #define ENET_RXIC_ICTT_MASK (0xFFFFU)
  30711. #define ENET_RXIC_ICTT_SHIFT (0U)
  30712. /*! ICTT - Interrupt coalescing timer threshold
  30713. */
  30714. #define ENET_RXIC_ICTT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICTT_SHIFT)) & ENET_RXIC_ICTT_MASK)
  30715. #define ENET_RXIC_ICFT_MASK (0xFF00000U)
  30716. #define ENET_RXIC_ICFT_SHIFT (20U)
  30717. /*! ICFT - Interrupt coalescing frame count threshold
  30718. */
  30719. #define ENET_RXIC_ICFT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICFT_SHIFT)) & ENET_RXIC_ICFT_MASK)
  30720. #define ENET_RXIC_ICCS_MASK (0x40000000U)
  30721. #define ENET_RXIC_ICCS_SHIFT (30U)
  30722. /*! ICCS - Interrupt Coalescing Timer Clock Source Select
  30723. * 0b0..Use MII/GMII TX clocks.
  30724. * 0b1..Use ENET system clock.
  30725. */
  30726. #define ENET_RXIC_ICCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICCS_SHIFT)) & ENET_RXIC_ICCS_MASK)
  30727. #define ENET_RXIC_ICEN_MASK (0x80000000U)
  30728. #define ENET_RXIC_ICEN_SHIFT (31U)
  30729. /*! ICEN - Interrupt Coalescing Enable
  30730. * 0b0..Disable Interrupt coalescing.
  30731. * 0b1..Enable Interrupt coalescing.
  30732. */
  30733. #define ENET_RXIC_ICEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RXIC_ICEN_SHIFT)) & ENET_RXIC_ICEN_MASK)
  30734. /*! @} */
  30735. /* The count of ENET_RXIC */
  30736. #define ENET_RXIC_COUNT (3U)
  30737. /*! @name IAUR - Descriptor Individual Upper Address Register */
  30738. /*! @{ */
  30739. #define ENET_IAUR_IADDR1_MASK (0xFFFFFFFFU)
  30740. #define ENET_IAUR_IADDR1_SHIFT (0U)
  30741. #define ENET_IAUR_IADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_IAUR_IADDR1_SHIFT)) & ENET_IAUR_IADDR1_MASK)
  30742. /*! @} */
  30743. /*! @name IALR - Descriptor Individual Lower Address Register */
  30744. /*! @{ */
  30745. #define ENET_IALR_IADDR2_MASK (0xFFFFFFFFU)
  30746. #define ENET_IALR_IADDR2_SHIFT (0U)
  30747. #define ENET_IALR_IADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_IALR_IADDR2_SHIFT)) & ENET_IALR_IADDR2_MASK)
  30748. /*! @} */
  30749. /*! @name GAUR - Descriptor Group Upper Address Register */
  30750. /*! @{ */
  30751. #define ENET_GAUR_GADDR1_MASK (0xFFFFFFFFU)
  30752. #define ENET_GAUR_GADDR1_SHIFT (0U)
  30753. #define ENET_GAUR_GADDR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_GAUR_GADDR1_SHIFT)) & ENET_GAUR_GADDR1_MASK)
  30754. /*! @} */
  30755. /*! @name GALR - Descriptor Group Lower Address Register */
  30756. /*! @{ */
  30757. #define ENET_GALR_GADDR2_MASK (0xFFFFFFFFU)
  30758. #define ENET_GALR_GADDR2_SHIFT (0U)
  30759. #define ENET_GALR_GADDR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_GALR_GADDR2_SHIFT)) & ENET_GALR_GADDR2_MASK)
  30760. /*! @} */
  30761. /*! @name TFWR - Transmit FIFO Watermark Register */
  30762. /*! @{ */
  30763. #define ENET_TFWR_TFWR_MASK (0x3FU)
  30764. #define ENET_TFWR_TFWR_SHIFT (0U)
  30765. /*! TFWR - Transmit FIFO Write
  30766. * 0b000000..64 bytes written.
  30767. * 0b000001..64 bytes written.
  30768. * 0b000010..128 bytes written.
  30769. * 0b000011..192 bytes written.
  30770. * 0b111111..4032 bytes written.
  30771. */
  30772. #define ENET_TFWR_TFWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_TFWR_SHIFT)) & ENET_TFWR_TFWR_MASK)
  30773. #define ENET_TFWR_STRFWD_MASK (0x100U)
  30774. #define ENET_TFWR_STRFWD_SHIFT (8U)
  30775. /*! STRFWD - Store And Forward Enable
  30776. * 0b0..Reset. The transmission start threshold is programmed in TFWR[TFWR].
  30777. * 0b1..Enabled.
  30778. */
  30779. #define ENET_TFWR_STRFWD(x) (((uint32_t)(((uint32_t)(x)) << ENET_TFWR_STRFWD_SHIFT)) & ENET_TFWR_STRFWD_MASK)
  30780. /*! @} */
  30781. /*! @name RDSR1 - Receive Descriptor Ring 1 Start Register */
  30782. /*! @{ */
  30783. #define ENET_RDSR1_R_DES_START_MASK (0xFFFFFFF8U)
  30784. #define ENET_RDSR1_R_DES_START_SHIFT (3U)
  30785. #define ENET_RDSR1_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR1_R_DES_START_SHIFT)) & ENET_RDSR1_R_DES_START_MASK)
  30786. /*! @} */
  30787. /*! @name TDSR1 - Transmit Buffer Descriptor Ring 1 Start Register */
  30788. /*! @{ */
  30789. #define ENET_TDSR1_X_DES_START_MASK (0xFFFFFFF8U)
  30790. #define ENET_TDSR1_X_DES_START_SHIFT (3U)
  30791. #define ENET_TDSR1_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR1_X_DES_START_SHIFT)) & ENET_TDSR1_X_DES_START_MASK)
  30792. /*! @} */
  30793. /*! @name MRBR1 - Maximum Receive Buffer Size Register - Ring 1 */
  30794. /*! @{ */
  30795. #define ENET_MRBR1_R_BUF_SIZE_MASK (0x7F0U)
  30796. #define ENET_MRBR1_R_BUF_SIZE_SHIFT (4U)
  30797. #define ENET_MRBR1_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR1_R_BUF_SIZE_SHIFT)) & ENET_MRBR1_R_BUF_SIZE_MASK)
  30798. /*! @} */
  30799. /*! @name RDSR2 - Receive Descriptor Ring 2 Start Register */
  30800. /*! @{ */
  30801. #define ENET_RDSR2_R_DES_START_MASK (0xFFFFFFF8U)
  30802. #define ENET_RDSR2_R_DES_START_SHIFT (3U)
  30803. #define ENET_RDSR2_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR2_R_DES_START_SHIFT)) & ENET_RDSR2_R_DES_START_MASK)
  30804. /*! @} */
  30805. /*! @name TDSR2 - Transmit Buffer Descriptor Ring 2 Start Register */
  30806. /*! @{ */
  30807. #define ENET_TDSR2_X_DES_START_MASK (0xFFFFFFF8U)
  30808. #define ENET_TDSR2_X_DES_START_SHIFT (3U)
  30809. #define ENET_TDSR2_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR2_X_DES_START_SHIFT)) & ENET_TDSR2_X_DES_START_MASK)
  30810. /*! @} */
  30811. /*! @name MRBR2 - Maximum Receive Buffer Size Register - Ring 2 */
  30812. /*! @{ */
  30813. #define ENET_MRBR2_R_BUF_SIZE_MASK (0x7F0U)
  30814. #define ENET_MRBR2_R_BUF_SIZE_SHIFT (4U)
  30815. #define ENET_MRBR2_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR2_R_BUF_SIZE_SHIFT)) & ENET_MRBR2_R_BUF_SIZE_MASK)
  30816. /*! @} */
  30817. /*! @name RDSR - Receive Descriptor Ring 0 Start Register */
  30818. /*! @{ */
  30819. #define ENET_RDSR_R_DES_START_MASK (0xFFFFFFF8U)
  30820. #define ENET_RDSR_R_DES_START_SHIFT (3U)
  30821. #define ENET_RDSR_R_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDSR_R_DES_START_SHIFT)) & ENET_RDSR_R_DES_START_MASK)
  30822. /*! @} */
  30823. /*! @name TDSR - Transmit Buffer Descriptor Ring 0 Start Register */
  30824. /*! @{ */
  30825. #define ENET_TDSR_X_DES_START_MASK (0xFFFFFFF8U)
  30826. #define ENET_TDSR_X_DES_START_SHIFT (3U)
  30827. #define ENET_TDSR_X_DES_START(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDSR_X_DES_START_SHIFT)) & ENET_TDSR_X_DES_START_MASK)
  30828. /*! @} */
  30829. /*! @name MRBR - Maximum Receive Buffer Size Register - Ring 0 */
  30830. /*! @{ */
  30831. #define ENET_MRBR_R_BUF_SIZE_MASK (0x3FF0U) /* Merged from fields with different position or width, of widths (7, 10), largest definition used */
  30832. #define ENET_MRBR_R_BUF_SIZE_SHIFT (4U)
  30833. #define ENET_MRBR_R_BUF_SIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_MRBR_R_BUF_SIZE_SHIFT)) & ENET_MRBR_R_BUF_SIZE_MASK) /* Merged from fields with different position or width, of widths (7, 10), largest definition used */
  30834. /*! @} */
  30835. /*! @name RSFL - Receive FIFO Section Full Threshold */
  30836. /*! @{ */
  30837. #define ENET_RSFL_RX_SECTION_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30838. #define ENET_RSFL_RX_SECTION_FULL_SHIFT (0U)
  30839. /*! RX_SECTION_FULL - Value Of Receive FIFO Section Full Threshold
  30840. */
  30841. #define ENET_RSFL_RX_SECTION_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSFL_RX_SECTION_FULL_SHIFT)) & ENET_RSFL_RX_SECTION_FULL_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30842. /*! @} */
  30843. /*! @name RSEM - Receive FIFO Section Empty Threshold */
  30844. /*! @{ */
  30845. #define ENET_RSEM_RX_SECTION_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30846. #define ENET_RSEM_RX_SECTION_EMPTY_SHIFT (0U)
  30847. /*! RX_SECTION_EMPTY - Value Of The Receive FIFO Section Empty Threshold
  30848. */
  30849. #define ENET_RSEM_RX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_RX_SECTION_EMPTY_SHIFT)) & ENET_RSEM_RX_SECTION_EMPTY_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30850. #define ENET_RSEM_STAT_SECTION_EMPTY_MASK (0x1F0000U)
  30851. #define ENET_RSEM_STAT_SECTION_EMPTY_SHIFT (16U)
  30852. /*! STAT_SECTION_EMPTY - RX Status FIFO Section Empty Threshold
  30853. */
  30854. #define ENET_RSEM_STAT_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RSEM_STAT_SECTION_EMPTY_SHIFT)) & ENET_RSEM_STAT_SECTION_EMPTY_MASK)
  30855. /*! @} */
  30856. /*! @name RAEM - Receive FIFO Almost Empty Threshold */
  30857. /*! @{ */
  30858. #define ENET_RAEM_RX_ALMOST_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30859. #define ENET_RAEM_RX_ALMOST_EMPTY_SHIFT (0U)
  30860. /*! RX_ALMOST_EMPTY - Value Of The Receive FIFO Almost Empty Threshold
  30861. */
  30862. #define ENET_RAEM_RX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAEM_RX_ALMOST_EMPTY_SHIFT)) & ENET_RAEM_RX_ALMOST_EMPTY_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30863. /*! @} */
  30864. /*! @name RAFL - Receive FIFO Almost Full Threshold */
  30865. /*! @{ */
  30866. #define ENET_RAFL_RX_ALMOST_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30867. #define ENET_RAFL_RX_ALMOST_FULL_SHIFT (0U)
  30868. /*! RX_ALMOST_FULL - Value Of The Receive FIFO Almost Full Threshold
  30869. */
  30870. #define ENET_RAFL_RX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_RAFL_RX_ALMOST_FULL_SHIFT)) & ENET_RAFL_RX_ALMOST_FULL_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30871. /*! @} */
  30872. /*! @name TSEM - Transmit FIFO Section Empty Threshold */
  30873. /*! @{ */
  30874. #define ENET_TSEM_TX_SECTION_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30875. #define ENET_TSEM_TX_SECTION_EMPTY_SHIFT (0U)
  30876. /*! TX_SECTION_EMPTY - Value Of The Transmit FIFO Section Empty Threshold
  30877. */
  30878. #define ENET_TSEM_TX_SECTION_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TSEM_TX_SECTION_EMPTY_SHIFT)) & ENET_TSEM_TX_SECTION_EMPTY_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30879. /*! @} */
  30880. /*! @name TAEM - Transmit FIFO Almost Empty Threshold */
  30881. /*! @{ */
  30882. #define ENET_TAEM_TX_ALMOST_EMPTY_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30883. #define ENET_TAEM_TX_ALMOST_EMPTY_SHIFT (0U)
  30884. /*! TX_ALMOST_EMPTY - Value of Transmit FIFO Almost Empty Threshold
  30885. */
  30886. #define ENET_TAEM_TX_ALMOST_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAEM_TX_ALMOST_EMPTY_SHIFT)) & ENET_TAEM_TX_ALMOST_EMPTY_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30887. /*! @} */
  30888. /*! @name TAFL - Transmit FIFO Almost Full Threshold */
  30889. /*! @{ */
  30890. #define ENET_TAFL_TX_ALMOST_FULL_MASK (0x3FFU) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30891. #define ENET_TAFL_TX_ALMOST_FULL_SHIFT (0U)
  30892. /*! TX_ALMOST_FULL - Value Of The Transmit FIFO Almost Full Threshold
  30893. */
  30894. #define ENET_TAFL_TX_ALMOST_FULL(x) (((uint32_t)(((uint32_t)(x)) << ENET_TAFL_TX_ALMOST_FULL_SHIFT)) & ENET_TAFL_TX_ALMOST_FULL_MASK) /* Merged from fields with different position or width, of widths (8, 10), largest definition used */
  30895. /*! @} */
  30896. /*! @name TIPG - Transmit Inter-Packet Gap */
  30897. /*! @{ */
  30898. #define ENET_TIPG_IPG_MASK (0x1FU)
  30899. #define ENET_TIPG_IPG_SHIFT (0U)
  30900. /*! IPG - Transmit Inter-Packet Gap
  30901. */
  30902. #define ENET_TIPG_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_TIPG_IPG_SHIFT)) & ENET_TIPG_IPG_MASK)
  30903. /*! @} */
  30904. /*! @name FTRL - Frame Truncation Length */
  30905. /*! @{ */
  30906. #define ENET_FTRL_TRUNC_FL_MASK (0x3FFFU)
  30907. #define ENET_FTRL_TRUNC_FL_SHIFT (0U)
  30908. /*! TRUNC_FL - Frame Truncation Length
  30909. */
  30910. #define ENET_FTRL_TRUNC_FL(x) (((uint32_t)(((uint32_t)(x)) << ENET_FTRL_TRUNC_FL_SHIFT)) & ENET_FTRL_TRUNC_FL_MASK)
  30911. /*! @} */
  30912. /*! @name TACC - Transmit Accelerator Function Configuration */
  30913. /*! @{ */
  30914. #define ENET_TACC_SHIFT16_MASK (0x1U)
  30915. #define ENET_TACC_SHIFT16_SHIFT (0U)
  30916. /*! SHIFT16 - TX FIFO Shift-16
  30917. * 0b0..Disabled.
  30918. * 0b1..Indicates to the transmit data FIFO that the written frames contain two additional octets before the
  30919. * frame data. This means the actual frame begins at bit 16 of the first word written into the FIFO. This
  30920. * function allows putting the frame payload on a 32-bit boundary in memory, as the 14-byte Ethernet header is
  30921. * extended to a 16-byte header.
  30922. */
  30923. #define ENET_TACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_SHIFT16_SHIFT)) & ENET_TACC_SHIFT16_MASK)
  30924. #define ENET_TACC_IPCHK_MASK (0x8U)
  30925. #define ENET_TACC_IPCHK_SHIFT (3U)
  30926. /*! IPCHK
  30927. * 0b0..Checksum is not inserted.
  30928. * 0b1..If an IP frame is transmitted, the checksum is inserted automatically. The IP header checksum field must
  30929. * be cleared. If a non-IP frame is transmitted the frame is not modified.
  30930. */
  30931. #define ENET_TACC_IPCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_IPCHK_SHIFT)) & ENET_TACC_IPCHK_MASK)
  30932. #define ENET_TACC_PROCHK_MASK (0x10U)
  30933. #define ENET_TACC_PROCHK_SHIFT (4U)
  30934. /*! PROCHK
  30935. * 0b0..Checksum not inserted.
  30936. * 0b1..If an IP frame with a known protocol is transmitted, the checksum is inserted automatically into the
  30937. * frame. The checksum field must be cleared. The other frames are not modified.
  30938. */
  30939. #define ENET_TACC_PROCHK(x) (((uint32_t)(((uint32_t)(x)) << ENET_TACC_PROCHK_SHIFT)) & ENET_TACC_PROCHK_MASK)
  30940. /*! @} */
  30941. /*! @name RACC - Receive Accelerator Function Configuration */
  30942. /*! @{ */
  30943. #define ENET_RACC_PADREM_MASK (0x1U)
  30944. #define ENET_RACC_PADREM_SHIFT (0U)
  30945. /*! PADREM - Enable Padding Removal For Short IP Frames
  30946. * 0b0..Padding not removed.
  30947. * 0b1..Any bytes following the IP payload section of the frame are removed from the frame.
  30948. */
  30949. #define ENET_RACC_PADREM(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PADREM_SHIFT)) & ENET_RACC_PADREM_MASK)
  30950. #define ENET_RACC_IPDIS_MASK (0x2U)
  30951. #define ENET_RACC_IPDIS_SHIFT (1U)
  30952. /*! IPDIS - Enable Discard Of Frames With Wrong IPv4 Header Checksum
  30953. * 0b0..Frames with wrong IPv4 header checksum are not discarded.
  30954. * 0b1..If an IPv4 frame is received with a mismatching header checksum, the frame is discarded. IPv6 has no
  30955. * header checksum and is not affected by this setting. Discarding is only available when the RX FIFO operates in
  30956. * store and forward mode (RSFL cleared).
  30957. */
  30958. #define ENET_RACC_IPDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_IPDIS_SHIFT)) & ENET_RACC_IPDIS_MASK)
  30959. #define ENET_RACC_PRODIS_MASK (0x4U)
  30960. #define ENET_RACC_PRODIS_SHIFT (2U)
  30961. /*! PRODIS - Enable Discard Of Frames With Wrong Protocol Checksum
  30962. * 0b0..Frames with wrong checksum are not discarded.
  30963. * 0b1..If a TCP/IP, UDP/IP, or ICMP/IP frame is received that has a wrong TCP, UDP, or ICMP checksum, the frame
  30964. * is discarded. Discarding is only available when the RX FIFO operates in store and forward mode (RSFL
  30965. * cleared).
  30966. */
  30967. #define ENET_RACC_PRODIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_PRODIS_SHIFT)) & ENET_RACC_PRODIS_MASK)
  30968. #define ENET_RACC_LINEDIS_MASK (0x40U)
  30969. #define ENET_RACC_LINEDIS_SHIFT (6U)
  30970. /*! LINEDIS - Enable Discard Of Frames With MAC Layer Errors
  30971. * 0b0..Frames with errors are not discarded.
  30972. * 0b1..Any frame received with a CRC, length, or PHY error is automatically discarded and not forwarded to the user application interface.
  30973. */
  30974. #define ENET_RACC_LINEDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_LINEDIS_SHIFT)) & ENET_RACC_LINEDIS_MASK)
  30975. #define ENET_RACC_SHIFT16_MASK (0x80U)
  30976. #define ENET_RACC_SHIFT16_SHIFT (7U)
  30977. /*! SHIFT16 - RX FIFO Shift-16
  30978. * 0b0..Disabled.
  30979. * 0b1..Instructs the MAC to write two additional bytes in front of each frame received into the RX FIFO.
  30980. */
  30981. #define ENET_RACC_SHIFT16(x) (((uint32_t)(((uint32_t)(x)) << ENET_RACC_SHIFT16_SHIFT)) & ENET_RACC_SHIFT16_MASK)
  30982. /*! @} */
  30983. /*! @name RCMR - Receive Classification Match Register for Class n */
  30984. /*! @{ */
  30985. #define ENET_RCMR_CMP0_MASK (0x7U)
  30986. #define ENET_RCMR_CMP0_SHIFT (0U)
  30987. /*! CMP0 - Compare 0
  30988. */
  30989. #define ENET_RCMR_CMP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP0_SHIFT)) & ENET_RCMR_CMP0_MASK)
  30990. #define ENET_RCMR_CMP1_MASK (0x70U)
  30991. #define ENET_RCMR_CMP1_SHIFT (4U)
  30992. /*! CMP1 - Compare 1
  30993. */
  30994. #define ENET_RCMR_CMP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP1_SHIFT)) & ENET_RCMR_CMP1_MASK)
  30995. #define ENET_RCMR_CMP2_MASK (0x700U)
  30996. #define ENET_RCMR_CMP2_SHIFT (8U)
  30997. /*! CMP2 - Compare 2
  30998. */
  30999. #define ENET_RCMR_CMP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP2_SHIFT)) & ENET_RCMR_CMP2_MASK)
  31000. #define ENET_RCMR_CMP3_MASK (0x7000U)
  31001. #define ENET_RCMR_CMP3_SHIFT (12U)
  31002. /*! CMP3 - Compare 3
  31003. */
  31004. #define ENET_RCMR_CMP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_CMP3_SHIFT)) & ENET_RCMR_CMP3_MASK)
  31005. #define ENET_RCMR_MATCHEN_MASK (0x10000U)
  31006. #define ENET_RCMR_MATCHEN_SHIFT (16U)
  31007. /*! MATCHEN - Match Enable
  31008. * 0b0..Disabled (default): no compares will occur and the classification indicator for this class will never assert.
  31009. * 0b1..The register contents are valid and a comparison with all compare values is done when a VLAN frame is received.
  31010. */
  31011. #define ENET_RCMR_MATCHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_RCMR_MATCHEN_SHIFT)) & ENET_RCMR_MATCHEN_MASK)
  31012. /*! @} */
  31013. /* The count of ENET_RCMR */
  31014. #define ENET_RCMR_COUNT (2U)
  31015. /*! @name DMACFG - DMA Class Based Configuration */
  31016. /*! @{ */
  31017. #define ENET_DMACFG_IDLE_SLOPE_MASK (0xFFFFU)
  31018. #define ENET_DMACFG_IDLE_SLOPE_SHIFT (0U)
  31019. /*! IDLE_SLOPE - Idle slope
  31020. */
  31021. #define ENET_DMACFG_IDLE_SLOPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_IDLE_SLOPE_SHIFT)) & ENET_DMACFG_IDLE_SLOPE_MASK)
  31022. #define ENET_DMACFG_DMA_CLASS_EN_MASK (0x10000U)
  31023. #define ENET_DMACFG_DMA_CLASS_EN_SHIFT (16U)
  31024. /*! DMA_CLASS_EN - DMA class enable
  31025. * 0b0..The DMA controller's channel for the class is not used. Disabling the DMA controller of a class also
  31026. * requires disabling the class match comparator for the class (see registers RCMRn). When class 1 and class 2
  31027. * queues are disabled then their frames will be placed in queue 0.
  31028. * 0b1..Enable the DMA controller to support the corresponding descriptor ring for this class of traffic.
  31029. */
  31030. #define ENET_DMACFG_DMA_CLASS_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_DMA_CLASS_EN_SHIFT)) & ENET_DMACFG_DMA_CLASS_EN_MASK)
  31031. #define ENET_DMACFG_CALC_NOIPG_MASK (0x20000U)
  31032. #define ENET_DMACFG_CALC_NOIPG_SHIFT (17U)
  31033. /*! CALC_NOIPG - Calculate no IPG
  31034. * 0b0..The traffic shaper function should consider 12 octets of IPG in addition to the frame data transferred
  31035. * for a frame when doing bandwidth calculations. This is the default.
  31036. * 0b1..Addition of 12 bytes for the IPG should be omitted when calculating the bandwidth (for traffic shaping,
  31037. * when writing a frame into the transmit FIFO, the shaper will usually consider 12 bytes of IPG for every
  31038. * frame as part of the bandwidth allocated by the frame. This addition can be suppressed, meaning short frames
  31039. * will become more bandwidth than large frames due to the relation of data to IPG overhead).
  31040. */
  31041. #define ENET_DMACFG_CALC_NOIPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_DMACFG_CALC_NOIPG_SHIFT)) & ENET_DMACFG_CALC_NOIPG_MASK)
  31042. /*! @} */
  31043. /* The count of ENET_DMACFG */
  31044. #define ENET_DMACFG_COUNT (2U)
  31045. /*! @name RDAR1 - Receive Descriptor Active Register - Ring 1 */
  31046. /*! @{ */
  31047. #define ENET_RDAR1_RDAR_MASK (0x1000000U)
  31048. #define ENET_RDAR1_RDAR_SHIFT (24U)
  31049. /*! RDAR - Receive Descriptor Active
  31050. */
  31051. #define ENET_RDAR1_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR1_RDAR_SHIFT)) & ENET_RDAR1_RDAR_MASK)
  31052. /*! @} */
  31053. /*! @name TDAR1 - Transmit Descriptor Active Register - Ring 1 */
  31054. /*! @{ */
  31055. #define ENET_TDAR1_TDAR_MASK (0x1000000U)
  31056. #define ENET_TDAR1_TDAR_SHIFT (24U)
  31057. /*! TDAR - Transmit Descriptor Active
  31058. */
  31059. #define ENET_TDAR1_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR1_TDAR_SHIFT)) & ENET_TDAR1_TDAR_MASK)
  31060. /*! @} */
  31061. /*! @name RDAR2 - Receive Descriptor Active Register - Ring 2 */
  31062. /*! @{ */
  31063. #define ENET_RDAR2_RDAR_MASK (0x1000000U)
  31064. #define ENET_RDAR2_RDAR_SHIFT (24U)
  31065. /*! RDAR - Receive Descriptor Active
  31066. */
  31067. #define ENET_RDAR2_RDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_RDAR2_RDAR_SHIFT)) & ENET_RDAR2_RDAR_MASK)
  31068. /*! @} */
  31069. /*! @name TDAR2 - Transmit Descriptor Active Register - Ring 2 */
  31070. /*! @{ */
  31071. #define ENET_TDAR2_TDAR_MASK (0x1000000U)
  31072. #define ENET_TDAR2_TDAR_SHIFT (24U)
  31073. /*! TDAR - Transmit Descriptor Active
  31074. */
  31075. #define ENET_TDAR2_TDAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_TDAR2_TDAR_SHIFT)) & ENET_TDAR2_TDAR_MASK)
  31076. /*! @} */
  31077. /*! @name QOS - QOS Scheme */
  31078. /*! @{ */
  31079. #define ENET_QOS_TX_SCHEME_MASK (0x7U)
  31080. #define ENET_QOS_TX_SCHEME_SHIFT (0U)
  31081. /*! TX_SCHEME - TX scheme configuration
  31082. * 0b000..Credit-based scheme
  31083. * 0b001..Round-robin scheme
  31084. * 0b010-0b111..Reserved
  31085. */
  31086. #define ENET_QOS_TX_SCHEME(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_TX_SCHEME_SHIFT)) & ENET_QOS_TX_SCHEME_MASK)
  31087. #define ENET_QOS_RX_FLUSH0_MASK (0x8U)
  31088. #define ENET_QOS_RX_FLUSH0_SHIFT (3U)
  31089. /*! RX_FLUSH0 - RX Flush Ring 0
  31090. * 0b0..Disable
  31091. * 0b1..Enable
  31092. */
  31093. #define ENET_QOS_RX_FLUSH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH0_SHIFT)) & ENET_QOS_RX_FLUSH0_MASK)
  31094. #define ENET_QOS_RX_FLUSH1_MASK (0x10U)
  31095. #define ENET_QOS_RX_FLUSH1_SHIFT (4U)
  31096. /*! RX_FLUSH1 - RX Flush Ring 1
  31097. * 0b0..Disable
  31098. * 0b1..Enable
  31099. */
  31100. #define ENET_QOS_RX_FLUSH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH1_SHIFT)) & ENET_QOS_RX_FLUSH1_MASK)
  31101. #define ENET_QOS_RX_FLUSH2_MASK (0x20U)
  31102. #define ENET_QOS_RX_FLUSH2_SHIFT (5U)
  31103. /*! RX_FLUSH2 - RX Flush Ring 2
  31104. * 0b0..Disable
  31105. * 0b1..Enable
  31106. */
  31107. #define ENET_QOS_RX_FLUSH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_RX_FLUSH2_SHIFT)) & ENET_QOS_RX_FLUSH2_MASK)
  31108. /*! @} */
  31109. /*! @name RMON_T_PACKETS - Tx Packet Count Statistic Register */
  31110. /*! @{ */
  31111. #define ENET_RMON_T_PACKETS_TXPKTS_MASK (0xFFFFU)
  31112. #define ENET_RMON_T_PACKETS_TXPKTS_SHIFT (0U)
  31113. /*! TXPKTS - Packet count
  31114. */
  31115. #define ENET_RMON_T_PACKETS_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_PACKETS_TXPKTS_SHIFT)) & ENET_RMON_T_PACKETS_TXPKTS_MASK)
  31116. /*! @} */
  31117. /*! @name RMON_T_BC_PKT - Tx Broadcast Packets Statistic Register */
  31118. /*! @{ */
  31119. #define ENET_RMON_T_BC_PKT_TXPKTS_MASK (0xFFFFU)
  31120. #define ENET_RMON_T_BC_PKT_TXPKTS_SHIFT (0U)
  31121. /*! TXPKTS - Broadcast packets
  31122. */
  31123. #define ENET_RMON_T_BC_PKT_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_BC_PKT_TXPKTS_SHIFT)) & ENET_RMON_T_BC_PKT_TXPKTS_MASK)
  31124. /*! @} */
  31125. /*! @name RMON_T_MC_PKT - Tx Multicast Packets Statistic Register */
  31126. /*! @{ */
  31127. #define ENET_RMON_T_MC_PKT_TXPKTS_MASK (0xFFFFU)
  31128. #define ENET_RMON_T_MC_PKT_TXPKTS_SHIFT (0U)
  31129. /*! TXPKTS - Multicast packets
  31130. */
  31131. #define ENET_RMON_T_MC_PKT_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_MC_PKT_TXPKTS_SHIFT)) & ENET_RMON_T_MC_PKT_TXPKTS_MASK)
  31132. /*! @} */
  31133. /*! @name RMON_T_CRC_ALIGN - Tx Packets with CRC/Align Error Statistic Register */
  31134. /*! @{ */
  31135. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK (0xFFFFU)
  31136. #define ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT (0U)
  31137. /*! TXPKTS - Packets with CRC/align error
  31138. */
  31139. #define ENET_RMON_T_CRC_ALIGN_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_CRC_ALIGN_TXPKTS_SHIFT)) & ENET_RMON_T_CRC_ALIGN_TXPKTS_MASK)
  31140. /*! @} */
  31141. /*! @name RMON_T_UNDERSIZE - Tx Packets Less Than Bytes and Good CRC Statistic Register */
  31142. /*! @{ */
  31143. #define ENET_RMON_T_UNDERSIZE_TXPKTS_MASK (0xFFFFU)
  31144. #define ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT (0U)
  31145. /*! TXPKTS - Number of transmit packets less than 64 bytes with good CRC
  31146. */
  31147. #define ENET_RMON_T_UNDERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_UNDERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_UNDERSIZE_TXPKTS_MASK)
  31148. /*! @} */
  31149. /*! @name RMON_T_OVERSIZE - Tx Packets GT MAX_FL bytes and Good CRC Statistic Register */
  31150. /*! @{ */
  31151. #define ENET_RMON_T_OVERSIZE_TXPKTS_MASK (0xFFFFU)
  31152. #define ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT (0U)
  31153. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes with good CRC
  31154. */
  31155. #define ENET_RMON_T_OVERSIZE_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OVERSIZE_TXPKTS_SHIFT)) & ENET_RMON_T_OVERSIZE_TXPKTS_MASK)
  31156. /*! @} */
  31157. /*! @name RMON_T_FRAG - Tx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  31158. /*! @{ */
  31159. #define ENET_RMON_T_FRAG_TXPKTS_MASK (0xFFFFU)
  31160. #define ENET_RMON_T_FRAG_TXPKTS_SHIFT (0U)
  31161. /*! TXPKTS - Number of packets less than 64 bytes with bad CRC
  31162. */
  31163. #define ENET_RMON_T_FRAG_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_FRAG_TXPKTS_SHIFT)) & ENET_RMON_T_FRAG_TXPKTS_MASK)
  31164. /*! @} */
  31165. /*! @name RMON_T_JAB - Tx Packets Greater Than MAX_FL bytes and Bad CRC Statistic Register */
  31166. /*! @{ */
  31167. #define ENET_RMON_T_JAB_TXPKTS_MASK (0xFFFFU)
  31168. #define ENET_RMON_T_JAB_TXPKTS_SHIFT (0U)
  31169. /*! TXPKTS - Number of transmit packets greater than MAX_FL bytes and bad CRC
  31170. */
  31171. #define ENET_RMON_T_JAB_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_JAB_TXPKTS_SHIFT)) & ENET_RMON_T_JAB_TXPKTS_MASK)
  31172. /*! @} */
  31173. /*! @name RMON_T_COL - Tx Collision Count Statistic Register */
  31174. /*! @{ */
  31175. #define ENET_RMON_T_COL_TXPKTS_MASK (0xFFFFU)
  31176. #define ENET_RMON_T_COL_TXPKTS_SHIFT (0U)
  31177. /*! TXPKTS - Number of transmit collisions
  31178. */
  31179. #define ENET_RMON_T_COL_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_COL_TXPKTS_SHIFT)) & ENET_RMON_T_COL_TXPKTS_MASK)
  31180. /*! @} */
  31181. /*! @name RMON_T_P64 - Tx 64-Byte Packets Statistic Register */
  31182. /*! @{ */
  31183. #define ENET_RMON_T_P64_TXPKTS_MASK (0xFFFFU)
  31184. #define ENET_RMON_T_P64_TXPKTS_SHIFT (0U)
  31185. /*! TXPKTS - Number of 64-byte transmit packets
  31186. */
  31187. #define ENET_RMON_T_P64_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P64_TXPKTS_SHIFT)) & ENET_RMON_T_P64_TXPKTS_MASK)
  31188. /*! @} */
  31189. /*! @name RMON_T_P65TO127 - Tx 65- to 127-byte Packets Statistic Register */
  31190. /*! @{ */
  31191. #define ENET_RMON_T_P65TO127_TXPKTS_MASK (0xFFFFU)
  31192. #define ENET_RMON_T_P65TO127_TXPKTS_SHIFT (0U)
  31193. /*! TXPKTS - Number of 65- to 127-byte transmit packets
  31194. */
  31195. #define ENET_RMON_T_P65TO127_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P65TO127_TXPKTS_SHIFT)) & ENET_RMON_T_P65TO127_TXPKTS_MASK)
  31196. /*! @} */
  31197. /*! @name RMON_T_P128TO255 - Tx 128- to 255-byte Packets Statistic Register */
  31198. /*! @{ */
  31199. #define ENET_RMON_T_P128TO255_TXPKTS_MASK (0xFFFFU)
  31200. #define ENET_RMON_T_P128TO255_TXPKTS_SHIFT (0U)
  31201. /*! TXPKTS - Number of 128- to 255-byte transmit packets
  31202. */
  31203. #define ENET_RMON_T_P128TO255_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P128TO255_TXPKTS_SHIFT)) & ENET_RMON_T_P128TO255_TXPKTS_MASK)
  31204. /*! @} */
  31205. /*! @name RMON_T_P256TO511 - Tx 256- to 511-byte Packets Statistic Register */
  31206. /*! @{ */
  31207. #define ENET_RMON_T_P256TO511_TXPKTS_MASK (0xFFFFU)
  31208. #define ENET_RMON_T_P256TO511_TXPKTS_SHIFT (0U)
  31209. /*! TXPKTS - Number of 256- to 511-byte transmit packets
  31210. */
  31211. #define ENET_RMON_T_P256TO511_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P256TO511_TXPKTS_SHIFT)) & ENET_RMON_T_P256TO511_TXPKTS_MASK)
  31212. /*! @} */
  31213. /*! @name RMON_T_P512TO1023 - Tx 512- to 1023-byte Packets Statistic Register */
  31214. /*! @{ */
  31215. #define ENET_RMON_T_P512TO1023_TXPKTS_MASK (0xFFFFU)
  31216. #define ENET_RMON_T_P512TO1023_TXPKTS_SHIFT (0U)
  31217. /*! TXPKTS - Number of 512- to 1023-byte transmit packets
  31218. */
  31219. #define ENET_RMON_T_P512TO1023_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P512TO1023_TXPKTS_SHIFT)) & ENET_RMON_T_P512TO1023_TXPKTS_MASK)
  31220. /*! @} */
  31221. /*! @name RMON_T_P1024TO2047 - Tx 1024- to 2047-byte Packets Statistic Register */
  31222. /*! @{ */
  31223. #define ENET_RMON_T_P1024TO2047_TXPKTS_MASK (0xFFFFU)
  31224. #define ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT (0U)
  31225. /*! TXPKTS - Number of 1024- to 2047-byte transmit packets
  31226. */
  31227. #define ENET_RMON_T_P1024TO2047_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P1024TO2047_TXPKTS_SHIFT)) & ENET_RMON_T_P1024TO2047_TXPKTS_MASK)
  31228. /*! @} */
  31229. /*! @name RMON_T_P_GTE2048 - Tx Packets Greater Than 2048 Bytes Statistic Register */
  31230. /*! @{ */
  31231. #define ENET_RMON_T_P_GTE2048_TXPKTS_MASK (0xFFFFU)
  31232. #define ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT (0U)
  31233. /*! TXPKTS - Number of transmit packets greater than 2048 bytes
  31234. */
  31235. #define ENET_RMON_T_P_GTE2048_TXPKTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_P_GTE2048_TXPKTS_SHIFT)) & ENET_RMON_T_P_GTE2048_TXPKTS_MASK)
  31236. /*! @} */
  31237. /*! @name RMON_T_OCTETS - Tx Octets Statistic Register */
  31238. /*! @{ */
  31239. #define ENET_RMON_T_OCTETS_TXOCTS_MASK (0xFFFFFFFFU)
  31240. #define ENET_RMON_T_OCTETS_TXOCTS_SHIFT (0U)
  31241. /*! TXOCTS - Number of transmit octets
  31242. */
  31243. #define ENET_RMON_T_OCTETS_TXOCTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_T_OCTETS_TXOCTS_SHIFT)) & ENET_RMON_T_OCTETS_TXOCTS_MASK)
  31244. /*! @} */
  31245. /*! @name IEEE_T_FRAME_OK - Frames Transmitted OK Statistic Register */
  31246. /*! @{ */
  31247. #define ENET_IEEE_T_FRAME_OK_COUNT_MASK (0xFFFFU)
  31248. #define ENET_IEEE_T_FRAME_OK_COUNT_SHIFT (0U)
  31249. /*! COUNT - Number of frames transmitted OK
  31250. */
  31251. #define ENET_IEEE_T_FRAME_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FRAME_OK_COUNT_SHIFT)) & ENET_IEEE_T_FRAME_OK_COUNT_MASK)
  31252. /*! @} */
  31253. /*! @name IEEE_T_1COL - Frames Transmitted with Single Collision Statistic Register */
  31254. /*! @{ */
  31255. #define ENET_IEEE_T_1COL_COUNT_MASK (0xFFFFU)
  31256. #define ENET_IEEE_T_1COL_COUNT_SHIFT (0U)
  31257. /*! COUNT - Number of frames transmitted with one collision
  31258. */
  31259. #define ENET_IEEE_T_1COL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_1COL_COUNT_SHIFT)) & ENET_IEEE_T_1COL_COUNT_MASK)
  31260. /*! @} */
  31261. /*! @name IEEE_T_MCOL - Frames Transmitted with Multiple Collisions Statistic Register */
  31262. /*! @{ */
  31263. #define ENET_IEEE_T_MCOL_COUNT_MASK (0xFFFFU)
  31264. #define ENET_IEEE_T_MCOL_COUNT_SHIFT (0U)
  31265. /*! COUNT - Number of frames transmitted with multiple collisions
  31266. */
  31267. #define ENET_IEEE_T_MCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MCOL_COUNT_SHIFT)) & ENET_IEEE_T_MCOL_COUNT_MASK)
  31268. /*! @} */
  31269. /*! @name IEEE_T_DEF - Frames Transmitted after Deferral Delay Statistic Register */
  31270. /*! @{ */
  31271. #define ENET_IEEE_T_DEF_COUNT_MASK (0xFFFFU)
  31272. #define ENET_IEEE_T_DEF_COUNT_SHIFT (0U)
  31273. /*! COUNT - Number of frames transmitted with deferral delay
  31274. */
  31275. #define ENET_IEEE_T_DEF_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_DEF_COUNT_SHIFT)) & ENET_IEEE_T_DEF_COUNT_MASK)
  31276. /*! @} */
  31277. /*! @name IEEE_T_LCOL - Frames Transmitted with Late Collision Statistic Register */
  31278. /*! @{ */
  31279. #define ENET_IEEE_T_LCOL_COUNT_MASK (0xFFFFU)
  31280. #define ENET_IEEE_T_LCOL_COUNT_SHIFT (0U)
  31281. /*! COUNT - Number of frames transmitted with late collision
  31282. */
  31283. #define ENET_IEEE_T_LCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_LCOL_COUNT_SHIFT)) & ENET_IEEE_T_LCOL_COUNT_MASK)
  31284. /*! @} */
  31285. /*! @name IEEE_T_EXCOL - Frames Transmitted with Excessive Collisions Statistic Register */
  31286. /*! @{ */
  31287. #define ENET_IEEE_T_EXCOL_COUNT_MASK (0xFFFFU)
  31288. #define ENET_IEEE_T_EXCOL_COUNT_SHIFT (0U)
  31289. /*! COUNT - Number of frames transmitted with excessive collisions
  31290. */
  31291. #define ENET_IEEE_T_EXCOL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_EXCOL_COUNT_SHIFT)) & ENET_IEEE_T_EXCOL_COUNT_MASK)
  31292. /*! @} */
  31293. /*! @name IEEE_T_MACERR - Frames Transmitted with Tx FIFO Underrun Statistic Register */
  31294. /*! @{ */
  31295. #define ENET_IEEE_T_MACERR_COUNT_MASK (0xFFFFU)
  31296. #define ENET_IEEE_T_MACERR_COUNT_SHIFT (0U)
  31297. /*! COUNT - Number of frames transmitted with transmit FIFO underrun
  31298. */
  31299. #define ENET_IEEE_T_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_MACERR_COUNT_SHIFT)) & ENET_IEEE_T_MACERR_COUNT_MASK)
  31300. /*! @} */
  31301. /*! @name IEEE_T_CSERR - Frames Transmitted with Carrier Sense Error Statistic Register */
  31302. /*! @{ */
  31303. #define ENET_IEEE_T_CSERR_COUNT_MASK (0xFFFFU)
  31304. #define ENET_IEEE_T_CSERR_COUNT_SHIFT (0U)
  31305. /*! COUNT - Number of frames transmitted with carrier sense error
  31306. */
  31307. #define ENET_IEEE_T_CSERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_CSERR_COUNT_SHIFT)) & ENET_IEEE_T_CSERR_COUNT_MASK)
  31308. /*! @} */
  31309. /*! @name IEEE_T_SQE - Reserved Statistic Register */
  31310. /*! @{ */
  31311. #define ENET_IEEE_T_SQE_COUNT_MASK (0xFFFFU)
  31312. #define ENET_IEEE_T_SQE_COUNT_SHIFT (0U)
  31313. /*! COUNT - This read-only field is reserved and always has the value 0
  31314. */
  31315. #define ENET_IEEE_T_SQE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_SQE_COUNT_SHIFT)) & ENET_IEEE_T_SQE_COUNT_MASK)
  31316. /*! @} */
  31317. /*! @name IEEE_T_FDXFC - Flow Control Pause Frames Transmitted Statistic Register */
  31318. /*! @{ */
  31319. #define ENET_IEEE_T_FDXFC_COUNT_MASK (0xFFFFU)
  31320. #define ENET_IEEE_T_FDXFC_COUNT_SHIFT (0U)
  31321. /*! COUNT - Number of flow-control pause frames transmitted
  31322. */
  31323. #define ENET_IEEE_T_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_FDXFC_COUNT_SHIFT)) & ENET_IEEE_T_FDXFC_COUNT_MASK)
  31324. /*! @} */
  31325. /*! @name IEEE_T_OCTETS_OK - Octet Count for Frames Transmitted w/o Error Statistic Register */
  31326. /*! @{ */
  31327. #define ENET_IEEE_T_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  31328. #define ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT (0U)
  31329. /*! COUNT - Octet count for frames transmitted without error Counts total octets (includes header and FCS fields).
  31330. */
  31331. #define ENET_IEEE_T_OCTETS_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_T_OCTETS_OK_COUNT_SHIFT)) & ENET_IEEE_T_OCTETS_OK_COUNT_MASK)
  31332. /*! @} */
  31333. /*! @name RMON_R_PACKETS - Rx Packet Count Statistic Register */
  31334. /*! @{ */
  31335. #define ENET_RMON_R_PACKETS_COUNT_MASK (0xFFFFU)
  31336. #define ENET_RMON_R_PACKETS_COUNT_SHIFT (0U)
  31337. /*! COUNT - Number of packets received
  31338. */
  31339. #define ENET_RMON_R_PACKETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_PACKETS_COUNT_SHIFT)) & ENET_RMON_R_PACKETS_COUNT_MASK)
  31340. /*! @} */
  31341. /*! @name RMON_R_BC_PKT - Rx Broadcast Packets Statistic Register */
  31342. /*! @{ */
  31343. #define ENET_RMON_R_BC_PKT_COUNT_MASK (0xFFFFU)
  31344. #define ENET_RMON_R_BC_PKT_COUNT_SHIFT (0U)
  31345. /*! COUNT - Number of receive broadcast packets
  31346. */
  31347. #define ENET_RMON_R_BC_PKT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_BC_PKT_COUNT_SHIFT)) & ENET_RMON_R_BC_PKT_COUNT_MASK)
  31348. /*! @} */
  31349. /*! @name RMON_R_MC_PKT - Rx Multicast Packets Statistic Register */
  31350. /*! @{ */
  31351. #define ENET_RMON_R_MC_PKT_COUNT_MASK (0xFFFFU)
  31352. #define ENET_RMON_R_MC_PKT_COUNT_SHIFT (0U)
  31353. /*! COUNT - Number of receive multicast packets
  31354. */
  31355. #define ENET_RMON_R_MC_PKT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_MC_PKT_COUNT_SHIFT)) & ENET_RMON_R_MC_PKT_COUNT_MASK)
  31356. /*! @} */
  31357. /*! @name RMON_R_CRC_ALIGN - Rx Packets with CRC/Align Error Statistic Register */
  31358. /*! @{ */
  31359. #define ENET_RMON_R_CRC_ALIGN_COUNT_MASK (0xFFFFU)
  31360. #define ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT (0U)
  31361. /*! COUNT - Number of receive packets with CRC or align error
  31362. */
  31363. #define ENET_RMON_R_CRC_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_CRC_ALIGN_COUNT_SHIFT)) & ENET_RMON_R_CRC_ALIGN_COUNT_MASK)
  31364. /*! @} */
  31365. /*! @name RMON_R_UNDERSIZE - Rx Packets with Less Than 64 Bytes and Good CRC Statistic Register */
  31366. /*! @{ */
  31367. #define ENET_RMON_R_UNDERSIZE_COUNT_MASK (0xFFFFU)
  31368. #define ENET_RMON_R_UNDERSIZE_COUNT_SHIFT (0U)
  31369. /*! COUNT - Number of receive packets with less than 64 bytes and good CRC
  31370. */
  31371. #define ENET_RMON_R_UNDERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_UNDERSIZE_COUNT_SHIFT)) & ENET_RMON_R_UNDERSIZE_COUNT_MASK)
  31372. /*! @} */
  31373. /*! @name RMON_R_OVERSIZE - Rx Packets Greater Than MAX_FL and Good CRC Statistic Register */
  31374. /*! @{ */
  31375. #define ENET_RMON_R_OVERSIZE_COUNT_MASK (0xFFFFU)
  31376. #define ENET_RMON_R_OVERSIZE_COUNT_SHIFT (0U)
  31377. /*! COUNT - Number of receive packets greater than MAX_FL and good CRC
  31378. */
  31379. #define ENET_RMON_R_OVERSIZE_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OVERSIZE_COUNT_SHIFT)) & ENET_RMON_R_OVERSIZE_COUNT_MASK)
  31380. /*! @} */
  31381. /*! @name RMON_R_FRAG - Rx Packets Less Than 64 Bytes and Bad CRC Statistic Register */
  31382. /*! @{ */
  31383. #define ENET_RMON_R_FRAG_COUNT_MASK (0xFFFFU)
  31384. #define ENET_RMON_R_FRAG_COUNT_SHIFT (0U)
  31385. /*! COUNT - Number of receive packets with less than 64 bytes and bad CRC
  31386. */
  31387. #define ENET_RMON_R_FRAG_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_FRAG_COUNT_SHIFT)) & ENET_RMON_R_FRAG_COUNT_MASK)
  31388. /*! @} */
  31389. /*! @name RMON_R_JAB - Rx Packets Greater Than MAX_FL Bytes and Bad CRC Statistic Register */
  31390. /*! @{ */
  31391. #define ENET_RMON_R_JAB_COUNT_MASK (0xFFFFU)
  31392. #define ENET_RMON_R_JAB_COUNT_SHIFT (0U)
  31393. /*! COUNT - Number of receive packets greater than MAX_FL and bad CRC
  31394. */
  31395. #define ENET_RMON_R_JAB_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_JAB_COUNT_SHIFT)) & ENET_RMON_R_JAB_COUNT_MASK)
  31396. /*! @} */
  31397. /*! @name RMON_R_P64 - Rx 64-Byte Packets Statistic Register */
  31398. /*! @{ */
  31399. #define ENET_RMON_R_P64_COUNT_MASK (0xFFFFU)
  31400. #define ENET_RMON_R_P64_COUNT_SHIFT (0U)
  31401. /*! COUNT - Number of 64-byte receive packets
  31402. */
  31403. #define ENET_RMON_R_P64_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P64_COUNT_SHIFT)) & ENET_RMON_R_P64_COUNT_MASK)
  31404. /*! @} */
  31405. /*! @name RMON_R_P65TO127 - Rx 65- to 127-Byte Packets Statistic Register */
  31406. /*! @{ */
  31407. #define ENET_RMON_R_P65TO127_COUNT_MASK (0xFFFFU)
  31408. #define ENET_RMON_R_P65TO127_COUNT_SHIFT (0U)
  31409. /*! COUNT - Number of 65- to 127-byte recieve packets
  31410. */
  31411. #define ENET_RMON_R_P65TO127_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P65TO127_COUNT_SHIFT)) & ENET_RMON_R_P65TO127_COUNT_MASK)
  31412. /*! @} */
  31413. /*! @name RMON_R_P128TO255 - Rx 128- to 255-Byte Packets Statistic Register */
  31414. /*! @{ */
  31415. #define ENET_RMON_R_P128TO255_COUNT_MASK (0xFFFFU)
  31416. #define ENET_RMON_R_P128TO255_COUNT_SHIFT (0U)
  31417. /*! COUNT - Number of 128- to 255-byte recieve packets
  31418. */
  31419. #define ENET_RMON_R_P128TO255_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P128TO255_COUNT_SHIFT)) & ENET_RMON_R_P128TO255_COUNT_MASK)
  31420. /*! @} */
  31421. /*! @name RMON_R_P256TO511 - Rx 256- to 511-Byte Packets Statistic Register */
  31422. /*! @{ */
  31423. #define ENET_RMON_R_P256TO511_COUNT_MASK (0xFFFFU)
  31424. #define ENET_RMON_R_P256TO511_COUNT_SHIFT (0U)
  31425. /*! COUNT - Number of 256- to 511-byte recieve packets
  31426. */
  31427. #define ENET_RMON_R_P256TO511_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P256TO511_COUNT_SHIFT)) & ENET_RMON_R_P256TO511_COUNT_MASK)
  31428. /*! @} */
  31429. /*! @name RMON_R_P512TO1023 - Rx 512- to 1023-Byte Packets Statistic Register */
  31430. /*! @{ */
  31431. #define ENET_RMON_R_P512TO1023_COUNT_MASK (0xFFFFU)
  31432. #define ENET_RMON_R_P512TO1023_COUNT_SHIFT (0U)
  31433. /*! COUNT - Number of 512- to 1023-byte recieve packets
  31434. */
  31435. #define ENET_RMON_R_P512TO1023_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P512TO1023_COUNT_SHIFT)) & ENET_RMON_R_P512TO1023_COUNT_MASK)
  31436. /*! @} */
  31437. /*! @name RMON_R_P1024TO2047 - Rx 1024- to 2047-Byte Packets Statistic Register */
  31438. /*! @{ */
  31439. #define ENET_RMON_R_P1024TO2047_COUNT_MASK (0xFFFFU)
  31440. #define ENET_RMON_R_P1024TO2047_COUNT_SHIFT (0U)
  31441. /*! COUNT - Number of 1024- to 2047-byte recieve packets
  31442. */
  31443. #define ENET_RMON_R_P1024TO2047_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P1024TO2047_COUNT_SHIFT)) & ENET_RMON_R_P1024TO2047_COUNT_MASK)
  31444. /*! @} */
  31445. /*! @name RMON_R_P_GTE2048 - Rx Packets Greater than 2048 Bytes Statistic Register */
  31446. /*! @{ */
  31447. #define ENET_RMON_R_P_GTE2048_COUNT_MASK (0xFFFFU)
  31448. #define ENET_RMON_R_P_GTE2048_COUNT_SHIFT (0U)
  31449. /*! COUNT - Number of greater-than-2048-byte recieve packets
  31450. */
  31451. #define ENET_RMON_R_P_GTE2048_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_P_GTE2048_COUNT_SHIFT)) & ENET_RMON_R_P_GTE2048_COUNT_MASK)
  31452. /*! @} */
  31453. /*! @name RMON_R_OCTETS - Rx Octets Statistic Register */
  31454. /*! @{ */
  31455. #define ENET_RMON_R_OCTETS_COUNT_MASK (0xFFFFFFFFU)
  31456. #define ENET_RMON_R_OCTETS_COUNT_SHIFT (0U)
  31457. /*! COUNT - Number of receive octets
  31458. */
  31459. #define ENET_RMON_R_OCTETS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_RMON_R_OCTETS_COUNT_SHIFT)) & ENET_RMON_R_OCTETS_COUNT_MASK)
  31460. /*! @} */
  31461. /*! @name IEEE_R_DROP - Frames not Counted Correctly Statistic Register */
  31462. /*! @{ */
  31463. #define ENET_IEEE_R_DROP_COUNT_MASK (0xFFFFU)
  31464. #define ENET_IEEE_R_DROP_COUNT_SHIFT (0U)
  31465. /*! COUNT - Frame count
  31466. */
  31467. #define ENET_IEEE_R_DROP_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_DROP_COUNT_SHIFT)) & ENET_IEEE_R_DROP_COUNT_MASK)
  31468. /*! @} */
  31469. /*! @name IEEE_R_FRAME_OK - Frames Received OK Statistic Register */
  31470. /*! @{ */
  31471. #define ENET_IEEE_R_FRAME_OK_COUNT_MASK (0xFFFFU)
  31472. #define ENET_IEEE_R_FRAME_OK_COUNT_SHIFT (0U)
  31473. /*! COUNT - Number of frames received OK
  31474. */
  31475. #define ENET_IEEE_R_FRAME_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FRAME_OK_COUNT_SHIFT)) & ENET_IEEE_R_FRAME_OK_COUNT_MASK)
  31476. /*! @} */
  31477. /*! @name IEEE_R_CRC - Frames Received with CRC Error Statistic Register */
  31478. /*! @{ */
  31479. #define ENET_IEEE_R_CRC_COUNT_MASK (0xFFFFU)
  31480. #define ENET_IEEE_R_CRC_COUNT_SHIFT (0U)
  31481. /*! COUNT - Number of frames received with CRC error
  31482. */
  31483. #define ENET_IEEE_R_CRC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_CRC_COUNT_SHIFT)) & ENET_IEEE_R_CRC_COUNT_MASK)
  31484. /*! @} */
  31485. /*! @name IEEE_R_ALIGN - Frames Received with Alignment Error Statistic Register */
  31486. /*! @{ */
  31487. #define ENET_IEEE_R_ALIGN_COUNT_MASK (0xFFFFU)
  31488. #define ENET_IEEE_R_ALIGN_COUNT_SHIFT (0U)
  31489. /*! COUNT - Number of frames received with alignment error
  31490. */
  31491. #define ENET_IEEE_R_ALIGN_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_ALIGN_COUNT_SHIFT)) & ENET_IEEE_R_ALIGN_COUNT_MASK)
  31492. /*! @} */
  31493. /*! @name IEEE_R_MACERR - Receive FIFO Overflow Count Statistic Register */
  31494. /*! @{ */
  31495. #define ENET_IEEE_R_MACERR_COUNT_MASK (0xFFFFU)
  31496. #define ENET_IEEE_R_MACERR_COUNT_SHIFT (0U)
  31497. /*! COUNT - Receive FIFO overflow count
  31498. */
  31499. #define ENET_IEEE_R_MACERR_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_MACERR_COUNT_SHIFT)) & ENET_IEEE_R_MACERR_COUNT_MASK)
  31500. /*! @} */
  31501. /*! @name IEEE_R_FDXFC - Flow Control Pause Frames Received Statistic Register */
  31502. /*! @{ */
  31503. #define ENET_IEEE_R_FDXFC_COUNT_MASK (0xFFFFU)
  31504. #define ENET_IEEE_R_FDXFC_COUNT_SHIFT (0U)
  31505. /*! COUNT - Number of flow-control pause frames received
  31506. */
  31507. #define ENET_IEEE_R_FDXFC_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_FDXFC_COUNT_SHIFT)) & ENET_IEEE_R_FDXFC_COUNT_MASK)
  31508. /*! @} */
  31509. /*! @name IEEE_R_OCTETS_OK - Octet Count for Frames Received without Error Statistic Register */
  31510. /*! @{ */
  31511. #define ENET_IEEE_R_OCTETS_OK_COUNT_MASK (0xFFFFFFFFU)
  31512. #define ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT (0U)
  31513. /*! COUNT - Number of octets for frames received without error
  31514. */
  31515. #define ENET_IEEE_R_OCTETS_OK_COUNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_IEEE_R_OCTETS_OK_COUNT_SHIFT)) & ENET_IEEE_R_OCTETS_OK_COUNT_MASK)
  31516. /*! @} */
  31517. /*! @name ATCR - Adjustable Timer Control Register */
  31518. /*! @{ */
  31519. #define ENET_ATCR_EN_MASK (0x1U)
  31520. #define ENET_ATCR_EN_SHIFT (0U)
  31521. /*! EN - Enable Timer
  31522. * 0b0..The timer stops at the current value.
  31523. * 0b1..The timer starts incrementing.
  31524. */
  31525. #define ENET_ATCR_EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_EN_SHIFT)) & ENET_ATCR_EN_MASK)
  31526. #define ENET_ATCR_OFFEN_MASK (0x4U)
  31527. #define ENET_ATCR_OFFEN_SHIFT (2U)
  31528. /*! OFFEN - Enable One-Shot Offset Event
  31529. * 0b0..Disable.
  31530. * 0b1..The timer can be reset to zero when the given offset time is reached (offset event). The field is cleared
  31531. * when the offset event is reached, so no further event occurs until the field is set again. The timer
  31532. * offset value must be set before setting this field.
  31533. */
  31534. #define ENET_ATCR_OFFEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFEN_SHIFT)) & ENET_ATCR_OFFEN_MASK)
  31535. #define ENET_ATCR_OFFRST_MASK (0x8U)
  31536. #define ENET_ATCR_OFFRST_SHIFT (3U)
  31537. /*! OFFRST - Reset Timer On Offset Event
  31538. * 0b0..The timer is not affected and no action occurs, besides clearing OFFEN, when the offset is reached.
  31539. * 0b1..If OFFEN is set, the timer resets to zero when the offset setting is reached. The offset event does not cause a timer interrupt.
  31540. */
  31541. #define ENET_ATCR_OFFRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_OFFRST_SHIFT)) & ENET_ATCR_OFFRST_MASK)
  31542. #define ENET_ATCR_PEREN_MASK (0x10U)
  31543. #define ENET_ATCR_PEREN_SHIFT (4U)
  31544. /*! PEREN - Enable Periodical Event
  31545. * 0b0..Disable.
  31546. * 0b1..A period event interrupt can be generated (EIR[TS_TIMER]) and the event signal output is asserted when
  31547. * the timer wraps around according to the periodic setting ATPER. The timer period value must be set before
  31548. * setting this bit. Not all devices contain the event signal output. See the chip configuration details.
  31549. */
  31550. #define ENET_ATCR_PEREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PEREN_SHIFT)) & ENET_ATCR_PEREN_MASK)
  31551. #define ENET_ATCR_PINPER_MASK (0x80U)
  31552. #define ENET_ATCR_PINPER_SHIFT (7U)
  31553. /*! PINPER - Enables event signal output external pin frc_evt_period assertion on period event
  31554. * 0b0..Disable.
  31555. * 0b1..Enable.
  31556. */
  31557. #define ENET_ATCR_PINPER(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_PINPER_SHIFT)) & ENET_ATCR_PINPER_MASK)
  31558. #define ENET_ATCR_RESTART_MASK (0x200U)
  31559. #define ENET_ATCR_RESTART_SHIFT (9U)
  31560. /*! RESTART - Reset Timer
  31561. */
  31562. #define ENET_ATCR_RESTART(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_RESTART_SHIFT)) & ENET_ATCR_RESTART_MASK)
  31563. #define ENET_ATCR_CAPTURE_MASK (0x800U)
  31564. #define ENET_ATCR_CAPTURE_SHIFT (11U)
  31565. /*! CAPTURE - Capture Timer Value
  31566. * 0b0..No effect.
  31567. * 0b1..The current time is captured and can be read from the ATVR register.
  31568. */
  31569. #define ENET_ATCR_CAPTURE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_CAPTURE_SHIFT)) & ENET_ATCR_CAPTURE_MASK)
  31570. #define ENET_ATCR_SLAVE_MASK (0x2000U)
  31571. #define ENET_ATCR_SLAVE_SHIFT (13U)
  31572. /*! SLAVE - Enable Timer Slave Mode
  31573. * 0b0..The timer is active and all configuration fields in this register are relevant.
  31574. * 0b1..The internal timer is disabled and the externally provided timer value is used. All other fields, except
  31575. * CAPTURE, in this register have no effect. CAPTURE can still be used to capture the current timer value.
  31576. */
  31577. #define ENET_ATCR_SLAVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCR_SLAVE_SHIFT)) & ENET_ATCR_SLAVE_MASK)
  31578. /*! @} */
  31579. /*! @name ATVR - Timer Value Register */
  31580. /*! @{ */
  31581. #define ENET_ATVR_ATIME_MASK (0xFFFFFFFFU)
  31582. #define ENET_ATVR_ATIME_SHIFT (0U)
  31583. #define ENET_ATVR_ATIME(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATVR_ATIME_SHIFT)) & ENET_ATVR_ATIME_MASK)
  31584. /*! @} */
  31585. /*! @name ATOFF - Timer Offset Register */
  31586. /*! @{ */
  31587. #define ENET_ATOFF_OFFSET_MASK (0xFFFFFFFFU)
  31588. #define ENET_ATOFF_OFFSET_SHIFT (0U)
  31589. #define ENET_ATOFF_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATOFF_OFFSET_SHIFT)) & ENET_ATOFF_OFFSET_MASK)
  31590. /*! @} */
  31591. /*! @name ATPER - Timer Period Register */
  31592. /*! @{ */
  31593. #define ENET_ATPER_PERIOD_MASK (0xFFFFFFFFU)
  31594. #define ENET_ATPER_PERIOD_SHIFT (0U)
  31595. /*! PERIOD - Value for generating periodic events
  31596. */
  31597. #define ENET_ATPER_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATPER_PERIOD_SHIFT)) & ENET_ATPER_PERIOD_MASK)
  31598. /*! @} */
  31599. /*! @name ATCOR - Timer Correction Register */
  31600. /*! @{ */
  31601. #define ENET_ATCOR_COR_MASK (0x7FFFFFFFU)
  31602. #define ENET_ATCOR_COR_SHIFT (0U)
  31603. /*! COR - Correction Counter Wrap-Around Value
  31604. */
  31605. #define ENET_ATCOR_COR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATCOR_COR_SHIFT)) & ENET_ATCOR_COR_MASK)
  31606. /*! @} */
  31607. /*! @name ATINC - Time-Stamping Clock Period Register */
  31608. /*! @{ */
  31609. #define ENET_ATINC_INC_MASK (0x7FU)
  31610. #define ENET_ATINC_INC_SHIFT (0U)
  31611. /*! INC - Clock Period Of The Timestamping Clock (ts_clk) In Nanoseconds
  31612. */
  31613. #define ENET_ATINC_INC(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_SHIFT)) & ENET_ATINC_INC_MASK)
  31614. #define ENET_ATINC_INC_CORR_MASK (0x7F00U)
  31615. #define ENET_ATINC_INC_CORR_SHIFT (8U)
  31616. /*! INC_CORR - Correction Increment Value
  31617. */
  31618. #define ENET_ATINC_INC_CORR(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATINC_INC_CORR_SHIFT)) & ENET_ATINC_INC_CORR_MASK)
  31619. /*! @} */
  31620. /*! @name ATSTMP - Timestamp of Last Transmitted Frame */
  31621. /*! @{ */
  31622. #define ENET_ATSTMP_TIMESTAMP_MASK (0xFFFFFFFFU)
  31623. #define ENET_ATSTMP_TIMESTAMP_SHIFT (0U)
  31624. /*! TIMESTAMP - Timestamp of the last frame transmitted by the core that had TxBD[TS] set the
  31625. * ff_tx_ts_frm signal asserted from the user application
  31626. */
  31627. #define ENET_ATSTMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ENET_ATSTMP_TIMESTAMP_SHIFT)) & ENET_ATSTMP_TIMESTAMP_MASK)
  31628. /*! @} */
  31629. /*! @name TGSR - Timer Global Status Register */
  31630. /*! @{ */
  31631. #define ENET_TGSR_TF0_MASK (0x1U)
  31632. #define ENET_TGSR_TF0_SHIFT (0U)
  31633. /*! TF0 - Copy Of Timer Flag For Channel 0
  31634. * 0b0..Timer Flag for Channel 0 is clear
  31635. * 0b1..Timer Flag for Channel 0 is set
  31636. */
  31637. #define ENET_TGSR_TF0(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF0_SHIFT)) & ENET_TGSR_TF0_MASK)
  31638. #define ENET_TGSR_TF1_MASK (0x2U)
  31639. #define ENET_TGSR_TF1_SHIFT (1U)
  31640. /*! TF1 - Copy Of Timer Flag For Channel 1
  31641. * 0b0..Timer Flag for Channel 1 is clear
  31642. * 0b1..Timer Flag for Channel 1 is set
  31643. */
  31644. #define ENET_TGSR_TF1(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF1_SHIFT)) & ENET_TGSR_TF1_MASK)
  31645. #define ENET_TGSR_TF2_MASK (0x4U)
  31646. #define ENET_TGSR_TF2_SHIFT (2U)
  31647. /*! TF2 - Copy Of Timer Flag For Channel 2
  31648. * 0b0..Timer Flag for Channel 2 is clear
  31649. * 0b1..Timer Flag for Channel 2 is set
  31650. */
  31651. #define ENET_TGSR_TF2(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF2_SHIFT)) & ENET_TGSR_TF2_MASK)
  31652. #define ENET_TGSR_TF3_MASK (0x8U)
  31653. #define ENET_TGSR_TF3_SHIFT (3U)
  31654. /*! TF3 - Copy Of Timer Flag For Channel 3
  31655. * 0b0..Timer Flag for Channel 3 is clear
  31656. * 0b1..Timer Flag for Channel 3 is set
  31657. */
  31658. #define ENET_TGSR_TF3(x) (((uint32_t)(((uint32_t)(x)) << ENET_TGSR_TF3_SHIFT)) & ENET_TGSR_TF3_MASK)
  31659. /*! @} */
  31660. /*! @name TCSR - Timer Control Status Register */
  31661. /*! @{ */
  31662. #define ENET_TCSR_TDRE_MASK (0x1U)
  31663. #define ENET_TCSR_TDRE_SHIFT (0U)
  31664. /*! TDRE - Timer DMA Request Enable
  31665. * 0b0..DMA request is disabled
  31666. * 0b1..DMA request is enabled
  31667. */
  31668. #define ENET_TCSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TDRE_SHIFT)) & ENET_TCSR_TDRE_MASK)
  31669. #define ENET_TCSR_TMODE_MASK (0x3CU)
  31670. #define ENET_TCSR_TMODE_SHIFT (2U)
  31671. /*! TMODE - Timer Mode
  31672. * 0b0000..Timer Channel is disabled.
  31673. * 0b0001..Timer Channel is configured for Input Capture on rising edge.
  31674. * 0b0010..Timer Channel is configured for Input Capture on falling edge.
  31675. * 0b0011..Timer Channel is configured for Input Capture on both edges.
  31676. * 0b0100..Timer Channel is configured for Output Compare - software only.
  31677. * 0b0101..Timer Channel is configured for Output Compare - toggle output on compare.
  31678. * 0b0110..Timer Channel is configured for Output Compare - clear output on compare.
  31679. * 0b0111..Timer Channel is configured for Output Compare - set output on compare.
  31680. * 0b1000..Reserved
  31681. * 0b1010..Timer Channel is configured for Output Compare - clear output on compare, set output on overflow.
  31682. * 0b10x1..Timer Channel is configured for Output Compare - set output on compare, clear output on overflow.
  31683. * 0b110x..Reserved
  31684. * 0b1110..Timer Channel is configured for Output Compare - pulse output low on compare for one 1588-clock cycle.
  31685. * 0b1111..Timer Channel is configured for Output Compare - pulse output high on compare for one 1588-clock cycle.
  31686. */
  31687. #define ENET_TCSR_TMODE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TMODE_SHIFT)) & ENET_TCSR_TMODE_MASK)
  31688. #define ENET_TCSR_TIE_MASK (0x40U)
  31689. #define ENET_TCSR_TIE_SHIFT (6U)
  31690. /*! TIE - Timer Interrupt Enable
  31691. * 0b0..Interrupt is disabled
  31692. * 0b1..Interrupt is enabled
  31693. */
  31694. #define ENET_TCSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TIE_SHIFT)) & ENET_TCSR_TIE_MASK)
  31695. #define ENET_TCSR_TF_MASK (0x80U)
  31696. #define ENET_TCSR_TF_SHIFT (7U)
  31697. /*! TF - Timer Flag
  31698. * 0b0..Input Capture or Output Compare has not occurred.
  31699. * 0b1..Input Capture or Output Compare has occurred.
  31700. */
  31701. #define ENET_TCSR_TF(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TF_SHIFT)) & ENET_TCSR_TF_MASK)
  31702. #define ENET_TCSR_TPWC_MASK (0xF800U)
  31703. #define ENET_TCSR_TPWC_SHIFT (11U)
  31704. /*! TPWC - Timer PulseWidth Control
  31705. * 0b00000..Pulse width is one 1588-clock cycle.
  31706. * 0b00001..Pulse width is two 1588-clock cycles.
  31707. * 0b00010..Pulse width is three 1588-clock cycles.
  31708. * 0b00011..Pulse width is four 1588-clock cycles.
  31709. * 0b11111..Pulse width is 32 1588-clock cycles.
  31710. */
  31711. #define ENET_TCSR_TPWC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCSR_TPWC_SHIFT)) & ENET_TCSR_TPWC_MASK)
  31712. /*! @} */
  31713. /* The count of ENET_TCSR */
  31714. #define ENET_TCSR_COUNT (4U)
  31715. /*! @name TCCR - Timer Compare Capture Register */
  31716. /*! @{ */
  31717. #define ENET_TCCR_TCC_MASK (0xFFFFFFFFU)
  31718. #define ENET_TCCR_TCC_SHIFT (0U)
  31719. /*! TCC - Timer Capture Compare
  31720. */
  31721. #define ENET_TCCR_TCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_TCCR_TCC_SHIFT)) & ENET_TCCR_TCC_MASK)
  31722. /*! @} */
  31723. /* The count of ENET_TCCR */
  31724. #define ENET_TCCR_COUNT (4U)
  31725. /*!
  31726. * @}
  31727. */ /* end of group ENET_Register_Masks */
  31728. /* ENET - Peripheral instance base addresses */
  31729. /** Peripheral ENET base address */
  31730. #define ENET_BASE (0x40424000u)
  31731. /** Peripheral ENET base pointer */
  31732. #define ENET ((ENET_Type *)ENET_BASE)
  31733. /** Peripheral ENET_1G base address */
  31734. #define ENET_1G_BASE (0x40420000u)
  31735. /** Peripheral ENET_1G base pointer */
  31736. #define ENET_1G ((ENET_Type *)ENET_1G_BASE)
  31737. /** Array initializer of ENET peripheral base addresses */
  31738. #define ENET_BASE_ADDRS { ENET_BASE, ENET_1G_BASE }
  31739. /** Array initializer of ENET peripheral base pointers */
  31740. #define ENET_BASE_PTRS { ENET, ENET_1G }
  31741. /** Interrupt vectors for the ENET peripheral type */
  31742. #define ENET_Transmit_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31743. #define ENET_Receive_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31744. #define ENET_Error_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31745. #define ENET_1588_Timer_IRQS { ENET_1588_Timer_IRQn, ENET_1G_1588_Timer_IRQn }
  31746. #define ENET_Ts_IRQS { ENET_IRQn, ENET_1G_IRQn }
  31747. /* ENET Buffer Descriptor and Buffer Address Alignment. */
  31748. #define ENET_BUFF_ALIGNMENT (64U)
  31749. /*!
  31750. * @}
  31751. */ /* end of group ENET_Peripheral_Access_Layer */
  31752. /* ----------------------------------------------------------------------------
  31753. -- ENET_QOS Peripheral Access Layer
  31754. ---------------------------------------------------------------------------- */
  31755. /*!
  31756. * @addtogroup ENET_QOS_Peripheral_Access_Layer ENET_QOS Peripheral Access Layer
  31757. * @{
  31758. */
  31759. /** ENET_QOS - Register Layout Typedef */
  31760. typedef struct {
  31761. __IO uint32_t MAC_CONFIGURATION; /**< MAC Configuration Register, offset: 0x0 */
  31762. __IO uint32_t MAC_EXT_CONFIGURATION; /**< MAC Extended Configuration Register, offset: 0x4 */
  31763. __IO uint32_t MAC_PACKET_FILTER; /**< MAC Packet Filter, offset: 0x8 */
  31764. __IO uint32_t MAC_WATCHDOG_TIMEOUT; /**< Watchdog Timeout, offset: 0xC */
  31765. __IO uint32_t MAC_HASH_TABLE_REG0; /**< MAC Hash Table Register 0, offset: 0x10 */
  31766. __IO uint32_t MAC_HASH_TABLE_REG1; /**< MAC Hash Table Register 1, offset: 0x14 */
  31767. uint8_t RESERVED_0[56];
  31768. __IO uint32_t MAC_VLAN_TAG_CTRL; /**< MAC VLAN Tag Control, offset: 0x50 */
  31769. __IO uint32_t MAC_VLAN_TAG_DATA; /**< MAC VLAN Tag Data, offset: 0x54 */
  31770. __IO uint32_t MAC_VLAN_HASH_TABLE; /**< MAC VLAN Hash Table, offset: 0x58 */
  31771. uint8_t RESERVED_1[4];
  31772. __IO uint32_t MAC_VLAN_INCL; /**< VLAN Tag Inclusion or Replacement, offset: 0x60 */
  31773. __IO uint32_t MAC_INNER_VLAN_INCL; /**< MAC Inner VLAN Tag Inclusion or Replacement, offset: 0x64 */
  31774. uint8_t RESERVED_2[8];
  31775. __IO uint32_t MAC_TX_FLOW_CTRL_Q[5]; /**< MAC Q0 Tx Flow Control..MAC Q4 Tx Flow Control, array offset: 0x70, array step: 0x4 */
  31776. uint8_t RESERVED_3[12];
  31777. __IO uint32_t MAC_RX_FLOW_CTRL; /**< MAC Rx Flow Control, offset: 0x90 */
  31778. __IO uint32_t MAC_RXQ_CTRL4; /**< Receive Queue Control 4, offset: 0x94 */
  31779. __IO uint32_t MAC_TXQ_PRTY_MAP0; /**< Transmit Queue Priority Mapping 0, offset: 0x98 */
  31780. __IO uint32_t MAC_TXQ_PRTY_MAP1; /**< Transmit Queue Priority Mapping 1, offset: 0x9C */
  31781. __IO uint32_t MAC_RXQ_CTRL[4]; /**< Receive Queue Control 0..Receive Queue Control 3, array offset: 0xA0, array step: 0x4 */
  31782. __I uint32_t MAC_INTERRUPT_STATUS; /**< Interrupt Status, offset: 0xB0 */
  31783. __IO uint32_t MAC_INTERRUPT_ENABLE; /**< Interrupt Enable, offset: 0xB4 */
  31784. __I uint32_t MAC_RX_TX_STATUS; /**< Receive Transmit Status, offset: 0xB8 */
  31785. uint8_t RESERVED_4[4];
  31786. __IO uint32_t MAC_PMT_CONTROL_STATUS; /**< PMT Control and Status, offset: 0xC0 */
  31787. __IO uint32_t MAC_RWK_PACKET_FILTER; /**< Remote Wakeup Filter, offset: 0xC4 */
  31788. uint8_t RESERVED_5[8];
  31789. __IO uint32_t MAC_LPI_CONTROL_STATUS; /**< LPI Control and Status, offset: 0xD0 */
  31790. __IO uint32_t MAC_LPI_TIMERS_CONTROL; /**< LPI Timers Control, offset: 0xD4 */
  31791. __IO uint32_t MAC_LPI_ENTRY_TIMER; /**< Tx LPI Entry Timer Control, offset: 0xD8 */
  31792. __IO uint32_t MAC_ONEUS_TIC_COUNTER; /**< One-microsecond Reference Timer, offset: 0xDC */
  31793. uint8_t RESERVED_6[24];
  31794. __IO uint32_t MAC_PHYIF_CONTROL_STATUS; /**< PHY Interface Control and Status, offset: 0xF8 */
  31795. uint8_t RESERVED_7[20];
  31796. __I uint32_t MAC_VERSION; /**< MAC Version, offset: 0x110 */
  31797. __I uint32_t MAC_DEBUG; /**< MAC Debug, offset: 0x114 */
  31798. uint8_t RESERVED_8[4];
  31799. __I uint32_t MAC_HW_FEAT[4]; /**< Optional Features or Functions 0..Optional Features or Functions 3, array offset: 0x11C, array step: 0x4 */
  31800. uint8_t RESERVED_9[212];
  31801. __IO uint32_t MAC_MDIO_ADDRESS; /**< MDIO Address, offset: 0x200 */
  31802. __IO uint32_t MAC_MDIO_DATA; /**< MAC MDIO Data, offset: 0x204 */
  31803. uint8_t RESERVED_10[40];
  31804. __IO uint32_t MAC_CSR_SW_CTRL; /**< CSR Software Control, offset: 0x230 */
  31805. __IO uint32_t MAC_FPE_CTRL_STS; /**< Frame Preemption Control, offset: 0x234 */
  31806. uint8_t RESERVED_11[8];
  31807. __I uint32_t MAC_PRESN_TIME_NS; /**< 32-bit Binary Rollover Equivalent Time, offset: 0x240 */
  31808. __IO uint32_t MAC_PRESN_TIME_UPDT; /**< MAC 1722 Presentation Time, offset: 0x244 */
  31809. uint8_t RESERVED_12[184];
  31810. struct { /* offset: 0x300, array step: 0x8 */
  31811. __IO uint32_t HIGH; /**< MAC Address0 High..MAC Address63 High, array offset: 0x300, array step: 0x8 */
  31812. __IO uint32_t LOW; /**< MAC Address0 Low..MAC Address63 Low, array offset: 0x304, array step: 0x8 */
  31813. } MAC_ADDRESS[64];
  31814. uint8_t RESERVED_13[512];
  31815. __IO uint32_t MAC_MMC_CONTROL; /**< MMC Control, offset: 0x700 */
  31816. __I uint32_t MAC_MMC_RX_INTERRUPT; /**< MMC Rx Interrupt, offset: 0x704 */
  31817. __I uint32_t MAC_MMC_TX_INTERRUPT; /**< MMC Tx Interrupt, offset: 0x708 */
  31818. __IO uint32_t MAC_MMC_RX_INTERRUPT_MASK; /**< MMC Rx Interrupt Mask, offset: 0x70C */
  31819. __IO uint32_t MAC_MMC_TX_INTERRUPT_MASK; /**< MMC Tx Interrupt Mask, offset: 0x710 */
  31820. __I uint32_t MAC_TX_OCTET_COUNT_GOOD_BAD; /**< Tx Octet Count Good and Bad, offset: 0x714 */
  31821. __I uint32_t MAC_TX_PACKET_COUNT_GOOD_BAD; /**< Tx Packet Count Good and Bad, offset: 0x718 */
  31822. __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD; /**< Tx Broadcast Packets Good, offset: 0x71C */
  31823. __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD; /**< Tx Multicast Packets Good, offset: 0x720 */
  31824. __I uint32_t MAC_TX_64OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 64-Byte Packets, offset: 0x724 */
  31825. __I uint32_t MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 65 to 127-Byte Packets, offset: 0x728 */
  31826. __I uint32_t MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 128 to 255-Byte Packets, offset: 0x72C */
  31827. __I uint32_t MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 256 to 511-Byte Packets, offset: 0x730 */
  31828. __I uint32_t MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 512 to 1023-Byte Packets, offset: 0x734 */
  31829. __I uint32_t MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Tx Good and Bad 1024 to Max-Byte Packets, offset: 0x738 */
  31830. __I uint32_t MAC_TX_UNICAST_PACKETS_GOOD_BAD; /**< Good and Bad Unicast Packets Transmitted, offset: 0x73C */
  31831. __I uint32_t MAC_TX_MULTICAST_PACKETS_GOOD_BAD; /**< Good and Bad Multicast Packets Transmitted, offset: 0x740 */
  31832. __I uint32_t MAC_TX_BROADCAST_PACKETS_GOOD_BAD; /**< Good and Bad Broadcast Packets Transmitted, offset: 0x744 */
  31833. __I uint32_t MAC_TX_UNDERFLOW_ERROR_PACKETS; /**< Tx Packets Aborted By Underflow Error, offset: 0x748 */
  31834. __I uint32_t MAC_TX_SINGLE_COLLISION_GOOD_PACKETS; /**< Single Collision Good Packets Transmitted, offset: 0x74C */
  31835. __I uint32_t MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS; /**< Multiple Collision Good Packets Transmitted, offset: 0x750 */
  31836. __I uint32_t MAC_TX_DEFERRED_PACKETS; /**< Deferred Packets Transmitted, offset: 0x754 */
  31837. __I uint32_t MAC_TX_LATE_COLLISION_PACKETS; /**< Late Collision Packets Transmitted, offset: 0x758 */
  31838. __I uint32_t MAC_TX_EXCESSIVE_COLLISION_PACKETS; /**< Excessive Collision Packets Transmitted, offset: 0x75C */
  31839. __I uint32_t MAC_TX_CARRIER_ERROR_PACKETS; /**< Carrier Error Packets Transmitted, offset: 0x760 */
  31840. __I uint32_t MAC_TX_OCTET_COUNT_GOOD; /**< Bytes Transmitted in Good Packets, offset: 0x764 */
  31841. __I uint32_t MAC_TX_PACKET_COUNT_GOOD; /**< Good Packets Transmitted, offset: 0x768 */
  31842. __I uint32_t MAC_TX_EXCESSIVE_DEFERRAL_ERROR; /**< Packets Aborted By Excessive Deferral Error, offset: 0x76C */
  31843. __I uint32_t MAC_TX_PAUSE_PACKETS; /**< Pause Packets Transmitted, offset: 0x770 */
  31844. __I uint32_t MAC_TX_VLAN_PACKETS_GOOD; /**< Good VLAN Packets Transmitted, offset: 0x774 */
  31845. __I uint32_t MAC_TX_OSIZE_PACKETS_GOOD; /**< Good Oversize Packets Transmitted, offset: 0x778 */
  31846. uint8_t RESERVED_14[4];
  31847. __I uint32_t MAC_RX_PACKETS_COUNT_GOOD_BAD; /**< Good and Bad Packets Received, offset: 0x780 */
  31848. __I uint32_t MAC_RX_OCTET_COUNT_GOOD_BAD; /**< Bytes in Good and Bad Packets Received, offset: 0x784 */
  31849. __I uint32_t MAC_RX_OCTET_COUNT_GOOD; /**< Bytes in Good Packets Received, offset: 0x788 */
  31850. __I uint32_t MAC_RX_BROADCAST_PACKETS_GOOD; /**< Good Broadcast Packets Received, offset: 0x78C */
  31851. __I uint32_t MAC_RX_MULTICAST_PACKETS_GOOD; /**< Good Multicast Packets Received, offset: 0x790 */
  31852. __I uint32_t MAC_RX_CRC_ERROR_PACKETS; /**< CRC Error Packets Received, offset: 0x794 */
  31853. __I uint32_t MAC_RX_ALIGNMENT_ERROR_PACKETS; /**< Alignment Error Packets Received, offset: 0x798 */
  31854. __I uint32_t MAC_RX_RUNT_ERROR_PACKETS; /**< Runt Error Packets Received, offset: 0x79C */
  31855. __I uint32_t MAC_RX_JABBER_ERROR_PACKETS; /**< Jabber Error Packets Received, offset: 0x7A0 */
  31856. __I uint32_t MAC_RX_UNDERSIZE_PACKETS_GOOD; /**< Good Undersize Packets Received, offset: 0x7A4 */
  31857. __I uint32_t MAC_RX_OVERSIZE_PACKETS_GOOD; /**< Good Oversize Packets Received, offset: 0x7A8 */
  31858. __I uint32_t MAC_RX_64OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-Byte Packets Received, offset: 0x7AC */
  31859. __I uint32_t MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 64-to-127 Byte Packets Received, offset: 0x7B0 */
  31860. __I uint32_t MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 128-to-255 Byte Packets Received, offset: 0x7B4 */
  31861. __I uint32_t MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 256-to-511 Byte Packets Received, offset: 0x7B8 */
  31862. __I uint32_t MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 512-to-1023 Byte Packets Received, offset: 0x7BC */
  31863. __I uint32_t MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD; /**< Good and Bad 1024-to-Max Byte Packets Received, offset: 0x7C0 */
  31864. __I uint32_t MAC_RX_UNICAST_PACKETS_GOOD; /**< Good Unicast Packets Received, offset: 0x7C4 */
  31865. __I uint32_t MAC_RX_LENGTH_ERROR_PACKETS; /**< Length Error Packets Received, offset: 0x7C8 */
  31866. __I uint32_t MAC_RX_OUT_OF_RANGE_TYPE_PACKETS; /**< Out-of-range Type Packets Received, offset: 0x7CC */
  31867. __I uint32_t MAC_RX_PAUSE_PACKETS; /**< Pause Packets Received, offset: 0x7D0 */
  31868. __I uint32_t MAC_RX_FIFO_OVERFLOW_PACKETS; /**< Missed Packets Due to FIFO Overflow, offset: 0x7D4 */
  31869. __I uint32_t MAC_RX_VLAN_PACKETS_GOOD_BAD; /**< Good and Bad VLAN Packets Received, offset: 0x7D8 */
  31870. __I uint32_t MAC_RX_WATCHDOG_ERROR_PACKETS; /**< Watchdog Error Packets Received, offset: 0x7DC */
  31871. __I uint32_t MAC_RX_RECEIVE_ERROR_PACKETS; /**< Receive Error Packets Received, offset: 0x7E0 */
  31872. __I uint32_t MAC_RX_CONTROL_PACKETS_GOOD; /**< Good Control Packets Received, offset: 0x7E4 */
  31873. uint8_t RESERVED_15[4];
  31874. __I uint32_t MAC_TX_LPI_USEC_CNTR; /**< Microseconds Tx LPI Asserted, offset: 0x7EC */
  31875. __I uint32_t MAC_TX_LPI_TRAN_CNTR; /**< Number of Times Tx LPI Asserted, offset: 0x7F0 */
  31876. __I uint32_t MAC_RX_LPI_USEC_CNTR; /**< Microseconds Rx LPI Sampled, offset: 0x7F4 */
  31877. __I uint32_t MAC_RX_LPI_TRAN_CNTR; /**< Number of Times Rx LPI Entered, offset: 0x7F8 */
  31878. uint8_t RESERVED_16[4];
  31879. __IO uint32_t MAC_MMC_IPC_RX_INTERRUPT_MASK; /**< MMC IPC Receive Interrupt Mask, offset: 0x800 */
  31880. uint8_t RESERVED_17[4];
  31881. __I uint32_t MAC_MMC_IPC_RX_INTERRUPT; /**< MMC IPC Receive Interrupt, offset: 0x808 */
  31882. uint8_t RESERVED_18[4];
  31883. __I uint32_t MAC_RXIPV4_GOOD_PACKETS; /**< Good IPv4 Datagrams Received, offset: 0x810 */
  31884. __I uint32_t MAC_RXIPV4_HEADER_ERROR_PACKETS; /**< IPv4 Datagrams Received with Header Errors, offset: 0x814 */
  31885. __I uint32_t MAC_RXIPV4_NO_PAYLOAD_PACKETS; /**< IPv4 Datagrams Received with No Payload, offset: 0x818 */
  31886. __I uint32_t MAC_RXIPV4_FRAGMENTED_PACKETS; /**< IPv4 Datagrams Received with Fragmentation, offset: 0x81C */
  31887. __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS; /**< IPv4 Datagrams Received with UDP Checksum Disabled, offset: 0x820 */
  31888. __I uint32_t MAC_RXIPV6_GOOD_PACKETS; /**< Good IPv6 Datagrams Received, offset: 0x824 */
  31889. __I uint32_t MAC_RXIPV6_HEADER_ERROR_PACKETS; /**< IPv6 Datagrams Received with Header Errors, offset: 0x828 */
  31890. __I uint32_t MAC_RXIPV6_NO_PAYLOAD_PACKETS; /**< IPv6 Datagrams Received with No Payload, offset: 0x82C */
  31891. __I uint32_t MAC_RXUDP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good UDP, offset: 0x830 */
  31892. __I uint32_t MAC_RXUDP_ERROR_PACKETS; /**< IPv6 Datagrams Received with UDP Checksum Error, offset: 0x834 */
  31893. __I uint32_t MAC_RXTCP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good TCP Payload, offset: 0x838 */
  31894. __I uint32_t MAC_RXTCP_ERROR_PACKETS; /**< IPv6 Datagrams Received with TCP Checksum Error, offset: 0x83C */
  31895. __I uint32_t MAC_RXICMP_GOOD_PACKETS; /**< IPv6 Datagrams Received with Good ICMP Payload, offset: 0x840 */
  31896. __I uint32_t MAC_RXICMP_ERROR_PACKETS; /**< IPv6 Datagrams Received with ICMP Checksum Error, offset: 0x844 */
  31897. uint8_t RESERVED_19[8];
  31898. __I uint32_t MAC_RXIPV4_GOOD_OCTETS; /**< Good Bytes Received in IPv4 Datagrams, offset: 0x850 */
  31899. __I uint32_t MAC_RXIPV4_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv4 Datagrams with Header Errors, offset: 0x854 */
  31900. __I uint32_t MAC_RXIPV4_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv4 Datagrams with No Payload, offset: 0x858 */
  31901. __I uint32_t MAC_RXIPV4_FRAGMENTED_OCTETS; /**< Bytes Received in Fragmented IPv4 Datagrams, offset: 0x85C */
  31902. __I uint32_t MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS; /**< Bytes Received with UDP Checksum Disabled, offset: 0x860 */
  31903. __I uint32_t MAC_RXIPV6_GOOD_OCTETS; /**< Bytes Received in Good IPv6 Datagrams, offset: 0x864 */
  31904. __I uint32_t MAC_RXIPV6_HEADER_ERROR_OCTETS; /**< Bytes Received in IPv6 Datagrams with Data Errors, offset: 0x868 */
  31905. __I uint32_t MAC_RXIPV6_NO_PAYLOAD_OCTETS; /**< Bytes Received in IPv6 Datagrams with No Payload, offset: 0x86C */
  31906. __I uint32_t MAC_RXUDP_GOOD_OCTETS; /**< Bytes Received in Good UDP Segment, offset: 0x870 */
  31907. __I uint32_t MAC_RXUDP_ERROR_OCTETS; /**< Bytes Received in UDP Segment with Checksum Errors, offset: 0x874 */
  31908. __I uint32_t MAC_RXTCP_GOOD_OCTETS; /**< Bytes Received in Good TCP Segment, offset: 0x878 */
  31909. __I uint32_t MAC_RXTCP_ERROR_OCTETS; /**< Bytes Received in TCP Segment with Checksum Errors, offset: 0x87C */
  31910. __I uint32_t MAC_RXICMP_GOOD_OCTETS; /**< Bytes Received in Good ICMP Segment, offset: 0x880 */
  31911. __I uint32_t MAC_RXICMP_ERROR_OCTETS; /**< Bytes Received in ICMP Segment with Checksum Errors, offset: 0x884 */
  31912. uint8_t RESERVED_20[24];
  31913. __I uint32_t MAC_MMC_FPE_TX_INTERRUPT; /**< MMC FPE Transmit Interrupt, offset: 0x8A0 */
  31914. __IO uint32_t MAC_MMC_FPE_TX_INTERRUPT_MASK; /**< MMC FPE Transmit Mask Interrupt, offset: 0x8A4 */
  31915. __I uint32_t MAC_MMC_TX_FPE_FRAGMENT_CNTR; /**< MMC FPE Transmitted Fragment Counter, offset: 0x8A8 */
  31916. __I uint32_t MAC_MMC_TX_HOLD_REQ_CNTR; /**< MMC FPE Transmitted Hold Request Counter, offset: 0x8AC */
  31917. uint8_t RESERVED_21[16];
  31918. __I uint32_t MAC_MMC_FPE_RX_INTERRUPT; /**< MMC FPE Receive Interrupt, offset: 0x8C0 */
  31919. __IO uint32_t MAC_MMC_FPE_RX_INTERRUPT_MASK; /**< MMC FPE Receive Interrupt Mask, offset: 0x8C4 */
  31920. __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR; /**< MMC Receive Packet Reassembly Error Counter, offset: 0x8C8 */
  31921. __I uint32_t MAC_MMC_RX_PACKET_SMD_ERR_CNTR; /**< MMC Receive Packet SMD Error Counter, offset: 0x8CC */
  31922. __I uint32_t MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR; /**< MMC Receive Packet Successful Reassembly Counter, offset: 0x8D0 */
  31923. __I uint32_t MAC_MMC_RX_FPE_FRAGMENT_CNTR; /**< MMC FPE Received Fragment Counter, offset: 0x8D4 */
  31924. uint8_t RESERVED_22[40];
  31925. __IO uint32_t MAC_L3_L4_CONTROL0; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0x900 */
  31926. __IO uint32_t MAC_LAYER4_ADDRESS0; /**< Layer 4 Address 0, offset: 0x904 */
  31927. uint8_t RESERVED_23[8];
  31928. __IO uint32_t MAC_LAYER3_ADDR0_REG0; /**< Layer 3 Address 0 Register 0, offset: 0x910 */
  31929. __IO uint32_t MAC_LAYER3_ADDR1_REG0; /**< Layer 3 Address 1 Register 0, offset: 0x914 */
  31930. __IO uint32_t MAC_LAYER3_ADDR2_REG0; /**< Layer 3 Address 2 Register 0, offset: 0x918 */
  31931. __IO uint32_t MAC_LAYER3_ADDR3_REG0; /**< Layer 3 Address 3 Register 0, offset: 0x91C */
  31932. uint8_t RESERVED_24[16];
  31933. __IO uint32_t MAC_L3_L4_CONTROL1; /**< Layer 3 and Layer 4 Control of Filter 1, offset: 0x930 */
  31934. __IO uint32_t MAC_LAYER4_ADDRESS1; /**< Layer 4 Address 0, offset: 0x934 */
  31935. uint8_t RESERVED_25[8];
  31936. __IO uint32_t MAC_LAYER3_ADDR0_REG1; /**< Layer 3 Address 0 Register 1, offset: 0x940 */
  31937. __IO uint32_t MAC_LAYER3_ADDR1_REG1; /**< Layer 3 Address 1 Register 1, offset: 0x944 */
  31938. __IO uint32_t MAC_LAYER3_ADDR2_REG1; /**< Layer 3 Address 2 Register 1, offset: 0x948 */
  31939. __IO uint32_t MAC_LAYER3_ADDR3_REG1; /**< Layer 3 Address 3 Register 1, offset: 0x94C */
  31940. uint8_t RESERVED_26[16];
  31941. __IO uint32_t MAC_L3_L4_CONTROL2; /**< Layer 3 and Layer 4 Control of Filter 2, offset: 0x960 */
  31942. __IO uint32_t MAC_LAYER4_ADDRESS2; /**< Layer 4 Address 2, offset: 0x964 */
  31943. uint8_t RESERVED_27[8];
  31944. __IO uint32_t MAC_LAYER3_ADDR0_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x970 */
  31945. __IO uint32_t MAC_LAYER3_ADDR1_REG2; /**< Layer 3 Address 0 Register 2, offset: 0x974 */
  31946. __IO uint32_t MAC_LAYER3_ADDR2_REG2; /**< Layer 3 Address 2 Register 2, offset: 0x978 */
  31947. __IO uint32_t MAC_LAYER3_ADDR3_REG2; /**< Layer 3 Address 3 Register 2, offset: 0x97C */
  31948. uint8_t RESERVED_28[16];
  31949. __IO uint32_t MAC_L3_L4_CONTROL3; /**< Layer 3 and Layer 4 Control of Filter 3, offset: 0x990 */
  31950. __IO uint32_t MAC_LAYER4_ADDRESS3; /**< Layer 4 Address 3, offset: 0x994 */
  31951. uint8_t RESERVED_29[8];
  31952. __IO uint32_t MAC_LAYER3_ADDR0_REG3; /**< Layer 3 Address 0 Register 3, offset: 0x9A0 */
  31953. __IO uint32_t MAC_LAYER3_ADDR1_REG3; /**< Layer 3 Address 1 Register 3, offset: 0x9A4 */
  31954. __IO uint32_t MAC_LAYER3_ADDR2_REG3; /**< Layer 3 Address 2 Register 3, offset: 0x9A8 */
  31955. __IO uint32_t MAC_LAYER3_ADDR3_REG3; /**< Layer 3 Address 3 Register 3, offset: 0x9AC */
  31956. uint8_t RESERVED_30[16];
  31957. __IO uint32_t MAC_L3_L4_CONTROL4; /**< Layer 3 and Layer 4 Control of Filter 4, offset: 0x9C0 */
  31958. __IO uint32_t MAC_LAYER4_ADDRESS4; /**< Layer 4 Address 4, offset: 0x9C4 */
  31959. uint8_t RESERVED_31[8];
  31960. __IO uint32_t MAC_LAYER3_ADDR0_REG4; /**< Layer 3 Address 0 Register 4, offset: 0x9D0 */
  31961. __IO uint32_t MAC_LAYER3_ADDR1_REG4; /**< Layer 3 Address 1 Register 4, offset: 0x9D4 */
  31962. __IO uint32_t MAC_LAYER3_ADDR2_REG4; /**< Layer 3 Address 2 Register 4, offset: 0x9D8 */
  31963. __IO uint32_t MAC_LAYER3_ADDR3_REG4; /**< Layer 3 Address 3 Register 4, offset: 0x9DC */
  31964. uint8_t RESERVED_32[16];
  31965. __IO uint32_t MAC_L3_L4_CONTROL5; /**< Layer 3 and Layer 4 Control of Filter 5, offset: 0x9F0 */
  31966. __IO uint32_t MAC_LAYER4_ADDRESS5; /**< Layer 4 Address 5, offset: 0x9F4 */
  31967. uint8_t RESERVED_33[8];
  31968. __IO uint32_t MAC_LAYER3_ADDR0_REG5; /**< Layer 3 Address 0 Register 5, offset: 0xA00 */
  31969. __IO uint32_t MAC_LAYER3_ADDR1_REG5; /**< Layer 3 Address 1 Register 5, offset: 0xA04 */
  31970. __IO uint32_t MAC_LAYER3_ADDR2_REG5; /**< Layer 3 Address 2 Register 5, offset: 0xA08 */
  31971. __IO uint32_t MAC_LAYER3_ADDR3_REG5; /**< Layer 3 Address 3 Register 5, offset: 0xA0C */
  31972. uint8_t RESERVED_34[16];
  31973. __IO uint32_t MAC_L3_L4_CONTROL6; /**< Layer 3 and Layer 4 Control of Filter 6, offset: 0xA20 */
  31974. __IO uint32_t MAC_LAYER4_ADDRESS6; /**< Layer 4 Address 6, offset: 0xA24 */
  31975. uint8_t RESERVED_35[8];
  31976. __IO uint32_t MAC_LAYER3_ADDR0_REG6; /**< Layer 3 Address 0 Register 6, offset: 0xA30 */
  31977. __IO uint32_t MAC_LAYER3_ADDR1_REG6; /**< Layer 3 Address 1 Register 6, offset: 0xA34 */
  31978. __IO uint32_t MAC_LAYER3_ADDR2_REG6; /**< Layer 3 Address 2 Register 6, offset: 0xA38 */
  31979. __IO uint32_t MAC_LAYER3_ADDR3_REG6; /**< Layer 3 Address 3 Register 6, offset: 0xA3C */
  31980. uint8_t RESERVED_36[16];
  31981. __IO uint32_t MAC_L3_L4_CONTROL7; /**< Layer 3 and Layer 4 Control of Filter 0, offset: 0xA50 */
  31982. __IO uint32_t MAC_LAYER4_ADDRESS7; /**< Layer 4 Address 7, offset: 0xA54 */
  31983. uint8_t RESERVED_37[8];
  31984. __IO uint32_t MAC_LAYER3_ADDR0_REG7; /**< Layer 3 Address 0 Register 7, offset: 0xA60 */
  31985. __IO uint32_t MAC_LAYER3_ADDR1_REG7; /**< Layer 3 Address 1 Register 7, offset: 0xA64 */
  31986. __IO uint32_t MAC_LAYER3_ADDR2_REG7; /**< Layer 3 Address 2 Register 7, offset: 0xA68 */
  31987. __IO uint32_t MAC_LAYER3_ADDR3_REG7; /**< Layer 3 Address 3 Register 7, offset: 0xA6C */
  31988. uint8_t RESERVED_38[144];
  31989. __IO uint32_t MAC_TIMESTAMP_CONTROL; /**< Timestamp Control, offset: 0xB00 */
  31990. __IO uint32_t MAC_SUB_SECOND_INCREMENT; /**< Subsecond Increment, offset: 0xB04 */
  31991. __I uint32_t MAC_SYSTEM_TIME_SECONDS; /**< System Time Seconds, offset: 0xB08 */
  31992. __I uint32_t MAC_SYSTEM_TIME_NANOSECONDS; /**< System Time Nanoseconds, offset: 0xB0C */
  31993. __IO uint32_t MAC_SYSTEM_TIME_SECONDS_UPDATE; /**< System Time Seconds Update, offset: 0xB10 */
  31994. __IO uint32_t MAC_SYSTEM_TIME_NANOSECONDS_UPDATE; /**< System Time Nanoseconds Update, offset: 0xB14 */
  31995. __IO uint32_t MAC_TIMESTAMP_ADDEND; /**< Timestamp Addend, offset: 0xB18 */
  31996. __IO uint32_t MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS; /**< System Time - Higher Word Seconds, offset: 0xB1C */
  31997. __I uint32_t MAC_TIMESTAMP_STATUS; /**< Timestamp Status, offset: 0xB20 */
  31998. uint8_t RESERVED_39[12];
  31999. __I uint32_t MAC_TX_TIMESTAMP_STATUS_NANOSECONDS; /**< Transmit Timestamp Status Nanoseconds, offset: 0xB30 */
  32000. __I uint32_t MAC_TX_TIMESTAMP_STATUS_SECONDS; /**< Transmit Timestamp Status Seconds, offset: 0xB34 */
  32001. uint8_t RESERVED_40[8];
  32002. __IO uint32_t MAC_AUXILIARY_CONTROL; /**< Auxiliary Timestamp Control, offset: 0xB40 */
  32003. uint8_t RESERVED_41[4];
  32004. __I uint32_t MAC_AUXILIARY_TIMESTAMP_NANOSECONDS; /**< Auxiliary Timestamp Nanoseconds, offset: 0xB48 */
  32005. __I uint32_t MAC_AUXILIARY_TIMESTAMP_SECONDS; /**< Auxiliary Timestamp Seconds, offset: 0xB4C */
  32006. __IO uint32_t MAC_TIMESTAMP_INGRESS_ASYM_CORR; /**< Timestamp Ingress Asymmetry Correction, offset: 0xB50 */
  32007. __IO uint32_t MAC_TIMESTAMP_EGRESS_ASYM_CORR; /**< imestamp Egress Asymmetry Correction, offset: 0xB54 */
  32008. __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND; /**< Timestamp Ingress Correction Nanosecond, offset: 0xB58 */
  32009. __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND; /**< Timestamp Egress Correction Nanosecond, offset: 0xB5C */
  32010. __IO uint32_t MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC; /**< Timestamp Ingress Correction Subnanosecond, offset: 0xB60 */
  32011. __IO uint32_t MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC; /**< Timestamp Egress Correction Subnanosecond, offset: 0xB64 */
  32012. __I uint32_t MAC_TIMESTAMP_INGRESS_LATENCY; /**< Timestamp Ingress Latency, offset: 0xB68 */
  32013. __I uint32_t MAC_TIMESTAMP_EGRESS_LATENCY; /**< Timestamp Egress Latency, offset: 0xB6C */
  32014. __IO uint32_t MAC_PPS_CONTROL; /**< PPS Control, offset: 0xB70 */
  32015. uint8_t RESERVED_42[12];
  32016. __IO uint32_t MAC_PPS0_TARGET_TIME_SECONDS; /**< PPS0 Target Time Seconds, offset: 0xB80 */
  32017. __IO uint32_t MAC_PPS0_TARGET_TIME_NANOSECONDS; /**< PPS0 Target Time Nanoseconds, offset: 0xB84 */
  32018. __IO uint32_t MAC_PPS0_INTERVAL; /**< PPS0 Interval, offset: 0xB88 */
  32019. __IO uint32_t MAC_PPS0_WIDTH; /**< PPS0 Width, offset: 0xB8C */
  32020. __IO uint32_t MAC_PPS1_TARGET_TIME_SECONDS; /**< PPS1 Target Time Seconds, offset: 0xB90 */
  32021. __IO uint32_t MAC_PPS1_TARGET_TIME_NANOSECONDS; /**< PPS1 Target Time Nanoseconds, offset: 0xB94 */
  32022. __IO uint32_t MAC_PPS1_INTERVAL; /**< PPS1 Interval, offset: 0xB98 */
  32023. __IO uint32_t MAC_PPS1_WIDTH; /**< PPS1 Width, offset: 0xB9C */
  32024. __IO uint32_t MAC_PPS2_TARGET_TIME_SECONDS; /**< PPS2 Target Time Seconds, offset: 0xBA0 */
  32025. __IO uint32_t MAC_PPS2_TARGET_TIME_NANOSECONDS; /**< PPS2 Target Time Nanoseconds, offset: 0xBA4 */
  32026. __IO uint32_t MAC_PPS2_INTERVAL; /**< PPS2 Interval, offset: 0xBA8 */
  32027. __IO uint32_t MAC_PPS2_WIDTH; /**< PPS2 Width, offset: 0xBAC */
  32028. __IO uint32_t MAC_PPS3_TARGET_TIME_SECONDS; /**< PPS3 Target Time Seconds, offset: 0xBB0 */
  32029. __IO uint32_t MAC_PPS3_TARGET_TIME_NANOSECONDS; /**< PPS3 Target Time Nanoseconds, offset: 0xBB4 */
  32030. __IO uint32_t MAC_PPS3_INTERVAL; /**< PPS3 Interval, offset: 0xBB8 */
  32031. __IO uint32_t MAC_PPS3_WIDTH; /**< PPS3 Width, offset: 0xBBC */
  32032. __IO uint32_t MAC_PTO_CONTROL; /**< PTP Offload Engine Control, offset: 0xBC0 */
  32033. __IO uint32_t MAC_SOURCE_PORT_IDENTITY0; /**< Source Port Identity 0, offset: 0xBC4 */
  32034. __IO uint32_t MAC_SOURCE_PORT_IDENTITY1; /**< Source Port Identity 1, offset: 0xBC8 */
  32035. __IO uint32_t MAC_SOURCE_PORT_IDENTITY2; /**< Source Port Identity 2, offset: 0xBCC */
  32036. __IO uint32_t MAC_LOG_MESSAGE_INTERVAL; /**< Log Message Interval, offset: 0xBD0 */
  32037. uint8_t RESERVED_43[44];
  32038. __IO uint32_t MTL_OPERATION_MODE; /**< MTL Operation Mode, offset: 0xC00 */
  32039. uint8_t RESERVED_44[4];
  32040. __IO uint32_t MTL_DBG_CTL; /**< FIFO Debug Access Control and Status, offset: 0xC08 */
  32041. __IO uint32_t MTL_DBG_STS; /**< FIFO Debug Status, offset: 0xC0C */
  32042. __IO uint32_t MTL_FIFO_DEBUG_DATA; /**< FIFO Debug Data, offset: 0xC10 */
  32043. uint8_t RESERVED_45[12];
  32044. __I uint32_t MTL_INTERRUPT_STATUS; /**< MTL Interrupt Status, offset: 0xC20 */
  32045. uint8_t RESERVED_46[12];
  32046. __IO uint32_t MTL_RXQ_DMA_MAP0; /**< Receive Queue and DMA Channel Mapping 0, offset: 0xC30 */
  32047. __IO uint32_t MTL_RXQ_DMA_MAP1; /**< Receive Queue and DMA Channel Mapping 1, offset: 0xC34 */
  32048. uint8_t RESERVED_47[8];
  32049. __IO uint32_t MTL_TBS_CTRL; /**< Time Based Scheduling Control, offset: 0xC40 */
  32050. uint8_t RESERVED_48[12];
  32051. __IO uint32_t MTL_EST_CONTROL; /**< Enhancements to Scheduled Transmission Control, offset: 0xC50 */
  32052. uint8_t RESERVED_49[4];
  32053. __IO uint32_t MTL_EST_STATUS; /**< Enhancements to Scheduled Transmission Status, offset: 0xC58 */
  32054. uint8_t RESERVED_50[4];
  32055. __IO uint32_t MTL_EST_SCH_ERROR; /**< EST Scheduling Error, offset: 0xC60 */
  32056. __IO uint32_t MTL_EST_FRM_SIZE_ERROR; /**< EST Frame Size Error, offset: 0xC64 */
  32057. __I uint32_t MTL_EST_FRM_SIZE_CAPTURE; /**< EST Frame Size Capture, offset: 0xC68 */
  32058. uint8_t RESERVED_51[4];
  32059. __IO uint32_t MTL_EST_INTR_ENABLE; /**< EST Interrupt Enable, offset: 0xC70 */
  32060. uint8_t RESERVED_52[12];
  32061. __IO uint32_t MTL_EST_GCL_CONTROL; /**< EST GCL Control, offset: 0xC80 */
  32062. __IO uint32_t MTL_EST_GCL_DATA; /**< EST GCL Data, offset: 0xC84 */
  32063. uint8_t RESERVED_53[8];
  32064. __IO uint32_t MTL_FPE_CTRL_STS; /**< Frame Preemption Control and Status, offset: 0xC90 */
  32065. __IO uint32_t MTL_FPE_ADVANCE; /**< Frame Preemption Hold and Release Advance, offset: 0xC94 */
  32066. uint8_t RESERVED_54[8];
  32067. __IO uint32_t MTL_RXP_CONTROL_STATUS; /**< RXP Control Status, offset: 0xCA0 */
  32068. __IO uint32_t MTL_RXP_INTERRUPT_CONTROL_STATUS; /**< RXP Interrupt Control Status, offset: 0xCA4 */
  32069. __I uint32_t MTL_RXP_DROP_CNT; /**< RXP Drop Count, offset: 0xCA8 */
  32070. __I uint32_t MTL_RXP_ERROR_CNT; /**< RXP Error Count, offset: 0xCAC */
  32071. __IO uint32_t MTL_RXP_INDIRECT_ACC_CONTROL_STATUS; /**< RXP Indirect Access Control and Status, offset: 0xCB0 */
  32072. __IO uint32_t MTL_RXP_INDIRECT_ACC_DATA; /**< RXP Indirect Access Data, offset: 0xCB4 */
  32073. uint8_t RESERVED_55[72];
  32074. struct { /* offset: 0xD00, array step: 0x40 */
  32075. __IO uint32_t MTL_TXQX_OP_MODE; /**< Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode, array offset: 0xD00, array step: 0x40 */
  32076. __I uint32_t MTL_TXQX_UNDRFLW; /**< Queue 0 Underflow Counter..Queue 4 Underflow Counter, array offset: 0xD04, array step: 0x40 */
  32077. __I uint32_t MTL_TXQX_DBG; /**< Queue 0 Transmit Debug..Queue 4 Transmit Debug, array offset: 0xD08, array step: 0x40 */
  32078. uint8_t RESERVED_0[4];
  32079. __IO uint32_t MTL_TXQX_ETS_CTRL; /**< Queue 1 ETS Control..Queue 4 ETS Control, array offset: 0xD10, array step: 0x40 */
  32080. __I uint32_t MTL_TXQX_ETS_STAT; /**< Queue 0 ETS Status..Queue 4 ETS Status, array offset: 0xD14, array step: 0x40 */
  32081. __IO uint32_t MTL_TXQX_QNTM_WGHT; /**< Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights, array offset: 0xD18, array step: 0x40 */
  32082. __IO uint32_t MTL_TXQX_SNDSLP_CRDT; /**< Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit, array offset: 0xD1C, array step: 0x40 */
  32083. __IO uint32_t MTL_TXQX_HI_CRDT; /**< Queue 1 hiCredit..Queue 4 hiCredit, array offset: 0xD20, array step: 0x40 */
  32084. __IO uint32_t MTL_TXQX_LO_CRDT; /**< Queue 1 loCredit..Queue 4 loCredit, array offset: 0xD24, array step: 0x40 */
  32085. uint8_t RESERVED_1[4];
  32086. __IO uint32_t MTL_TXQX_INTCTRL_STAT; /**< Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status, array offset: 0xD2C, array step: 0x40 */
  32087. __IO uint32_t MTL_RXQX_OP_MODE; /**< Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode, array offset: 0xD30, array step: 0x40 */
  32088. __I uint32_t MTL_RXQX_MISSPKT_OVRFLW_CNT; /**< Queue 0 Missed Packet and Overflow Counter..Queue 4 Missed Packet and Overflow Counter, array offset: 0xD34, array step: 0x40 */
  32089. __I uint32_t MTL_RXQX_DBG; /**< Queue 0 Receive Debug..Queue 4 Receive Debug, array offset: 0xD38, array step: 0x40 */
  32090. __IO uint32_t MTL_RXQX_CTRL; /**< Queue 0 Receive Control..Queue 4 Receive Control, array offset: 0xD3C, array step: 0x40 */
  32091. } MTL_QUEUE[5];
  32092. uint8_t RESERVED_56[448];
  32093. __IO uint32_t DMA_MODE; /**< DMA Bus Mode, offset: 0x1000 */
  32094. __IO uint32_t DMA_SYSBUS_MODE; /**< DMA System Bus Mode, offset: 0x1004 */
  32095. __I uint32_t DMA_INTERRUPT_STATUS; /**< DMA Interrupt Status, offset: 0x1008 */
  32096. __I uint32_t DMA_DEBUG_STATUS0; /**< DMA Debug Status 0, offset: 0x100C */
  32097. __I uint32_t DMA_DEBUG_STATUS1; /**< DMA Debug Status 1, offset: 0x1010 */
  32098. uint8_t RESERVED_57[44];
  32099. __IO uint32_t DMA_AXI_LPI_ENTRY_INTERVAL; /**< AXI LPI Entry Interval Control, offset: 0x1040 */
  32100. uint8_t RESERVED_58[12];
  32101. __IO uint32_t DMA_TBS_CTRL; /**< TBS Control, offset: 0x1050 */
  32102. uint8_t RESERVED_59[172];
  32103. struct { /* offset: 0x1100, array step: 0x80 */
  32104. __IO uint32_t DMA_CHX_CTRL; /**< DMA Channel 0 Control..DMA Channel 4 Control, array offset: 0x1100, array step: 0x80 */
  32105. __IO uint32_t DMA_CHX_TX_CTRL; /**< DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control, array offset: 0x1104, array step: 0x80 */
  32106. __IO uint32_t DMA_CHX_RX_CTRL; /**< DMA Channel 0 Receive Control..DMA Channel 4 Receive Control, array offset: 0x1108, array step: 0x80 */
  32107. uint8_t RESERVED_0[8];
  32108. __IO uint32_t DMA_CHX_TXDESC_LIST_ADDR; /**< Channel 0 Tx Descriptor List Address register..Channel 4 Tx Descriptor List Address, array offset: 0x1114, array step: 0x80 */
  32109. uint8_t RESERVED_1[4];
  32110. __IO uint32_t DMA_CHX_RXDESC_LIST_ADDR; /**< Channel 0 Rx Descriptor List Address register..Channel 4 Rx Descriptor List Address, array offset: 0x111C, array step: 0x80 */
  32111. __IO uint32_t DMA_CHX_TXDESC_TAIL_PTR; /**< Channel 0 Tx Descriptor Tail Pointer..Channel 4 Tx Descriptor Tail Pointer, array offset: 0x1120, array step: 0x80 */
  32112. uint8_t RESERVED_2[4];
  32113. __IO uint32_t DMA_CHX_RXDESC_TAIL_PTR; /**< Channel 0 Rx Descriptor Tail Pointer..Channel 4 Rx Descriptor Tail Pointer, array offset: 0x1128, array step: 0x80 */
  32114. __IO uint32_t DMA_CHX_TXDESC_RING_LENGTH; /**< Channel 0 Tx Descriptor Ring Length..Channel 4 Tx Descriptor Ring Length, array offset: 0x112C, array step: 0x80 */
  32115. __IO uint32_t DMA_CHX_RXDESC_RING_LENGTH; /**< Channel 0 Rx Descriptor Ring Length..Channel 4 Rx Descriptor Ring Length, array offset: 0x1130, array step: 0x80 */
  32116. __IO uint32_t DMA_CHX_INT_EN; /**< Channel 0 Interrupt Enable..Channel 4 Interrupt Enable, array offset: 0x1134, array step: 0x80 */
  32117. __IO uint32_t DMA_CHX_RX_INT_WDTIMER; /**< Channel 0 Receive Interrupt Watchdog Timer..Channel 4 Receive Interrupt Watchdog Timer, array offset: 0x1138, array step: 0x80 */
  32118. __IO uint32_t DMA_CHX_SLOT_FUNC_CTRL_STAT; /**< Channel 0 Slot Function Control and Status..Channel 4 Slot Function Control and Status, array offset: 0x113C, array step: 0x80 */
  32119. uint8_t RESERVED_3[4];
  32120. __I uint32_t DMA_CHX_CUR_HST_TXDESC; /**< Channel 0 Current Application Transmit Descriptor..Channel 4 Current Application Transmit Descriptor, array offset: 0x1144, array step: 0x80 */
  32121. uint8_t RESERVED_4[4];
  32122. __I uint32_t DMA_CHX_CUR_HST_RXDESC; /**< Channel 0 Current Application Receive Descriptor..Channel 4 Current Application Receive Descriptor, array offset: 0x114C, array step: 0x80 */
  32123. uint8_t RESERVED_5[4];
  32124. __I uint32_t DMA_CHX_CUR_HST_TXBUF; /**< Channel 0 Current Application Transmit Buffer Address..Channel 4 Current Application Transmit Buffer Address, array offset: 0x1154, array step: 0x80 */
  32125. uint8_t RESERVED_6[4];
  32126. __I uint32_t DMA_CHX_CUR_HST_RXBUF; /**< Channel 0 Current Application Receive Buffer Address..Channel 4 Current Application Receive Buffer Address, array offset: 0x115C, array step: 0x80 */
  32127. __IO uint32_t DMA_CHX_STAT; /**< DMA Channel 0 Status..DMA Channel 4 Status, array offset: 0x1160, array step: 0x80 */
  32128. __I uint32_t DMA_CHX_MISS_FRAME_CNT; /**< Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter, array offset: 0x1164, array step: 0x80 */
  32129. __I uint32_t DMA_CHX_RXP_ACCEPT_CNT; /**< Channel 0 RXP Frames Accepted Counter..Channel 4 RXP Frames Accepted Counter, array offset: 0x1168, array step: 0x80 */
  32130. __I uint32_t DMA_CHX_RX_ERI_CNT; /**< Channel 0 Receive ERI Counter..Channel 4 Receive ERI Counter, array offset: 0x116C, array step: 0x80 */
  32131. uint8_t RESERVED_7[16];
  32132. } DMA_CH[5];
  32133. } ENET_QOS_Type;
  32134. /* ----------------------------------------------------------------------------
  32135. -- ENET_QOS Register Masks
  32136. ---------------------------------------------------------------------------- */
  32137. /*!
  32138. * @addtogroup ENET_QOS_Register_Masks ENET_QOS Register Masks
  32139. * @{
  32140. */
  32141. /*! @name MAC_CONFIGURATION - MAC Configuration Register */
  32142. /*! @{ */
  32143. #define ENET_QOS_MAC_CONFIGURATION_RE_MASK (0x1U)
  32144. #define ENET_QOS_MAC_CONFIGURATION_RE_SHIFT (0U)
  32145. /*! RE - Receiver Enable
  32146. * 0b0..Receiver is disabled
  32147. * 0b1..Receiver is enabled
  32148. */
  32149. #define ENET_QOS_MAC_CONFIGURATION_RE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_RE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_RE_MASK)
  32150. #define ENET_QOS_MAC_CONFIGURATION_TE_MASK (0x2U)
  32151. #define ENET_QOS_MAC_CONFIGURATION_TE_SHIFT (1U)
  32152. /*! TE - Transmitter Enable
  32153. * 0b0..Transmitter is disabled
  32154. * 0b1..Transmitter is enabled
  32155. */
  32156. #define ENET_QOS_MAC_CONFIGURATION_TE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_TE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_TE_MASK)
  32157. #define ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK (0xCU)
  32158. #define ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT (2U)
  32159. /*! PRELEN - Preamble Length for Transmit packets
  32160. * 0b10..3 bytes of preamble
  32161. * 0b01..5 bytes of preamble
  32162. * 0b00..7 bytes of preamble
  32163. * 0b11..Reserved
  32164. */
  32165. #define ENET_QOS_MAC_CONFIGURATION_PRELEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PRELEN_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PRELEN_MASK)
  32166. #define ENET_QOS_MAC_CONFIGURATION_DC_MASK (0x10U)
  32167. #define ENET_QOS_MAC_CONFIGURATION_DC_SHIFT (4U)
  32168. /*! DC - Deferral Check
  32169. * 0b0..Deferral check function is disabled
  32170. * 0b1..Deferral check function is enabled
  32171. */
  32172. #define ENET_QOS_MAC_CONFIGURATION_DC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DC_MASK)
  32173. #define ENET_QOS_MAC_CONFIGURATION_BL_MASK (0x60U)
  32174. #define ENET_QOS_MAC_CONFIGURATION_BL_SHIFT (5U)
  32175. /*! BL - Back-Off Limit
  32176. * 0b11..k = min(n,1)
  32177. * 0b00..k = min(n,10)
  32178. * 0b10..k = min(n,4)
  32179. * 0b01..k = min(n,8)
  32180. */
  32181. #define ENET_QOS_MAC_CONFIGURATION_BL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BL_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BL_MASK)
  32182. #define ENET_QOS_MAC_CONFIGURATION_DR_MASK (0x100U)
  32183. #define ENET_QOS_MAC_CONFIGURATION_DR_SHIFT (8U)
  32184. /*! DR - Disable Retry
  32185. * 0b1..Disable Retry
  32186. * 0b0..Enable Retry
  32187. */
  32188. #define ENET_QOS_MAC_CONFIGURATION_DR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DR_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DR_MASK)
  32189. #define ENET_QOS_MAC_CONFIGURATION_DCRS_MASK (0x200U)
  32190. #define ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT (9U)
  32191. /*! DCRS - Disable Carrier Sense During Transmission
  32192. * 0b1..Disable Carrier Sense During Transmission
  32193. * 0b0..Enable Carrier Sense During Transmission
  32194. */
  32195. #define ENET_QOS_MAC_CONFIGURATION_DCRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DCRS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DCRS_MASK)
  32196. #define ENET_QOS_MAC_CONFIGURATION_DO_MASK (0x400U)
  32197. #define ENET_QOS_MAC_CONFIGURATION_DO_SHIFT (10U)
  32198. /*! DO - Disable Receive Own
  32199. * 0b1..Disable Receive Own
  32200. * 0b0..Enable Receive Own
  32201. */
  32202. #define ENET_QOS_MAC_CONFIGURATION_DO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DO_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DO_MASK)
  32203. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK (0x800U)
  32204. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT (11U)
  32205. /*! ECRSFD - Enable Carrier Sense Before Transmission in Full-Duplex Mode
  32206. * 0b0..ECRSFD is disabled
  32207. * 0b1..ECRSFD is enabled
  32208. */
  32209. #define ENET_QOS_MAC_CONFIGURATION_ECRSFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ECRSFD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ECRSFD_MASK)
  32210. #define ENET_QOS_MAC_CONFIGURATION_LM_MASK (0x1000U)
  32211. #define ENET_QOS_MAC_CONFIGURATION_LM_SHIFT (12U)
  32212. /*! LM - Loopback Mode
  32213. * 0b0..Loopback is disabled
  32214. * 0b1..Loopback is enabled
  32215. */
  32216. #define ENET_QOS_MAC_CONFIGURATION_LM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_LM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_LM_MASK)
  32217. #define ENET_QOS_MAC_CONFIGURATION_DM_MASK (0x2000U)
  32218. #define ENET_QOS_MAC_CONFIGURATION_DM_SHIFT (13U)
  32219. /*! DM - Duplex Mode
  32220. * 0b1..Full-duplex mode
  32221. * 0b0..Half-duplex mode
  32222. */
  32223. #define ENET_QOS_MAC_CONFIGURATION_DM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_DM_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_DM_MASK)
  32224. #define ENET_QOS_MAC_CONFIGURATION_FES_MASK (0x4000U)
  32225. #define ENET_QOS_MAC_CONFIGURATION_FES_SHIFT (14U)
  32226. /*! FES - Speed
  32227. * 0b1..100 Mbps when PS bit is 1 and 2.5 Gbps when PS bit is 0
  32228. * 0b0..10 Mbps when PS bit is 1 and 1 Gbps when PS bit is 0
  32229. */
  32230. #define ENET_QOS_MAC_CONFIGURATION_FES(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_FES_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_FES_MASK)
  32231. #define ENET_QOS_MAC_CONFIGURATION_PS_MASK (0x8000U)
  32232. #define ENET_QOS_MAC_CONFIGURATION_PS_SHIFT (15U)
  32233. /*! PS - Port Select
  32234. * 0b0..For 1000 or 2500 Mbps operations
  32235. * 0b1..For 10 or 100 Mbps operations
  32236. */
  32237. #define ENET_QOS_MAC_CONFIGURATION_PS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_PS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_PS_MASK)
  32238. #define ENET_QOS_MAC_CONFIGURATION_JE_MASK (0x10000U)
  32239. #define ENET_QOS_MAC_CONFIGURATION_JE_SHIFT (16U)
  32240. /*! JE - Jumbo Packet Enable When this bit is set, the MAC allows jumbo packets of 9,018 bytes
  32241. * (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet
  32242. * status.
  32243. * 0b0..Jumbo packet is disabled
  32244. * 0b1..Jumbo packet is enabled
  32245. */
  32246. #define ENET_QOS_MAC_CONFIGURATION_JE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JE_MASK)
  32247. #define ENET_QOS_MAC_CONFIGURATION_JD_MASK (0x20000U)
  32248. #define ENET_QOS_MAC_CONFIGURATION_JD_SHIFT (17U)
  32249. /*! JD - Jabber Disable
  32250. * 0b1..Jabber is disabled
  32251. * 0b0..Jabber is enabled
  32252. */
  32253. #define ENET_QOS_MAC_CONFIGURATION_JD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_JD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_JD_MASK)
  32254. #define ENET_QOS_MAC_CONFIGURATION_BE_MASK (0x40000U)
  32255. #define ENET_QOS_MAC_CONFIGURATION_BE_SHIFT (18U)
  32256. /*! BE - Packet Burst Enable When this bit is set, the MAC allows packet bursting during
  32257. * transmission in the GMII half-duplex mode.
  32258. * 0b0..Packet Burst is disabled
  32259. * 0b1..Packet Burst is enabled
  32260. */
  32261. #define ENET_QOS_MAC_CONFIGURATION_BE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_BE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_BE_MASK)
  32262. #define ENET_QOS_MAC_CONFIGURATION_WD_MASK (0x80000U)
  32263. #define ENET_QOS_MAC_CONFIGURATION_WD_SHIFT (19U)
  32264. /*! WD - Watchdog Disable
  32265. * 0b1..Watchdog is disabled
  32266. * 0b0..Watchdog is enabled
  32267. */
  32268. #define ENET_QOS_MAC_CONFIGURATION_WD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_WD_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_WD_MASK)
  32269. #define ENET_QOS_MAC_CONFIGURATION_ACS_MASK (0x100000U)
  32270. #define ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT (20U)
  32271. /*! ACS - Automatic Pad or CRC Stripping When this bit is set, the MAC strips the Pad or FCS field
  32272. * on the incoming packets only if the value of the length field is less than 1,536 bytes.
  32273. * 0b0..Automatic Pad or CRC Stripping is disabled
  32274. * 0b1..Automatic Pad or CRC Stripping is enabled
  32275. */
  32276. #define ENET_QOS_MAC_CONFIGURATION_ACS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_ACS_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_ACS_MASK)
  32277. #define ENET_QOS_MAC_CONFIGURATION_CST_MASK (0x200000U)
  32278. #define ENET_QOS_MAC_CONFIGURATION_CST_SHIFT (21U)
  32279. /*! CST - CRC stripping for Type packets When this bit is set, the last four bytes (FCS) of all
  32280. * packets of Ether type (type field greater than 1,536) are stripped and dropped before forwarding
  32281. * the packet to the application.
  32282. * 0b0..CRC stripping for Type packets is disabled
  32283. * 0b1..CRC stripping for Type packets is enabled
  32284. */
  32285. #define ENET_QOS_MAC_CONFIGURATION_CST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_CST_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_CST_MASK)
  32286. #define ENET_QOS_MAC_CONFIGURATION_S2KP_MASK (0x400000U)
  32287. #define ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT (22U)
  32288. /*! S2KP - IEEE 802.
  32289. * 0b0..Support upto 2K packet is disabled
  32290. * 0b1..Support upto 2K packet is Enabled
  32291. */
  32292. #define ENET_QOS_MAC_CONFIGURATION_S2KP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_S2KP_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_S2KP_MASK)
  32293. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK (0x800000U)
  32294. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT (23U)
  32295. /*! GPSLCE - Giant Packet Size Limit Control Enable
  32296. * 0b0..Giant Packet Size Limit Control is disabled
  32297. * 0b1..Giant Packet Size Limit Control is enabled
  32298. */
  32299. #define ENET_QOS_MAC_CONFIGURATION_GPSLCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_GPSLCE_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_GPSLCE_MASK)
  32300. #define ENET_QOS_MAC_CONFIGURATION_IPG_MASK (0x7000000U)
  32301. #define ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT (24U)
  32302. /*! IPG - Inter-Packet Gap These bits control the minimum IPG between packets during transmission.
  32303. * 0b111..40 bit times IPG
  32304. * 0b110..48 bit times IPG
  32305. * 0b101..56 bit times IPG
  32306. * 0b100..64 bit times IPG
  32307. * 0b011..72 bit times IPG
  32308. * 0b010..80 bit times IPG
  32309. * 0b001..88 bit times IPG
  32310. * 0b000..96 bit times IPG
  32311. */
  32312. #define ENET_QOS_MAC_CONFIGURATION_IPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPG_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPG_MASK)
  32313. #define ENET_QOS_MAC_CONFIGURATION_IPC_MASK (0x8000000U)
  32314. #define ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT (27U)
  32315. /*! IPC - Checksum Offload
  32316. * 0b0..IP header/payload checksum checking is disabled
  32317. * 0b1..IP header/payload checksum checking is enabled
  32318. */
  32319. #define ENET_QOS_MAC_CONFIGURATION_IPC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_IPC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_IPC_MASK)
  32320. #define ENET_QOS_MAC_CONFIGURATION_SARC_MASK (0x70000000U)
  32321. #define ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT (28U)
  32322. /*! SARC - Source Address Insertion or Replacement Control
  32323. * 0b010..Contents of MAC Addr-0 inserted in SA field
  32324. * 0b011..Contents of MAC Addr-0 replaces SA field
  32325. * 0b110..Contents of MAC Addr-1 inserted in SA field
  32326. * 0b111..Contents of MAC Addr-1 replaces SA field
  32327. * 0b000..mti_sa_ctrl_i and ati_sa_ctrl_i input signals control the SA field generation
  32328. */
  32329. #define ENET_QOS_MAC_CONFIGURATION_SARC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CONFIGURATION_SARC_SHIFT)) & ENET_QOS_MAC_CONFIGURATION_SARC_MASK)
  32330. /*! @} */
  32331. /*! @name MAC_EXT_CONFIGURATION - MAC Extended Configuration Register */
  32332. /*! @{ */
  32333. #define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_MASK (0x3FFFU)
  32334. #define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_SHIFT (0U)
  32335. /*! GPSL - Giant Packet Size Limit
  32336. */
  32337. #define ENET_QOS_MAC_EXT_CONFIGURATION_GPSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_GPSL_MASK)
  32338. #define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_MASK (0x10000U)
  32339. #define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_SHIFT (16U)
  32340. /*! DCRCC - Disable CRC Checking for Received Packets
  32341. * 0b1..CRC Checking is disabled
  32342. * 0b0..CRC Checking is enabled
  32343. */
  32344. #define ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_DCRCC_MASK)
  32345. #define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_MASK (0x20000U)
  32346. #define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_SHIFT (17U)
  32347. /*! SPEN - Slow Protocol Detection Enable
  32348. * 0b0..Slow Protocol Detection is disabled
  32349. * 0b1..Slow Protocol Detection is enabled
  32350. */
  32351. #define ENET_QOS_MAC_EXT_CONFIGURATION_SPEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_SPEN_MASK)
  32352. #define ENET_QOS_MAC_EXT_CONFIGURATION_USP_MASK (0x40000U)
  32353. #define ENET_QOS_MAC_EXT_CONFIGURATION_USP_SHIFT (18U)
  32354. /*! USP - Unicast Slow Protocol Packet Detect
  32355. * 0b0..Unicast Slow Protocol Packet Detection is disabled
  32356. * 0b1..Unicast Slow Protocol Packet Detection is enabled
  32357. */
  32358. #define ENET_QOS_MAC_EXT_CONFIGURATION_USP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_USP_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_USP_MASK)
  32359. #define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_MASK (0x80000U)
  32360. #define ENET_QOS_MAC_EXT_CONFIGURATION_PDC_SHIFT (19U)
  32361. /*! PDC - Packet Duplication Control
  32362. * 0b0..Packet Duplication Control is disabled
  32363. * 0b1..Packet Duplication Control is enabled
  32364. */
  32365. #define ENET_QOS_MAC_EXT_CONFIGURATION_PDC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_PDC_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_PDC_MASK)
  32366. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_MASK (0x1000000U)
  32367. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_SHIFT (24U)
  32368. /*! EIPGEN - Extended Inter-Packet Gap Enable
  32369. * 0b0..Extended Inter-Packet Gap is disabled
  32370. * 0b1..Extended Inter-Packet Gap is enabled
  32371. */
  32372. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_EIPGEN_MASK)
  32373. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_MASK (0x3E000000U)
  32374. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_SHIFT (25U)
  32375. /*! EIPG - Extended Inter-Packet Gap
  32376. */
  32377. #define ENET_QOS_MAC_EXT_CONFIGURATION_EIPG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_SHIFT)) & ENET_QOS_MAC_EXT_CONFIGURATION_EIPG_MASK)
  32378. /*! @} */
  32379. /*! @name MAC_PACKET_FILTER - MAC Packet Filter */
  32380. /*! @{ */
  32381. #define ENET_QOS_MAC_PACKET_FILTER_PR_MASK (0x1U)
  32382. #define ENET_QOS_MAC_PACKET_FILTER_PR_SHIFT (0U)
  32383. /*! PR - Promiscuous Mode
  32384. * 0b0..Promiscuous Mode is disabled
  32385. * 0b1..Promiscuous Mode is enabled
  32386. */
  32387. #define ENET_QOS_MAC_PACKET_FILTER_PR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PR_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PR_MASK)
  32388. #define ENET_QOS_MAC_PACKET_FILTER_HUC_MASK (0x2U)
  32389. #define ENET_QOS_MAC_PACKET_FILTER_HUC_SHIFT (1U)
  32390. /*! HUC - Hash Unicast
  32391. * 0b0..Hash Unicast is disabled
  32392. * 0b1..Hash Unicast is enabled
  32393. */
  32394. #define ENET_QOS_MAC_PACKET_FILTER_HUC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HUC_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HUC_MASK)
  32395. #define ENET_QOS_MAC_PACKET_FILTER_HMC_MASK (0x4U)
  32396. #define ENET_QOS_MAC_PACKET_FILTER_HMC_SHIFT (2U)
  32397. /*! HMC - Hash Multicast
  32398. * 0b0..Hash Multicast is disabled
  32399. * 0b1..Hash Multicast is enabled
  32400. */
  32401. #define ENET_QOS_MAC_PACKET_FILTER_HMC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HMC_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HMC_MASK)
  32402. #define ENET_QOS_MAC_PACKET_FILTER_DAIF_MASK (0x8U)
  32403. #define ENET_QOS_MAC_PACKET_FILTER_DAIF_SHIFT (3U)
  32404. /*! DAIF - DA Inverse Filtering
  32405. * 0b0..DA Inverse Filtering is disabled
  32406. * 0b1..DA Inverse Filtering is enabled
  32407. */
  32408. #define ENET_QOS_MAC_PACKET_FILTER_DAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DAIF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DAIF_MASK)
  32409. #define ENET_QOS_MAC_PACKET_FILTER_PM_MASK (0x10U)
  32410. #define ENET_QOS_MAC_PACKET_FILTER_PM_SHIFT (4U)
  32411. /*! PM - Pass All Multicast
  32412. * 0b0..Pass All Multicast is disabled
  32413. * 0b1..Pass All Multicast is enabled
  32414. */
  32415. #define ENET_QOS_MAC_PACKET_FILTER_PM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PM_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PM_MASK)
  32416. #define ENET_QOS_MAC_PACKET_FILTER_DBF_MASK (0x20U)
  32417. #define ENET_QOS_MAC_PACKET_FILTER_DBF_SHIFT (5U)
  32418. /*! DBF - Disable Broadcast Packets
  32419. * 0b1..Disable Broadcast Packets
  32420. * 0b0..Enable Broadcast Packets
  32421. */
  32422. #define ENET_QOS_MAC_PACKET_FILTER_DBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DBF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DBF_MASK)
  32423. #define ENET_QOS_MAC_PACKET_FILTER_PCF_MASK (0xC0U)
  32424. #define ENET_QOS_MAC_PACKET_FILTER_PCF_SHIFT (6U)
  32425. /*! PCF - Pass Control Packets These bits control the forwarding of all control packets (including
  32426. * unicast and multicast Pause packets).
  32427. * 0b00..MAC filters all control packets from reaching the application
  32428. * 0b10..MAC forwards all control packets to the application even if they fail the Address filter
  32429. * 0b11..MAC forwards the control packets that pass the Address filter
  32430. * 0b01..MAC forwards all control packets except Pause packets to the application even if they fail the Address filter
  32431. */
  32432. #define ENET_QOS_MAC_PACKET_FILTER_PCF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_PCF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_PCF_MASK)
  32433. #define ENET_QOS_MAC_PACKET_FILTER_SAIF_MASK (0x100U)
  32434. #define ENET_QOS_MAC_PACKET_FILTER_SAIF_SHIFT (8U)
  32435. /*! SAIF - SA Inverse Filtering
  32436. * 0b0..SA Inverse Filtering is disabled
  32437. * 0b1..SA Inverse Filtering is enabled
  32438. */
  32439. #define ENET_QOS_MAC_PACKET_FILTER_SAIF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_SAIF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_SAIF_MASK)
  32440. #define ENET_QOS_MAC_PACKET_FILTER_SAF_MASK (0x200U)
  32441. #define ENET_QOS_MAC_PACKET_FILTER_SAF_SHIFT (9U)
  32442. /*! SAF - Source Address Filter Enable
  32443. * 0b0..SA Filtering is disabled
  32444. * 0b1..SA Filtering is enabled
  32445. */
  32446. #define ENET_QOS_MAC_PACKET_FILTER_SAF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_SAF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_SAF_MASK)
  32447. #define ENET_QOS_MAC_PACKET_FILTER_HPF_MASK (0x400U)
  32448. #define ENET_QOS_MAC_PACKET_FILTER_HPF_SHIFT (10U)
  32449. /*! HPF - Hash or Perfect Filter
  32450. * 0b0..Hash or Perfect Filter is disabled
  32451. * 0b1..Hash or Perfect Filter is enabled
  32452. */
  32453. #define ENET_QOS_MAC_PACKET_FILTER_HPF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_HPF_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_HPF_MASK)
  32454. #define ENET_QOS_MAC_PACKET_FILTER_VTFE_MASK (0x10000U)
  32455. #define ENET_QOS_MAC_PACKET_FILTER_VTFE_SHIFT (16U)
  32456. /*! VTFE - VLAN Tag Filter Enable
  32457. * 0b0..VLAN Tag Filter is disabled
  32458. * 0b1..VLAN Tag Filter is enabled
  32459. */
  32460. #define ENET_QOS_MAC_PACKET_FILTER_VTFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_VTFE_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_VTFE_MASK)
  32461. #define ENET_QOS_MAC_PACKET_FILTER_IPFE_MASK (0x100000U)
  32462. #define ENET_QOS_MAC_PACKET_FILTER_IPFE_SHIFT (20U)
  32463. /*! IPFE - Layer 3 and Layer 4 Filter Enable
  32464. * 0b0..Layer 3 and Layer 4 Filters are disabled
  32465. * 0b1..Layer 3 and Layer 4 Filters are enabled
  32466. */
  32467. #define ENET_QOS_MAC_PACKET_FILTER_IPFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_IPFE_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_IPFE_MASK)
  32468. #define ENET_QOS_MAC_PACKET_FILTER_DNTU_MASK (0x200000U)
  32469. #define ENET_QOS_MAC_PACKET_FILTER_DNTU_SHIFT (21U)
  32470. /*! DNTU - Drop Non-TCP/UDP over IP Packets
  32471. * 0b1..Drop Non-TCP/UDP over IP Packets
  32472. * 0b0..Forward Non-TCP/UDP over IP Packets
  32473. */
  32474. #define ENET_QOS_MAC_PACKET_FILTER_DNTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_DNTU_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_DNTU_MASK)
  32475. #define ENET_QOS_MAC_PACKET_FILTER_RA_MASK (0x80000000U)
  32476. #define ENET_QOS_MAC_PACKET_FILTER_RA_SHIFT (31U)
  32477. /*! RA - Receive All
  32478. * 0b0..Receive All is disabled
  32479. * 0b1..Receive All is enabled
  32480. */
  32481. #define ENET_QOS_MAC_PACKET_FILTER_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PACKET_FILTER_RA_SHIFT)) & ENET_QOS_MAC_PACKET_FILTER_RA_MASK)
  32482. /*! @} */
  32483. /*! @name MAC_WATCHDOG_TIMEOUT - Watchdog Timeout */
  32484. /*! @{ */
  32485. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_MASK (0xFU)
  32486. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_SHIFT (0U)
  32487. /*! WTO - Watchdog Timeout
  32488. * 0b1000..10 KB
  32489. * 0b1001..11 KB
  32490. * 0b1010..12 KB
  32491. * 0b1011..13 KB
  32492. * 0b1100..14 KB
  32493. * 0b1101..15 KB
  32494. * 0b1110..16383 Bytes
  32495. * 0b0000..2 KB
  32496. * 0b0001..3 KB
  32497. * 0b0010..4 KB
  32498. * 0b0011..5 KB
  32499. * 0b0100..6 KB
  32500. * 0b0101..7 KB
  32501. * 0b0110..8 KB
  32502. * 0b0111..9 KB
  32503. * 0b1111..Reserved
  32504. */
  32505. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_SHIFT)) & ENET_QOS_MAC_WATCHDOG_TIMEOUT_WTO_MASK)
  32506. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_MASK (0x100U)
  32507. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_SHIFT (8U)
  32508. /*! PWE - Programmable Watchdog Enable
  32509. * 0b0..Programmable Watchdog is disabled
  32510. * 0b1..Programmable Watchdog is enabled
  32511. */
  32512. #define ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_SHIFT)) & ENET_QOS_MAC_WATCHDOG_TIMEOUT_PWE_MASK)
  32513. /*! @} */
  32514. /*! @name MAC_HASH_TABLE_REG0 - MAC Hash Table Register 0 */
  32515. /*! @{ */
  32516. #define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_MASK (0xFFFFFFFFU)
  32517. #define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_SHIFT (0U)
  32518. /*! HT31T0 - MAC Hash Table First 32 Bits This field contains the first 32 Bits [31:0] of the Hash table.
  32519. */
  32520. #define ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_SHIFT)) & ENET_QOS_MAC_HASH_TABLE_REG0_HT31T0_MASK)
  32521. /*! @} */
  32522. /*! @name MAC_HASH_TABLE_REG1 - MAC Hash Table Register 1 */
  32523. /*! @{ */
  32524. #define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_MASK (0xFFFFFFFFU)
  32525. #define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_SHIFT (0U)
  32526. /*! HT63T32 - MAC Hash Table Second 32 Bits This field contains the second 32 Bits [63:32] of the Hash table.
  32527. */
  32528. #define ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_SHIFT)) & ENET_QOS_MAC_HASH_TABLE_REG1_HT63T32_MASK)
  32529. /*! @} */
  32530. /*! @name MAC_VLAN_TAG_CTRL - MAC VLAN Tag Control */
  32531. /*! @{ */
  32532. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_MASK (0x1U)
  32533. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OB_SHIFT (0U)
  32534. /*! OB - Operation Busy
  32535. * 0b0..Operation Busy is disabled
  32536. * 0b1..Operation Busy is enabled
  32537. */
  32538. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_OB_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_OB_MASK)
  32539. #define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_MASK (0x2U)
  32540. #define ENET_QOS_MAC_VLAN_TAG_CTRL_CT_SHIFT (1U)
  32541. /*! CT - Command Type
  32542. * 0b1..Read operation
  32543. * 0b0..Write operation
  32544. */
  32545. #define ENET_QOS_MAC_VLAN_TAG_CTRL_CT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_CT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_CT_MASK)
  32546. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_MASK (0x7CU)
  32547. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_SHIFT (2U)
  32548. /*! OFS - Offset
  32549. */
  32550. #define ENET_QOS_MAC_VLAN_TAG_CTRL_OFS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_OFS_MASK)
  32551. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_MASK (0x20000U)
  32552. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_SHIFT (17U)
  32553. /*! VTIM - VLAN Tag Inverse Match Enable
  32554. * 0b0..VLAN Tag Inverse Match is disabled
  32555. * 0b1..VLAN Tag Inverse Match is enabled
  32556. */
  32557. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_VTIM_MASK)
  32558. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_MASK (0x40000U)
  32559. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_SHIFT (18U)
  32560. /*! ESVL - Enable S-VLAN When this bit is set, the MAC transmitter and receiver consider the S-VLAN
  32561. * packets (Type = 0x88A8) as valid VLAN tagged packets.
  32562. * 0b0..S-VLAN is disabled
  32563. * 0b1..S-VLAN is enabled
  32564. */
  32565. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_ESVL_MASK)
  32566. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_MASK (0x600000U)
  32567. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_SHIFT (21U)
  32568. /*! EVLS - Enable VLAN Tag Stripping on Receive This field indicates the stripping operation on the
  32569. * outer VLAN Tag in received packet.
  32570. * 0b11..Always strip
  32571. * 0b00..Do not strip
  32572. * 0b10..Strip if VLAN filter fails
  32573. * 0b01..Strip if VLAN filter passes
  32574. */
  32575. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EVLS_MASK)
  32576. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_MASK (0x1000000U)
  32577. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_SHIFT (24U)
  32578. /*! EVLRXS - Enable VLAN Tag in Rx status
  32579. * 0b0..VLAN Tag in Rx status is disabled
  32580. * 0b1..VLAN Tag in Rx status is enabled
  32581. */
  32582. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EVLRXS_MASK)
  32583. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_MASK (0x2000000U)
  32584. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_SHIFT (25U)
  32585. /*! VTHM - VLAN Tag Hash Table Match Enable
  32586. * 0b0..VLAN Tag Hash Table Match is disabled
  32587. * 0b1..VLAN Tag Hash Table Match is enabled
  32588. */
  32589. #define ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_VTHM_MASK)
  32590. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_MASK (0x4000000U)
  32591. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_SHIFT (26U)
  32592. /*! EDVLP - Enable Double VLAN Processing
  32593. * 0b0..Double VLAN Processing is disabled
  32594. * 0b1..Double VLAN Processing is enabled
  32595. */
  32596. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EDVLP_MASK)
  32597. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_MASK (0x8000000U)
  32598. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_SHIFT (27U)
  32599. /*! ERIVLT - ERIVLT
  32600. * 0b0..Inner VLAN tag is disabled
  32601. * 0b1..Inner VLAN tag is enabled
  32602. */
  32603. #define ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_ERIVLT_MASK)
  32604. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_MASK (0x30000000U)
  32605. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_SHIFT (28U)
  32606. /*! EIVLS - Enable Inner VLAN Tag Stripping on Receive This field indicates the stripping operation
  32607. * on inner VLAN Tag in received packet.
  32608. * 0b11..Always strip
  32609. * 0b00..Do not strip
  32610. * 0b10..Strip if VLAN filter fails
  32611. * 0b01..Strip if VLAN filter passes
  32612. */
  32613. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLS_MASK)
  32614. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_MASK (0x80000000U)
  32615. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_SHIFT (31U)
  32616. /*! EIVLRXS - Enable Inner VLAN Tag in Rx Status
  32617. * 0b0..Inner VLAN Tag in Rx status is disabled
  32618. * 0b1..Inner VLAN Tag in Rx status is enabled
  32619. */
  32620. #define ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_CTRL_EIVLRXS_MASK)
  32621. /*! @} */
  32622. /*! @name MAC_VLAN_TAG_DATA - MAC VLAN Tag Data */
  32623. /*! @{ */
  32624. #define ENET_QOS_MAC_VLAN_TAG_DATA_VID_MASK (0xFFFFU)
  32625. #define ENET_QOS_MAC_VLAN_TAG_DATA_VID_SHIFT (0U)
  32626. /*! VID - VLAN Tag ID
  32627. */
  32628. #define ENET_QOS_MAC_VLAN_TAG_DATA_VID(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_VID_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_VID_MASK)
  32629. #define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_MASK (0x10000U)
  32630. #define ENET_QOS_MAC_VLAN_TAG_DATA_VEN_SHIFT (16U)
  32631. /*! VEN - VLAN Tag Enable
  32632. * 0b0..VLAN Tag is disabled
  32633. * 0b1..VLAN Tag is enabled
  32634. */
  32635. #define ENET_QOS_MAC_VLAN_TAG_DATA_VEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_VEN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_VEN_MASK)
  32636. #define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_MASK (0x20000U)
  32637. #define ENET_QOS_MAC_VLAN_TAG_DATA_ETV_SHIFT (17U)
  32638. /*! ETV - 12bits or 16bits VLAN comparison
  32639. * 0b1..12 bit VLAN comparison
  32640. * 0b0..16 bit VLAN comparison
  32641. */
  32642. #define ENET_QOS_MAC_VLAN_TAG_DATA_ETV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ETV_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ETV_MASK)
  32643. #define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_MASK (0x40000U)
  32644. #define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_SHIFT (18U)
  32645. /*! DOVLTC - Disable VLAN Type Comparison
  32646. * 0b1..VLAN type comparison is disabled
  32647. * 0b0..VLAN type comparison is enabled
  32648. */
  32649. #define ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DOVLTC_MASK)
  32650. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_MASK (0x80000U)
  32651. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_SHIFT (19U)
  32652. /*! ERSVLM - Enable S-VLAN Match for received Frames
  32653. * 0b0..Receive S-VLAN Match is disabled
  32654. * 0b1..Receive S-VLAN Match is enabled
  32655. */
  32656. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ERSVLM_MASK)
  32657. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_MASK (0x100000U)
  32658. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_SHIFT (20U)
  32659. /*! ERIVLT - Enable Inner VLAN Tag Comparison
  32660. * 0b0..Inner VLAN tag comparison is disabled
  32661. * 0b1..Inner VLAN tag comparison is enabled
  32662. */
  32663. #define ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_ERIVLT_MASK)
  32664. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_MASK (0x1000000U)
  32665. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_SHIFT (24U)
  32666. /*! DMACHEN - DMA Channel Number Enable
  32667. * 0b0..DMA Channel Number is disabled
  32668. * 0b1..DMA Channel Number is enabled
  32669. */
  32670. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DMACHEN_MASK)
  32671. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_MASK (0xE000000U)
  32672. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_SHIFT (25U)
  32673. /*! DMACHN - DMA Channel Number
  32674. */
  32675. #define ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_SHIFT)) & ENET_QOS_MAC_VLAN_TAG_DATA_DMACHN_MASK)
  32676. /*! @} */
  32677. /*! @name MAC_VLAN_HASH_TABLE - MAC VLAN Hash Table */
  32678. /*! @{ */
  32679. #define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_MASK (0xFFFFU)
  32680. #define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_SHIFT (0U)
  32681. /*! VLHT - VLAN Hash Table This field contains the 16-bit VLAN Hash Table.
  32682. */
  32683. #define ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_SHIFT)) & ENET_QOS_MAC_VLAN_HASH_TABLE_VLHT_MASK)
  32684. /*! @} */
  32685. /*! @name MAC_VLAN_INCL - VLAN Tag Inclusion or Replacement */
  32686. /*! @{ */
  32687. #define ENET_QOS_MAC_VLAN_INCL_VLT_MASK (0xFFFFU)
  32688. #define ENET_QOS_MAC_VLAN_INCL_VLT_SHIFT (0U)
  32689. /*! VLT - VLAN Tag for Transmit Packets
  32690. */
  32691. #define ENET_QOS_MAC_VLAN_INCL_VLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLT_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLT_MASK)
  32692. #define ENET_QOS_MAC_VLAN_INCL_VLC_MASK (0x30000U)
  32693. #define ENET_QOS_MAC_VLAN_INCL_VLC_SHIFT (16U)
  32694. /*! VLC - VLAN Tag Control in Transmit Packets - 2'b00: No VLAN tag deletion, insertion, or
  32695. * replacement - 2'b01: VLAN tag deletion The MAC removes the VLAN type (bytes 13 and 14) and VLAN tag
  32696. * (bytes 15 and 16) of all transmitted packets with VLAN tags.
  32697. * 0b01..VLAN tag deletion
  32698. * 0b10..VLAN tag insertion
  32699. * 0b00..No VLAN tag deletion, insertion, or replacement
  32700. * 0b11..VLAN tag replacement
  32701. */
  32702. #define ENET_QOS_MAC_VLAN_INCL_VLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLC_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLC_MASK)
  32703. #define ENET_QOS_MAC_VLAN_INCL_VLP_MASK (0x40000U)
  32704. #define ENET_QOS_MAC_VLAN_INCL_VLP_SHIFT (18U)
  32705. /*! VLP - VLAN Priority Control
  32706. * 0b0..VLAN Priority Control is disabled
  32707. * 0b1..VLAN Priority Control is enabled
  32708. */
  32709. #define ENET_QOS_MAC_VLAN_INCL_VLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLP_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLP_MASK)
  32710. #define ENET_QOS_MAC_VLAN_INCL_CSVL_MASK (0x80000U)
  32711. #define ENET_QOS_MAC_VLAN_INCL_CSVL_SHIFT (19U)
  32712. /*! CSVL - C-VLAN or S-VLAN
  32713. * 0b0..C-VLAN type (0x8100) is inserted or replaced
  32714. * 0b1..S-VLAN type (0x88A8) is inserted or replaced
  32715. */
  32716. #define ENET_QOS_MAC_VLAN_INCL_CSVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_CSVL_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_CSVL_MASK)
  32717. #define ENET_QOS_MAC_VLAN_INCL_VLTI_MASK (0x100000U)
  32718. #define ENET_QOS_MAC_VLAN_INCL_VLTI_SHIFT (20U)
  32719. /*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or
  32720. * replaced in Tx packet should be taken from: - The Tx descriptor
  32721. * 0b0..VLAN Tag Input is disabled
  32722. * 0b1..VLAN Tag Input is enabled
  32723. */
  32724. #define ENET_QOS_MAC_VLAN_INCL_VLTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_VLTI_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_VLTI_MASK)
  32725. #define ENET_QOS_MAC_VLAN_INCL_CBTI_MASK (0x200000U)
  32726. #define ENET_QOS_MAC_VLAN_INCL_CBTI_SHIFT (21U)
  32727. /*! CBTI - Channel based tag insertion
  32728. * 0b0..Channel based tag insertion is disabled
  32729. * 0b1..Channel based tag insertion is enabled
  32730. */
  32731. #define ENET_QOS_MAC_VLAN_INCL_CBTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_CBTI_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_CBTI_MASK)
  32732. #define ENET_QOS_MAC_VLAN_INCL_ADDR_MASK (0x7000000U)
  32733. #define ENET_QOS_MAC_VLAN_INCL_ADDR_SHIFT (24U)
  32734. /*! ADDR - Address
  32735. */
  32736. #define ENET_QOS_MAC_VLAN_INCL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_ADDR_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_ADDR_MASK)
  32737. #define ENET_QOS_MAC_VLAN_INCL_RDWR_MASK (0x40000000U)
  32738. #define ENET_QOS_MAC_VLAN_INCL_RDWR_SHIFT (30U)
  32739. /*! RDWR - Read write control
  32740. * 0b0..Read operation of indirect access
  32741. * 0b1..Write operation of indirect access
  32742. */
  32743. #define ENET_QOS_MAC_VLAN_INCL_RDWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_RDWR_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_RDWR_MASK)
  32744. #define ENET_QOS_MAC_VLAN_INCL_BUSY_MASK (0x80000000U)
  32745. #define ENET_QOS_MAC_VLAN_INCL_BUSY_SHIFT (31U)
  32746. /*! BUSY - Busy
  32747. * 0b1..Busy status detected
  32748. * 0b0..Busy status not detected
  32749. */
  32750. #define ENET_QOS_MAC_VLAN_INCL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VLAN_INCL_BUSY_SHIFT)) & ENET_QOS_MAC_VLAN_INCL_BUSY_MASK)
  32751. /*! @} */
  32752. /*! @name MAC_INNER_VLAN_INCL - MAC Inner VLAN Tag Inclusion or Replacement */
  32753. /*! @{ */
  32754. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_MASK (0xFFFFU)
  32755. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLT_SHIFT (0U)
  32756. /*! VLT - VLAN Tag for Transmit Packets
  32757. */
  32758. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLT_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLT_MASK)
  32759. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_MASK (0x30000U)
  32760. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLC_SHIFT (16U)
  32761. /*! VLC - VLAN Tag Control in Transmit Packets
  32762. * 0b01..VLAN tag deletion
  32763. * 0b10..VLAN tag insertion
  32764. * 0b00..No VLAN tag deletion, insertion, or replacement
  32765. * 0b11..VLAN tag replacement
  32766. */
  32767. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLC_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLC_MASK)
  32768. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_MASK (0x40000U)
  32769. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLP_SHIFT (18U)
  32770. /*! VLP - VLAN Priority Control
  32771. * 0b0..VLAN Priority Control is disabled
  32772. * 0b1..VLAN Priority Control is enabled
  32773. */
  32774. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLP_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLP_MASK)
  32775. #define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_MASK (0x80000U)
  32776. #define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_SHIFT (19U)
  32777. /*! CSVL - C-VLAN or S-VLAN
  32778. * 0b0..C-VLAN type (0x8100) is inserted
  32779. * 0b1..S-VLAN type (0x88A8) is inserted
  32780. */
  32781. #define ENET_QOS_MAC_INNER_VLAN_INCL_CSVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_CSVL_MASK)
  32782. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_MASK (0x100000U)
  32783. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_SHIFT (20U)
  32784. /*! VLTI - VLAN Tag Input When this bit is set, it indicates that the VLAN tag to be inserted or
  32785. * replaced in Tx packet should be taken from: - The Tx descriptor
  32786. * 0b0..VLAN Tag Input is disabled
  32787. * 0b1..VLAN Tag Input is enabled
  32788. */
  32789. #define ENET_QOS_MAC_INNER_VLAN_INCL_VLTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_SHIFT)) & ENET_QOS_MAC_INNER_VLAN_INCL_VLTI_MASK)
  32790. /*! @} */
  32791. /*! @name MAC_TX_FLOW_CTRL_Q - MAC Q0 Tx Flow Control..MAC Q4 Tx Flow Control */
  32792. /*! @{ */
  32793. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_MASK (0x1U)
  32794. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_SHIFT (0U)
  32795. /*! FCB_BPA - Flow Control Busy or Backpressure Activate
  32796. * 0b0..Flow Control Busy or Backpressure Activate is disabled
  32797. * 0b1..Flow Control Busy or Backpressure Activate is enabled
  32798. */
  32799. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_FCB_BPA_MASK)
  32800. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_MASK (0x2U)
  32801. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT (1U)
  32802. /*! TFE - Transmit Flow Control Enable
  32803. * 0b0..Transmit Flow Control is disabled
  32804. * 0b1..Transmit Flow Control is enabled
  32805. */
  32806. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_TFE_MASK)
  32807. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_MASK (0x70U)
  32808. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT (4U)
  32809. /*! PLT - Pause Low Threshold
  32810. * 0b011..Pause Time minus 144 Slot Times (PT -144 slot times)
  32811. * 0b100..Pause Time minus 256 Slot Times (PT -256 slot times)
  32812. * 0b001..Pause Time minus 28 Slot Times (PT -28 slot times)
  32813. * 0b010..Pause Time minus 36 Slot Times (PT -36 slot times)
  32814. * 0b000..Pause Time minus 4 Slot Times (PT -4 slot times)
  32815. * 0b101..Pause Time minus 512 Slot Times (PT -512 slot times)
  32816. * 0b110..Reserved
  32817. */
  32818. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_PLT_MASK)
  32819. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK (0x80U)
  32820. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT (7U)
  32821. /*! DZPQ - Disable Zero-Quanta Pause
  32822. * 0b1..Zero-Quanta Pause packet generation is disabled
  32823. * 0b0..Zero-Quanta Pause packet generation is enabled
  32824. */
  32825. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_DZPQ_MASK)
  32826. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_MASK (0xFFFF0000U)
  32827. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_SHIFT (16U)
  32828. /*! PT - Pause Time
  32829. */
  32830. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_SHIFT)) & ENET_QOS_MAC_TX_FLOW_CTRL_Q_PT_MASK)
  32831. /*! @} */
  32832. /* The count of ENET_QOS_MAC_TX_FLOW_CTRL_Q */
  32833. #define ENET_QOS_MAC_TX_FLOW_CTRL_Q_COUNT (5U)
  32834. /*! @name MAC_RX_FLOW_CTRL - MAC Rx Flow Control */
  32835. /*! @{ */
  32836. #define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_MASK (0x1U)
  32837. #define ENET_QOS_MAC_RX_FLOW_CTRL_RFE_SHIFT (0U)
  32838. /*! RFE - Receive Flow Control Enable
  32839. * 0b0..Receive Flow Control is disabled
  32840. * 0b1..Receive Flow Control is enabled
  32841. */
  32842. #define ENET_QOS_MAC_RX_FLOW_CTRL_RFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_RFE_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_RFE_MASK)
  32843. #define ENET_QOS_MAC_RX_FLOW_CTRL_UP_MASK (0x2U)
  32844. #define ENET_QOS_MAC_RX_FLOW_CTRL_UP_SHIFT (1U)
  32845. /*! UP - Unicast Pause Packet Detect
  32846. * 0b0..Unicast Pause Packet Detect disabled
  32847. * 0b1..Unicast Pause Packet Detect enabled
  32848. */
  32849. #define ENET_QOS_MAC_RX_FLOW_CTRL_UP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_UP_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_UP_MASK)
  32850. #define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_MASK (0x100U)
  32851. #define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_SHIFT (8U)
  32852. /*! PFCE - Priority Based Flow Control Enable
  32853. * 0b0..Priority Based Flow Control is disabled
  32854. * 0b1..Priority Based Flow Control is enabled
  32855. */
  32856. #define ENET_QOS_MAC_RX_FLOW_CTRL_PFCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_SHIFT)) & ENET_QOS_MAC_RX_FLOW_CTRL_PFCE_MASK)
  32857. /*! @} */
  32858. /*! @name MAC_RXQ_CTRL4 - Receive Queue Control 4 */
  32859. /*! @{ */
  32860. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_MASK (0x1U)
  32861. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQE_SHIFT (0U)
  32862. /*! UFFQE - Unicast Address Filter Fail Packets Queuing Enable.
  32863. * 0b0..Unicast Address Filter Fail Packets Queuing is disabled
  32864. * 0b1..Unicast Address Filter Fail Packets Queuing is enabled
  32865. */
  32866. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_UFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_UFFQE_MASK)
  32867. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_MASK (0xEU)
  32868. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQ_SHIFT (1U)
  32869. /*! UFFQ - Unicast Address Filter Fail Packets Queue.
  32870. */
  32871. #define ENET_QOS_MAC_RXQ_CTRL4_UFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_UFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_UFFQ_MASK)
  32872. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_MASK (0x100U)
  32873. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQE_SHIFT (8U)
  32874. /*! MFFQE - Multicast Address Filter Fail Packets Queuing Enable.
  32875. * 0b0..Multicast Address Filter Fail Packets Queuing is disabled
  32876. * 0b1..Multicast Address Filter Fail Packets Queuing is enabled
  32877. */
  32878. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_MFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_MFFQE_MASK)
  32879. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_MASK (0xE00U)
  32880. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQ_SHIFT (9U)
  32881. /*! MFFQ - Multicast Address Filter Fail Packets Queue.
  32882. */
  32883. #define ENET_QOS_MAC_RXQ_CTRL4_MFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_MFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_MFFQ_MASK)
  32884. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_MASK (0x10000U)
  32885. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQE_SHIFT (16U)
  32886. /*! VFFQE - VLAN Tag Filter Fail Packets Queuing Enable
  32887. * 0b0..VLAN tag Filter Fail Packets Queuing is disabled
  32888. * 0b1..VLAN tag Filter Fail Packets Queuing is enabled
  32889. */
  32890. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_VFFQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_VFFQE_MASK)
  32891. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_MASK (0xE0000U)
  32892. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQ_SHIFT (17U)
  32893. /*! VFFQ - VLAN Tag Filter Fail Packets Queue
  32894. */
  32895. #define ENET_QOS_MAC_RXQ_CTRL4_VFFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL4_VFFQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL4_VFFQ_MASK)
  32896. /*! @} */
  32897. /*! @name MAC_TXQ_PRTY_MAP0 - Transmit Queue Priority Mapping 0 */
  32898. /*! @{ */
  32899. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_MASK (0xFFU)
  32900. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_SHIFT (0U)
  32901. /*! PSTQ0 - Priorities Selected in Transmit Queue 0
  32902. */
  32903. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ0_MASK)
  32904. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_MASK (0xFF00U)
  32905. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_SHIFT (8U)
  32906. /*! PSTQ1 - Priorities Selected in Transmit Queue 1 This bit is similar to the PSTQ0 bit.
  32907. */
  32908. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ1_MASK)
  32909. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_MASK (0xFF0000U)
  32910. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_SHIFT (16U)
  32911. /*! PSTQ2 - Priorities Selected in Transmit Queue 2 This bit is similar to the PSTQ0 bit.
  32912. */
  32913. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ2_MASK)
  32914. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_MASK (0xFF000000U)
  32915. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_SHIFT (24U)
  32916. /*! PSTQ3 - Priorities Selected in Transmit Queue 3 This bit is similar to the PSTQ0 bit.
  32917. */
  32918. #define ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP0_PSTQ3_MASK)
  32919. /*! @} */
  32920. /*! @name MAC_TXQ_PRTY_MAP1 - Transmit Queue Priority Mapping 1 */
  32921. /*! @{ */
  32922. #define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_MASK (0xFFU)
  32923. #define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_SHIFT (0U)
  32924. /*! PSTQ4 - Priorities Selected in Transmit Queue 4
  32925. */
  32926. #define ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_SHIFT)) & ENET_QOS_MAC_TXQ_PRTY_MAP1_PSTQ4_MASK)
  32927. /*! @} */
  32928. /*! @name MAC_RXQ_CTRL - Receive Queue Control 0..Receive Queue Control 3 */
  32929. /*! @{ */
  32930. #define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_MASK (0x7U)
  32931. #define ENET_QOS_MAC_RXQ_CTRL_AVCPQ_SHIFT (0U)
  32932. /*! AVCPQ - AV Untagged Control Packets Queue
  32933. * 0b000..Receive Queue 0
  32934. * 0b001..Receive Queue 1
  32935. * 0b010..Receive Queue 2
  32936. * 0b011..Receive Queue 3
  32937. * 0b100..Receive Queue 4
  32938. * 0b101..Reserved
  32939. * 0b110..Reserved
  32940. * 0b111..Reserved
  32941. */
  32942. #define ENET_QOS_MAC_RXQ_CTRL_AVCPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_AVCPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_AVCPQ_MASK)
  32943. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_MASK (0xFFU)
  32944. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ0_SHIFT (0U)
  32945. /*! PSRQ0 - Priorities Selected in the Receive Queue 0
  32946. */
  32947. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ0_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ0_MASK)
  32948. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_MASK (0xFFU)
  32949. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ4_SHIFT (0U)
  32950. /*! PSRQ4 - Priorities Selected in the Receive Queue 4
  32951. */
  32952. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ4_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ4_MASK)
  32953. #define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_MASK (0x3U)
  32954. #define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_SHIFT (0U)
  32955. /*! RXQ0EN - Receive Queue 0 Enable This field indicates whether Rx Queue 0 is enabled for AV or DCB.
  32956. * 0b00..Queue not enabled
  32957. * 0b01..Queue enabled for AV
  32958. * 0b10..Queue enabled for DCB/Generic
  32959. * 0b11..Reserved
  32960. */
  32961. #define ENET_QOS_MAC_RXQ_CTRL_RXQ0EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ0EN_MASK)
  32962. #define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_MASK (0xCU)
  32963. #define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_SHIFT (2U)
  32964. /*! RXQ1EN - Receive Queue 1 Enable This field is similar to the RXQ0EN field.
  32965. * 0b00..Queue not enabled
  32966. * 0b01..Queue enabled for AV
  32967. * 0b10..Queue enabled for DCB/Generic
  32968. * 0b11..Reserved
  32969. */
  32970. #define ENET_QOS_MAC_RXQ_CTRL_RXQ1EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ1EN_MASK)
  32971. #define ENET_QOS_MAC_RXQ_CTRL_PTPQ_MASK (0x70U)
  32972. #define ENET_QOS_MAC_RXQ_CTRL_PTPQ_SHIFT (4U)
  32973. /*! PTPQ - PTP Packets Queue
  32974. * 0b000..Receive Queue 0
  32975. * 0b001..Receive Queue 1
  32976. * 0b010..Receive Queue 2
  32977. * 0b011..Receive Queue 3
  32978. * 0b100..Receive Queue 4
  32979. * 0b101..Reserved
  32980. * 0b110..Reserved
  32981. * 0b111..Reserved
  32982. */
  32983. #define ENET_QOS_MAC_RXQ_CTRL_PTPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PTPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PTPQ_MASK)
  32984. #define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_MASK (0x30U)
  32985. #define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_SHIFT (4U)
  32986. /*! RXQ2EN - Receive Queue 2 Enable This field is similar to the RXQ0EN field.
  32987. * 0b00..Queue not enabled
  32988. * 0b01..Queue enabled for AV
  32989. * 0b10..Queue enabled for DCB/Generic
  32990. * 0b11..Reserved
  32991. */
  32992. #define ENET_QOS_MAC_RXQ_CTRL_RXQ2EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ2EN_MASK)
  32993. #define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_MASK (0xC0U)
  32994. #define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_SHIFT (6U)
  32995. /*! RXQ3EN - Receive Queue 3 Enable This field is similar to the RXQ0EN field.
  32996. * 0b00..Queue not enabled
  32997. * 0b01..Queue enabled for AV
  32998. * 0b10..Queue enabled for DCB/Generic
  32999. * 0b11..Reserved
  33000. */
  33001. #define ENET_QOS_MAC_RXQ_CTRL_RXQ3EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ3EN_MASK)
  33002. #define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_MASK (0x700U)
  33003. #define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_SHIFT (8U)
  33004. /*! DCBCPQ - DCB Control Packets Queue
  33005. * 0b000..Receive Queue 0
  33006. * 0b001..Receive Queue 1
  33007. * 0b010..Receive Queue 2
  33008. * 0b011..Receive Queue 3
  33009. * 0b100..Receive Queue 4
  33010. * 0b101..Reserved
  33011. * 0b110..Reserved
  33012. * 0b111..Reserved
  33013. */
  33014. #define ENET_QOS_MAC_RXQ_CTRL_DCBCPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_DCBCPQ_MASK)
  33015. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_MASK (0xFF00U)
  33016. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ1_SHIFT (8U)
  33017. /*! PSRQ1 - Priorities Selected in the Receive Queue 1
  33018. */
  33019. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ1_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ1_MASK)
  33020. #define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_MASK (0x300U)
  33021. #define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_SHIFT (8U)
  33022. /*! RXQ4EN - Receive Queue 4 Enable This field is similar to the RXQ0EN field.
  33023. * 0b00..Queue not enabled
  33024. * 0b01..Queue enabled for AV
  33025. * 0b10..Queue enabled for DCB/Generic
  33026. * 0b11..Reserved
  33027. */
  33028. #define ENET_QOS_MAC_RXQ_CTRL_RXQ4EN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_RXQ4EN_MASK)
  33029. #define ENET_QOS_MAC_RXQ_CTRL_UPQ_MASK (0x7000U)
  33030. #define ENET_QOS_MAC_RXQ_CTRL_UPQ_SHIFT (12U)
  33031. /*! UPQ - Untagged Packet Queue
  33032. * 0b000..Receive Queue 0
  33033. * 0b001..Receive Queue 1
  33034. * 0b010..Receive Queue 2
  33035. * 0b011..Receive Queue 3
  33036. * 0b100..Receive Queue 4
  33037. * 0b101..Reserved
  33038. * 0b110..Reserved
  33039. * 0b111..Reserved
  33040. */
  33041. #define ENET_QOS_MAC_RXQ_CTRL_UPQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_UPQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_UPQ_MASK)
  33042. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_MASK (0x70000U)
  33043. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQ_SHIFT (16U)
  33044. /*! MCBCQ - Multicast and Broadcast Queue
  33045. * 0b000..Receive Queue 0
  33046. * 0b001..Receive Queue 1
  33047. * 0b010..Receive Queue 2
  33048. * 0b011..Receive Queue 3
  33049. * 0b100..Receive Queue 4
  33050. * 0b101..Reserved
  33051. * 0b110..Reserved
  33052. * 0b111..Reserved
  33053. */
  33054. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_MCBCQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_MCBCQ_MASK)
  33055. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_MASK (0xFF0000U)
  33056. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ2_SHIFT (16U)
  33057. /*! PSRQ2 - Priorities Selected in the Receive Queue 2
  33058. */
  33059. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ2_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ2_MASK)
  33060. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_MASK (0x100000U)
  33061. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_SHIFT (20U)
  33062. /*! MCBCQEN - Multicast and Broadcast Queue Enable This bit specifies that Multicast or Broadcast
  33063. * packets routing to the Rx Queue is enabled and the Multicast or Broadcast packets must be routed
  33064. * to Rx Queue specified in MCBCQ field.
  33065. * 0b0..Multicast and Broadcast Queue is disabled
  33066. * 0b1..Multicast and Broadcast Queue is enabled
  33067. */
  33068. #define ENET_QOS_MAC_RXQ_CTRL_MCBCQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_MCBCQEN_MASK)
  33069. #define ENET_QOS_MAC_RXQ_CTRL_TACPQE_MASK (0x200000U)
  33070. #define ENET_QOS_MAC_RXQ_CTRL_TACPQE_SHIFT (21U)
  33071. /*! TACPQE - Tagged AV Control Packets Queuing Enable.
  33072. * 0b0..Tagged AV Control Packets Queuing is disabled
  33073. * 0b1..Tagged AV Control Packets Queuing is enabled
  33074. */
  33075. #define ENET_QOS_MAC_RXQ_CTRL_TACPQE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_TACPQE_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_TACPQE_MASK)
  33076. #define ENET_QOS_MAC_RXQ_CTRL_TPQC_MASK (0xC00000U)
  33077. #define ENET_QOS_MAC_RXQ_CTRL_TPQC_SHIFT (22U)
  33078. /*! TPQC - Tagged PTP over Ethernet Packets Queuing Control.
  33079. */
  33080. #define ENET_QOS_MAC_RXQ_CTRL_TPQC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_TPQC_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_TPQC_MASK)
  33081. #define ENET_QOS_MAC_RXQ_CTRL_FPRQ_MASK (0x7000000U)
  33082. #define ENET_QOS_MAC_RXQ_CTRL_FPRQ_SHIFT (24U)
  33083. /*! FPRQ - Frame Preemption Residue Queue
  33084. */
  33085. #define ENET_QOS_MAC_RXQ_CTRL_FPRQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_FPRQ_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_FPRQ_MASK)
  33086. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_MASK (0xFF000000U)
  33087. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ3_SHIFT (24U)
  33088. /*! PSRQ3 - Priorities Selected in the Receive Queue 3
  33089. */
  33090. #define ENET_QOS_MAC_RXQ_CTRL_PSRQ3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXQ_CTRL_PSRQ3_SHIFT)) & ENET_QOS_MAC_RXQ_CTRL_PSRQ3_MASK)
  33091. /*! @} */
  33092. /* The count of ENET_QOS_MAC_RXQ_CTRL */
  33093. #define ENET_QOS_MAC_RXQ_CTRL_COUNT (4U)
  33094. /*! @name MAC_INTERRUPT_STATUS - Interrupt Status */
  33095. /*! @{ */
  33096. #define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_MASK (0x1U)
  33097. #define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_SHIFT (0U)
  33098. /*! RGSMIIIS - RGMII or SMII Interrupt Status
  33099. * 0b1..RGMII or SMII Interrupt Status is active
  33100. * 0b0..RGMII or SMII Interrupt Status is not active
  33101. */
  33102. #define ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_RGSMIIIS_MASK)
  33103. #define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_MASK (0x8U)
  33104. #define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_SHIFT (3U)
  33105. /*! PHYIS - PHY Interrupt
  33106. * 0b1..PHY Interrupt detected
  33107. * 0b0..PHY Interrupt not detected
  33108. */
  33109. #define ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_PHYIS_MASK)
  33110. #define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_MASK (0x10U)
  33111. #define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_SHIFT (4U)
  33112. /*! PMTIS - PMT Interrupt Status
  33113. * 0b1..PMT Interrupt status active
  33114. * 0b0..PMT Interrupt status not active
  33115. */
  33116. #define ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_PMTIS_MASK)
  33117. #define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_MASK (0x20U)
  33118. #define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_SHIFT (5U)
  33119. /*! LPIIS - LPI Interrupt Status
  33120. * 0b1..LPI Interrupt status active
  33121. * 0b0..LPI Interrupt status not active
  33122. */
  33123. #define ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_LPIIS_MASK)
  33124. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_MASK (0x100U)
  33125. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_SHIFT (8U)
  33126. /*! MMCIS - MMC Interrupt Status
  33127. * 0b1..MMC Interrupt status active
  33128. * 0b0..MMC Interrupt status not active
  33129. */
  33130. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCIS_MASK)
  33131. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_MASK (0x200U)
  33132. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_SHIFT (9U)
  33133. /*! MMCRXIS - MMC Receive Interrupt Status
  33134. * 0b1..MMC Receive Interrupt status active
  33135. * 0b0..MMC Receive Interrupt status not active
  33136. */
  33137. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIS_MASK)
  33138. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_MASK (0x400U)
  33139. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_SHIFT (10U)
  33140. /*! MMCTXIS - MMC Transmit Interrupt Status
  33141. * 0b1..MMC Transmit Interrupt status active
  33142. * 0b0..MMC Transmit Interrupt status not active
  33143. */
  33144. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCTXIS_MASK)
  33145. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_MASK (0x800U)
  33146. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_SHIFT (11U)
  33147. /*! MMCRXIPIS - MMC Receive Checksum Offload Interrupt Status
  33148. * 0b1..MMC Receive Checksum Offload Interrupt status active
  33149. * 0b0..MMC Receive Checksum Offload Interrupt status not active
  33150. */
  33151. #define ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MMCRXIPIS_MASK)
  33152. #define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_MASK (0x1000U)
  33153. #define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_SHIFT (12U)
  33154. /*! TSIS - Timestamp Interrupt Status
  33155. * 0b1..Timestamp Interrupt status active
  33156. * 0b0..Timestamp Interrupt status not active
  33157. */
  33158. #define ENET_QOS_MAC_INTERRUPT_STATUS_TSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_TSIS_MASK)
  33159. #define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_MASK (0x2000U)
  33160. #define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_SHIFT (13U)
  33161. /*! TXSTSIS - Transmit Status Interrupt
  33162. * 0b1..Transmit Interrupt status active
  33163. * 0b0..Transmit Interrupt status not active
  33164. */
  33165. #define ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_TXSTSIS_MASK)
  33166. #define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_MASK (0x4000U)
  33167. #define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_SHIFT (14U)
  33168. /*! RXSTSIS - Receive Status Interrupt
  33169. * 0b1..Receive Interrupt status active
  33170. * 0b0..Receive Interrupt status not active
  33171. */
  33172. #define ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_RXSTSIS_MASK)
  33173. #define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_MASK (0x20000U)
  33174. #define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_SHIFT (17U)
  33175. /*! FPEIS - Frame Preemption Interrupt Status
  33176. * 0b1..Frame Preemption Interrupt status active
  33177. * 0b0..Frame Preemption Interrupt status not active
  33178. */
  33179. #define ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_FPEIS_MASK)
  33180. #define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_MASK (0x40000U)
  33181. #define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_SHIFT (18U)
  33182. /*! MDIOIS - MDIO Interrupt Status
  33183. * 0b1..MDIO Interrupt status active
  33184. * 0b0..MDIO Interrupt status not active
  33185. */
  33186. #define ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MDIOIS_MASK)
  33187. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_MASK (0x80000U)
  33188. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_SHIFT (19U)
  33189. /*! MFTIS - MMC FPE Transmit Interrupt Status
  33190. * 0b1..MMC FPE Transmit Interrupt status active
  33191. * 0b0..MMC FPE Transmit Interrupt status not active
  33192. */
  33193. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MFTIS_MASK)
  33194. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_MASK (0x100000U)
  33195. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_SHIFT (20U)
  33196. /*! MFRIS - MMC FPE Receive Interrupt Status
  33197. * 0b1..MMC FPE Receive Interrupt status active
  33198. * 0b0..MMC FPE Receive Interrupt status not active
  33199. */
  33200. #define ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_SHIFT)) & ENET_QOS_MAC_INTERRUPT_STATUS_MFRIS_MASK)
  33201. /*! @} */
  33202. /*! @name MAC_INTERRUPT_ENABLE - Interrupt Enable */
  33203. /*! @{ */
  33204. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_MASK (0x1U)
  33205. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_SHIFT (0U)
  33206. /*! RGSMIIIE - RGMII or SMII Interrupt Enable When this bit is set, it enables the assertion of the
  33207. * interrupt signal because of the setting of RGSMIIIS bit in MAC_INTERRUPT_STATUS register.
  33208. * 0b0..RGMII or SMII Interrupt is disabled
  33209. * 0b1..RGMII or SMII Interrupt is enabled
  33210. */
  33211. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_RGSMIIIE_MASK)
  33212. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_MASK (0x8U)
  33213. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_SHIFT (3U)
  33214. /*! PHYIE - PHY Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33215. * signal because of the setting of MAC_INTERRUPT_STATUS[PHYIS].
  33216. * 0b0..PHY Interrupt is disabled
  33217. * 0b1..PHY Interrupt is enabled
  33218. */
  33219. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_PHYIE_MASK)
  33220. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_MASK (0x10U)
  33221. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_SHIFT (4U)
  33222. /*! PMTIE - PMT Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33223. * signal because of the setting of MAC_INTERRUPT_STATUS[PMTIS].
  33224. * 0b0..PMT Interrupt is disabled
  33225. * 0b1..PMT Interrupt is enabled
  33226. */
  33227. #define ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_PMTIE_MASK)
  33228. #define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_MASK (0x20U)
  33229. #define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_SHIFT (5U)
  33230. /*! LPIIE - LPI Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33231. * signal because of the setting of MAC_INTERRUPT_STATUS[LPIIS].
  33232. * 0b0..LPI Interrupt is disabled
  33233. * 0b1..LPI Interrupt is enabled
  33234. */
  33235. #define ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_LPIIE_MASK)
  33236. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_MASK (0x1000U)
  33237. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_SHIFT (12U)
  33238. /*! TSIE - Timestamp Interrupt Enable When this bit is set, it enables the assertion of the
  33239. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TSIS].
  33240. * 0b0..Timestamp Interrupt is disabled
  33241. * 0b1..Timestamp Interrupt is enabled
  33242. */
  33243. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_TSIE_MASK)
  33244. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_MASK (0x2000U)
  33245. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_SHIFT (13U)
  33246. /*! TXSTSIE - Transmit Status Interrupt Enable When this bit is set, it enables the assertion of the
  33247. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[TXSTSIS].
  33248. * 0b0..Timestamp Status Interrupt is disabled
  33249. * 0b1..Timestamp Status Interrupt is enabled
  33250. */
  33251. #define ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_TXSTSIE_MASK)
  33252. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_MASK (0x4000U)
  33253. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_SHIFT (14U)
  33254. /*! RXSTSIE - Receive Status Interrupt Enable When this bit is set, it enables the assertion of the
  33255. * interrupt signal because of the setting of MAC_INTERRUPT_STATUS[RXSTSIS].
  33256. * 0b0..Receive Status Interrupt is disabled
  33257. * 0b1..Receive Status Interrupt is enabled
  33258. */
  33259. #define ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_RXSTSIE_MASK)
  33260. #define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_MASK (0x20000U)
  33261. #define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_SHIFT (17U)
  33262. /*! FPEIE - Frame Preemption Interrupt Enable When this bit is set, it enables the assertion of the
  33263. * interrupt when FPEIS field is set in the MAC_INTERRUPT_STATUS.
  33264. * 0b0..Frame Preemption Interrupt is disabled
  33265. * 0b1..Frame Preemption Interrupt is enabled
  33266. */
  33267. #define ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_FPEIE_MASK)
  33268. #define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_MASK (0x40000U)
  33269. #define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_SHIFT (18U)
  33270. /*! MDIOIE - MDIO Interrupt Enable When this bit is set, it enables the assertion of the interrupt
  33271. * when MDIOIS field is set in the MAC_INTERRUPT_STATUS register.
  33272. * 0b0..MDIO Interrupt is disabled
  33273. * 0b1..MDIO Interrupt is enabled
  33274. */
  33275. #define ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_SHIFT)) & ENET_QOS_MAC_INTERRUPT_ENABLE_MDIOIE_MASK)
  33276. /*! @} */
  33277. /*! @name MAC_RX_TX_STATUS - Receive Transmit Status */
  33278. /*! @{ */
  33279. #define ENET_QOS_MAC_RX_TX_STATUS_TJT_MASK (0x1U)
  33280. #define ENET_QOS_MAC_RX_TX_STATUS_TJT_SHIFT (0U)
  33281. /*! TJT - Transmit Jabber Timeout This bit indicates that the Transmit Jabber Timer expired which
  33282. * happens when the packet size exceeds 2,048 bytes (10,240 bytes when the Jumbo packet is enabled)
  33283. * and JD bit is reset in the MAC_CONFIGURATION register.
  33284. * 0b1..Transmit Jabber Timeout occurred
  33285. * 0b0..No Transmit Jabber Timeout
  33286. */
  33287. #define ENET_QOS_MAC_RX_TX_STATUS_TJT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_TJT_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_TJT_MASK)
  33288. #define ENET_QOS_MAC_RX_TX_STATUS_NCARR_MASK (0x2U)
  33289. #define ENET_QOS_MAC_RX_TX_STATUS_NCARR_SHIFT (1U)
  33290. /*! NCARR - No Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33291. * indicates that the carrier signal from the PHY is not present at the end of preamble transmission.
  33292. * 0b1..No carrier
  33293. * 0b0..Carrier is present
  33294. */
  33295. #define ENET_QOS_MAC_RX_TX_STATUS_NCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_NCARR_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_NCARR_MASK)
  33296. #define ENET_QOS_MAC_RX_TX_STATUS_LCARR_MASK (0x4U)
  33297. #define ENET_QOS_MAC_RX_TX_STATUS_LCARR_SHIFT (2U)
  33298. /*! LCARR - Loss of Carrier When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33299. * indicates that the loss of carrier occurred during packet transmission, that is, the phy_crs_i
  33300. * signal was inactive for one or more transmission clock periods during packet transmission.
  33301. * 0b1..Loss of carrier
  33302. * 0b0..Carrier is present
  33303. */
  33304. #define ENET_QOS_MAC_RX_TX_STATUS_LCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_LCARR_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_LCARR_MASK)
  33305. #define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_MASK (0x8U)
  33306. #define ENET_QOS_MAC_RX_TX_STATUS_EXDEF_SHIFT (3U)
  33307. /*! EXDEF - Excessive Deferral When the DTXSTS bit is set in the MAC_OPERATION_MODE register and the
  33308. * DC bit is set in the MAC_CONFIGURATION register, this bit indicates that the transmission
  33309. * ended because of excessive deferral of over 24,288 bit times (155,680 in 1000/2500 Mbps mode or
  33310. * when Jumbo packet is enabled).
  33311. * 0b1..Excessive deferral
  33312. * 0b0..No Excessive deferral
  33313. */
  33314. #define ENET_QOS_MAC_RX_TX_STATUS_EXDEF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_EXDEF_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_EXDEF_MASK)
  33315. #define ENET_QOS_MAC_RX_TX_STATUS_LCOL_MASK (0x10U)
  33316. #define ENET_QOS_MAC_RX_TX_STATUS_LCOL_SHIFT (4U)
  33317. /*! LCOL - Late Collision When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this bit
  33318. * indicates that the packet transmission aborted because a collision occurred after the collision
  33319. * window (64 bytes including Preamble in MII mode; 512 bytes including Preamble and Carrier
  33320. * Extension in GMII mode).
  33321. * 0b1..Late collision is sensed
  33322. * 0b0..No collision
  33323. */
  33324. #define ENET_QOS_MAC_RX_TX_STATUS_LCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_LCOL_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_LCOL_MASK)
  33325. #define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_MASK (0x20U)
  33326. #define ENET_QOS_MAC_RX_TX_STATUS_EXCOL_SHIFT (5U)
  33327. /*! EXCOL - Excessive Collisions When the DTXSTS bit is set in the MAC_OPERATION_MODE register, this
  33328. * bit indicates that the transmission aborted after 16 successive collisions while attempting
  33329. * to transmit the current packet.
  33330. * 0b1..Excessive collision is sensed
  33331. * 0b0..No collision
  33332. */
  33333. #define ENET_QOS_MAC_RX_TX_STATUS_EXCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_EXCOL_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_EXCOL_MASK)
  33334. #define ENET_QOS_MAC_RX_TX_STATUS_RWT_MASK (0x100U)
  33335. #define ENET_QOS_MAC_RX_TX_STATUS_RWT_SHIFT (8U)
  33336. /*! RWT - Receive Watchdog Timeout This bit is set when a packet with length greater than 2,048
  33337. * bytes is received (10, 240 bytes when Jumbo Packet mode is enabled) and the WD bit is reset in the
  33338. * MAC_CONFIGURATION register.
  33339. * 0b1..Receive watchdog timed out
  33340. * 0b0..No receive watchdog timeout
  33341. */
  33342. #define ENET_QOS_MAC_RX_TX_STATUS_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_TX_STATUS_RWT_SHIFT)) & ENET_QOS_MAC_RX_TX_STATUS_RWT_MASK)
  33343. /*! @} */
  33344. /*! @name MAC_PMT_CONTROL_STATUS - PMT Control and Status */
  33345. /*! @{ */
  33346. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_MASK (0x1U)
  33347. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_SHIFT (0U)
  33348. /*! PWRDWN - Power Down When this bit is set, the MAC receiver drops all received packets until it
  33349. * receives the expected magic packet or remote wake-up packet.
  33350. * 0b0..Power down is disabled
  33351. * 0b1..Power down is enabled
  33352. */
  33353. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_PWRDWN_MASK)
  33354. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_MASK (0x2U)
  33355. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_SHIFT (1U)
  33356. /*! MGKPKTEN - Magic Packet Enable When this bit is set, a power management event is generated when the MAC receives a magic packet.
  33357. * 0b0..Magic Packet is disabled
  33358. * 0b1..Magic Packet is enabled
  33359. */
  33360. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPKTEN_MASK)
  33361. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_MASK (0x4U)
  33362. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_SHIFT (2U)
  33363. /*! RWKPKTEN - Remote Wake-Up Packet Enable When this bit is set, a power management event is
  33364. * generated when the MAC receives a remote wake-up packet.
  33365. * 0b0..Remote wake-up packet is disabled
  33366. * 0b1..Remote wake-up packet is enabled
  33367. */
  33368. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPKTEN_MASK)
  33369. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_MASK (0x20U)
  33370. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_SHIFT (5U)
  33371. /*! MGKPRCVD - Magic Packet Received When this bit is set, it indicates that the power management
  33372. * event is generated because of the reception of a magic packet.
  33373. * 0b1..Magic packet is received
  33374. * 0b0..No Magic packet is received
  33375. */
  33376. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_MGKPRCVD_MASK)
  33377. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_MASK (0x40U)
  33378. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_SHIFT (6U)
  33379. /*! RWKPRCVD - Remote Wake-Up Packet Received When this bit is set, it indicates that the power
  33380. * management event is generated because of the reception of a remote wake-up packet.
  33381. * 0b1..Remote wake-up packet is received
  33382. * 0b0..Remote wake-up packet is received
  33383. */
  33384. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPRCVD_MASK)
  33385. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_MASK (0x200U)
  33386. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_SHIFT (9U)
  33387. /*! GLBLUCAST - Global Unicast When this bit set, any unicast packet filtered by the MAC (DAF)
  33388. * address recognition is detected as a remote wake-up packet.
  33389. * 0b0..Global unicast is disabled
  33390. * 0b1..Global unicast is enabled
  33391. */
  33392. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_GLBLUCAST_MASK)
  33393. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_MASK (0x400U)
  33394. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_SHIFT (10U)
  33395. /*! RWKPFE - Remote Wake-up Packet Forwarding Enable When this bit is set along with RWKPKTEN, the
  33396. * MAC receiver drops all received frames until it receives the expected Wake-up frame.
  33397. * 0b0..Remote Wake-up Packet Forwarding is disabled
  33398. * 0b1..Remote Wake-up Packet Forwarding is enabled
  33399. */
  33400. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPFE_MASK)
  33401. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK (0x1F000000U)
  33402. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT (24U)
  33403. /*! RWKPTR - Remote Wake-up FIFO Pointer This field gives the current value (0 to 7, 15, or 31 when
  33404. * 4, 8, or 16 Remote Wake-up Packet Filters are selected) of the Remote Wake-up Packet Filter
  33405. * register pointer.
  33406. */
  33407. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKPTR_MASK)
  33408. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_MASK (0x80000000U)
  33409. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_SHIFT (31U)
  33410. /*! RWKFILTRST - Remote Wake-Up Packet Filter Register Pointer Reset When this bit is set, the
  33411. * remote wake-up packet filter register pointer is reset to 3'b000.
  33412. * 0b0..Remote Wake-Up Packet Filter Register Pointer is not Reset
  33413. * 0b1..Remote Wake-Up Packet Filter Register Pointer is Reset
  33414. */
  33415. #define ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_SHIFT)) & ENET_QOS_MAC_PMT_CONTROL_STATUS_RWKFILTRST_MASK)
  33416. /*! @} */
  33417. /*! @name MAC_RWK_PACKET_FILTER - Remote Wakeup Filter */
  33418. /*! @{ */
  33419. #define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_MASK (0xFFFFFFFFU)
  33420. #define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_SHIFT (0U)
  33421. /*! WKUPFRMFTR - RWK Packet Filter This field contains the various controls of RWK Packet filter.
  33422. */
  33423. #define ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_SHIFT)) & ENET_QOS_MAC_RWK_PACKET_FILTER_WKUPFRMFTR_MASK)
  33424. /*! @} */
  33425. /*! @name MAC_LPI_CONTROL_STATUS - LPI Control and Status */
  33426. /*! @{ */
  33427. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_MASK (0x1U)
  33428. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_SHIFT (0U)
  33429. /*! TLPIEN - Transmit LPI Entry When this bit is set, it indicates that the MAC Transmitter has
  33430. * entered the LPI state because of the setting of the LPIEN bit.
  33431. * 0b1..Transmit LPI entry detected
  33432. * 0b0..Transmit LPI entry not detected
  33433. */
  33434. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEN_MASK)
  33435. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_MASK (0x2U)
  33436. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_SHIFT (1U)
  33437. /*! TLPIEX - Transmit LPI Exit When this bit is set, it indicates that the MAC transmitter exited
  33438. * the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired.
  33439. * 0b1..Transmit LPI exit detected
  33440. * 0b0..Transmit LPI exit not detected
  33441. */
  33442. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIEX_MASK)
  33443. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_MASK (0x4U)
  33444. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_SHIFT (2U)
  33445. /*! RLPIEN - Receive LPI Entry When this bit is set, it indicates that the MAC Receiver has received
  33446. * an LPI pattern and entered the LPI state.
  33447. * 0b1..Receive LPI entry detected
  33448. * 0b0..Receive LPI entry not detected
  33449. */
  33450. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEN_MASK)
  33451. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_MASK (0x8U)
  33452. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_SHIFT (3U)
  33453. /*! RLPIEX - Receive LPI Exit When this bit is set, it indicates that the MAC Receiver has stopped
  33454. * receiving the LPI pattern on the GMII or MII interface, exited the LPI state, and resumed the
  33455. * normal reception.
  33456. * 0b1..Receive LPI exit detected
  33457. * 0b0..Receive LPI exit not detected
  33458. */
  33459. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIEX_MASK)
  33460. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_MASK (0x100U)
  33461. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_SHIFT (8U)
  33462. /*! TLPIST - Transmit LPI State When this bit is set, it indicates that the MAC is transmitting the
  33463. * LPI pattern on the GMII or MII interface.
  33464. * 0b1..Transmit LPI state detected
  33465. * 0b0..Transmit LPI state not detected
  33466. */
  33467. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_TLPIST_MASK)
  33468. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_MASK (0x200U)
  33469. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_SHIFT (9U)
  33470. /*! RLPIST - Receive LPI State When this bit is set, it indicates that the MAC is receiving the LPI
  33471. * pattern on the GMII or MII interface.
  33472. * 0b1..Receive LPI state detected
  33473. * 0b0..Receive LPI state not detected
  33474. */
  33475. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_RLPIST_MASK)
  33476. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_MASK (0x10000U)
  33477. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_SHIFT (16U)
  33478. /*! LPIEN - LPI Enable When this bit is set, it instructs the MAC Transmitter to enter the LPI state.
  33479. * 0b0..LPI state is disabled
  33480. * 0b1..LPI state is enabled
  33481. */
  33482. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIEN_MASK)
  33483. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_MASK (0x20000U)
  33484. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_SHIFT (17U)
  33485. /*! PLS - PHY Link Status This bit indicates the link status of the PHY.
  33486. * 0b0..link is down
  33487. * 0b1..link is okay (UP)
  33488. */
  33489. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_PLS_MASK)
  33490. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_MASK (0x40000U)
  33491. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_SHIFT (18U)
  33492. /*! PLSEN - PHY Link Status Enable This bit enables the link status received on the RGMII, SGMII, or
  33493. * SMII Receive paths to be used for activating the LPI LS TIMER.
  33494. * 0b0..PHY Link Status is disabled
  33495. * 0b1..PHY Link Status is enabled
  33496. */
  33497. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_PLSEN_MASK)
  33498. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_MASK (0x80000U)
  33499. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_SHIFT (19U)
  33500. /*! LPITXA - LPI Tx Automate This bit controls the behavior of the MAC when it is entering or coming
  33501. * out of the LPI mode on the Transmit side.
  33502. * 0b0..LPI Tx Automate is disabled
  33503. * 0b1..LPI Tx Automate is enabled
  33504. */
  33505. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITXA_MASK)
  33506. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_MASK (0x100000U)
  33507. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_SHIFT (20U)
  33508. /*! LPIATE - LPI Timer Enable This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state.
  33509. * 0b0..LPI Timer is disabled
  33510. * 0b1..LPI Timer is enabled
  33511. */
  33512. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPIATE_MASK)
  33513. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_MASK (0x200000U)
  33514. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_SHIFT (21U)
  33515. /*! LPITCSE - LPI Tx Clock Stop Enable When this bit is set, the MAC asserts
  33516. * sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped.
  33517. * 0b0..LPI Tx Clock Stop is disabled
  33518. * 0b1..LPI Tx Clock Stop is enabled
  33519. */
  33520. #define ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_SHIFT)) & ENET_QOS_MAC_LPI_CONTROL_STATUS_LPITCSE_MASK)
  33521. /*! @} */
  33522. /*! @name MAC_LPI_TIMERS_CONTROL - LPI Timers Control */
  33523. /*! @{ */
  33524. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_MASK (0xFFFFU)
  33525. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_SHIFT (0U)
  33526. /*! TWT - LPI TW Timer This field specifies the minimum time (in microseconds) for which the MAC
  33527. * waits after it stops transmitting the LPI pattern to the PHY and before it resumes the normal
  33528. * transmission.
  33529. */
  33530. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_SHIFT)) & ENET_QOS_MAC_LPI_TIMERS_CONTROL_TWT_MASK)
  33531. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_MASK (0x3FF0000U)
  33532. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_SHIFT (16U)
  33533. /*! LST - LPI LS Timer This field specifies the minimum time (in milliseconds) for which the link
  33534. * status from the PHY should be up (OKAY) before the LPI pattern can be transmitted to the PHY.
  33535. */
  33536. #define ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_SHIFT)) & ENET_QOS_MAC_LPI_TIMERS_CONTROL_LST_MASK)
  33537. /*! @} */
  33538. /*! @name MAC_LPI_ENTRY_TIMER - Tx LPI Entry Timer Control */
  33539. /*! @{ */
  33540. #define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_MASK (0xFFFF8U)
  33541. #define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT (3U)
  33542. /*! LPIET - LPI Entry Timer This field specifies the time in microseconds the MAC waits to enter LPI
  33543. * mode, after it has transmitted all the frames.
  33544. */
  33545. #define ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_SHIFT)) & ENET_QOS_MAC_LPI_ENTRY_TIMER_LPIET_MASK)
  33546. /*! @} */
  33547. /*! @name MAC_ONEUS_TIC_COUNTER - One-microsecond Reference Timer */
  33548. /*! @{ */
  33549. #define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_MASK (0xFFFU)
  33550. #define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_SHIFT (0U)
  33551. /*! TIC_1US_CNTR - 1US TIC Counter The application must program this counter so that the number of clock cycles of CSR clock is 1us.
  33552. */
  33553. #define ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_SHIFT)) & ENET_QOS_MAC_ONEUS_TIC_COUNTER_TIC_1US_CNTR_MASK)
  33554. /*! @} */
  33555. /*! @name MAC_PHYIF_CONTROL_STATUS - PHY Interface Control and Status */
  33556. /*! @{ */
  33557. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_MASK (0x1U)
  33558. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_SHIFT (0U)
  33559. /*! TC - Transmit Configuration in RGMII, SGMII, or SMII When set, this bit enables the transmission
  33560. * of duplex mode, link speed, and link up or down information to the PHY in the RGMII, SMII, or
  33561. * SGMII port.
  33562. * 0b0..Disable Transmit Configuration in RGMII, SGMII, or SMII
  33563. * 0b1..Enable Transmit Configuration in RGMII, SGMII, or SMII
  33564. */
  33565. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_TC_MASK)
  33566. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_MASK (0x2U)
  33567. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_SHIFT (1U)
  33568. /*! LUD - Link Up or Down This bit indicates whether the link is up or down during transmission of
  33569. * configuration in the RGMII, SGMII, or SMII interface.
  33570. * 0b0..Link down
  33571. * 0b1..Link up
  33572. */
  33573. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LUD_MASK)
  33574. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_MASK (0x10000U)
  33575. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_SHIFT (16U)
  33576. /*! LNKMOD - Link Mode This bit indicates the current mode of operation of the link.
  33577. * 0b1..Full-duplex mode
  33578. * 0b0..Half-duplex mode
  33579. */
  33580. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKMOD_MASK)
  33581. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK (0x60000U)
  33582. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT (17U)
  33583. /*! LNKSPEED - Link Speed This bit indicates the current speed of the link.
  33584. * 0b10..125 MHz
  33585. * 0b00..2.5 MHz
  33586. * 0b01..25 MHz
  33587. * 0b11..Reserved
  33588. */
  33589. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSPEED_MASK)
  33590. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_MASK (0x80000U)
  33591. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_SHIFT (19U)
  33592. /*! LNKSTS - Link Status This bit indicates whether the link is up (1'b1) or down (1'b0).
  33593. * 0b1..Link up
  33594. * 0b0..Link down
  33595. */
  33596. #define ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_SHIFT)) & ENET_QOS_MAC_PHYIF_CONTROL_STATUS_LNKSTS_MASK)
  33597. /*! @} */
  33598. /*! @name MAC_VERSION - MAC Version */
  33599. /*! @{ */
  33600. #define ENET_QOS_MAC_VERSION_SNPSVER_MASK (0xFFU)
  33601. #define ENET_QOS_MAC_VERSION_SNPSVER_SHIFT (0U)
  33602. /*! SNPSVER - Synopsys-defined Version
  33603. */
  33604. #define ENET_QOS_MAC_VERSION_SNPSVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_SNPSVER_SHIFT)) & ENET_QOS_MAC_VERSION_SNPSVER_MASK)
  33605. #define ENET_QOS_MAC_VERSION_USERVER_MASK (0xFF00U)
  33606. #define ENET_QOS_MAC_VERSION_USERVER_SHIFT (8U)
  33607. /*! USERVER - User-defined Version (8'h10)
  33608. */
  33609. #define ENET_QOS_MAC_VERSION_USERVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_VERSION_USERVER_SHIFT)) & ENET_QOS_MAC_VERSION_USERVER_MASK)
  33610. /*! @} */
  33611. /*! @name MAC_DEBUG - MAC Debug */
  33612. /*! @{ */
  33613. #define ENET_QOS_MAC_DEBUG_RPESTS_MASK (0x1U)
  33614. #define ENET_QOS_MAC_DEBUG_RPESTS_SHIFT (0U)
  33615. /*! RPESTS - MAC GMII or MII Receive Protocol Engine Status When this bit is set, it indicates that
  33616. * the MAC GMII or MII receive protocol engine is actively receiving data, and it is not in the
  33617. * Idle state.
  33618. * 0b1..MAC GMII or MII Receive Protocol Engine Status detected
  33619. * 0b0..MAC GMII or MII Receive Protocol Engine Status not detected
  33620. */
  33621. #define ENET_QOS_MAC_DEBUG_RPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RPESTS_MASK)
  33622. #define ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK (0x6U)
  33623. #define ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT (1U)
  33624. /*! RFCFCSTS - MAC Receive Packet Controller FIFO Status When this bit is set, this field indicates
  33625. * the active state of the small FIFO Read and Write controllers of the MAC Receive Packet
  33626. * Controller module.
  33627. */
  33628. #define ENET_QOS_MAC_DEBUG_RFCFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_RFCFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_RFCFCSTS_MASK)
  33629. #define ENET_QOS_MAC_DEBUG_TPESTS_MASK (0x10000U)
  33630. #define ENET_QOS_MAC_DEBUG_TPESTS_SHIFT (16U)
  33631. /*! TPESTS - MAC GMII or MII Transmit Protocol Engine Status When this bit is set, it indicates that
  33632. * the MAC GMII or MII transmit protocol engine is actively transmitting data, and it is not in
  33633. * the Idle state.
  33634. * 0b1..MAC GMII or MII Transmit Protocol Engine Status detected
  33635. * 0b0..MAC GMII or MII Transmit Protocol Engine Status not detected
  33636. */
  33637. #define ENET_QOS_MAC_DEBUG_TPESTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TPESTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TPESTS_MASK)
  33638. #define ENET_QOS_MAC_DEBUG_TFCSTS_MASK (0x60000U)
  33639. #define ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT (17U)
  33640. /*! TFCSTS - MAC Transmit Packet Controller Status This field indicates the state of the MAC Transmit Packet Controller module.
  33641. * 0b10..Generating and transmitting a Pause control packet (in full-duplex mode)
  33642. * 0b00..Idle state
  33643. * 0b11..Transferring input packet for transmission
  33644. * 0b01..Waiting for one of the following: Status of the previous packet OR IPG or back off period to be over
  33645. */
  33646. #define ENET_QOS_MAC_DEBUG_TFCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_DEBUG_TFCSTS_SHIFT)) & ENET_QOS_MAC_DEBUG_TFCSTS_MASK)
  33647. /*! @} */
  33648. /*! @name MAC_HW_FEAT - Optional Features or Functions 0..Optional Features or Functions 3 */
  33649. /*! @{ */
  33650. #define ENET_QOS_MAC_HW_FEAT_MIISEL_MASK (0x1U)
  33651. #define ENET_QOS_MAC_HW_FEAT_MIISEL_SHIFT (0U)
  33652. /*! MIISEL - 10 or 100 Mbps Support This bit is set to 1 when 10/100 Mbps is selected as the Mode of Operation
  33653. * 0b1..10 or 100 Mbps support
  33654. * 0b0..No 10 or 100 Mbps support
  33655. */
  33656. #define ENET_QOS_MAC_HW_FEAT_MIISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MIISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MIISEL_MASK)
  33657. #define ENET_QOS_MAC_HW_FEAT_NRVF_MASK (0x7U)
  33658. #define ENET_QOS_MAC_HW_FEAT_NRVF_SHIFT (0U)
  33659. /*! NRVF - Number of Extended VLAN Tag Filters Enabled This field indicates the Number of Extended VLAN Tag Filters selected:
  33660. * 0b011..16 Extended Rx VLAN Filters
  33661. * 0b100..24 Extended Rx VLAN Filters
  33662. * 0b101..32 Extended Rx VLAN Filters
  33663. * 0b001..4 Extended Rx VLAN Filters
  33664. * 0b010..8 Extended Rx VLAN Filters
  33665. * 0b000..No Extended Rx VLAN Filters
  33666. * 0b110..Reserved
  33667. */
  33668. #define ENET_QOS_MAC_HW_FEAT_NRVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_NRVF_SHIFT)) & ENET_QOS_MAC_HW_FEAT_NRVF_MASK)
  33669. #define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_MASK (0x1FU)
  33670. #define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_SHIFT (0U)
  33671. /*! RXFIFOSIZE - MTL Receive FIFO Size This field contains the configured value of MTL Rx FIFO in
  33672. * bytes expressed as Log to base 2 minus 7, that is, Log2(RXFIFO_SIZE) -7:
  33673. * 0b00011..1024 bytes
  33674. * 0b00000..128 bytes
  33675. * 0b01010..128 KB
  33676. * 0b00111..16384 bytes
  33677. * 0b00100..2048 bytes
  33678. * 0b00001..256 bytes
  33679. * 0b01011..256 KB
  33680. * 0b01000..32 KB
  33681. * 0b00101..4096 bytes
  33682. * 0b00010..512 bytes
  33683. * 0b01001..64 KB
  33684. * 0b00110..8192 bytes
  33685. * 0b01100..Reserved
  33686. */
  33687. #define ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXFIFOSIZE_MASK)
  33688. #define ENET_QOS_MAC_HW_FEAT_RXQCNT_MASK (0xFU)
  33689. #define ENET_QOS_MAC_HW_FEAT_RXQCNT_SHIFT (0U)
  33690. /*! RXQCNT - Number of MTL Receive Queues This field indicates the number of MTL Receive queues:
  33691. * 0b0000..1 MTL Rx Queue
  33692. * 0b0001..2 MTL Rx Queues
  33693. * 0b0010..3 MTL Rx Queues
  33694. * 0b0011..4 MTL Rx Queues
  33695. * 0b0100..5 MTL Rx Queues
  33696. * 0b0101..Reserved
  33697. * 0b0110..Reserved
  33698. * 0b0111..Reserved
  33699. */
  33700. #define ENET_QOS_MAC_HW_FEAT_RXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXQCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXQCNT_MASK)
  33701. #define ENET_QOS_MAC_HW_FEAT_GMIISEL_MASK (0x2U)
  33702. #define ENET_QOS_MAC_HW_FEAT_GMIISEL_SHIFT (1U)
  33703. /*! GMIISEL - 1000 Mbps Support This bit is set to 1 when 1000 Mbps is selected as the Mode of Operation
  33704. * 0b1..1000 Mbps support
  33705. * 0b0..No 1000 Mbps support
  33706. */
  33707. #define ENET_QOS_MAC_HW_FEAT_GMIISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_GMIISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_GMIISEL_MASK)
  33708. #define ENET_QOS_MAC_HW_FEAT_HDSEL_MASK (0x4U)
  33709. #define ENET_QOS_MAC_HW_FEAT_HDSEL_SHIFT (2U)
  33710. /*! HDSEL - Half-duplex Support This bit is set to 1 when the half-duplex mode is selected
  33711. * 0b1..Half-duplex support
  33712. * 0b0..No Half-duplex support
  33713. */
  33714. #define ENET_QOS_MAC_HW_FEAT_HDSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_HDSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_HDSEL_MASK)
  33715. #define ENET_QOS_MAC_HW_FEAT_PCSSEL_MASK (0x8U)
  33716. #define ENET_QOS_MAC_HW_FEAT_PCSSEL_SHIFT (3U)
  33717. /*! PCSSEL - PCS Registers (TBI, SGMII, or RTBI PHY interface) This bit is set to 1 when the TBI,
  33718. * SGMII, or RTBI PHY interface option is selected
  33719. * 0b1..PCS Registers (TBI, SGMII, or RTBI PHY interface)
  33720. * 0b0..No PCS Registers (TBI, SGMII, or RTBI PHY interface)
  33721. */
  33722. #define ENET_QOS_MAC_HW_FEAT_PCSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PCSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PCSSEL_MASK)
  33723. #define ENET_QOS_MAC_HW_FEAT_CBTISEL_MASK (0x10U)
  33724. #define ENET_QOS_MAC_HW_FEAT_CBTISEL_SHIFT (4U)
  33725. /*! CBTISEL - Queue/Channel based VLAN tag insertion on Tx Enable This bit is set to 1 when the
  33726. * Enable Queue/Channel based VLAN tag insertion on Tx Feature is selected.
  33727. * 0b1..Enable Queue/Channel based VLAN tag insertion on Tx feature is selected
  33728. * 0b0..Enable Queue/Channel based VLAN tag insertion on Tx feature is not selected
  33729. */
  33730. #define ENET_QOS_MAC_HW_FEAT_CBTISEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_CBTISEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_CBTISEL_MASK)
  33731. #define ENET_QOS_MAC_HW_FEAT_VLHASH_MASK (0x10U)
  33732. #define ENET_QOS_MAC_HW_FEAT_VLHASH_SHIFT (4U)
  33733. /*! VLHASH - VLAN Hash Filter Selected This bit is set to 1 when the Enable VLAN Hash Table Based Filtering option is selected
  33734. * 0b1..VLAN Hash Filter selected
  33735. * 0b0..VLAN Hash Filter not selected
  33736. */
  33737. #define ENET_QOS_MAC_HW_FEAT_VLHASH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_VLHASH_SHIFT)) & ENET_QOS_MAC_HW_FEAT_VLHASH_MASK)
  33738. #define ENET_QOS_MAC_HW_FEAT_DVLAN_MASK (0x20U)
  33739. #define ENET_QOS_MAC_HW_FEAT_DVLAN_SHIFT (5U)
  33740. /*! DVLAN - Double VLAN Tag Processing Selected This bit is set to 1 when the Enable Double VLAN Processing Feature is selected.
  33741. * 0b1..Double VLAN option is selected
  33742. * 0b0..Double VLAN option is not selected
  33743. */
  33744. #define ENET_QOS_MAC_HW_FEAT_DVLAN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DVLAN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DVLAN_MASK)
  33745. #define ENET_QOS_MAC_HW_FEAT_SMASEL_MASK (0x20U)
  33746. #define ENET_QOS_MAC_HW_FEAT_SMASEL_SHIFT (5U)
  33747. /*! SMASEL - SMA (MDIO) Interface This bit is set to 1 when the Enable Station Management (MDIO Interface) option is selected
  33748. * 0b1..SMA (MDIO) Interface selected
  33749. * 0b0..SMA (MDIO) Interface not selected
  33750. */
  33751. #define ENET_QOS_MAC_HW_FEAT_SMASEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SMASEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SMASEL_MASK)
  33752. #define ENET_QOS_MAC_HW_FEAT_SPRAM_MASK (0x20U)
  33753. #define ENET_QOS_MAC_HW_FEAT_SPRAM_SHIFT (5U)
  33754. /*! SPRAM - Single Port RAM Enable This bit is set to 1 when the Use single port RAM Feature is selected.
  33755. * 0b1..Single Port RAM feature is selected
  33756. * 0b0..Single Port RAM feature is not selected
  33757. */
  33758. #define ENET_QOS_MAC_HW_FEAT_SPRAM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SPRAM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SPRAM_MASK)
  33759. #define ENET_QOS_MAC_HW_FEAT_RWKSEL_MASK (0x40U)
  33760. #define ENET_QOS_MAC_HW_FEAT_RWKSEL_SHIFT (6U)
  33761. /*! RWKSEL - PMT Remote Wake-up Packet Enable This bit is set to 1 when the Enable Remote Wake-Up Packet Detection option is selected
  33762. * 0b1..PMT Remote Wake-up Packet Enable option is selected
  33763. * 0b0..PMT Remote Wake-up Packet Enable option is not selected
  33764. */
  33765. #define ENET_QOS_MAC_HW_FEAT_RWKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RWKSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RWKSEL_MASK)
  33766. #define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_MASK (0x7C0U)
  33767. #define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_SHIFT (6U)
  33768. /*! TXFIFOSIZE - MTL Transmit FIFO Size This field contains the configured value of MTL Tx FIFO in
  33769. * bytes expressed as Log to base 2 minus 7, that is, Log2(TXFIFO_SIZE) -7:
  33770. * 0b00011..1024 bytes
  33771. * 0b00000..128 bytes
  33772. * 0b01010..128 KB
  33773. * 0b00111..16384 bytes
  33774. * 0b00100..2048 bytes
  33775. * 0b00001..256 bytes
  33776. * 0b01000..32 KB
  33777. * 0b00101..4096 bytes
  33778. * 0b00010..512 bytes
  33779. * 0b01001..64 KB
  33780. * 0b00110..8192 bytes
  33781. * 0b01011..Reserved
  33782. */
  33783. #define ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXFIFOSIZE_MASK)
  33784. #define ENET_QOS_MAC_HW_FEAT_TXQCNT_MASK (0x3C0U)
  33785. #define ENET_QOS_MAC_HW_FEAT_TXQCNT_SHIFT (6U)
  33786. /*! TXQCNT - Number of MTL Transmit Queues This field indicates the number of MTL Transmit queues:
  33787. * 0b0000..1 MTL Tx Queue
  33788. * 0b0001..2 MTL Tx Queues
  33789. * 0b0010..3 MTL Tx Queues
  33790. * 0b0011..4 MTL Tx Queues
  33791. * 0b0100..5 MTL Tx Queues
  33792. * 0b0101..Reserved
  33793. * 0b0110..Reserved
  33794. * 0b0111..Reserved
  33795. */
  33796. #define ENET_QOS_MAC_HW_FEAT_TXQCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXQCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXQCNT_MASK)
  33797. #define ENET_QOS_MAC_HW_FEAT_MGKSEL_MASK (0x80U)
  33798. #define ENET_QOS_MAC_HW_FEAT_MGKSEL_SHIFT (7U)
  33799. /*! MGKSEL - PMT Magic Packet Enable This bit is set to 1 when the Enable Magic Packet Detection option is selected
  33800. * 0b1..PMT Magic Packet Enable option is selected
  33801. * 0b0..PMT Magic Packet Enable option is not selected
  33802. */
  33803. #define ENET_QOS_MAC_HW_FEAT_MGKSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MGKSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MGKSEL_MASK)
  33804. #define ENET_QOS_MAC_HW_FEAT_MMCSEL_MASK (0x100U)
  33805. #define ENET_QOS_MAC_HW_FEAT_MMCSEL_SHIFT (8U)
  33806. /*! MMCSEL - RMON Module Enable This bit is set to 1 when the Enable MAC Management Counters (MMC) option is selected
  33807. * 0b1..RMON Module Enable option is selected
  33808. * 0b0..RMON Module Enable option is not selected
  33809. */
  33810. #define ENET_QOS_MAC_HW_FEAT_MMCSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MMCSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MMCSEL_MASK)
  33811. #define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_MASK (0x200U)
  33812. #define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_SHIFT (9U)
  33813. /*! ARPOFFSEL - ARP Offload Enabled This bit is set to 1 when the Enable IPv4 ARP Offload option is selected
  33814. * 0b1..ARP Offload Enable option is selected
  33815. * 0b0..ARP Offload Enable option is not selected
  33816. */
  33817. #define ENET_QOS_MAC_HW_FEAT_ARPOFFSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ARPOFFSEL_MASK)
  33818. #define ENET_QOS_MAC_HW_FEAT_PDUPSEL_MASK (0x200U)
  33819. #define ENET_QOS_MAC_HW_FEAT_PDUPSEL_SHIFT (9U)
  33820. /*! PDUPSEL - Broadcast/Multicast Packet Duplication This bit is set to 1 when the
  33821. * Broadcast/Multicast Packet Duplication feature is selected.
  33822. * 0b1..Broadcast/Multicast Packet Duplication feature is selected
  33823. * 0b0..Broadcast/Multicast Packet Duplication feature is not selected
  33824. */
  33825. #define ENET_QOS_MAC_HW_FEAT_PDUPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PDUPSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PDUPSEL_MASK)
  33826. #define ENET_QOS_MAC_HW_FEAT_FRPSEL_MASK (0x400U)
  33827. #define ENET_QOS_MAC_HW_FEAT_FRPSEL_SHIFT (10U)
  33828. /*! FRPSEL - Flexible Receive Parser Selected This bit is set to 1 when the Enable Flexible
  33829. * Programmable Receive Parser option is selected.
  33830. * 0b1..Flexible Receive Parser feature is selected
  33831. * 0b0..Flexible Receive Parser feature is not selected
  33832. */
  33833. #define ENET_QOS_MAC_HW_FEAT_FRPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPSEL_MASK)
  33834. #define ENET_QOS_MAC_HW_FEAT_FRPBS_MASK (0x1800U)
  33835. #define ENET_QOS_MAC_HW_FEAT_FRPBS_SHIFT (11U)
  33836. /*! FRPBS - Flexible Receive Parser Buffer size This field indicates the supported Max Number of
  33837. * bytes of the packet data to be Parsed by Flexible Receive Parser.
  33838. * 0b01..128 Bytes
  33839. * 0b10..256 Bytes
  33840. * 0b00..64 Bytes
  33841. * 0b11..Reserved
  33842. */
  33843. #define ENET_QOS_MAC_HW_FEAT_FRPBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPBS_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPBS_MASK)
  33844. #define ENET_QOS_MAC_HW_FEAT_OSTEN_MASK (0x800U)
  33845. #define ENET_QOS_MAC_HW_FEAT_OSTEN_SHIFT (11U)
  33846. /*! OSTEN - One-Step Timestamping Enable This bit is set to 1 when the Enable One-Step Timestamp Feature is selected.
  33847. * 0b1..One-Step Timestamping feature is selected
  33848. * 0b0..One-Step Timestamping feature is not selected
  33849. */
  33850. #define ENET_QOS_MAC_HW_FEAT_OSTEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_OSTEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_OSTEN_MASK)
  33851. #define ENET_QOS_MAC_HW_FEAT_PTOEN_MASK (0x1000U)
  33852. #define ENET_QOS_MAC_HW_FEAT_PTOEN_SHIFT (12U)
  33853. /*! PTOEN - PTP Offload Enable This bit is set to 1 when the Enable PTP Timestamp Offload Feature is selected.
  33854. * 0b1..PTP Offload feature is selected
  33855. * 0b0..PTP Offload feature is not selected
  33856. */
  33857. #define ENET_QOS_MAC_HW_FEAT_PTOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PTOEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PTOEN_MASK)
  33858. #define ENET_QOS_MAC_HW_FEAT_RXCHCNT_MASK (0xF000U)
  33859. #define ENET_QOS_MAC_HW_FEAT_RXCHCNT_SHIFT (12U)
  33860. /*! RXCHCNT - Number of DMA Receive Channels This field indicates the number of DMA Receive channels:
  33861. * 0b0000..1 MTL Rx Channel
  33862. * 0b0001..2 MTL Rx Channels
  33863. * 0b0010..3 MTL Rx Channels
  33864. * 0b0011..4 MTL Rx Channels
  33865. * 0b0100..5 MTL Rx Channels
  33866. * 0b0101..Reserved
  33867. * 0b0110..Reserved
  33868. * 0b0111..Reserved
  33869. */
  33870. #define ENET_QOS_MAC_HW_FEAT_RXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXCHCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXCHCNT_MASK)
  33871. #define ENET_QOS_MAC_HW_FEAT_TSSEL_MASK (0x1000U)
  33872. #define ENET_QOS_MAC_HW_FEAT_TSSEL_SHIFT (12U)
  33873. /*! TSSEL - IEEE 1588-2008 Timestamp Enabled This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected
  33874. * 0b1..IEEE 1588-2008 Timestamp Enable option is selected
  33875. * 0b0..IEEE 1588-2008 Timestamp Enable option is not selected
  33876. */
  33877. #define ENET_QOS_MAC_HW_FEAT_TSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSSEL_MASK)
  33878. #define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_MASK (0x2000U)
  33879. #define ENET_QOS_MAC_HW_FEAT_ADVTHWORD_SHIFT (13U)
  33880. /*! ADVTHWORD - IEEE 1588 High Word Register Enable This bit is set to 1 when the Add IEEE 1588 Higher Word Register option is selected
  33881. * 0b1..IEEE 1588 High Word Register option is selected
  33882. * 0b0..IEEE 1588 High Word Register option is not selected
  33883. */
  33884. #define ENET_QOS_MAC_HW_FEAT_ADVTHWORD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADVTHWORD_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADVTHWORD_MASK)
  33885. #define ENET_QOS_MAC_HW_FEAT_EEESEL_MASK (0x2000U)
  33886. #define ENET_QOS_MAC_HW_FEAT_EEESEL_SHIFT (13U)
  33887. /*! EEESEL - Energy Efficient Ethernet Enabled This bit is set to 1 when the Enable Energy Efficient
  33888. * Ethernet (EEE) option is selected
  33889. * 0b1..Energy Efficient Ethernet Enable option is selected
  33890. * 0b0..Energy Efficient Ethernet Enable option is not selected
  33891. */
  33892. #define ENET_QOS_MAC_HW_FEAT_EEESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_EEESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_EEESEL_MASK)
  33893. #define ENET_QOS_MAC_HW_FEAT_FRPES_MASK (0x6000U)
  33894. #define ENET_QOS_MAC_HW_FEAT_FRPES_SHIFT (13U)
  33895. /*! FRPES - Flexible Receive Parser Table Entries size This field indicates the Max Number of Parser
  33896. * Entries supported by Flexible Receive Parser.
  33897. * 0b01..128 Entries
  33898. * 0b10..256 Entries
  33899. * 0b00..64 Entries
  33900. * 0b11..Reserved
  33901. */
  33902. #define ENET_QOS_MAC_HW_FEAT_FRPES(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FRPES_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FRPES_MASK)
  33903. #define ENET_QOS_MAC_HW_FEAT_ADDR64_MASK (0xC000U)
  33904. #define ENET_QOS_MAC_HW_FEAT_ADDR64_SHIFT (14U)
  33905. /*! ADDR64 - Address Width.
  33906. * 0b00..32
  33907. * 0b01..40
  33908. * 0b10..48
  33909. * 0b11..Reserved
  33910. */
  33911. #define ENET_QOS_MAC_HW_FEAT_ADDR64(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADDR64_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADDR64_MASK)
  33912. #define ENET_QOS_MAC_HW_FEAT_TXCOESEL_MASK (0x4000U)
  33913. #define ENET_QOS_MAC_HW_FEAT_TXCOESEL_SHIFT (14U)
  33914. /*! TXCOESEL - Transmit Checksum Offload Enabled This bit is set to 1 when the Enable Transmit
  33915. * TCP/IP Checksum Insertion option is selected
  33916. * 0b1..Transmit Checksum Offload Enable option is selected
  33917. * 0b0..Transmit Checksum Offload Enable option is not selected
  33918. */
  33919. #define ENET_QOS_MAC_HW_FEAT_TXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXCOESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXCOESEL_MASK)
  33920. #define ENET_QOS_MAC_HW_FEAT_DCBEN_MASK (0x10000U)
  33921. #define ENET_QOS_MAC_HW_FEAT_DCBEN_SHIFT (16U)
  33922. /*! DCBEN - DCB Feature Enable This bit is set to 1 when the Enable Data Center Bridging option is selected
  33923. * 0b1..DCB Feature is selected
  33924. * 0b0..DCB Feature is not selected
  33925. */
  33926. #define ENET_QOS_MAC_HW_FEAT_DCBEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DCBEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DCBEN_MASK)
  33927. #define ENET_QOS_MAC_HW_FEAT_ESTSEL_MASK (0x10000U)
  33928. #define ENET_QOS_MAC_HW_FEAT_ESTSEL_SHIFT (16U)
  33929. /*! ESTSEL - Enhancements to Scheduling Traffic Enable This bit is set to 1 when the Enable
  33930. * Enhancements to Scheduling Traffic feature is selected.
  33931. * 0b1..Enable Enhancements to Scheduling Traffic feature is selected
  33932. * 0b0..Enable Enhancements to Scheduling Traffic feature is not selected
  33933. */
  33934. #define ENET_QOS_MAC_HW_FEAT_ESTSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTSEL_MASK)
  33935. #define ENET_QOS_MAC_HW_FEAT_RXCOESEL_MASK (0x10000U)
  33936. #define ENET_QOS_MAC_HW_FEAT_RXCOESEL_SHIFT (16U)
  33937. /*! RXCOESEL - Receive Checksum Offload Enabled This bit is set to 1 when the Enable Receive TCP/IP Checksum Check option is selected
  33938. * 0b1..Receive Checksum Offload Enable option is selected
  33939. * 0b0..Receive Checksum Offload Enable option is not selected
  33940. */
  33941. #define ENET_QOS_MAC_HW_FEAT_RXCOESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RXCOESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RXCOESEL_MASK)
  33942. #define ENET_QOS_MAC_HW_FEAT_ESTDEP_MASK (0xE0000U)
  33943. #define ENET_QOS_MAC_HW_FEAT_ESTDEP_SHIFT (17U)
  33944. /*! ESTDEP - Depth of the Gate Control List This field indicates the depth of Gate Control list expressed as Log2(DWC_EQOS_EST_DEP)-5
  33945. * 0b101..1024
  33946. * 0b010..128
  33947. * 0b011..256
  33948. * 0b100..512
  33949. * 0b001..64
  33950. * 0b000..No Depth configured
  33951. * 0b110..Reserved
  33952. */
  33953. #define ENET_QOS_MAC_HW_FEAT_ESTDEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTDEP_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTDEP_MASK)
  33954. #define ENET_QOS_MAC_HW_FEAT_SPHEN_MASK (0x20000U)
  33955. #define ENET_QOS_MAC_HW_FEAT_SPHEN_SHIFT (17U)
  33956. /*! SPHEN - Split Header Feature Enable This bit is set to 1 when the Enable Split Header Structure option is selected
  33957. * 0b1..Split Header Feature is selected
  33958. * 0b0..Split Header Feature is not selected
  33959. */
  33960. #define ENET_QOS_MAC_HW_FEAT_SPHEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SPHEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SPHEN_MASK)
  33961. #define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_MASK (0x7C0000U)
  33962. #define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_SHIFT (18U)
  33963. /*! ADDMACADRSEL - MAC Addresses 1-31 Selected This bit is set to 1 when the non-zero value is
  33964. * selected for Enable Additional 1-31 MAC Address Registers option
  33965. */
  33966. #define ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ADDMACADRSEL_MASK)
  33967. #define ENET_QOS_MAC_HW_FEAT_TSOEN_MASK (0x40000U)
  33968. #define ENET_QOS_MAC_HW_FEAT_TSOEN_SHIFT (18U)
  33969. /*! TSOEN - TCP Segmentation Offload Enable This bit is set to 1 when the Enable TCP Segmentation
  33970. * Offloading for TCP/IP Packets option is selected
  33971. * 0b1..TCP Segmentation Offload Feature is selected
  33972. * 0b0..TCP Segmentation Offload Feature is not selected
  33973. */
  33974. #define ENET_QOS_MAC_HW_FEAT_TSOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSOEN_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSOEN_MASK)
  33975. #define ENET_QOS_MAC_HW_FEAT_TXCHCNT_MASK (0x3C0000U)
  33976. #define ENET_QOS_MAC_HW_FEAT_TXCHCNT_SHIFT (18U)
  33977. /*! TXCHCNT - Number of DMA Transmit Channels This field indicates the number of DMA Transmit channels:
  33978. * 0b0000..1 MTL Tx Channel
  33979. * 0b0001..2 MTL Tx Channels
  33980. * 0b0010..3 MTL Tx Channels
  33981. * 0b0011..4 MTL Tx Channels
  33982. * 0b0100..5 MTL Tx Channels
  33983. * 0b0101..Reserved
  33984. * 0b0110..Reserved
  33985. * 0b0111..Reserved
  33986. */
  33987. #define ENET_QOS_MAC_HW_FEAT_TXCHCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TXCHCNT_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TXCHCNT_MASK)
  33988. #define ENET_QOS_MAC_HW_FEAT_DBGMEMA_MASK (0x80000U)
  33989. #define ENET_QOS_MAC_HW_FEAT_DBGMEMA_SHIFT (19U)
  33990. /*! DBGMEMA - DMA Debug Registers Enable This bit is set to 1 when the Debug Mode Enable option is selected
  33991. * 0b1..DMA Debug Registers option is selected
  33992. * 0b0..DMA Debug Registers option is not selected
  33993. */
  33994. #define ENET_QOS_MAC_HW_FEAT_DBGMEMA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_DBGMEMA_SHIFT)) & ENET_QOS_MAC_HW_FEAT_DBGMEMA_MASK)
  33995. #define ENET_QOS_MAC_HW_FEAT_AVSEL_MASK (0x100000U)
  33996. #define ENET_QOS_MAC_HW_FEAT_AVSEL_SHIFT (20U)
  33997. /*! AVSEL - AV Feature Enable This bit is set to 1 when the Enable Audio Video Bridging option is selected.
  33998. * 0b1..AV Feature is selected
  33999. * 0b0..AV Feature is not selected
  34000. */
  34001. #define ENET_QOS_MAC_HW_FEAT_AVSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_AVSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_AVSEL_MASK)
  34002. #define ENET_QOS_MAC_HW_FEAT_ESTWID_MASK (0x300000U)
  34003. #define ENET_QOS_MAC_HW_FEAT_ESTWID_SHIFT (20U)
  34004. /*! ESTWID - Width of the Time Interval field in the Gate Control List This field indicates the
  34005. * width of the Configured Time Interval Field
  34006. * 0b00..Width not configured
  34007. * 0b01..16
  34008. * 0b10..20
  34009. * 0b11..24
  34010. */
  34011. #define ENET_QOS_MAC_HW_FEAT_ESTWID(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ESTWID_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ESTWID_MASK)
  34012. #define ENET_QOS_MAC_HW_FEAT_RAVSEL_MASK (0x200000U)
  34013. #define ENET_QOS_MAC_HW_FEAT_RAVSEL_SHIFT (21U)
  34014. /*! RAVSEL - Rx Side Only AV Feature Enable This bit is set to 1 when the Enable Audio Video
  34015. * Bridging option on Rx Side Only is selected.
  34016. * 0b1..Rx Side Only AV Feature is selected
  34017. * 0b0..Rx Side Only AV Feature is not selected
  34018. */
  34019. #define ENET_QOS_MAC_HW_FEAT_RAVSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_RAVSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_RAVSEL_MASK)
  34020. #define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_MASK (0x800000U)
  34021. #define ENET_QOS_MAC_HW_FEAT_MACADR32SEL_SHIFT (23U)
  34022. /*! MACADR32SEL - MAC Addresses 32-63 Selected This bit is set to 1 when the Enable Additional 32
  34023. * MAC Address Registers (32-63) option is selected
  34024. * 0b1..MAC Addresses 32-63 Select option is selected
  34025. * 0b0..MAC Addresses 32-63 Select option is not selected
  34026. */
  34027. #define ENET_QOS_MAC_HW_FEAT_MACADR32SEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MACADR32SEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MACADR32SEL_MASK)
  34028. #define ENET_QOS_MAC_HW_FEAT_POUOST_MASK (0x800000U)
  34029. #define ENET_QOS_MAC_HW_FEAT_POUOST_SHIFT (23U)
  34030. /*! POUOST - One Step for PTP over UDP/IP Feature Enable This bit is set to 1 when the Enable One
  34031. * step timestamp for PTP over UDP/IP feature is selected.
  34032. * 0b1..One Step for PTP over UDP/IP Feature is selected
  34033. * 0b0..One Step for PTP over UDP/IP Feature is not selected
  34034. */
  34035. #define ENET_QOS_MAC_HW_FEAT_POUOST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_POUOST_SHIFT)) & ENET_QOS_MAC_HW_FEAT_POUOST_MASK)
  34036. #define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_MASK (0x3000000U)
  34037. #define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_SHIFT (24U)
  34038. /*! HASHTBLSZ - Hash Table Size This field indicates the size of the hash table:
  34039. * 0b10..128
  34040. * 0b11..256
  34041. * 0b01..64
  34042. * 0b00..No hash table
  34043. */
  34044. #define ENET_QOS_MAC_HW_FEAT_HASHTBLSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_SHIFT)) & ENET_QOS_MAC_HW_FEAT_HASHTBLSZ_MASK)
  34045. #define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_MASK (0x1000000U)
  34046. #define ENET_QOS_MAC_HW_FEAT_MACADR64SEL_SHIFT (24U)
  34047. /*! MACADR64SEL - MAC Addresses 64-127 Selected This bit is set to 1 when the Enable Additional 64
  34048. * MAC Address Registers (64-127) option is selected
  34049. * 0b1..MAC Addresses 64-127 Select option is selected
  34050. * 0b0..MAC Addresses 64-127 Select option is not selected
  34051. */
  34052. #define ENET_QOS_MAC_HW_FEAT_MACADR64SEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_MACADR64SEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_MACADR64SEL_MASK)
  34053. #define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_MASK (0x7000000U)
  34054. #define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_SHIFT (24U)
  34055. /*! PPSOUTNUM - Number of PPS Outputs This field indicates the number of PPS outputs:
  34056. * 0b001..1 PPS output
  34057. * 0b010..2 PPS output
  34058. * 0b011..3 PPS output
  34059. * 0b100..4 PPS output
  34060. * 0b000..No PPS output
  34061. * 0b101..Reserved
  34062. */
  34063. #define ENET_QOS_MAC_HW_FEAT_PPSOUTNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_PPSOUTNUM_MASK)
  34064. #define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_MASK (0x6000000U)
  34065. #define ENET_QOS_MAC_HW_FEAT_TSSTSSEL_SHIFT (25U)
  34066. /*! TSSTSSEL - Timestamp System Time Source This bit indicates the source of the Timestamp system
  34067. * time: This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected
  34068. * 0b10..Both
  34069. * 0b01..External
  34070. * 0b00..Internal
  34071. * 0b11..Reserved
  34072. */
  34073. #define ENET_QOS_MAC_HW_FEAT_TSSTSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TSSTSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TSSTSSEL_MASK)
  34074. #define ENET_QOS_MAC_HW_FEAT_FPESEL_MASK (0x4000000U)
  34075. #define ENET_QOS_MAC_HW_FEAT_FPESEL_SHIFT (26U)
  34076. /*! FPESEL - Frame Preemption Enable This bit is set to 1 when the Enable Frame preemption feature is selected.
  34077. * 0b1..Frame Preemption Enable feature is selected
  34078. * 0b0..Frame Preemption Enable feature is not selected
  34079. */
  34080. #define ENET_QOS_MAC_HW_FEAT_FPESEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_FPESEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_FPESEL_MASK)
  34081. #define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_MASK (0x78000000U)
  34082. #define ENET_QOS_MAC_HW_FEAT_L3L4FNUM_SHIFT (27U)
  34083. /*! L3L4FNUM - Total number of L3 or L4 Filters This field indicates the total number of L3 or L4 filters:
  34084. * 0b0001..1 L3 or L4 Filter
  34085. * 0b0010..2 L3 or L4 Filters
  34086. * 0b0011..3 L3 or L4 Filters
  34087. * 0b0100..4 L3 or L4 Filters
  34088. * 0b0101..5 L3 or L4 Filters
  34089. * 0b0110..6 L3 or L4 Filters
  34090. * 0b0111..7 L3 or L4 Filters
  34091. * 0b1000..8 L3 or L4 Filters
  34092. * 0b0000..No L3 or L4 Filter
  34093. */
  34094. #define ENET_QOS_MAC_HW_FEAT_L3L4FNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_L3L4FNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_L3L4FNUM_MASK)
  34095. #define ENET_QOS_MAC_HW_FEAT_SAVLANINS_MASK (0x8000000U)
  34096. #define ENET_QOS_MAC_HW_FEAT_SAVLANINS_SHIFT (27U)
  34097. /*! SAVLANINS - Source Address or VLAN Insertion Enable This bit is set to 1 when the Enable SA and
  34098. * VLAN Insertion on Tx option is selected
  34099. * 0b1..Source Address or VLAN Insertion Enable option is selected
  34100. * 0b0..Source Address or VLAN Insertion Enable option is not selected
  34101. */
  34102. #define ENET_QOS_MAC_HW_FEAT_SAVLANINS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_SAVLANINS_SHIFT)) & ENET_QOS_MAC_HW_FEAT_SAVLANINS_MASK)
  34103. #define ENET_QOS_MAC_HW_FEAT_TBSSEL_MASK (0x8000000U)
  34104. #define ENET_QOS_MAC_HW_FEAT_TBSSEL_SHIFT (27U)
  34105. /*! TBSSEL - Time Based Scheduling Enable This bit is set to 1 when the Time Based Scheduling feature is selected.
  34106. * 0b1..Time Based Scheduling Enable feature is selected
  34107. * 0b0..Time Based Scheduling Enable feature is not selected
  34108. */
  34109. #define ENET_QOS_MAC_HW_FEAT_TBSSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_TBSSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_TBSSEL_MASK)
  34110. #define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_MASK (0x70000000U)
  34111. #define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_SHIFT (28U)
  34112. /*! ACTPHYSEL - Active PHY Selected When you have multiple PHY interfaces in your configuration,
  34113. * this field indicates the sampled value of phy_intf_sel_i during reset de-assertion.
  34114. * 0b000..GMII or MII
  34115. * 0b111..RevMII
  34116. * 0b001..RGMII
  34117. * 0b100..RMII
  34118. * 0b101..RTBI
  34119. * 0b010..SGMII
  34120. * 0b110..SMII
  34121. * 0b011..TBI
  34122. */
  34123. #define ENET_QOS_MAC_HW_FEAT_ACTPHYSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ACTPHYSEL_MASK)
  34124. #define ENET_QOS_MAC_HW_FEAT_ASP_MASK (0x30000000U)
  34125. #define ENET_QOS_MAC_HW_FEAT_ASP_SHIFT (28U)
  34126. /*! ASP - Automotive Safety Package Following are the encoding for the different Safety features
  34127. * 0b10..All the Automotive Safety features are selected without the "Parity Port Enable for external interface" feature
  34128. * 0b11..All the Automotive Safety features are selected with the "Parity Port Enable for external interface" feature
  34129. * 0b01..Only "ECC protection for external memory" feature is selected
  34130. * 0b00..No Safety features selected
  34131. */
  34132. #define ENET_QOS_MAC_HW_FEAT_ASP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_ASP_SHIFT)) & ENET_QOS_MAC_HW_FEAT_ASP_MASK)
  34133. #define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_MASK (0x70000000U)
  34134. #define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_SHIFT (28U)
  34135. /*! AUXSNAPNUM - Number of Auxiliary Snapshot Inputs This field indicates the number of auxiliary snapshot inputs:
  34136. * 0b001..1 auxiliary input
  34137. * 0b010..2 auxiliary input
  34138. * 0b011..3 auxiliary input
  34139. * 0b100..4 auxiliary input
  34140. * 0b000..No auxiliary input
  34141. * 0b101..Reserved
  34142. */
  34143. #define ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_SHIFT)) & ENET_QOS_MAC_HW_FEAT_AUXSNAPNUM_MASK)
  34144. /*! @} */
  34145. /* The count of ENET_QOS_MAC_HW_FEAT */
  34146. #define ENET_QOS_MAC_HW_FEAT_COUNT (4U)
  34147. /*! @name MAC_MDIO_ADDRESS - MDIO Address */
  34148. /*! @{ */
  34149. #define ENET_QOS_MAC_MDIO_ADDRESS_GB_MASK (0x1U)
  34150. #define ENET_QOS_MAC_MDIO_ADDRESS_GB_SHIFT (0U)
  34151. /*! GB - GMII Busy The application sets this bit to instruct the SMA to initiate a Read or Write access to the MDIO slave.
  34152. * 0b0..GMII Busy is disabled
  34153. * 0b1..GMII Busy is enabled
  34154. */
  34155. #define ENET_QOS_MAC_MDIO_ADDRESS_GB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GB_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GB_MASK)
  34156. #define ENET_QOS_MAC_MDIO_ADDRESS_C45E_MASK (0x2U)
  34157. #define ENET_QOS_MAC_MDIO_ADDRESS_C45E_SHIFT (1U)
  34158. /*! C45E - Clause 45 PHY Enable When this bit is set, Clause 45 capable PHY is connected to MDIO.
  34159. * 0b0..Clause 45 PHY is disabled
  34160. * 0b1..Clause 45 PHY is enabled
  34161. */
  34162. #define ENET_QOS_MAC_MDIO_ADDRESS_C45E(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_C45E_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_C45E_MASK)
  34163. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_MASK (0x4U)
  34164. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_SHIFT (2U)
  34165. /*! GOC_0 - GMII Operation Command 0 This is the lower bit of the operation command to the PHY or RevMII.
  34166. * 0b0..GMII Operation Command 0 is disabled
  34167. * 0b1..GMII Operation Command 0 is enabled
  34168. */
  34169. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GOC_0_MASK)
  34170. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_MASK (0x8U)
  34171. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_SHIFT (3U)
  34172. /*! GOC_1 - GMII Operation Command 1 This bit is higher bit of the operation command to the PHY or
  34173. * RevMII, GOC_1 and GOC_O is encoded as follows: - 00: Reserved - 01: Write - 10: Post Read
  34174. * Increment Address for Clause 45 PHY - 11: Read When Clause 22 PHY or RevMII is enabled, only Write
  34175. * and Read commands are valid.
  34176. * 0b0..GMII Operation Command 1 is disabled
  34177. * 0b1..GMII Operation Command 1 is enabled
  34178. */
  34179. #define ENET_QOS_MAC_MDIO_ADDRESS_GOC_1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_GOC_1_MASK)
  34180. #define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_MASK (0x10U)
  34181. #define ENET_QOS_MAC_MDIO_ADDRESS_SKAP_SHIFT (4U)
  34182. /*! SKAP - Skip Address Packet When this bit is set, the SMA does not send the address packets
  34183. * before read, write, or post-read increment address packets.
  34184. * 0b0..Skip Address Packet is disabled
  34185. * 0b1..Skip Address Packet is enabled
  34186. */
  34187. #define ENET_QOS_MAC_MDIO_ADDRESS_SKAP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_SKAP_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_SKAP_MASK)
  34188. #define ENET_QOS_MAC_MDIO_ADDRESS_CR_MASK (0xF00U)
  34189. #define ENET_QOS_MAC_MDIO_ADDRESS_CR_SHIFT (8U)
  34190. /*! CR - CSR Clock Range The CSR Clock Range selection determines the frequency of the MDC clock
  34191. * according to the CSR clock frequency used in your design: - 0000: CSR clock = 60-100 MHz; MDC
  34192. * clock = CSR clock/42 - 0001: CSR clock = 100-150 MHz; MDC clock = CSR clock/62 - 0010: CSR clock
  34193. * = 20-35 MHz; MDC clock = CSR clock/16 - 0011: CSR clock = 35-60 MHz; MDC clock = CSR clock/26
  34194. * - 0100: CSR clock = 150-250 MHz; MDC clock = CSR clock/102 - 0101: CSR clock = 250-300 MHz;
  34195. * MDC clock = CSR clock/124 - 0110: CSR clock = 300-500 MHz; MDC clock = CSR clock/204 - 0111: CSR
  34196. * clock = 500-800 MHz; MDC clock = CSR clock/324 The suggested range of CSR clock frequency
  34197. * applicable for each value (when Bit 11 = 0) ensures that the MDC clock is approximately between 1.
  34198. */
  34199. #define ENET_QOS_MAC_MDIO_ADDRESS_CR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_CR_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_CR_MASK)
  34200. #define ENET_QOS_MAC_MDIO_ADDRESS_NTC_MASK (0x7000U)
  34201. #define ENET_QOS_MAC_MDIO_ADDRESS_NTC_SHIFT (12U)
  34202. /*! NTC - Number of Trailing Clocks This field controls the number of trailing clock cycles
  34203. * generated on gmii_mdc_o (MDC) after the end of transmission of MDIO frame.
  34204. */
  34205. #define ENET_QOS_MAC_MDIO_ADDRESS_NTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_NTC_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_NTC_MASK)
  34206. #define ENET_QOS_MAC_MDIO_ADDRESS_RDA_MASK (0x1F0000U)
  34207. #define ENET_QOS_MAC_MDIO_ADDRESS_RDA_SHIFT (16U)
  34208. /*! RDA - Register/Device Address These bits select the PHY register in selected Clause 22 PHY device.
  34209. */
  34210. #define ENET_QOS_MAC_MDIO_ADDRESS_RDA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_RDA_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_RDA_MASK)
  34211. #define ENET_QOS_MAC_MDIO_ADDRESS_PA_MASK (0x3E00000U)
  34212. #define ENET_QOS_MAC_MDIO_ADDRESS_PA_SHIFT (21U)
  34213. /*! PA - Physical Layer Address This field indicates which Clause 22 PHY devices (out of 32 devices) the MAC is accessing.
  34214. */
  34215. #define ENET_QOS_MAC_MDIO_ADDRESS_PA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_PA_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_PA_MASK)
  34216. #define ENET_QOS_MAC_MDIO_ADDRESS_BTB_MASK (0x4000000U)
  34217. #define ENET_QOS_MAC_MDIO_ADDRESS_BTB_SHIFT (26U)
  34218. /*! BTB - Back to Back transactions When this bit is set and the NTC has value greater than 0, then
  34219. * the MAC informs the completion of a read or write command at the end of frame transfer (before
  34220. * the trailing clocks are transmitted).
  34221. * 0b0..Back to Back transactions disabled
  34222. * 0b1..Back to Back transactions enabled
  34223. */
  34224. #define ENET_QOS_MAC_MDIO_ADDRESS_BTB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_BTB_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_BTB_MASK)
  34225. #define ENET_QOS_MAC_MDIO_ADDRESS_PSE_MASK (0x8000000U)
  34226. #define ENET_QOS_MAC_MDIO_ADDRESS_PSE_SHIFT (27U)
  34227. /*! PSE - Preamble Suppression Enable When this bit is set, the SMA suppresses the 32-bit preamble
  34228. * and transmits MDIO frames with only 1 preamble bit.
  34229. * 0b0..Preamble Suppression disabled
  34230. * 0b1..Preamble Suppression enabled
  34231. */
  34232. #define ENET_QOS_MAC_MDIO_ADDRESS_PSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_ADDRESS_PSE_SHIFT)) & ENET_QOS_MAC_MDIO_ADDRESS_PSE_MASK)
  34233. /*! @} */
  34234. /*! @name MAC_MDIO_DATA - MAC MDIO Data */
  34235. /*! @{ */
  34236. #define ENET_QOS_MAC_MDIO_DATA_GD_MASK (0xFFFFU)
  34237. #define ENET_QOS_MAC_MDIO_DATA_GD_SHIFT (0U)
  34238. /*! GD - GMII Data This field contains the 16-bit data value read from the PHY or RevMII after a
  34239. * Management Read operation or the 16-bit data value to be written to the PHY or RevMII before a
  34240. * Management Write operation.
  34241. */
  34242. #define ENET_QOS_MAC_MDIO_DATA_GD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_DATA_GD_SHIFT)) & ENET_QOS_MAC_MDIO_DATA_GD_MASK)
  34243. #define ENET_QOS_MAC_MDIO_DATA_RA_MASK (0xFFFF0000U)
  34244. #define ENET_QOS_MAC_MDIO_DATA_RA_SHIFT (16U)
  34245. /*! RA - Register Address This field is valid only when C45E is set.
  34246. */
  34247. #define ENET_QOS_MAC_MDIO_DATA_RA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MDIO_DATA_RA_SHIFT)) & ENET_QOS_MAC_MDIO_DATA_RA_MASK)
  34248. /*! @} */
  34249. /*! @name MAC_CSR_SW_CTRL - CSR Software Control */
  34250. /*! @{ */
  34251. #define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_MASK (0x1U)
  34252. #define ENET_QOS_MAC_CSR_SW_CTRL_RCWE_SHIFT (0U)
  34253. /*! RCWE - Register Clear on Write 1 Enable When this bit is set, the access mode of some register
  34254. * fields changes to Clear on Write 1, the application needs to set that respective bit to 1 to
  34255. * clear it.
  34256. * 0b0..Register Clear on Write 1 is disabled
  34257. * 0b1..Register Clear on Write 1 is enabled
  34258. */
  34259. #define ENET_QOS_MAC_CSR_SW_CTRL_RCWE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_CSR_SW_CTRL_RCWE_SHIFT)) & ENET_QOS_MAC_CSR_SW_CTRL_RCWE_MASK)
  34260. /*! @} */
  34261. /*! @name MAC_FPE_CTRL_STS - Frame Preemption Control */
  34262. /*! @{ */
  34263. #define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_MASK (0x1U)
  34264. #define ENET_QOS_MAC_FPE_CTRL_STS_EFPE_SHIFT (0U)
  34265. /*! EFPE - Enable Tx Frame Preemption When set Frame Preemption Tx functionality is enabled.
  34266. * 0b0..Tx Frame Preemption is disabled
  34267. * 0b1..Tx Frame Preemption is enabled
  34268. */
  34269. #define ENET_QOS_MAC_FPE_CTRL_STS_EFPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_EFPE_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_EFPE_MASK)
  34270. #define ENET_QOS_MAC_FPE_CTRL_STS_SVER_MASK (0x2U)
  34271. #define ENET_QOS_MAC_FPE_CTRL_STS_SVER_SHIFT (1U)
  34272. /*! SVER - Send Verify mPacket When set indicates hardware to send a verify mPacket.
  34273. * 0b0..Send Verify mPacket is disabled
  34274. * 0b1..Send Verify mPacket is enabled
  34275. */
  34276. #define ENET_QOS_MAC_FPE_CTRL_STS_SVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_SVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_SVER_MASK)
  34277. #define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_MASK (0x4U)
  34278. #define ENET_QOS_MAC_FPE_CTRL_STS_SRSP_SHIFT (2U)
  34279. /*! SRSP - Send Respond mPacket When set indicates hardware to send a Respond mPacket.
  34280. * 0b0..Send Respond mPacket is disabled
  34281. * 0b1..Send Respond mPacket is enabled
  34282. */
  34283. #define ENET_QOS_MAC_FPE_CTRL_STS_SRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_SRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_SRSP_MASK)
  34284. #define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_MASK (0x8U)
  34285. #define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_SHIFT (3U)
  34286. /*! S1_SET_0 - Synopsys Reserved, Must be set to "0".
  34287. */
  34288. #define ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_S1_SET_0_MASK)
  34289. #define ENET_QOS_MAC_FPE_CTRL_STS_RVER_MASK (0x10000U)
  34290. #define ENET_QOS_MAC_FPE_CTRL_STS_RVER_SHIFT (16U)
  34291. /*! RVER - Received Verify Frame Set when a Verify mPacket is received.
  34292. * 0b1..Received Verify Frame
  34293. * 0b0..Not received Verify Frame
  34294. */
  34295. #define ENET_QOS_MAC_FPE_CTRL_STS_RVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_RVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_RVER_MASK)
  34296. #define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_MASK (0x20000U)
  34297. #define ENET_QOS_MAC_FPE_CTRL_STS_RRSP_SHIFT (17U)
  34298. /*! RRSP - Received Respond Frame Set when a Respond mPacket is received.
  34299. * 0b1..Received Respond Frame
  34300. * 0b0..Not received Respond Frame
  34301. */
  34302. #define ENET_QOS_MAC_FPE_CTRL_STS_RRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_RRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_RRSP_MASK)
  34303. #define ENET_QOS_MAC_FPE_CTRL_STS_TVER_MASK (0x40000U)
  34304. #define ENET_QOS_MAC_FPE_CTRL_STS_TVER_SHIFT (18U)
  34305. /*! TVER - Transmitted Verify Frame Set when a Verify mPacket is transmitted (triggered by setting SVER field).
  34306. * 0b1..transmitted Verify Frame
  34307. * 0b0..Not transmitted Verify Frame
  34308. */
  34309. #define ENET_QOS_MAC_FPE_CTRL_STS_TVER(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_TVER_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_TVER_MASK)
  34310. #define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_MASK (0x80000U)
  34311. #define ENET_QOS_MAC_FPE_CTRL_STS_TRSP_SHIFT (19U)
  34312. /*! TRSP - Transmitted Respond Frame Set when a Respond mPacket is transmitted (triggered by setting SRSP field).
  34313. * 0b1..transmitted Respond Frame
  34314. * 0b0..Not transmitted Respond Frame
  34315. */
  34316. #define ENET_QOS_MAC_FPE_CTRL_STS_TRSP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_FPE_CTRL_STS_TRSP_SHIFT)) & ENET_QOS_MAC_FPE_CTRL_STS_TRSP_MASK)
  34317. /*! @} */
  34318. /*! @name MAC_PRESN_TIME_NS - 32-bit Binary Rollover Equivalent Time */
  34319. /*! @{ */
  34320. #define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_MASK (0xFFFFFFFFU)
  34321. #define ENET_QOS_MAC_PRESN_TIME_NS_MPTN_SHIFT (0U)
  34322. /*! MPTN - MAC 1722 Presentation Time in ns These bits indicate the value of the 32-bit binary
  34323. * rollover equivalent time of the PTP System Time in ns
  34324. */
  34325. #define ENET_QOS_MAC_PRESN_TIME_NS_MPTN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PRESN_TIME_NS_MPTN_SHIFT)) & ENET_QOS_MAC_PRESN_TIME_NS_MPTN_MASK)
  34326. /*! @} */
  34327. /*! @name MAC_PRESN_TIME_UPDT - MAC 1722 Presentation Time */
  34328. /*! @{ */
  34329. #define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_MASK (0xFFFFFFFFU)
  34330. #define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_SHIFT (0U)
  34331. /*! MPTU - MAC 1722 Presentation Time Update This field holds the init value or the update value for the presentation time.
  34332. */
  34333. #define ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_SHIFT)) & ENET_QOS_MAC_PRESN_TIME_UPDT_MPTU_MASK)
  34334. /*! @} */
  34335. /*! @name HIGH - MAC Address0 High..MAC Address63 High */
  34336. /*! @{ */
  34337. #define ENET_QOS_HIGH_ADDRHI_MASK (0xFFFFU)
  34338. #define ENET_QOS_HIGH_ADDRHI_SHIFT (0U)
  34339. /*! ADDRHI - MAC ADDRESS32 [47:32] This field contains the upper 16 bits (47:32) of the 33rd 6-byte MAC address.
  34340. */
  34341. #define ENET_QOS_HIGH_ADDRHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_ADDRHI_SHIFT)) & ENET_QOS_HIGH_ADDRHI_MASK)
  34342. #define ENET_QOS_HIGH_DCS_MASK (0x1F0000U) /* Merged from fields with different position or width, of widths (3, 5), largest definition used */
  34343. #define ENET_QOS_HIGH_DCS_SHIFT (16U)
  34344. /*! DCS - DMA Channel Select If the PDC bit of MAC_EXT_CONFIGURATION register is not set: This field
  34345. * contains the binary representation of the DMA Channel number to which an Rx packet whose DA
  34346. * matches the MAC Address(#i) content is routed.
  34347. */
  34348. #define ENET_QOS_HIGH_DCS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_DCS_SHIFT)) & ENET_QOS_HIGH_DCS_MASK) /* Merged from fields with different position or width, of widths (3, 5), largest definition used */
  34349. #define ENET_QOS_HIGH_MBC_MASK (0x3F000000U)
  34350. #define ENET_QOS_HIGH_MBC_SHIFT (24U)
  34351. /*! MBC - Mask Byte Control These bits are mask control bits for comparing each of the MAC Address bytes.
  34352. */
  34353. #define ENET_QOS_HIGH_MBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_MBC_SHIFT)) & ENET_QOS_HIGH_MBC_MASK)
  34354. #define ENET_QOS_HIGH_SA_MASK (0x40000000U)
  34355. #define ENET_QOS_HIGH_SA_SHIFT (30U)
  34356. /*! SA - Source Address When this bit is set, the MAC ADDRESS1[47:0] is used to compare with the SA
  34357. * fields of the received packet.
  34358. * 0b0..Compare with Destination Address
  34359. * 0b1..Compare with Source Address
  34360. */
  34361. #define ENET_QOS_HIGH_SA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_SA_SHIFT)) & ENET_QOS_HIGH_SA_MASK)
  34362. #define ENET_QOS_HIGH_AE_MASK (0x80000000U)
  34363. #define ENET_QOS_HIGH_AE_SHIFT (31U)
  34364. /*! AE - Address Enable When this bit is set, the address filter module uses the second MAC address for perfect filtering.
  34365. * 0b0..INVALID : This bit must be always set to 1
  34366. * 0b1..This bit is always set to 1
  34367. */
  34368. #define ENET_QOS_HIGH_AE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_HIGH_AE_SHIFT)) & ENET_QOS_HIGH_AE_MASK)
  34369. /*! @} */
  34370. /* The count of ENET_QOS_HIGH */
  34371. #define ENET_QOS_HIGH_COUNT (64U)
  34372. /*! @name LOW - MAC Address0 Low..MAC Address63 Low */
  34373. /*! @{ */
  34374. #define ENET_QOS_LOW_ADDRLO_MASK (0xFFFFFFFFU)
  34375. #define ENET_QOS_LOW_ADDRLO_SHIFT (0U)
  34376. /*! ADDRLO - MAC ADDRESS32 [31:0] This field contains the lower 32 bits of the 33rd 6-byte MAC address.
  34377. */
  34378. #define ENET_QOS_LOW_ADDRLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_LOW_ADDRLO_SHIFT)) & ENET_QOS_LOW_ADDRLO_MASK)
  34379. /*! @} */
  34380. /* The count of ENET_QOS_LOW */
  34381. #define ENET_QOS_LOW_COUNT (64U)
  34382. /*! @name MAC_MMC_CONTROL - MMC Control */
  34383. /*! @{ */
  34384. #define ENET_QOS_MAC_MMC_CONTROL_CNTRST_MASK (0x1U)
  34385. #define ENET_QOS_MAC_MMC_CONTROL_CNTRST_SHIFT (0U)
  34386. /*! CNTRST - Counters Reset When this bit is set, all counters are reset.
  34387. * 0b0..Counters are not reset
  34388. * 0b1..All counters are reset
  34389. */
  34390. #define ENET_QOS_MAC_MMC_CONTROL_CNTRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTRST_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTRST_MASK)
  34391. #define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_MASK (0x2U)
  34392. #define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_SHIFT (1U)
  34393. /*! CNTSTOPRO - Counter Stop Rollover When this bit is set, the counter does not roll over to zero after reaching the maximum value.
  34394. * 0b0..Counter Stop Rollover is disabled
  34395. * 0b1..Counter Stop Rollover is enabled
  34396. */
  34397. #define ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTSTOPRO_MASK)
  34398. #define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_MASK (0x4U)
  34399. #define ENET_QOS_MAC_MMC_CONTROL_RSTONRD_SHIFT (2U)
  34400. /*! RSTONRD - Reset on Read When this bit is set, the MMC counters are reset to zero after Read (self-clearing after reset).
  34401. * 0b0..Reset on Read is disabled
  34402. * 0b1..Reset on Read is enabled
  34403. */
  34404. #define ENET_QOS_MAC_MMC_CONTROL_RSTONRD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_RSTONRD_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_RSTONRD_MASK)
  34405. #define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_MASK (0x8U)
  34406. #define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_SHIFT (3U)
  34407. /*! CNTFREEZ - MMC Counter Freeze When this bit is set, it freezes all MMC counters to their current value.
  34408. * 0b0..MMC Counter Freeze is disabled
  34409. * 0b1..MMC Counter Freeze is enabled
  34410. */
  34411. #define ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTFREEZ_MASK)
  34412. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_MASK (0x10U)
  34413. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRST_SHIFT (4U)
  34414. /*! CNTPRST - Counters Preset When this bit is set, all counters are initialized or preset to almost
  34415. * full or almost half according to the CNTPRSTLVL bit.
  34416. * 0b0..Counters Preset is disabled
  34417. * 0b1..Counters Preset is enabled
  34418. */
  34419. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTPRST_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTPRST_MASK)
  34420. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_MASK (0x20U)
  34421. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_SHIFT (5U)
  34422. /*! CNTPRSTLVL - Full-Half Preset When this bit is low and the CNTPRST bit is set, all MMC counters get preset to almost-half value.
  34423. * 0b0..Full-Half Preset is disabled
  34424. * 0b1..Full-Half Preset is enabled
  34425. */
  34426. #define ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_CNTPRSTLVL_MASK)
  34427. #define ENET_QOS_MAC_MMC_CONTROL_UCDBC_MASK (0x100U)
  34428. #define ENET_QOS_MAC_MMC_CONTROL_UCDBC_SHIFT (8U)
  34429. /*! UCDBC - Update MMC Counters for Dropped Broadcast Packets Note: The CNTRST bit has a higher priority than the CNTPRST bit.
  34430. * 0b0..Update MMC Counters for Dropped Broadcast Packets is disabled
  34431. * 0b1..Update MMC Counters for Dropped Broadcast Packets is enabled
  34432. */
  34433. #define ENET_QOS_MAC_MMC_CONTROL_UCDBC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_CONTROL_UCDBC_SHIFT)) & ENET_QOS_MAC_MMC_CONTROL_UCDBC_MASK)
  34434. /*! @} */
  34435. /*! @name MAC_MMC_RX_INTERRUPT - MMC Rx Interrupt */
  34436. /*! @{ */
  34437. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_MASK (0x1U)
  34438. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_SHIFT (0U)
  34439. /*! RXGBPKTIS - MMC Receive Good Bad Packet Counter Interrupt Status This bit is set when the
  34440. * rxpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34441. * 0b1..MMC Receive Good Bad Packet Counter Interrupt Status detected
  34442. * 0b0..MMC Receive Good Bad Packet Counter Interrupt Status not detected
  34443. */
  34444. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBPKTIS_MASK)
  34445. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_MASK (0x2U)
  34446. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_SHIFT (1U)
  34447. /*! RXGBOCTIS - MMC Receive Good Bad Octet Counter Interrupt Status This bit is set when the
  34448. * rxoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34449. * 0b1..MMC Receive Good Bad Octet Counter Interrupt Status detected
  34450. * 0b0..MMC Receive Good Bad Octet Counter Interrupt Status not detected
  34451. */
  34452. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGBOCTIS_MASK)
  34453. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_MASK (0x4U)
  34454. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_SHIFT (2U)
  34455. /*! RXGOCTIS - MMC Receive Good Octet Counter Interrupt Status This bit is set when the
  34456. * rxoctetcount_g counter reaches half of the maximum value or the maximum value.
  34457. * 0b1..MMC Receive Good Octet Counter Interrupt Status detected
  34458. * 0b0..MMC Receive Good Octet Counter Interrupt Status not detected
  34459. */
  34460. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXGOCTIS_MASK)
  34461. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_MASK (0x8U)
  34462. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_SHIFT (3U)
  34463. /*! RXBCGPIS - MMC Receive Broadcast Good Packet Counter Interrupt Status This bit is set when the
  34464. * rxbroadcastpackets_g counter reaches half of the maximum value or the maximum value.
  34465. * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Status detected
  34466. * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Status not detected
  34467. */
  34468. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXBCGPIS_MASK)
  34469. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_MASK (0x10U)
  34470. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_SHIFT (4U)
  34471. /*! RXMCGPIS - MMC Receive Multicast Good Packet Counter Interrupt Status This bit is set when the
  34472. * rxmulticastpackets_g counter reaches half of the maximum value or the maximum value.
  34473. * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Status detected
  34474. * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Status not detected
  34475. */
  34476. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXMCGPIS_MASK)
  34477. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_MASK (0x20U)
  34478. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_SHIFT (5U)
  34479. /*! RXCRCERPIS - MMC Receive CRC Error Packet Counter Interrupt Status This bit is set when the
  34480. * rxcrcerror counter reaches half of the maximum value or the maximum value.
  34481. * 0b1..MMC Receive CRC Error Packet Counter Interrupt Status detected
  34482. * 0b0..MMC Receive CRC Error Packet Counter Interrupt Status not detected
  34483. */
  34484. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCRCERPIS_MASK)
  34485. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_MASK (0x40U)
  34486. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_SHIFT (6U)
  34487. /*! RXALGNERPIS - MMC Receive Alignment Error Packet Counter Interrupt Status This bit is set when
  34488. * the rxalignmenterror counter reaches half of the maximum value or the maximum value.
  34489. * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Status detected
  34490. * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Status not detected
  34491. */
  34492. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXALGNERPIS_MASK)
  34493. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_MASK (0x80U)
  34494. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_SHIFT (7U)
  34495. /*! RXRUNTPIS - MMC Receive Runt Packet Counter Interrupt Status This bit is set when the
  34496. * rxrunterror counter reaches half of the maximum value or the maximum value.
  34497. * 0b1..MMC Receive Runt Packet Counter Interrupt Status detected
  34498. * 0b0..MMC Receive Runt Packet Counter Interrupt Status not detected
  34499. */
  34500. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRUNTPIS_MASK)
  34501. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_MASK (0x100U)
  34502. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_SHIFT (8U)
  34503. /*! RXJABERPIS - MMC Receive Jabber Error Packet Counter Interrupt Status This bit is set when the
  34504. * rxjabbererror counter reaches half of the maximum value or the maximum value.
  34505. * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Status detected
  34506. * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Status not detected
  34507. */
  34508. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXJABERPIS_MASK)
  34509. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_MASK (0x200U)
  34510. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_SHIFT (9U)
  34511. /*! RXUSIZEGPIS - MMC Receive Undersize Good Packet Counter Interrupt Status This bit is set when
  34512. * the rxundersize_g counter reaches half of the maximum value or the maximum value.
  34513. * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Status detected
  34514. * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Status not detected
  34515. */
  34516. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUSIZEGPIS_MASK)
  34517. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_MASK (0x400U)
  34518. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_SHIFT (10U)
  34519. /*! RXOSIZEGPIS - MMC Receive Oversize Good Packet Counter Interrupt Status This bit is set when the
  34520. * rxoversize_g counter reaches half of the maximum value or the maximum value.
  34521. * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Status detected
  34522. * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Status not detected
  34523. */
  34524. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXOSIZEGPIS_MASK)
  34525. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_MASK (0x800U)
  34526. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_SHIFT (11U)
  34527. /*! RX64OCTGBPIS - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status This bit is set
  34528. * when the rx64octets_gb counter reaches half of the maximum value or the maximum value.
  34529. * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status detected
  34530. * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Status not detected
  34531. */
  34532. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX64OCTGBPIS_MASK)
  34533. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MASK (0x1000U)
  34534. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_SHIFT (12U)
  34535. /*! RX65T127OCTGBPIS - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status This bit
  34536. * is set when the rx65to127octets_gb counter reaches half of the maximum value or the maximum
  34537. * value.
  34538. * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected
  34539. * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected
  34540. */
  34541. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX65T127OCTGBPIS_MASK)
  34542. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MASK (0x2000U)
  34543. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_SHIFT (13U)
  34544. /*! RX128T255OCTGBPIS - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status This
  34545. * bit is set when the rx128to255octets_gb counter reaches half of the maximum value or the
  34546. * maximum value.
  34547. * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected
  34548. * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected
  34549. */
  34550. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX128T255OCTGBPIS_MASK)
  34551. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MASK (0x4000U)
  34552. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_SHIFT (14U)
  34553. /*! RX256T511OCTGBPIS - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status This
  34554. * bit is set when the rx256to511octets_gb counter reaches half of the maximum value or the
  34555. * maximum value.
  34556. * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected
  34557. * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected
  34558. */
  34559. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX256T511OCTGBPIS_MASK)
  34560. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MASK (0x8000U)
  34561. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_SHIFT (15U)
  34562. /*! RX512T1023OCTGBPIS - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status This
  34563. * bit is set when the rx512to1023octets_gb counter reaches half of the maximum value or the
  34564. * maximum value.
  34565. * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected
  34566. * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected
  34567. */
  34568. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX512T1023OCTGBPIS_MASK)
  34569. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MASK (0x10000U)
  34570. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_SHIFT (16U)
  34571. /*! RX1024TMAXOCTGBPIS - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status
  34572. * This bit is set when the rx1024tomaxoctets_gb counter reaches half of the maximum value or the
  34573. * maximum value.
  34574. * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected
  34575. * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected
  34576. */
  34577. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RX1024TMAXOCTGBPIS_MASK)
  34578. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_MASK (0x20000U)
  34579. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_SHIFT (17U)
  34580. /*! RXUCGPIS - MMC Receive Unicast Good Packet Counter Interrupt Status This bit is set when the
  34581. * rxunicastpackets_g counter reaches half of the maximum value or the maximum value.
  34582. * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Status detected
  34583. * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Status not detected
  34584. */
  34585. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXUCGPIS_MASK)
  34586. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_MASK (0x40000U)
  34587. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_SHIFT (18U)
  34588. /*! RXLENERPIS - MMC Receive Length Error Packet Counter Interrupt Status This bit is set when the
  34589. * rxlengtherror counter reaches half of the maximum value or the maximum value.
  34590. * 0b1..MMC Receive Length Error Packet Counter Interrupt Status detected
  34591. * 0b0..MMC Receive Length Error Packet Counter Interrupt Status not detected
  34592. */
  34593. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLENERPIS_MASK)
  34594. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_MASK (0x80000U)
  34595. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_SHIFT (19U)
  34596. /*! RXORANGEPIS - MMC Receive Out Of Range Error Packet Counter Interrupt Status.
  34597. * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Status detected
  34598. * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Status not detected
  34599. */
  34600. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXORANGEPIS_MASK)
  34601. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_MASK (0x100000U)
  34602. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_SHIFT (20U)
  34603. /*! RXPAUSPIS - MMC Receive Pause Packet Counter Interrupt Status This bit is set when the
  34604. * rxpausepackets counter reaches half of the maximum value or the maximum value.
  34605. * 0b1..MMC Receive Pause Packet Counter Interrupt Status detected
  34606. * 0b0..MMC Receive Pause Packet Counter Interrupt Status not detected
  34607. */
  34608. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXPAUSPIS_MASK)
  34609. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_MASK (0x200000U)
  34610. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_SHIFT (21U)
  34611. /*! RXFOVPIS - MMC Receive FIFO Overflow Packet Counter Interrupt Status This bit is set when the
  34612. * rxfifooverflow counter reaches half of the maximum value or the maximum value.
  34613. * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Status detected
  34614. * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Status not detected
  34615. */
  34616. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXFOVPIS_MASK)
  34617. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_MASK (0x400000U)
  34618. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_SHIFT (22U)
  34619. /*! RXVLANGBPIS - MMC Receive VLAN Good Bad Packet Counter Interrupt Status This bit is set when the
  34620. * rxvlanpackets_gb counter reaches half of the maximum value or the maximum value.
  34621. * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Status detected
  34622. * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Status not detected
  34623. */
  34624. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXVLANGBPIS_MASK)
  34625. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_MASK (0x800000U)
  34626. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_SHIFT (23U)
  34627. /*! RXWDOGPIS - MMC Receive Watchdog Error Packet Counter Interrupt Status This bit is set when the
  34628. * rxwatchdog error counter reaches half of the maximum value or the maximum value.
  34629. * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Status detected
  34630. * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Status not detected
  34631. */
  34632. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXWDOGPIS_MASK)
  34633. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_MASK (0x1000000U)
  34634. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_SHIFT (24U)
  34635. /*! RXRCVERRPIS - MMC Receive Error Packet Counter Interrupt Status This bit is set when the
  34636. * rxrcverror counter reaches half of the maximum value or the maximum value.
  34637. * 0b1..MMC Receive Error Packet Counter Interrupt Status detected
  34638. * 0b0..MMC Receive Error Packet Counter Interrupt Status not detected
  34639. */
  34640. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXRCVERRPIS_MASK)
  34641. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_MASK (0x2000000U)
  34642. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_SHIFT (25U)
  34643. /*! RXCTRLPIS - MMC Receive Control Packet Counter Interrupt Status This bit is set when the
  34644. * rxctrlpackets_g counter reaches half of the maximum value or the maximum value.
  34645. * 0b1..MMC Receive Control Packet Counter Interrupt Status detected
  34646. * 0b0..MMC Receive Control Packet Counter Interrupt Status not detected
  34647. */
  34648. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXCTRLPIS_MASK)
  34649. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_MASK (0x4000000U)
  34650. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_SHIFT (26U)
  34651. /*! RXLPIUSCIS - MMC Receive LPI microsecond counter interrupt status This bit is set when the
  34652. * Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  34653. * 0b1..MMC Receive LPI microsecond Counter Interrupt Status detected
  34654. * 0b0..MMC Receive LPI microsecond Counter Interrupt Status not detected
  34655. */
  34656. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPIUSCIS_MASK)
  34657. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_MASK (0x8000000U)
  34658. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_SHIFT (27U)
  34659. /*! RXLPITRCIS - MMC Receive LPI transition counter interrupt status This bit is set when the
  34660. * Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  34661. * 0b1..MMC Receive LPI transition Counter Interrupt Status detected
  34662. * 0b0..MMC Receive LPI transition Counter Interrupt Status not detected
  34663. */
  34664. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_RXLPITRCIS_MASK)
  34665. /*! @} */
  34666. /*! @name MAC_MMC_TX_INTERRUPT - MMC Tx Interrupt */
  34667. /*! @{ */
  34668. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_MASK (0x1U)
  34669. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_SHIFT (0U)
  34670. /*! TXGBOCTIS - MMC Transmit Good Bad Octet Counter Interrupt Status This bit is set when the
  34671. * txoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34672. * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Status detected
  34673. * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Status not detected
  34674. */
  34675. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBOCTIS_MASK)
  34676. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_MASK (0x2U)
  34677. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_SHIFT (1U)
  34678. /*! TXGBPKTIS - MMC Transmit Good Bad Packet Counter Interrupt Status This bit is set when the
  34679. * txpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34680. * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Status detected
  34681. * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Status not detected
  34682. */
  34683. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGBPKTIS_MASK)
  34684. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_MASK (0x4U)
  34685. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_SHIFT (2U)
  34686. /*! TXBCGPIS - MMC Transmit Broadcast Good Packet Counter Interrupt Status This bit is set when the
  34687. * txbroadcastpackets_g counter reaches half of the maximum value or the maximum value.
  34688. * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Status detected
  34689. * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Status not detected
  34690. */
  34691. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGPIS_MASK)
  34692. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_MASK (0x8U)
  34693. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_SHIFT (3U)
  34694. /*! TXMCGPIS - MMC Transmit Multicast Good Packet Counter Interrupt Status This bit is set when the
  34695. * txmulticastpackets_g counter reaches half of the maximum value or the maximum value.
  34696. * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Status detected
  34697. * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Status not detected
  34698. */
  34699. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGPIS_MASK)
  34700. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_MASK (0x10U)
  34701. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_SHIFT (4U)
  34702. /*! TX64OCTGBPIS - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status This bit is set
  34703. * when the tx64octets_gb counter reaches half of the maximum value or the maximum value.
  34704. * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status detected
  34705. * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Status not detected
  34706. */
  34707. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX64OCTGBPIS_MASK)
  34708. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MASK (0x20U)
  34709. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_SHIFT (5U)
  34710. /*! TX65T127OCTGBPIS - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status This
  34711. * bit is set when the tx65to127octets_gb counter reaches half the maximum value, and also when it
  34712. * reaches the maximum value.
  34713. * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status detected
  34714. * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Status not detected
  34715. */
  34716. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX65T127OCTGBPIS_MASK)
  34717. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MASK (0x40U)
  34718. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_SHIFT (6U)
  34719. /*! TX128T255OCTGBPIS - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status This
  34720. * bit is set when the tx128to255octets_gb counter reaches half of the maximum value or the
  34721. * maximum value.
  34722. * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status detected
  34723. * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Status not detected
  34724. */
  34725. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX128T255OCTGBPIS_MASK)
  34726. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MASK (0x80U)
  34727. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_SHIFT (7U)
  34728. /*! TX256T511OCTGBPIS - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status This
  34729. * bit is set when the tx256to511octets_gb counter reaches half of the maximum value or the
  34730. * maximum value.
  34731. * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status detected
  34732. * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Status not detected
  34733. */
  34734. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX256T511OCTGBPIS_MASK)
  34735. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MASK (0x100U)
  34736. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_SHIFT (8U)
  34737. /*! TX512T1023OCTGBPIS - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status
  34738. * This bit is set when the tx512to1023octets_gb counter reaches half of the maximum value or the
  34739. * maximum value.
  34740. * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status detected
  34741. * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Status not detected
  34742. */
  34743. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX512T1023OCTGBPIS_MASK)
  34744. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MASK (0x200U)
  34745. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_SHIFT (9U)
  34746. /*! TX1024TMAXOCTGBPIS - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status
  34747. * This bit is set when the tx1024tomaxoctets_gb counter reaches half of the maximum value or
  34748. * the maximum value.
  34749. * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status detected
  34750. * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Status not detected
  34751. */
  34752. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TX1024TMAXOCTGBPIS_MASK)
  34753. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_MASK (0x400U)
  34754. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_SHIFT (10U)
  34755. /*! TXUCGBPIS - MMC Transmit Unicast Good Bad Packet Counter Interrupt Status This bit is set when
  34756. * the txunicastpackets_gb counter reaches half of the maximum value or the maximum value.
  34757. * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status detected
  34758. * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Status not detected
  34759. */
  34760. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUCGBPIS_MASK)
  34761. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_MASK (0x800U)
  34762. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_SHIFT (11U)
  34763. /*! TXMCGBPIS - MMC Transmit Multicast Good Bad Packet Counter Interrupt Status The bit is set when
  34764. * the txmulticastpackets_gb counter reaches half of the maximum value or the maximum value.
  34765. * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status detected
  34766. * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Status not detected
  34767. */
  34768. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCGBPIS_MASK)
  34769. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_MASK (0x1000U)
  34770. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_SHIFT (12U)
  34771. /*! TXBCGBPIS - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status This bit is set when
  34772. * the txbroadcastpackets_gb counter reaches half of the maximum value or the maximum value.
  34773. * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status detected
  34774. * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Status not detected
  34775. */
  34776. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXBCGBPIS_MASK)
  34777. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_MASK (0x2000U)
  34778. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_SHIFT (13U)
  34779. /*! TXUFLOWERPIS - MMC Transmit Underflow Error Packet Counter Interrupt Status This bit is set when
  34780. * the txunderflowerror counter reaches half of the maximum value or the maximum value.
  34781. * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Status detected
  34782. * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Status not detected
  34783. */
  34784. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXUFLOWERPIS_MASK)
  34785. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_MASK (0x4000U)
  34786. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_SHIFT (14U)
  34787. /*! TXSCOLGPIS - MMC Transmit Single Collision Good Packet Counter Interrupt Status This bit is set
  34788. * when the txsinglecol_g counter reaches half of the maximum value or the maximum value.
  34789. * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Status detected
  34790. * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Status not detected
  34791. */
  34792. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXSCOLGPIS_MASK)
  34793. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_MASK (0x8000U)
  34794. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_SHIFT (15U)
  34795. /*! TXMCOLGPIS - MMC Transmit Multiple Collision Good Packet Counter Interrupt Status This bit is
  34796. * set when the txmulticol_g counter reaches half of the maximum value or the maximum value.
  34797. * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status detected
  34798. * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Status not detected
  34799. */
  34800. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXMCOLGPIS_MASK)
  34801. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_MASK (0x10000U)
  34802. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_SHIFT (16U)
  34803. /*! TXDEFPIS - MMC Transmit Deferred Packet Counter Interrupt Status This bit is set when the
  34804. * txdeferred counter reaches half of the maximum value or the maximum value.
  34805. * 0b1..MMC Transmit Deferred Packet Counter Interrupt Status detected
  34806. * 0b0..MMC Transmit Deferred Packet Counter Interrupt Status not detected
  34807. */
  34808. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXDEFPIS_MASK)
  34809. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_MASK (0x20000U)
  34810. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_SHIFT (17U)
  34811. /*! TXLATCOLPIS - MMC Transmit Late Collision Packet Counter Interrupt Status This bit is set when
  34812. * the txlatecol counter reaches half of the maximum value or the maximum value.
  34813. * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Status detected
  34814. * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Status not detected
  34815. */
  34816. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLATCOLPIS_MASK)
  34817. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_MASK (0x40000U)
  34818. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_SHIFT (18U)
  34819. /*! TXEXCOLPIS - MMC Transmit Excessive Collision Packet Counter Interrupt Status This bit is set
  34820. * when the txexesscol counter reaches half of the maximum value or the maximum value.
  34821. * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Status detected
  34822. * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Status not detected
  34823. */
  34824. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXCOLPIS_MASK)
  34825. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_MASK (0x80000U)
  34826. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_SHIFT (19U)
  34827. /*! TXCARERPIS - MMC Transmit Carrier Error Packet Counter Interrupt Status This bit is set when the
  34828. * txcarriererror counter reaches half of the maximum value or the maximum value.
  34829. * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Status detected
  34830. * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Status not detected
  34831. */
  34832. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXCARERPIS_MASK)
  34833. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_MASK (0x100000U)
  34834. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_SHIFT (20U)
  34835. /*! TXGOCTIS - MMC Transmit Good Octet Counter Interrupt Status This bit is set when the
  34836. * txoctetcount_g counter reaches half of the maximum value or the maximum value.
  34837. * 0b1..MMC Transmit Good Octet Counter Interrupt Status detected
  34838. * 0b0..MMC Transmit Good Octet Counter Interrupt Status not detected
  34839. */
  34840. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGOCTIS_MASK)
  34841. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_MASK (0x200000U)
  34842. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_SHIFT (21U)
  34843. /*! TXGPKTIS - MMC Transmit Good Packet Counter Interrupt Status This bit is set when the
  34844. * txpacketcount_g counter reaches half of the maximum value or the maximum value.
  34845. * 0b1..MMC Transmit Good Packet Counter Interrupt Status detected
  34846. * 0b0..MMC Transmit Good Packet Counter Interrupt Status not detected
  34847. */
  34848. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXGPKTIS_MASK)
  34849. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_MASK (0x400000U)
  34850. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_SHIFT (22U)
  34851. /*! TXEXDEFPIS - MMC Transmit Excessive Deferral Packet Counter Interrupt Status This bit is set
  34852. * when the txexcessdef counter reaches half of the maximum value or the maximum value.
  34853. * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Status detected
  34854. * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Status not detected
  34855. */
  34856. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXEXDEFPIS_MASK)
  34857. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_MASK (0x800000U)
  34858. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_SHIFT (23U)
  34859. /*! TXPAUSPIS - MMC Transmit Pause Packet Counter Interrupt Status This bit is set when the
  34860. * txpausepacketserror counter reaches half of the maximum value or the maximum value.
  34861. * 0b1..MMC Transmit Pause Packet Counter Interrupt Status detected
  34862. * 0b0..MMC Transmit Pause Packet Counter Interrupt Status not detected
  34863. */
  34864. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXPAUSPIS_MASK)
  34865. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_MASK (0x1000000U)
  34866. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_SHIFT (24U)
  34867. /*! TXVLANGPIS - MMC Transmit VLAN Good Packet Counter Interrupt Status This bit is set when the
  34868. * txvlanpackets_g counter reaches half of the maximum value or the maximum value.
  34869. * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Status detected
  34870. * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Status not detected
  34871. */
  34872. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXVLANGPIS_MASK)
  34873. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_MASK (0x2000000U)
  34874. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_SHIFT (25U)
  34875. /*! TXOSIZEGPIS - MMC Transmit Oversize Good Packet Counter Interrupt Status This bit is set when
  34876. * the txoversize_g counter reaches half of the maximum value or the maximum value.
  34877. * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Status detected
  34878. * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Status not detected
  34879. */
  34880. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXOSIZEGPIS_MASK)
  34881. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_MASK (0x4000000U)
  34882. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_SHIFT (26U)
  34883. /*! TXLPIUSCIS - MMC Transmit LPI microsecond counter interrupt status This bit is set when the
  34884. * Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  34885. * 0b1..MMC Transmit LPI microsecond Counter Interrupt Status detected
  34886. * 0b0..MMC Transmit LPI microsecond Counter Interrupt Status not detected
  34887. */
  34888. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPIUSCIS_MASK)
  34889. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_MASK (0x8000000U)
  34890. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_SHIFT (27U)
  34891. /*! TXLPITRCIS - MMC Transmit LPI transition counter interrupt status This bit is set when the
  34892. * Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  34893. * 0b1..MMC Transmit LPI transition Counter Interrupt Status detected
  34894. * 0b0..MMC Transmit LPI transition Counter Interrupt Status not detected
  34895. */
  34896. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_TXLPITRCIS_MASK)
  34897. /*! @} */
  34898. /*! @name MAC_MMC_RX_INTERRUPT_MASK - MMC Rx Interrupt Mask */
  34899. /*! @{ */
  34900. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MASK (0x1U)
  34901. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_SHIFT (0U)
  34902. /*! RXGBPKTIM - MMC Receive Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  34903. * interrupt when the rxpacketcount_gb counter reaches half of the maximum value or the maximum value.
  34904. * 0b0..MMC Receive Good Bad Packet Counter Interrupt Mask is disabled
  34905. * 0b1..MMC Receive Good Bad Packet Counter Interrupt Mask is enabled
  34906. */
  34907. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBPKTIM_MASK)
  34908. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MASK (0x2U)
  34909. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_SHIFT (1U)
  34910. /*! RXGBOCTIM - MMC Receive Good Bad Octet Counter Interrupt Mask Setting this bit masks the
  34911. * interrupt when the rxoctetcount_gb counter reaches half of the maximum value or the maximum value.
  34912. * 0b0..MMC Receive Good Bad Octet Counter Interrupt Mask is disabled
  34913. * 0b1..MMC Receive Good Bad Octet Counter Interrupt Mask is enabled
  34914. */
  34915. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGBOCTIM_MASK)
  34916. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_MASK (0x4U)
  34917. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_SHIFT (2U)
  34918. /*! RXGOCTIM - MMC Receive Good Octet Counter Interrupt Mask Setting this bit masks the interrupt
  34919. * when the rxoctetcount_g counter reaches half of the maximum value or the maximum value.
  34920. * 0b0..MMC Receive Good Octet Counter Interrupt Mask is disabled
  34921. * 0b1..MMC Receive Good Octet Counter Interrupt Mask is enabled
  34922. */
  34923. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXGOCTIM_MASK)
  34924. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_MASK (0x8U)
  34925. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_SHIFT (3U)
  34926. /*! RXBCGPIM - MMC Receive Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the
  34927. * interrupt when the rxbroadcastpackets_g counter reaches half of the maximum value or the
  34928. * maximum value.
  34929. * 0b0..MMC Receive Broadcast Good Packet Counter Interrupt Mask is disabled
  34930. * 0b1..MMC Receive Broadcast Good Packet Counter Interrupt Mask is enabled
  34931. */
  34932. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXBCGPIM_MASK)
  34933. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_MASK (0x10U)
  34934. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_SHIFT (4U)
  34935. /*! RXMCGPIM - MMC Receive Multicast Good Packet Counter Interrupt Mask Setting this bit masks the
  34936. * interrupt when the rxmulticastpackets_g counter reaches half of the maximum value or the
  34937. * maximum value.
  34938. * 0b0..MMC Receive Multicast Good Packet Counter Interrupt Mask is disabled
  34939. * 0b1..MMC Receive Multicast Good Packet Counter Interrupt Mask is enabled
  34940. */
  34941. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXMCGPIM_MASK)
  34942. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MASK (0x20U)
  34943. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_SHIFT (5U)
  34944. /*! RXCRCERPIM - MMC Receive CRC Error Packet Counter Interrupt Mask Setting this bit masks the
  34945. * interrupt when the rxcrcerror counter reaches half of the maximum value or the maximum value.
  34946. * 0b0..MMC Receive CRC Error Packet Counter Interrupt Mask is disabled
  34947. * 0b1..MMC Receive CRC Error Packet Counter Interrupt Mask is enabled
  34948. */
  34949. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCRCERPIM_MASK)
  34950. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MASK (0x40U)
  34951. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_SHIFT (6U)
  34952. /*! RXALGNERPIM - MMC Receive Alignment Error Packet Counter Interrupt Mask Setting this bit masks
  34953. * the interrupt when the rxalignmenterror counter reaches half of the maximum value or the
  34954. * maximum value.
  34955. * 0b0..MMC Receive Alignment Error Packet Counter Interrupt Mask is disabled
  34956. * 0b1..MMC Receive Alignment Error Packet Counter Interrupt Mask is enabled
  34957. */
  34958. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXALGNERPIM_MASK)
  34959. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MASK (0x80U)
  34960. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_SHIFT (7U)
  34961. /*! RXRUNTPIM - MMC Receive Runt Packet Counter Interrupt Mask Setting this bit masks the interrupt
  34962. * when the rxrunterror counter reaches half of the maximum value or the maximum value.
  34963. * 0b0..MMC Receive Runt Packet Counter Interrupt Mask is disabled
  34964. * 0b1..MMC Receive Runt Packet Counter Interrupt Mask is enabled
  34965. */
  34966. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRUNTPIM_MASK)
  34967. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_MASK (0x100U)
  34968. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_SHIFT (8U)
  34969. /*! RXJABERPIM - MMC Receive Jabber Error Packet Counter Interrupt Mask Setting this bit masks the
  34970. * interrupt when the rxjabbererror counter reaches half of the maximum value or the maximum value.
  34971. * 0b0..MMC Receive Jabber Error Packet Counter Interrupt Mask is disabled
  34972. * 0b1..MMC Receive Jabber Error Packet Counter Interrupt Mask is enabled
  34973. */
  34974. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXJABERPIM_MASK)
  34975. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MASK (0x200U)
  34976. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_SHIFT (9U)
  34977. /*! RXUSIZEGPIM - MMC Receive Undersize Good Packet Counter Interrupt Mask Setting this bit masks
  34978. * the interrupt when the rxundersize_g counter reaches half of the maximum value or the maximum
  34979. * value.
  34980. * 0b0..MMC Receive Undersize Good Packet Counter Interrupt Mask is disabled
  34981. * 0b1..MMC Receive Undersize Good Packet Counter Interrupt Mask is enabled
  34982. */
  34983. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUSIZEGPIM_MASK)
  34984. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MASK (0x400U)
  34985. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_SHIFT (10U)
  34986. /*! RXOSIZEGPIM - MMC Receive Oversize Good Packet Counter Interrupt Mask Setting this bit masks the
  34987. * interrupt when the rxoversize_g counter reaches half of the maximum value or the maximum
  34988. * value.
  34989. * 0b0..MMC Receive Oversize Good Packet Counter Interrupt Mask is disabled
  34990. * 0b1..MMC Receive Oversize Good Packet Counter Interrupt Mask is enabled
  34991. */
  34992. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXOSIZEGPIM_MASK)
  34993. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MASK (0x800U)
  34994. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_SHIFT (11U)
  34995. /*! RX64OCTGBPIM - MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit
  34996. * masks the interrupt when the rx64octets_gb counter reaches half of the maximum value or the
  34997. * maximum value.
  34998. * 0b0..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is disabled
  34999. * 0b1..MMC Receive 64 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35000. */
  35001. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX64OCTGBPIM_MASK)
  35002. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MASK (0x1000U)
  35003. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_SHIFT (12U)
  35004. /*! RX65T127OCTGBPIM - MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting
  35005. * this bit masks the interrupt when the rx65to127octets_gb counter reaches half of the maximum
  35006. * value or the maximum value.
  35007. * 0b0..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35008. * 0b1..MMC Receive 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35009. */
  35010. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX65T127OCTGBPIM_MASK)
  35011. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MASK (0x2000U)
  35012. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_SHIFT (13U)
  35013. /*! RX128T255OCTGBPIM - MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting
  35014. * this bit masks the interrupt when the rx128to255octets_gb counter reaches half of the maximum
  35015. * value or the maximum value.
  35016. * 0b0..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35017. * 0b1..MMC Receive 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35018. */
  35019. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX128T255OCTGBPIM_MASK)
  35020. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MASK (0x4000U)
  35021. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_SHIFT (14U)
  35022. /*! RX256T511OCTGBPIM - MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting
  35023. * this bit masks the interrupt when the rx256to511octets_gb counter reaches half of the maximum
  35024. * value or the maximum value.
  35025. * 0b0..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35026. * 0b1..MMC Receive 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35027. */
  35028. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX256T511OCTGBPIM_MASK)
  35029. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MASK (0x8000U)
  35030. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_SHIFT (15U)
  35031. /*! RX512T1023OCTGBPIM - MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask
  35032. * Setting this bit masks the interrupt when the rx512to1023octets_gb counter reaches half of the
  35033. * maximum value or the maximum value.
  35034. * 0b0..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35035. * 0b1..MMC Receive 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35036. */
  35037. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX512T1023OCTGBPIM_MASK)
  35038. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MASK (0x10000U)
  35039. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_SHIFT (16U)
  35040. /*! RX1024TMAXOCTGBPIM - MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask.
  35041. * 0b0..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled
  35042. * 0b1..MMC Receive 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled
  35043. */
  35044. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RX1024TMAXOCTGBPIM_MASK)
  35045. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_MASK (0x20000U)
  35046. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_SHIFT (17U)
  35047. /*! RXUCGPIM - MMC Receive Unicast Good Packet Counter Interrupt Mask Setting this bit masks the
  35048. * interrupt when the rxunicastpackets_g counter reaches half of the maximum value or the maximum
  35049. * value.
  35050. * 0b0..MMC Receive Unicast Good Packet Counter Interrupt Mask is disabled
  35051. * 0b1..MMC Receive Unicast Good Packet Counter Interrupt Mask is enabled
  35052. */
  35053. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXUCGPIM_MASK)
  35054. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_MASK (0x40000U)
  35055. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_SHIFT (18U)
  35056. /*! RXLENERPIM - MMC Receive Length Error Packet Counter Interrupt Mask Setting this bit masks the
  35057. * interrupt when the rxlengtherror counter reaches half of the maximum value or the maximum value.
  35058. * 0b0..MMC Receive Length Error Packet Counter Interrupt Mask is disabled
  35059. * 0b1..MMC Receive Length Error Packet Counter Interrupt Mask is enabled
  35060. */
  35061. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLENERPIM_MASK)
  35062. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MASK (0x80000U)
  35063. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_SHIFT (19U)
  35064. /*! RXORANGEPIM - MMC Receive Out Of Range Error Packet Counter Interrupt Mask Setting this bit
  35065. * masks the interrupt when the rxoutofrangetype counter reaches half of the maximum value or the
  35066. * maximum value.
  35067. * 0b0..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is disabled
  35068. * 0b1..MMC Receive Out Of Range Error Packet Counter Interrupt Mask is enabled
  35069. */
  35070. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXORANGEPIM_MASK)
  35071. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MASK (0x100000U)
  35072. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_SHIFT (20U)
  35073. /*! RXPAUSPIM - MMC Receive Pause Packet Counter Interrupt Mask Setting this bit masks the interrupt
  35074. * when the rxpausepackets counter reaches half of the maximum value or the maximum value.
  35075. * 0b0..MMC Receive Pause Packet Counter Interrupt Mask is disabled
  35076. * 0b1..MMC Receive Pause Packet Counter Interrupt Mask is enabled
  35077. */
  35078. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXPAUSPIM_MASK)
  35079. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_MASK (0x200000U)
  35080. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_SHIFT (21U)
  35081. /*! RXFOVPIM - MMC Receive FIFO Overflow Packet Counter Interrupt Mask Setting this bit masks the
  35082. * interrupt when the rxfifooverflow counter reaches half of the maximum value or the maximum value.
  35083. * 0b0..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is disabled
  35084. * 0b1..MMC Receive FIFO Overflow Packet Counter Interrupt Mask is enabled
  35085. */
  35086. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXFOVPIM_MASK)
  35087. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MASK (0x400000U)
  35088. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_SHIFT (22U)
  35089. /*! RXVLANGBPIM - MMC Receive VLAN Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  35090. * interrupt when the rxvlanpackets_gb counter reaches half of the maximum value or the maximum
  35091. * value.
  35092. * 0b0..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is disabled
  35093. * 0b1..MMC Receive VLAN Good Bad Packet Counter Interrupt Mask is enabled
  35094. */
  35095. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXVLANGBPIM_MASK)
  35096. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MASK (0x800000U)
  35097. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_SHIFT (23U)
  35098. /*! RXWDOGPIM - MMC Receive Watchdog Error Packet Counter Interrupt Mask Setting this bit masks the
  35099. * interrupt when the rxwatchdog counter reaches half of the maximum value or the maximum value.
  35100. * 0b0..MMC Receive Watchdog Error Packet Counter Interrupt Mask is disabled
  35101. * 0b1..MMC Receive Watchdog Error Packet Counter Interrupt Mask is enabled
  35102. */
  35103. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXWDOGPIM_MASK)
  35104. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MASK (0x1000000U)
  35105. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_SHIFT (24U)
  35106. /*! RXRCVERRPIM - MMC Receive Error Packet Counter Interrupt Mask Setting this bit masks the
  35107. * interrupt when the rxrcverror counter reaches half of the maximum value or the maximum value.
  35108. * 0b0..MMC Receive Error Packet Counter Interrupt Mask is disabled
  35109. * 0b1..MMC Receive Error Packet Counter Interrupt Mask is enabled
  35110. */
  35111. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXRCVERRPIM_MASK)
  35112. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MASK (0x2000000U)
  35113. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_SHIFT (25U)
  35114. /*! RXCTRLPIM - MMC Receive Control Packet Counter Interrupt Mask Setting this bit masks the
  35115. * interrupt when the rxctrlpackets_g counter reaches half of the maximum value or the maximum value.
  35116. * 0b0..MMC Receive Control Packet Counter Interrupt Mask is disabled
  35117. * 0b1..MMC Receive Control Packet Counter Interrupt Mask is enabled
  35118. */
  35119. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXCTRLPIM_MASK)
  35120. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MASK (0x4000000U)
  35121. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_SHIFT (26U)
  35122. /*! RXLPIUSCIM - MMC Receive LPI microsecond counter interrupt Mask Setting this bit masks the
  35123. * interrupt when the Rx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  35124. * 0b0..MMC Receive LPI microsecond counter interrupt Mask is disabled
  35125. * 0b1..MMC Receive LPI microsecond counter interrupt Mask is enabled
  35126. */
  35127. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPIUSCIM_MASK)
  35128. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MASK (0x8000000U)
  35129. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_SHIFT (27U)
  35130. /*! RXLPITRCIM - MMC Receive LPI transition counter interrupt Mask Setting this bit masks the
  35131. * interrupt when the Rx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  35132. * 0b0..MMC Receive LPI transition counter interrupt Mask is disabled
  35133. * 0b1..MMC Receive LPI transition counter interrupt Mask is enabled
  35134. */
  35135. #define ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_SHIFT)) & ENET_QOS_MAC_MMC_RX_INTERRUPT_MASK_RXLPITRCIM_MASK)
  35136. /*! @} */
  35137. /*! @name MAC_MMC_TX_INTERRUPT_MASK - MMC Tx Interrupt Mask */
  35138. /*! @{ */
  35139. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MASK (0x1U)
  35140. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_SHIFT (0U)
  35141. /*! TXGBOCTIM - MMC Transmit Good Bad Octet Counter Interrupt Mask Setting this bit masks the
  35142. * interrupt when the txoctetcount_gb counter reaches half of the maximum value or the maximum value.
  35143. * 0b0..MMC Transmit Good Bad Octet Counter Interrupt Mask is disabled
  35144. * 0b1..MMC Transmit Good Bad Octet Counter Interrupt Mask is enabled
  35145. */
  35146. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBOCTIM_MASK)
  35147. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MASK (0x2U)
  35148. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_SHIFT (1U)
  35149. /*! TXGBPKTIM - MMC Transmit Good Bad Packet Counter Interrupt Mask Setting this bit masks the
  35150. * interrupt when the txpacketcount_gb counter reaches half of the maximum value or the maximum value.
  35151. * 0b0..MMC Transmit Good Bad Packet Counter Interrupt Mask is disabled
  35152. * 0b1..MMC Transmit Good Bad Packet Counter Interrupt Mask is enabled
  35153. */
  35154. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGBPKTIM_MASK)
  35155. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_MASK (0x4U)
  35156. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_SHIFT (2U)
  35157. /*! TXBCGPIM - MMC Transmit Broadcast Good Packet Counter Interrupt Mask Setting this bit masks the
  35158. * interrupt when the txbroadcastpackets_g counter reaches half of the maximum value or the
  35159. * maximum value.
  35160. * 0b0..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is disabled
  35161. * 0b1..MMC Transmit Broadcast Good Packet Counter Interrupt Mask is enabled
  35162. */
  35163. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGPIM_MASK)
  35164. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_MASK (0x8U)
  35165. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_SHIFT (3U)
  35166. /*! TXMCGPIM - MMC Transmit Multicast Good Packet Counter Interrupt Mask Setting this bit masks the
  35167. * interrupt when the txmulticastpackets_g counter reaches half of the maximum value or the
  35168. * maximum value.
  35169. * 0b0..MMC Transmit Multicast Good Packet Counter Interrupt Mask is disabled
  35170. * 0b1..MMC Transmit Multicast Good Packet Counter Interrupt Mask is enabled
  35171. */
  35172. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGPIM_MASK)
  35173. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MASK (0x10U)
  35174. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_SHIFT (4U)
  35175. /*! TX64OCTGBPIM - MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask Setting this bit
  35176. * masks the interrupt when the tx64octets_gb counter reaches half of the maximum value or the
  35177. * maximum value.
  35178. * 0b0..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35179. * 0b1..MMC Transmit 64 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35180. */
  35181. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX64OCTGBPIM_MASK)
  35182. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MASK (0x20U)
  35183. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_SHIFT (5U)
  35184. /*! TX65T127OCTGBPIM - MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask Setting
  35185. * this bit masks the interrupt when the tx65to127octets_gb counter reaches half of the maximum
  35186. * value or the maximum value.
  35187. * 0b0..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35188. * 0b1..MMC Transmit 65 to 127 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35189. */
  35190. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX65T127OCTGBPIM_MASK)
  35191. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MASK (0x40U)
  35192. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_SHIFT (6U)
  35193. /*! TX128T255OCTGBPIM - MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask Setting
  35194. * this bit masks the interrupt when the tx128to255octets_gb counter reaches half of the maximum
  35195. * value or the maximum value.
  35196. * 0b0..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35197. * 0b1..MMC Transmit 128 to 255 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35198. */
  35199. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX128T255OCTGBPIM_MASK)
  35200. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MASK (0x80U)
  35201. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_SHIFT (7U)
  35202. /*! TX256T511OCTGBPIM - MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask Setting
  35203. * this bit masks the interrupt when the tx256to511octets_gb counter reaches half of the maximum
  35204. * value or the maximum value.
  35205. * 0b0..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35206. * 0b1..MMC Transmit 256 to 511 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35207. */
  35208. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX256T511OCTGBPIM_MASK)
  35209. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MASK (0x100U)
  35210. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_SHIFT (8U)
  35211. /*! TX512T1023OCTGBPIM - MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask
  35212. * Setting this bit masks the interrupt when the tx512to1023octets_gb counter reaches half of the
  35213. * maximum value or the maximum value.
  35214. * 0b0..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is disabled
  35215. * 0b1..MMC Transmit 512 to 1023 Octet Good Bad Packet Counter Interrupt Mask is enabled
  35216. */
  35217. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX512T1023OCTGBPIM_MASK)
  35218. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MASK (0x200U)
  35219. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_SHIFT (9U)
  35220. /*! TX1024TMAXOCTGBPIM - MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask
  35221. * Setting this bit masks the interrupt when the tx1024tomaxoctets_gb counter reaches half of the
  35222. * maximum value or the maximum value.
  35223. * 0b0..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is disabled
  35224. * 0b1..MMC Transmit 1024 to Maximum Octet Good Bad Packet Counter Interrupt Mask is enabled
  35225. */
  35226. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TX1024TMAXOCTGBPIM_MASK)
  35227. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MASK (0x400U)
  35228. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_SHIFT (10U)
  35229. /*! TXUCGBPIM - MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35230. * the interrupt when the txunicastpackets_gb counter reaches half of the maximum value or the
  35231. * maximum value.
  35232. * 0b0..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is disabled
  35233. * 0b1..MMC Transmit Unicast Good Bad Packet Counter Interrupt Mask is enabled
  35234. */
  35235. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUCGBPIM_MASK)
  35236. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MASK (0x800U)
  35237. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_SHIFT (11U)
  35238. /*! TXMCGBPIM - MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35239. * the interrupt when the txmulticastpackets_gb counter reaches half of the maximum value or the
  35240. * maximum value.
  35241. * 0b0..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is disabled
  35242. * 0b1..MMC Transmit Multicast Good Bad Packet Counter Interrupt Mask is enabled
  35243. */
  35244. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCGBPIM_MASK)
  35245. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MASK (0x1000U)
  35246. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_SHIFT (12U)
  35247. /*! TXBCGBPIM - MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask Setting this bit masks
  35248. * the interrupt when the txbroadcastpackets_gb counter reaches half of the maximum value or the
  35249. * maximum value.
  35250. * 0b0..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is disabled
  35251. * 0b1..MMC Transmit Broadcast Good Bad Packet Counter Interrupt Mask is enabled
  35252. */
  35253. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXBCGBPIM_MASK)
  35254. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MASK (0x2000U)
  35255. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_SHIFT (13U)
  35256. /*! TXUFLOWERPIM - MMC Transmit Underflow Error Packet Counter Interrupt Mask Setting this bit masks
  35257. * the interrupt when the txunderflowerror counter reaches half of the maximum value or the
  35258. * maximum value.
  35259. * 0b0..MMC Transmit Underflow Error Packet Counter Interrupt Mask is disabled
  35260. * 0b1..MMC Transmit Underflow Error Packet Counter Interrupt Mask is enabled
  35261. */
  35262. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXUFLOWERPIM_MASK)
  35263. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MASK (0x4000U)
  35264. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_SHIFT (14U)
  35265. /*! TXSCOLGPIM - MMC Transmit Single Collision Good Packet Counter Interrupt Mask Setting this bit
  35266. * masks the interrupt when the txsinglecol_g counter reaches half of the maximum value or the
  35267. * maximum value.
  35268. * 0b0..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is disabled
  35269. * 0b1..MMC Transmit Single Collision Good Packet Counter Interrupt Mask is enabled
  35270. */
  35271. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXSCOLGPIM_MASK)
  35272. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MASK (0x8000U)
  35273. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_SHIFT (15U)
  35274. /*! TXMCOLGPIM - MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask Setting this bit
  35275. * masks the interrupt when the txmulticol_g counter reaches half of the maximum value or the
  35276. * maximum value.
  35277. * 0b0..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is disabled
  35278. * 0b1..MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask is enabled
  35279. */
  35280. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXMCOLGPIM_MASK)
  35281. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_MASK (0x10000U)
  35282. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_SHIFT (16U)
  35283. /*! TXDEFPIM - MMC Transmit Deferred Packet Counter Interrupt Mask Setting this bit masks the
  35284. * interrupt when the txdeferred counter reaches half of the maximum value or the maximum value.
  35285. * 0b0..MMC Transmit Deferred Packet Counter Interrupt Mask is disabled
  35286. * 0b1..MMC Transmit Deferred Packet Counter Interrupt Mask is enabled
  35287. */
  35288. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXDEFPIM_MASK)
  35289. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MASK (0x20000U)
  35290. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_SHIFT (17U)
  35291. /*! TXLATCOLPIM - MMC Transmit Late Collision Packet Counter Interrupt Mask Setting this bit masks
  35292. * the interrupt when the txlatecol counter reaches half of the maximum value or the maximum value.
  35293. * 0b0..MMC Transmit Late Collision Packet Counter Interrupt Mask is disabled
  35294. * 0b1..MMC Transmit Late Collision Packet Counter Interrupt Mask is enabled
  35295. */
  35296. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLATCOLPIM_MASK)
  35297. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MASK (0x40000U)
  35298. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_SHIFT (18U)
  35299. /*! TXEXCOLPIM - MMC Transmit Excessive Collision Packet Counter Interrupt Mask Setting this bit
  35300. * masks the interrupt when the txexcesscol counter reaches half of the maximum value or the maximum
  35301. * value.
  35302. * 0b0..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is disabled
  35303. * 0b1..MMC Transmit Excessive Collision Packet Counter Interrupt Mask is enabled
  35304. */
  35305. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXCOLPIM_MASK)
  35306. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_MASK (0x80000U)
  35307. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_SHIFT (19U)
  35308. /*! TXCARERPIM - MMC Transmit Carrier Error Packet Counter Interrupt Mask Setting this bit masks the
  35309. * interrupt when the txcarriererror counter reaches half of the maximum value or the maximum
  35310. * value.
  35311. * 0b0..MMC Transmit Carrier Error Packet Counter Interrupt Mask is disabled
  35312. * 0b1..MMC Transmit Carrier Error Packet Counter Interrupt Mask is enabled
  35313. */
  35314. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXCARERPIM_MASK)
  35315. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_MASK (0x100000U)
  35316. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_SHIFT (20U)
  35317. /*! TXGOCTIM - MMC Transmit Good Octet Counter Interrupt Mask Setting this bit masks the interrupt
  35318. * when the txoctetcount_g counter reaches half of the maximum value or the maximum value.
  35319. * 0b0..MMC Transmit Good Octet Counter Interrupt Mask is disabled
  35320. * 0b1..MMC Transmit Good Octet Counter Interrupt Mask is enabled
  35321. */
  35322. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGOCTIM_MASK)
  35323. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_MASK (0x200000U)
  35324. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_SHIFT (21U)
  35325. /*! TXGPKTIM - MMC Transmit Good Packet Counter Interrupt Mask Setting this bit masks the interrupt
  35326. * when the txpacketcount_g counter reaches half of the maximum value or the maximum value.
  35327. * 0b0..MMC Transmit Good Packet Counter Interrupt Mask is disabled
  35328. * 0b1..MMC Transmit Good Packet Counter Interrupt Mask is enabled
  35329. */
  35330. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXGPKTIM_MASK)
  35331. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MASK (0x400000U)
  35332. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_SHIFT (22U)
  35333. /*! TXEXDEFPIM - MMC Transmit Excessive Deferral Packet Counter Interrupt Mask Setting this bit
  35334. * masks the interrupt when the txexcessdef counter reaches half of the maximum value or the maximum
  35335. * value.
  35336. * 0b0..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is disabled
  35337. * 0b1..MMC Transmit Excessive Deferral Packet Counter Interrupt Mask is enabled
  35338. */
  35339. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXEXDEFPIM_MASK)
  35340. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MASK (0x800000U)
  35341. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_SHIFT (23U)
  35342. /*! TXPAUSPIM - MMC Transmit Pause Packet Counter Interrupt Mask Setting this bit masks the
  35343. * interrupt when the txpausepackets counter reaches half of the maximum value or the maximum value.
  35344. * 0b0..MMC Transmit Pause Packet Counter Interrupt Mask is disabled
  35345. * 0b1..MMC Transmit Pause Packet Counter Interrupt Mask is enabled
  35346. */
  35347. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXPAUSPIM_MASK)
  35348. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MASK (0x1000000U)
  35349. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_SHIFT (24U)
  35350. /*! TXVLANGPIM - MMC Transmit VLAN Good Packet Counter Interrupt Mask Setting this bit masks the
  35351. * interrupt when the txvlanpackets_g counter reaches half of the maximum value or the maximum value.
  35352. * 0b0..MMC Transmit VLAN Good Packet Counter Interrupt Mask is disabled
  35353. * 0b1..MMC Transmit VLAN Good Packet Counter Interrupt Mask is enabled
  35354. */
  35355. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXVLANGPIM_MASK)
  35356. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MASK (0x2000000U)
  35357. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_SHIFT (25U)
  35358. /*! TXOSIZEGPIM - MMC Transmit Oversize Good Packet Counter Interrupt Mask Setting this bit masks
  35359. * the interrupt when the txoversize_g counter reaches half of the maximum value or the maximum
  35360. * value.
  35361. * 0b0..MMC Transmit Oversize Good Packet Counter Interrupt Mask is disabled
  35362. * 0b1..MMC Transmit Oversize Good Packet Counter Interrupt Mask is enabled
  35363. */
  35364. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXOSIZEGPIM_MASK)
  35365. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MASK (0x4000000U)
  35366. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_SHIFT (26U)
  35367. /*! TXLPIUSCIM - MMC Transmit LPI microsecond counter interrupt Mask Setting this bit masks the
  35368. * interrupt when the Tx_LPI_USEC_Cntr counter reaches half of the maximum value or the maximum value.
  35369. * 0b0..MMC Transmit LPI microsecond counter interrupt Mask is disabled
  35370. * 0b1..MMC Transmit LPI microsecond counter interrupt Mask is enabled
  35371. */
  35372. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPIUSCIM_MASK)
  35373. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MASK (0x8000000U)
  35374. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_SHIFT (27U)
  35375. /*! TXLPITRCIM - MMC Transmit LPI transition counter interrupt Mask Setting this bit masks the
  35376. * interrupt when the Tx_LPI_Tran_Cntr counter reaches half of the maximum value or the maximum value.
  35377. * 0b0..MMC Transmit LPI transition counter interrupt Mask is disabled
  35378. * 0b1..MMC Transmit LPI transition counter interrupt Mask is enabled
  35379. */
  35380. #define ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_SHIFT)) & ENET_QOS_MAC_MMC_TX_INTERRUPT_MASK_TXLPITRCIM_MASK)
  35381. /*! @} */
  35382. /*! @name MAC_TX_OCTET_COUNT_GOOD_BAD - Tx Octet Count Good and Bad */
  35383. /*! @{ */
  35384. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_MASK (0xFFFFFFFFU)
  35385. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_SHIFT (0U)
  35386. /*! TXOCTGB - Tx Octet Count Good Bad This field indicates the number of bytes transmitted,
  35387. * exclusive of preamble and retried bytes, in good and bad packets.
  35388. */
  35389. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_SHIFT)) & ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_BAD_TXOCTGB_MASK)
  35390. /*! @} */
  35391. /*! @name MAC_TX_PACKET_COUNT_GOOD_BAD - Tx Packet Count Good and Bad */
  35392. /*! @{ */
  35393. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_MASK (0xFFFFFFFFU)
  35394. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_SHIFT (0U)
  35395. /*! TXPKTGB - Tx Packet Count Good Bad This field indicates the number of good and bad packets
  35396. * transmitted, exclusive of retried packets.
  35397. */
  35398. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_SHIFT)) & ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_BAD_TXPKTGB_MASK)
  35399. /*! @} */
  35400. /*! @name MAC_TX_BROADCAST_PACKETS_GOOD - Tx Broadcast Packets Good */
  35401. /*! @{ */
  35402. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_MASK (0xFFFFFFFFU)
  35403. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_SHIFT (0U)
  35404. /*! TXBCASTG - Tx Broadcast Packets Good This field indicates the number of good broadcast packets transmitted.
  35405. */
  35406. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_SHIFT)) & ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_TXBCASTG_MASK)
  35407. /*! @} */
  35408. /*! @name MAC_TX_MULTICAST_PACKETS_GOOD - Tx Multicast Packets Good */
  35409. /*! @{ */
  35410. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_MASK (0xFFFFFFFFU)
  35411. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_SHIFT (0U)
  35412. /*! TXMCASTG - Tx Multicast Packets Good This field indicates the number of good multicast packets transmitted.
  35413. */
  35414. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_SHIFT)) & ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_TXMCASTG_MASK)
  35415. /*! @} */
  35416. /*! @name MAC_TX_64OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 64-Byte Packets */
  35417. /*! @{ */
  35418. #define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_MASK (0xFFFFFFFFU)
  35419. #define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_SHIFT (0U)
  35420. /*! TX64OCTGB - Tx 64Octets Packets Good_Bad This field indicates the number of good and bad packets
  35421. * transmitted with length 64 bytes, exclusive of preamble and retried packets.
  35422. */
  35423. #define ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_SHIFT)) & ENET_QOS_MAC_TX_64OCTETS_PACKETS_GOOD_BAD_TX64OCTGB_MASK)
  35424. /*! @} */
  35425. /*! @name MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 65 to 127-Byte Packets */
  35426. /*! @{ */
  35427. #define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_MASK (0xFFFFFFFFU)
  35428. #define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_SHIFT (0U)
  35429. /*! TX65_127OCTGB - Tx 65To127Octets Packets Good Bad This field indicates the number of good and
  35430. * bad packets transmitted with length between 65 and 127 (inclusive) bytes, exclusive of preamble
  35431. * and retried packets.
  35432. */
  35433. #define ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_SHIFT)) & ENET_QOS_MAC_TX_65TO127OCTETS_PACKETS_GOOD_BAD_TX65_127OCTGB_MASK)
  35434. /*! @} */
  35435. /*! @name MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 128 to 255-Byte Packets */
  35436. /*! @{ */
  35437. #define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_MASK (0xFFFFFFFFU)
  35438. #define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_SHIFT (0U)
  35439. /*! TX128_255OCTGB - Tx 128To255Octets Packets Good Bad This field indicates the number of good and
  35440. * bad packets transmitted with length between 128 and 255 (inclusive) bytes, exclusive of
  35441. * preamble and retried packets.
  35442. */
  35443. #define ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_SHIFT)) & ENET_QOS_MAC_TX_128TO255OCTETS_PACKETS_GOOD_BAD_TX128_255OCTGB_MASK)
  35444. /*! @} */
  35445. /*! @name MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 256 to 511-Byte Packets */
  35446. /*! @{ */
  35447. #define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_MASK (0xFFFFFFFFU)
  35448. #define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_SHIFT (0U)
  35449. /*! TX256_511OCTGB - Tx 256To511Octets Packets Good Bad This field indicates the number of good and
  35450. * bad packets transmitted with length between 256 and 511 (inclusive) bytes, exclusive of
  35451. * preamble and retried packets.
  35452. */
  35453. #define ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_SHIFT)) & ENET_QOS_MAC_TX_256TO511OCTETS_PACKETS_GOOD_BAD_TX256_511OCTGB_MASK)
  35454. /*! @} */
  35455. /*! @name MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 512 to 1023-Byte Packets */
  35456. /*! @{ */
  35457. #define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_MASK (0xFFFFFFFFU)
  35458. #define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_SHIFT (0U)
  35459. /*! TX512_1023OCTGB - Tx 512To1023Octets Packets Good Bad This field indicates the number of good
  35460. * and bad packets transmitted with length between 512 and 1023 (inclusive) bytes, exclusive of
  35461. * preamble and retried packets.
  35462. */
  35463. #define ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_SHIFT)) & ENET_QOS_MAC_TX_512TO1023OCTETS_PACKETS_GOOD_BAD_TX512_1023OCTGB_MASK)
  35464. /*! @} */
  35465. /*! @name MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Tx Good and Bad 1024 to Max-Byte Packets */
  35466. /*! @{ */
  35467. #define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_MASK (0xFFFFFFFFU)
  35468. #define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_SHIFT (0U)
  35469. /*! TX1024_MAXOCTGB - Tx 1024ToMaxOctets Packets Good Bad This field indicates the number of good
  35470. * and bad packets transmitted with length between 1024 and maxsize (inclusive) bytes, exclusive of
  35471. * preamble and retried packets.
  35472. */
  35473. #define ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_SHIFT)) & ENET_QOS_MAC_TX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_TX1024_MAXOCTGB_MASK)
  35474. /*! @} */
  35475. /*! @name MAC_TX_UNICAST_PACKETS_GOOD_BAD - Good and Bad Unicast Packets Transmitted */
  35476. /*! @{ */
  35477. #define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_MASK (0xFFFFFFFFU)
  35478. #define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_SHIFT (0U)
  35479. /*! TXUCASTGB - Tx Unicast Packets Good Bad This field indicates the number of good and bad unicast packets transmitted.
  35480. */
  35481. #define ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_SHIFT)) & ENET_QOS_MAC_TX_UNICAST_PACKETS_GOOD_BAD_TXUCASTGB_MASK)
  35482. /*! @} */
  35483. /*! @name MAC_TX_MULTICAST_PACKETS_GOOD_BAD - Good and Bad Multicast Packets Transmitted */
  35484. /*! @{ */
  35485. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_MASK (0xFFFFFFFFU)
  35486. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_SHIFT (0U)
  35487. /*! TXMCASTGB - Tx Multicast Packets Good Bad This field indicates the number of good and bad multicast packets transmitted.
  35488. */
  35489. #define ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_SHIFT)) & ENET_QOS_MAC_TX_MULTICAST_PACKETS_GOOD_BAD_TXMCASTGB_MASK)
  35490. /*! @} */
  35491. /*! @name MAC_TX_BROADCAST_PACKETS_GOOD_BAD - Good and Bad Broadcast Packets Transmitted */
  35492. /*! @{ */
  35493. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_MASK (0xFFFFFFFFU)
  35494. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_SHIFT (0U)
  35495. /*! TXBCASTGB - Tx Broadcast Packets Good Bad This field indicates the number of good and bad broadcast packets transmitted.
  35496. */
  35497. #define ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_SHIFT)) & ENET_QOS_MAC_TX_BROADCAST_PACKETS_GOOD_BAD_TXBCASTGB_MASK)
  35498. /*! @} */
  35499. /*! @name MAC_TX_UNDERFLOW_ERROR_PACKETS - Tx Packets Aborted By Underflow Error */
  35500. /*! @{ */
  35501. #define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_MASK (0xFFFFFFFFU)
  35502. #define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_SHIFT (0U)
  35503. /*! TXUNDRFLW - Tx Underflow Error Packets This field indicates the number of packets aborted because of packets underflow error.
  35504. */
  35505. #define ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_SHIFT)) & ENET_QOS_MAC_TX_UNDERFLOW_ERROR_PACKETS_TXUNDRFLW_MASK)
  35506. /*! @} */
  35507. /*! @name MAC_TX_SINGLE_COLLISION_GOOD_PACKETS - Single Collision Good Packets Transmitted */
  35508. /*! @{ */
  35509. #define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_MASK (0xFFFFFFFFU)
  35510. #define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_SHIFT (0U)
  35511. /*! TXSNGLCOLG - Tx Single Collision Good Packets This field indicates the number of successfully
  35512. * transmitted packets after a single collision in the half-duplex mode.
  35513. */
  35514. #define ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_SHIFT)) & ENET_QOS_MAC_TX_SINGLE_COLLISION_GOOD_PACKETS_TXSNGLCOLG_MASK)
  35515. /*! @} */
  35516. /*! @name MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS - Multiple Collision Good Packets Transmitted */
  35517. /*! @{ */
  35518. #define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_MASK (0xFFFFFFFFU)
  35519. #define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_SHIFT (0U)
  35520. /*! TXMULTCOLG - Tx Multiple Collision Good Packets This field indicates the number of successfully
  35521. * transmitted packets after multiple collisions in the half-duplex mode.
  35522. */
  35523. #define ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_SHIFT)) & ENET_QOS_MAC_TX_MULTIPLE_COLLISION_GOOD_PACKETS_TXMULTCOLG_MASK)
  35524. /*! @} */
  35525. /*! @name MAC_TX_DEFERRED_PACKETS - Deferred Packets Transmitted */
  35526. /*! @{ */
  35527. #define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_MASK (0xFFFFFFFFU)
  35528. #define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_SHIFT (0U)
  35529. /*! TXDEFRD - Tx Deferred Packets This field indicates the number of successfully transmitted after
  35530. * a deferral in the half-duplex mode.
  35531. */
  35532. #define ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_SHIFT)) & ENET_QOS_MAC_TX_DEFERRED_PACKETS_TXDEFRD_MASK)
  35533. /*! @} */
  35534. /*! @name MAC_TX_LATE_COLLISION_PACKETS - Late Collision Packets Transmitted */
  35535. /*! @{ */
  35536. #define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_MASK (0xFFFFFFFFU)
  35537. #define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_SHIFT (0U)
  35538. /*! TXLATECOL - Tx Late Collision Packets This field indicates the number of packets aborted because of late collision error.
  35539. */
  35540. #define ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_SHIFT)) & ENET_QOS_MAC_TX_LATE_COLLISION_PACKETS_TXLATECOL_MASK)
  35541. /*! @} */
  35542. /*! @name MAC_TX_EXCESSIVE_COLLISION_PACKETS - Excessive Collision Packets Transmitted */
  35543. /*! @{ */
  35544. #define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_MASK (0xFFFFFFFFU)
  35545. #define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_SHIFT (0U)
  35546. /*! TXEXSCOL - Tx Excessive Collision Packets This field indicates the number of packets aborted
  35547. * because of excessive (16) collision errors.
  35548. */
  35549. #define ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_SHIFT)) & ENET_QOS_MAC_TX_EXCESSIVE_COLLISION_PACKETS_TXEXSCOL_MASK)
  35550. /*! @} */
  35551. /*! @name MAC_TX_CARRIER_ERROR_PACKETS - Carrier Error Packets Transmitted */
  35552. /*! @{ */
  35553. #define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_MASK (0xFFFFFFFFU)
  35554. #define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_SHIFT (0U)
  35555. /*! TXCARR - Tx Carrier Error Packets This field indicates the number of packets aborted because of
  35556. * carrier sense error (no carrier or loss of carrier).
  35557. */
  35558. #define ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_SHIFT)) & ENET_QOS_MAC_TX_CARRIER_ERROR_PACKETS_TXCARR_MASK)
  35559. /*! @} */
  35560. /*! @name MAC_TX_OCTET_COUNT_GOOD - Bytes Transmitted in Good Packets */
  35561. /*! @{ */
  35562. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_MASK (0xFFFFFFFFU)
  35563. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_SHIFT (0U)
  35564. /*! TXOCTG - Tx Octet Count Good This field indicates the number of bytes transmitted, exclusive of preamble, only in good packets.
  35565. */
  35566. #define ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_SHIFT)) & ENET_QOS_MAC_TX_OCTET_COUNT_GOOD_TXOCTG_MASK)
  35567. /*! @} */
  35568. /*! @name MAC_TX_PACKET_COUNT_GOOD - Good Packets Transmitted */
  35569. /*! @{ */
  35570. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_MASK (0xFFFFFFFFU)
  35571. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_SHIFT (0U)
  35572. /*! TXPKTG - Tx Packet Count Good This field indicates the number of good packets transmitted.
  35573. */
  35574. #define ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_SHIFT)) & ENET_QOS_MAC_TX_PACKET_COUNT_GOOD_TXPKTG_MASK)
  35575. /*! @} */
  35576. /*! @name MAC_TX_EXCESSIVE_DEFERRAL_ERROR - Packets Aborted By Excessive Deferral Error */
  35577. /*! @{ */
  35578. #define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_MASK (0xFFFFFFFFU)
  35579. #define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_SHIFT (0U)
  35580. /*! TXEXSDEF - Tx Excessive Deferral Error This field indicates the number of packets aborted
  35581. * because of excessive deferral error (deferred for more than two max-sized packet times).
  35582. */
  35583. #define ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_SHIFT)) & ENET_QOS_MAC_TX_EXCESSIVE_DEFERRAL_ERROR_TXEXSDEF_MASK)
  35584. /*! @} */
  35585. /*! @name MAC_TX_PAUSE_PACKETS - Pause Packets Transmitted */
  35586. /*! @{ */
  35587. #define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_MASK (0xFFFFFFFFU)
  35588. #define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_SHIFT (0U)
  35589. /*! TXPAUSE - Tx Pause Packets This field indicates the number of good Pause packets transmitted.
  35590. */
  35591. #define ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_SHIFT)) & ENET_QOS_MAC_TX_PAUSE_PACKETS_TXPAUSE_MASK)
  35592. /*! @} */
  35593. /*! @name MAC_TX_VLAN_PACKETS_GOOD - Good VLAN Packets Transmitted */
  35594. /*! @{ */
  35595. #define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_MASK (0xFFFFFFFFU)
  35596. #define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_SHIFT (0U)
  35597. /*! TXVLANG - Tx VLAN Packets Good This field provides the number of good VLAN packets transmitted.
  35598. */
  35599. #define ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_SHIFT)) & ENET_QOS_MAC_TX_VLAN_PACKETS_GOOD_TXVLANG_MASK)
  35600. /*! @} */
  35601. /*! @name MAC_TX_OSIZE_PACKETS_GOOD - Good Oversize Packets Transmitted */
  35602. /*! @{ */
  35603. #define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_MASK (0xFFFFFFFFU)
  35604. #define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_SHIFT (0U)
  35605. /*! TXOSIZG - Tx OSize Packets Good This field indicates the number of packets transmitted without
  35606. * errors and with length greater than the maxsize (1,518 or 1,522 bytes for VLAN tagged packets;
  35607. * 2000 bytes if enabled in S2KP bit of the CONFIGURATION register).
  35608. */
  35609. #define ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_SHIFT)) & ENET_QOS_MAC_TX_OSIZE_PACKETS_GOOD_TXOSIZG_MASK)
  35610. /*! @} */
  35611. /*! @name MAC_RX_PACKETS_COUNT_GOOD_BAD - Good and Bad Packets Received */
  35612. /*! @{ */
  35613. #define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_MASK (0xFFFFFFFFU)
  35614. #define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_SHIFT (0U)
  35615. /*! RXPKTGB - Rx Packets Count Good Bad This field indicates the number of good and bad packets received.
  35616. */
  35617. #define ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_SHIFT)) & ENET_QOS_MAC_RX_PACKETS_COUNT_GOOD_BAD_RXPKTGB_MASK)
  35618. /*! @} */
  35619. /*! @name MAC_RX_OCTET_COUNT_GOOD_BAD - Bytes in Good and Bad Packets Received */
  35620. /*! @{ */
  35621. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_MASK (0xFFFFFFFFU)
  35622. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_SHIFT (0U)
  35623. /*! RXOCTGB - Rx Octet Count Good Bad This field indicates the number of bytes received, exclusive
  35624. * of preamble, in good and bad packets.
  35625. */
  35626. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_SHIFT)) & ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_BAD_RXOCTGB_MASK)
  35627. /*! @} */
  35628. /*! @name MAC_RX_OCTET_COUNT_GOOD - Bytes in Good Packets Received */
  35629. /*! @{ */
  35630. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_MASK (0xFFFFFFFFU)
  35631. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_SHIFT (0U)
  35632. /*! RXOCTG - Rx Octet Count Good This field indicates the number of bytes received, exclusive of preamble, only in good packets.
  35633. */
  35634. #define ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_SHIFT)) & ENET_QOS_MAC_RX_OCTET_COUNT_GOOD_RXOCTG_MASK)
  35635. /*! @} */
  35636. /*! @name MAC_RX_BROADCAST_PACKETS_GOOD - Good Broadcast Packets Received */
  35637. /*! @{ */
  35638. #define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_MASK (0xFFFFFFFFU)
  35639. #define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_SHIFT (0U)
  35640. /*! RXBCASTG - Rx Broadcast Packets Good This field indicates the number of good broadcast packets received.
  35641. */
  35642. #define ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_SHIFT)) & ENET_QOS_MAC_RX_BROADCAST_PACKETS_GOOD_RXBCASTG_MASK)
  35643. /*! @} */
  35644. /*! @name MAC_RX_MULTICAST_PACKETS_GOOD - Good Multicast Packets Received */
  35645. /*! @{ */
  35646. #define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_MASK (0xFFFFFFFFU)
  35647. #define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_SHIFT (0U)
  35648. /*! RXMCASTG - Rx Multicast Packets Good This field indicates the number of good multicast packets received.
  35649. */
  35650. #define ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_SHIFT)) & ENET_QOS_MAC_RX_MULTICAST_PACKETS_GOOD_RXMCASTG_MASK)
  35651. /*! @} */
  35652. /*! @name MAC_RX_CRC_ERROR_PACKETS - CRC Error Packets Received */
  35653. /*! @{ */
  35654. #define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_MASK (0xFFFFFFFFU)
  35655. #define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_SHIFT (0U)
  35656. /*! RXCRCERR - Rx CRC Error Packets This field indicates the number of packets received with CRC error.
  35657. */
  35658. #define ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_SHIFT)) & ENET_QOS_MAC_RX_CRC_ERROR_PACKETS_RXCRCERR_MASK)
  35659. /*! @} */
  35660. /*! @name MAC_RX_ALIGNMENT_ERROR_PACKETS - Alignment Error Packets Received */
  35661. /*! @{ */
  35662. #define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_MASK (0xFFFFFFFFU)
  35663. #define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_SHIFT (0U)
  35664. /*! RXALGNERR - Rx Alignment Error Packets This field indicates the number of packets received with alignment (dribble) error.
  35665. */
  35666. #define ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_SHIFT)) & ENET_QOS_MAC_RX_ALIGNMENT_ERROR_PACKETS_RXALGNERR_MASK)
  35667. /*! @} */
  35668. /*! @name MAC_RX_RUNT_ERROR_PACKETS - Runt Error Packets Received */
  35669. /*! @{ */
  35670. #define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_MASK (0xFFFFFFFFU)
  35671. #define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_SHIFT (0U)
  35672. /*! RXRUNTERR - Rx Runt Error Packets This field indicates the number of packets received with runt
  35673. * (length less than 64 bytes and CRC error) error.
  35674. */
  35675. #define ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_SHIFT)) & ENET_QOS_MAC_RX_RUNT_ERROR_PACKETS_RXRUNTERR_MASK)
  35676. /*! @} */
  35677. /*! @name MAC_RX_JABBER_ERROR_PACKETS - Jabber Error Packets Received */
  35678. /*! @{ */
  35679. #define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_MASK (0xFFFFFFFFU)
  35680. #define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_SHIFT (0U)
  35681. /*! RXJABERR - Rx Jabber Error Packets This field indicates the number of giant packets received
  35682. * with length (including CRC) greater than 1,518 bytes (1,522 bytes for VLAN tagged) and with CRC
  35683. * error.
  35684. */
  35685. #define ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_SHIFT)) & ENET_QOS_MAC_RX_JABBER_ERROR_PACKETS_RXJABERR_MASK)
  35686. /*! @} */
  35687. /*! @name MAC_RX_UNDERSIZE_PACKETS_GOOD - Good Undersize Packets Received */
  35688. /*! @{ */
  35689. #define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_MASK (0xFFFFFFFFU)
  35690. #define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_SHIFT (0U)
  35691. /*! RXUNDERSZG - Rx Undersize Packets Good This field indicates the number of packets received with
  35692. * length less than 64 bytes, without any errors.
  35693. */
  35694. #define ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_SHIFT)) & ENET_QOS_MAC_RX_UNDERSIZE_PACKETS_GOOD_RXUNDERSZG_MASK)
  35695. /*! @} */
  35696. /*! @name MAC_RX_OVERSIZE_PACKETS_GOOD - Good Oversize Packets Received */
  35697. /*! @{ */
  35698. #define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_MASK (0xFFFFFFFFU)
  35699. #define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_SHIFT (0U)
  35700. /*! RXOVERSZG - Rx Oversize Packets Good This field indicates the number of packets received without
  35701. * errors, with length greater than the maxsize (1,518 bytes or 1,522 bytes for VLAN tagged
  35702. * packets; 2000 bytes if enabled in the S2KP bit of the MAC_CONFIGURATION register).
  35703. */
  35704. #define ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_SHIFT)) & ENET_QOS_MAC_RX_OVERSIZE_PACKETS_GOOD_RXOVERSZG_MASK)
  35705. /*! @} */
  35706. /*! @name MAC_RX_64OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-Byte Packets Received */
  35707. /*! @{ */
  35708. #define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_MASK (0xFFFFFFFFU)
  35709. #define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_SHIFT (0U)
  35710. /*! RX64OCTGB - Rx 64 Octets Packets Good Bad This field indicates the number of good and bad
  35711. * packets received with length 64 bytes, exclusive of the preamble.
  35712. */
  35713. #define ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_SHIFT)) & ENET_QOS_MAC_RX_64OCTETS_PACKETS_GOOD_BAD_RX64OCTGB_MASK)
  35714. /*! @} */
  35715. /*! @name MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD - Good and Bad 64-to-127 Byte Packets Received */
  35716. /*! @{ */
  35717. #define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_MASK (0xFFFFFFFFU)
  35718. #define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_SHIFT (0U)
  35719. /*! RX65_127OCTGB - Rx 65-127 Octets Packets Good Bad This field indicates the number of good and
  35720. * bad packets received with length between 65 and 127 (inclusive) bytes, exclusive of the preamble.
  35721. */
  35722. #define ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_SHIFT)) & ENET_QOS_MAC_RX_65TO127OCTETS_PACKETS_GOOD_BAD_RX65_127OCTGB_MASK)
  35723. /*! @} */
  35724. /*! @name MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD - Good and Bad 128-to-255 Byte Packets Received */
  35725. /*! @{ */
  35726. #define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_MASK (0xFFFFFFFFU)
  35727. #define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_SHIFT (0U)
  35728. /*! RX128_255OCTGB - Rx 128-255 Octets Packets Good Bad This field indicates the number of good and
  35729. * bad packets received with length between 128 and 255 (inclusive) bytes, exclusive of the
  35730. * preamble.
  35731. */
  35732. #define ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_SHIFT)) & ENET_QOS_MAC_RX_128TO255OCTETS_PACKETS_GOOD_BAD_RX128_255OCTGB_MASK)
  35733. /*! @} */
  35734. /*! @name MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD - Good and Bad 256-to-511 Byte Packets Received */
  35735. /*! @{ */
  35736. #define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_MASK (0xFFFFFFFFU)
  35737. #define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_SHIFT (0U)
  35738. /*! RX256_511OCTGB - Rx 256-511 Octets Packets Good Bad This field indicates the number of good and
  35739. * bad packets received with length between 256 and 511 (inclusive) bytes, exclusive of the
  35740. * preamble.
  35741. */
  35742. #define ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_SHIFT)) & ENET_QOS_MAC_RX_256TO511OCTETS_PACKETS_GOOD_BAD_RX256_511OCTGB_MASK)
  35743. /*! @} */
  35744. /*! @name MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD - Good and Bad 512-to-1023 Byte Packets Received */
  35745. /*! @{ */
  35746. #define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_MASK (0xFFFFFFFFU)
  35747. #define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_SHIFT (0U)
  35748. /*! RX512_1023OCTGB - RX 512-1023 Octets Packets Good Bad This field indicates the number of good
  35749. * and bad packets received with length between 512 and 1023 (inclusive) bytes, exclusive of the
  35750. * preamble.
  35751. */
  35752. #define ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_SHIFT)) & ENET_QOS_MAC_RX_512TO1023OCTETS_PACKETS_GOOD_BAD_RX512_1023OCTGB_MASK)
  35753. /*! @} */
  35754. /*! @name MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD - Good and Bad 1024-to-Max Byte Packets Received */
  35755. /*! @{ */
  35756. #define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_MASK (0xFFFFFFFFU)
  35757. #define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_SHIFT (0U)
  35758. /*! RX1024_MAXOCTGB - Rx 1024-Max Octets Good Bad This field indicates the number of good and bad
  35759. * packets received with length between 1024 and maxsize (inclusive) bytes, exclusive of the
  35760. * preamble.
  35761. */
  35762. #define ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_SHIFT)) & ENET_QOS_MAC_RX_1024TOMAXOCTETS_PACKETS_GOOD_BAD_RX1024_MAXOCTGB_MASK)
  35763. /*! @} */
  35764. /*! @name MAC_RX_UNICAST_PACKETS_GOOD - Good Unicast Packets Received */
  35765. /*! @{ */
  35766. #define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_MASK (0xFFFFFFFFU)
  35767. #define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_SHIFT (0U)
  35768. /*! RXUCASTG - Rx Unicast Packets Good This field indicates the number of good unicast packets received.
  35769. */
  35770. #define ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_SHIFT)) & ENET_QOS_MAC_RX_UNICAST_PACKETS_GOOD_RXUCASTG_MASK)
  35771. /*! @} */
  35772. /*! @name MAC_RX_LENGTH_ERROR_PACKETS - Length Error Packets Received */
  35773. /*! @{ */
  35774. #define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_MASK (0xFFFFFFFFU)
  35775. #define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_SHIFT (0U)
  35776. /*! RXLENERR - Rx Length Error Packets This field indicates the number of packets received with
  35777. * length error (Length Type field not equal to packet size), for all packets with valid length field.
  35778. */
  35779. #define ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_SHIFT)) & ENET_QOS_MAC_RX_LENGTH_ERROR_PACKETS_RXLENERR_MASK)
  35780. /*! @} */
  35781. /*! @name MAC_RX_OUT_OF_RANGE_TYPE_PACKETS - Out-of-range Type Packets Received */
  35782. /*! @{ */
  35783. #define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_MASK (0xFFFFFFFFU)
  35784. #define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_SHIFT (0U)
  35785. /*! RXOUTOFRNG - Rx Out of Range Type Packet This field indicates the number of packets received
  35786. * with length field not equal to the valid packet size (greater than 1,500 but less than 1,536).
  35787. */
  35788. #define ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_SHIFT)) & ENET_QOS_MAC_RX_OUT_OF_RANGE_TYPE_PACKETS_RXOUTOFRNG_MASK)
  35789. /*! @} */
  35790. /*! @name MAC_RX_PAUSE_PACKETS - Pause Packets Received */
  35791. /*! @{ */
  35792. #define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_MASK (0xFFFFFFFFU)
  35793. #define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_SHIFT (0U)
  35794. /*! RXPAUSEPKT - Rx Pause Packets This field indicates the number of good and valid Pause packets received.
  35795. */
  35796. #define ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_SHIFT)) & ENET_QOS_MAC_RX_PAUSE_PACKETS_RXPAUSEPKT_MASK)
  35797. /*! @} */
  35798. /*! @name MAC_RX_FIFO_OVERFLOW_PACKETS - Missed Packets Due to FIFO Overflow */
  35799. /*! @{ */
  35800. #define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_MASK (0xFFFFFFFFU)
  35801. #define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_SHIFT (0U)
  35802. /*! RXFIFOOVFL - Rx FIFO Overflow Packets This field indicates the number of missed received packets because of FIFO overflow.
  35803. */
  35804. #define ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_SHIFT)) & ENET_QOS_MAC_RX_FIFO_OVERFLOW_PACKETS_RXFIFOOVFL_MASK)
  35805. /*! @} */
  35806. /*! @name MAC_RX_VLAN_PACKETS_GOOD_BAD - Good and Bad VLAN Packets Received */
  35807. /*! @{ */
  35808. #define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_MASK (0xFFFFFFFFU)
  35809. #define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_SHIFT (0U)
  35810. /*! RXVLANPKTGB - Rx VLAN Packets Good Bad This field indicates the number of good and bad VLAN packets received.
  35811. */
  35812. #define ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_SHIFT)) & ENET_QOS_MAC_RX_VLAN_PACKETS_GOOD_BAD_RXVLANPKTGB_MASK)
  35813. /*! @} */
  35814. /*! @name MAC_RX_WATCHDOG_ERROR_PACKETS - Watchdog Error Packets Received */
  35815. /*! @{ */
  35816. #define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_MASK (0xFFFFFFFFU)
  35817. #define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_SHIFT (0U)
  35818. /*! RXWDGERR - Rx Watchdog Error Packets This field indicates the number of packets received with
  35819. * error because of watchdog timeout error (packets with a data load larger than 2,048 bytes (when
  35820. * JE and WD bits are reset in MAC_CONFIGURATION register), 10,240 bytes (when JE bit is set and
  35821. * WD bit is reset in MAC_CONFIGURATION register), 16,384 bytes (when WD bit is set in
  35822. * MAC_CONFIGURATION register) or the value programmed in the MAC_WATCHDOG_TIMEOUT register).
  35823. */
  35824. #define ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_SHIFT)) & ENET_QOS_MAC_RX_WATCHDOG_ERROR_PACKETS_RXWDGERR_MASK)
  35825. /*! @} */
  35826. /*! @name MAC_RX_RECEIVE_ERROR_PACKETS - Receive Error Packets Received */
  35827. /*! @{ */
  35828. #define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_MASK (0xFFFFFFFFU)
  35829. #define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_SHIFT (0U)
  35830. /*! RXRCVERR - Rx Receive Error Packets This field indicates the number of packets received with
  35831. * Receive error or Packet Extension error on the GMII or MII interface.
  35832. */
  35833. #define ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_SHIFT)) & ENET_QOS_MAC_RX_RECEIVE_ERROR_PACKETS_RXRCVERR_MASK)
  35834. /*! @} */
  35835. /*! @name MAC_RX_CONTROL_PACKETS_GOOD - Good Control Packets Received */
  35836. /*! @{ */
  35837. #define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_MASK (0xFFFFFFFFU)
  35838. #define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_SHIFT (0U)
  35839. /*! RXCTRLG - Rx Control Packets Good This field indicates the number of good control packets received.
  35840. */
  35841. #define ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_SHIFT)) & ENET_QOS_MAC_RX_CONTROL_PACKETS_GOOD_RXCTRLG_MASK)
  35842. /*! @} */
  35843. /*! @name MAC_TX_LPI_USEC_CNTR - Microseconds Tx LPI Asserted */
  35844. /*! @{ */
  35845. #define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_MASK (0xFFFFFFFFU)
  35846. #define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_SHIFT (0U)
  35847. /*! TXLPIUSC - Tx LPI Microseconds Counter This field indicates the number of microseconds Tx LPI is asserted.
  35848. */
  35849. #define ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_SHIFT)) & ENET_QOS_MAC_TX_LPI_USEC_CNTR_TXLPIUSC_MASK)
  35850. /*! @} */
  35851. /*! @name MAC_TX_LPI_TRAN_CNTR - Number of Times Tx LPI Asserted */
  35852. /*! @{ */
  35853. #define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_MASK (0xFFFFFFFFU)
  35854. #define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_SHIFT (0U)
  35855. /*! TXLPITRC - Tx LPI Transition counter This field indicates the number of times Tx LPI Entry has occurred.
  35856. */
  35857. #define ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_SHIFT)) & ENET_QOS_MAC_TX_LPI_TRAN_CNTR_TXLPITRC_MASK)
  35858. /*! @} */
  35859. /*! @name MAC_RX_LPI_USEC_CNTR - Microseconds Rx LPI Sampled */
  35860. /*! @{ */
  35861. #define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_MASK (0xFFFFFFFFU)
  35862. #define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_SHIFT (0U)
  35863. /*! RXLPIUSC - Rx LPI Microseconds Counter This field indicates the number of microseconds Rx LPI is asserted.
  35864. */
  35865. #define ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_SHIFT)) & ENET_QOS_MAC_RX_LPI_USEC_CNTR_RXLPIUSC_MASK)
  35866. /*! @} */
  35867. /*! @name MAC_RX_LPI_TRAN_CNTR - Number of Times Rx LPI Entered */
  35868. /*! @{ */
  35869. #define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_MASK (0xFFFFFFFFU)
  35870. #define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_SHIFT (0U)
  35871. /*! RXLPITRC - Rx LPI Transition counter This field indicates the number of times Rx LPI Entry has occurred.
  35872. */
  35873. #define ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_SHIFT)) & ENET_QOS_MAC_RX_LPI_TRAN_CNTR_RXLPITRC_MASK)
  35874. /*! @} */
  35875. /*! @name MAC_MMC_IPC_RX_INTERRUPT_MASK - MMC IPC Receive Interrupt Mask */
  35876. /*! @{ */
  35877. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_MASK (0x1U)
  35878. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_SHIFT (0U)
  35879. /*! RXIPV4GPIM - MMC Receive IPV4 Good Packet Counter Interrupt Mask Setting this bit masks the
  35880. * interrupt when the rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value.
  35881. * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Mask is disabled
  35882. * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Mask is enabled
  35883. */
  35884. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GPIM_MASK)
  35885. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_MASK (0x2U)
  35886. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_SHIFT (1U)
  35887. /*! RXIPV4HERPIM - MMC Receive IPV4 Header Error Packet Counter Interrupt Mask Setting this bit
  35888. * masks the interrupt when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the
  35889. * maximum value.
  35890. * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is disabled
  35891. * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Mask is enabled
  35892. */
  35893. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HERPIM_MASK)
  35894. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_MASK (0x4U)
  35895. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_SHIFT (2U)
  35896. /*! RXIPV4NOPAYPIM - MMC Receive IPV4 No Payload Packet Counter Interrupt Mask Setting this bit
  35897. * masks the interrupt when the rxipv4_nopay_pkts counter reaches half of the maximum value or the
  35898. * maximum value.
  35899. * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is disabled
  35900. * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Mask is enabled
  35901. */
  35902. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYPIM_MASK)
  35903. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_MASK (0x8U)
  35904. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_SHIFT (3U)
  35905. /*! RXIPV4FRAGPIM - MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask Setting this bit masks
  35906. * the interrupt when the rxipv4_frag_pkts counter reaches half of the maximum value or the
  35907. * maximum value.
  35908. * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is disabled
  35909. * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Mask is enabled
  35910. */
  35911. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGPIM_MASK)
  35912. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_MASK (0x10U)
  35913. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_SHIFT (4U)
  35914. /*! RXIPV4UDSBLPIM - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask Setting
  35915. * this bit masks the interrupt when the rxipv4_udsbl_pkts counter reaches half of the maximum
  35916. * value or the maximum value.
  35917. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is disabled
  35918. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Mask is enabled
  35919. */
  35920. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLPIM_MASK)
  35921. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_MASK (0x20U)
  35922. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_SHIFT (5U)
  35923. /*! RXIPV6GPIM - MMC Receive IPV6 Good Packet Counter Interrupt Mask Setting this bit masks the
  35924. * interrupt when the rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value.
  35925. * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Mask is disabled
  35926. * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Mask is enabled
  35927. */
  35928. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GPIM_MASK)
  35929. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_MASK (0x40U)
  35930. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_SHIFT (6U)
  35931. /*! RXIPV6HERPIM - MMC Receive IPV6 Header Error Packet Counter Interrupt Mask Setting this bit
  35932. * masks the interrupt when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the
  35933. * maximum value.
  35934. * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is disabled
  35935. * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Mask is enabled
  35936. */
  35937. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HERPIM_MASK)
  35938. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_MASK (0x80U)
  35939. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_SHIFT (7U)
  35940. /*! RXIPV6NOPAYPIM - MMC Receive IPV6 No Payload Packet Counter Interrupt Mask Setting this bit
  35941. * masks the interrupt when the rxipv6_nopay_pkts counter reaches half of the maximum value or the
  35942. * maximum value.
  35943. * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is disabled
  35944. * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Mask is enabled
  35945. */
  35946. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYPIM_MASK)
  35947. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_MASK (0x100U)
  35948. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_SHIFT (8U)
  35949. /*! RXUDPGPIM - MMC Receive UDP Good Packet Counter Interrupt Mask Setting this bit masks the
  35950. * interrupt when the rxudp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35951. * 0b0..MMC Receive UDP Good Packet Counter Interrupt Mask is disabled
  35952. * 0b1..MMC Receive UDP Good Packet Counter Interrupt Mask is enabled
  35953. */
  35954. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGPIM_MASK)
  35955. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_MASK (0x200U)
  35956. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_SHIFT (9U)
  35957. /*! RXUDPERPIM - MMC Receive UDP Error Packet Counter Interrupt Mask Setting this bit masks the
  35958. * interrupt when the rxudp_err_pkts counter reaches half of the maximum value or the maximum value.
  35959. * 0b0..MMC Receive UDP Error Packet Counter Interrupt Mask is disabled
  35960. * 0b1..MMC Receive UDP Error Packet Counter Interrupt Mask is enabled
  35961. */
  35962. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPERPIM_MASK)
  35963. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_MASK (0x400U)
  35964. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_SHIFT (10U)
  35965. /*! RXTCPGPIM - MMC Receive TCP Good Packet Counter Interrupt Mask Setting this bit masks the
  35966. * interrupt when the rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35967. * 0b0..MMC Receive TCP Good Packet Counter Interrupt Mask is disabled
  35968. * 0b1..MMC Receive TCP Good Packet Counter Interrupt Mask is enabled
  35969. */
  35970. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGPIM_MASK)
  35971. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_MASK (0x800U)
  35972. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_SHIFT (11U)
  35973. /*! RXTCPERPIM - MMC Receive TCP Error Packet Counter Interrupt Mask Setting this bit masks the
  35974. * interrupt when the rxtcp_err_pkts counter reaches half of the maximum value or the maximum value.
  35975. * 0b0..MMC Receive TCP Error Packet Counter Interrupt Mask is disabled
  35976. * 0b1..MMC Receive TCP Error Packet Counter Interrupt Mask is enabled
  35977. */
  35978. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPERPIM_MASK)
  35979. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_MASK (0x1000U)
  35980. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_SHIFT (12U)
  35981. /*! RXICMPGPIM - MMC Receive ICMP Good Packet Counter Interrupt Mask Setting this bit masks the
  35982. * interrupt when the rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value.
  35983. * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Mask is disabled
  35984. * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Mask is enabled
  35985. */
  35986. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGPIM_MASK)
  35987. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_MASK (0x2000U)
  35988. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_SHIFT (13U)
  35989. /*! RXICMPERPIM - MMC Receive ICMP Error Packet Counter Interrupt Mask Setting this bit masks the
  35990. * interrupt when the rxicmp_err_pkts counter reaches half of the maximum value or the maximum
  35991. * value.
  35992. * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Mask is disabled
  35993. * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Mask is enabled
  35994. */
  35995. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPERPIM_MASK)
  35996. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_MASK (0x10000U)
  35997. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_SHIFT (16U)
  35998. /*! RXIPV4GOIM - MMC Receive IPV4 Good Octet Counter Interrupt Mask Setting this bit masks the
  35999. * interrupt when the rxipv4_gd_octets counter reaches half of the maximum value or the maximum value.
  36000. * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Mask is disabled
  36001. * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Mask is enabled
  36002. */
  36003. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4GOIM_MASK)
  36004. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_MASK (0x20000U)
  36005. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_SHIFT (17U)
  36006. /*! RXIPV4HEROIM - MMC Receive IPV4 Header Error Octet Counter Interrupt Mask Setting this bit masks
  36007. * the interrupt when the rxipv4_hdrerr_octets counter reaches half of the maximum value or the
  36008. * maximum value.
  36009. * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is disabled
  36010. * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Mask is enabled
  36011. */
  36012. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4HEROIM_MASK)
  36013. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_MASK (0x40000U)
  36014. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_SHIFT (18U)
  36015. /*! RXIPV4NOPAYOIM - MMC Receive IPV4 No Payload Octet Counter Interrupt Mask Setting this bit masks
  36016. * the interrupt when the rxipv4_nopay_octets counter reaches half of the maximum value or the
  36017. * maximum value.
  36018. * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is disabled
  36019. * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Mask is enabled
  36020. */
  36021. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4NOPAYOIM_MASK)
  36022. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_MASK (0x80000U)
  36023. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_SHIFT (19U)
  36024. /*! RXIPV4FRAGOIM - MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask Setting this bit masks
  36025. * the interrupt when the rxipv4_frag_octets counter reaches half of the maximum value or the
  36026. * maximum value.
  36027. * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is disabled
  36028. * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Mask is enabled
  36029. */
  36030. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4FRAGOIM_MASK)
  36031. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_MASK (0x100000U)
  36032. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_SHIFT (20U)
  36033. /*! RXIPV4UDSBLOIM - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask Setting
  36034. * this bit masks the interrupt when the rxipv4_udsbl_octets counter reaches half of the maximum
  36035. * value or the maximum value.
  36036. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is disabled
  36037. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Mask is enabled
  36038. */
  36039. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV4UDSBLOIM_MASK)
  36040. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_MASK (0x200000U)
  36041. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_SHIFT (21U)
  36042. /*! RXIPV6GOIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the
  36043. * interrupt when the rxipv6_gd_octets counter reaches half of the maximum value or the maximum value.
  36044. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled
  36045. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled
  36046. */
  36047. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6GOIM_MASK)
  36048. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_MASK (0x400000U)
  36049. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_SHIFT (22U)
  36050. /*! RXIPV6HEROIM - MMC Receive IPV6 Good Octet Counter Interrupt Mask Setting this bit masks the
  36051. * interrupt when the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum
  36052. * value.
  36053. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Mask is disabled
  36054. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Mask is enabled
  36055. */
  36056. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6HEROIM_MASK)
  36057. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_MASK (0x800000U)
  36058. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_SHIFT (23U)
  36059. /*! RXIPV6NOPAYOIM - MMC Receive IPV6 Header Error Octet Counter Interrupt Mask Setting this bit
  36060. * masks the interrupt when the rxipv6_nopay_octets counter reaches half of the maximum value or the
  36061. * maximum value.
  36062. * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is disabled
  36063. * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Mask is enabled
  36064. */
  36065. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXIPV6NOPAYOIM_MASK)
  36066. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_MASK (0x1000000U)
  36067. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_SHIFT (24U)
  36068. /*! RXUDPGOIM - MMC Receive IPV6 No Payload Octet Counter Interrupt Mask Setting this bit masks the
  36069. * interrupt when the rxudp_gd_octets counter reaches half of the maximum value or the maximum
  36070. * value.
  36071. * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is disabled
  36072. * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Mask is enabled
  36073. */
  36074. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPGOIM_MASK)
  36075. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_MASK (0x2000000U)
  36076. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_SHIFT (25U)
  36077. /*! RXUDPEROIM - MMC Receive UDP Good Octet Counter Interrupt Mask Setting this bit masks the
  36078. * interrupt when the rxudp_err_octets counter reaches half of the maximum value or the maximum value.
  36079. * 0b0..MMC Receive UDP Good Octet Counter Interrupt Mask is disabled
  36080. * 0b1..MMC Receive UDP Good Octet Counter Interrupt Mask is enabled
  36081. */
  36082. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXUDPEROIM_MASK)
  36083. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_MASK (0x4000000U)
  36084. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_SHIFT (26U)
  36085. /*! RXTCPGOIM - MMC Receive TCP Good Octet Counter Interrupt Mask Setting this bit masks the
  36086. * interrupt when the rxtcp_gd_octets counter reaches half of the maximum value or the maximum value.
  36087. * 0b0..MMC Receive TCP Good Octet Counter Interrupt Mask is disabled
  36088. * 0b1..MMC Receive TCP Good Octet Counter Interrupt Mask is enabled
  36089. */
  36090. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPGOIM_MASK)
  36091. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_MASK (0x8000000U)
  36092. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_SHIFT (27U)
  36093. /*! RXTCPEROIM - MMC Receive TCP Error Octet Counter Interrupt Mask Setting this bit masks the
  36094. * interrupt when the rxtcp_err_octets counter reaches half of the maximum value or the maximum value.
  36095. * 0b0..MMC Receive TCP Error Octet Counter Interrupt Mask is disabled
  36096. * 0b1..MMC Receive TCP Error Octet Counter Interrupt Mask is enabled
  36097. */
  36098. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXTCPEROIM_MASK)
  36099. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_MASK (0x10000000U)
  36100. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_SHIFT (28U)
  36101. /*! RXICMPGOIM - MMC Receive ICMP Good Octet Counter Interrupt Mask Setting this bit masks the
  36102. * interrupt when the rxicmp_gd_octets counter reaches half of the maximum value or the maximum value.
  36103. * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Mask is disabled
  36104. * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Mask is enabled
  36105. */
  36106. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPGOIM_MASK)
  36107. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_MASK (0x20000000U)
  36108. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_SHIFT (29U)
  36109. /*! RXICMPEROIM - MMC Receive ICMP Error Octet Counter Interrupt Mask Setting this bit masks the
  36110. * interrupt when the rxicmp_err_octets counter reaches half of the maximum value or the maximum
  36111. * value.
  36112. * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Mask is disabled
  36113. * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Mask is enabled
  36114. */
  36115. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_MASK_RXICMPEROIM_MASK)
  36116. /*! @} */
  36117. /*! @name MAC_MMC_IPC_RX_INTERRUPT - MMC IPC Receive Interrupt */
  36118. /*! @{ */
  36119. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_MASK (0x1U)
  36120. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_SHIFT (0U)
  36121. /*! RXIPV4GPIS - MMC Receive IPV4 Good Packet Counter Interrupt Status This bit is set when the
  36122. * rxipv4_gd_pkts counter reaches half of the maximum value or the maximum value.
  36123. * 0b1..MMC Receive IPV4 Good Packet Counter Interrupt Status detected
  36124. * 0b0..MMC Receive IPV4 Good Packet Counter Interrupt Status not detected
  36125. */
  36126. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GPIS_MASK)
  36127. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_MASK (0x2U)
  36128. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_SHIFT (1U)
  36129. /*! RXIPV4HERPIS - MMC Receive IPV4 Header Error Packet Counter Interrupt Status This bit is set
  36130. * when the rxipv4_hdrerr_pkts counter reaches half of the maximum value or the maximum value.
  36131. * 0b1..MMC Receive IPV4 Header Error Packet Counter Interrupt Status detected
  36132. * 0b0..MMC Receive IPV4 Header Error Packet Counter Interrupt Status not detected
  36133. */
  36134. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HERPIS_MASK)
  36135. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_MASK (0x4U)
  36136. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_SHIFT (2U)
  36137. /*! RXIPV4NOPAYPIS - MMC Receive IPV4 No Payload Packet Counter Interrupt Status This bit is set
  36138. * when the rxipv4_nopay_pkts counter reaches half of the maximum value or the maximum value.
  36139. * 0b1..MMC Receive IPV4 No Payload Packet Counter Interrupt Status detected
  36140. * 0b0..MMC Receive IPV4 No Payload Packet Counter Interrupt Status not detected
  36141. */
  36142. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYPIS_MASK)
  36143. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_MASK (0x8U)
  36144. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_SHIFT (3U)
  36145. /*! RXIPV4FRAGPIS - MMC Receive IPV4 Fragmented Packet Counter Interrupt Status This bit is set when
  36146. * the rxipv4_frag_pkts counter reaches half of the maximum value or the maximum value.
  36147. * 0b1..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status detected
  36148. * 0b0..MMC Receive IPV4 Fragmented Packet Counter Interrupt Status not detected
  36149. */
  36150. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGPIS_MASK)
  36151. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_MASK (0x10U)
  36152. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_SHIFT (4U)
  36153. /*! RXIPV4UDSBLPIS - MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status This bit
  36154. * is set when the rxipv4_udsbl_pkts counter reaches half of the maximum value or the maximum
  36155. * value.
  36156. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status detected
  36157. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Packet Counter Interrupt Status not detected
  36158. */
  36159. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLPIS_MASK)
  36160. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_MASK (0x20U)
  36161. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_SHIFT (5U)
  36162. /*! RXIPV6GPIS - MMC Receive IPV6 Good Packet Counter Interrupt Status This bit is set when the
  36163. * rxipv6_gd_pkts counter reaches half of the maximum value or the maximum value.
  36164. * 0b1..MMC Receive IPV6 Good Packet Counter Interrupt Status detected
  36165. * 0b0..MMC Receive IPV6 Good Packet Counter Interrupt Status not detected
  36166. */
  36167. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GPIS_MASK)
  36168. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_MASK (0x40U)
  36169. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_SHIFT (6U)
  36170. /*! RXIPV6HERPIS - MMC Receive IPV6 Header Error Packet Counter Interrupt Status This bit is set
  36171. * when the rxipv6_hdrerr_pkts counter reaches half of the maximum value or the maximum value.
  36172. * 0b1..MMC Receive IPV6 Header Error Packet Counter Interrupt Status detected
  36173. * 0b0..MMC Receive IPV6 Header Error Packet Counter Interrupt Status not detected
  36174. */
  36175. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HERPIS_MASK)
  36176. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_MASK (0x80U)
  36177. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_SHIFT (7U)
  36178. /*! RXIPV6NOPAYPIS - MMC Receive IPV6 No Payload Packet Counter Interrupt Status This bit is set
  36179. * when the rxipv6_nopay_pkts counter reaches half of the maximum value or the maximum value.
  36180. * 0b1..MMC Receive IPV6 No Payload Packet Counter Interrupt Status detected
  36181. * 0b0..MMC Receive IPV6 No Payload Packet Counter Interrupt Status not detected
  36182. */
  36183. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYPIS_MASK)
  36184. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_MASK (0x100U)
  36185. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_SHIFT (8U)
  36186. /*! RXUDPGPIS - MC Receive UDP Good Packet Counter Interrupt Status This bit is set when the
  36187. * rxudp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36188. * 0b1..MMC Receive UDP Good Packet Counter Interrupt Status detected
  36189. * 0b0..MMC Receive UDP Good Packet Counter Interrupt Status not detected
  36190. */
  36191. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGPIS_MASK)
  36192. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_MASK (0x200U)
  36193. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_SHIFT (9U)
  36194. /*! RXUDPERPIS - MMC Receive UDP Error Packet Counter Interrupt Status This bit is set when the
  36195. * rxudp_err_pkts counter reaches half of the maximum value or the maximum value.
  36196. * 0b1..MMC Receive UDP Error Packet Counter Interrupt Status detected
  36197. * 0b0..MMC Receive UDP Error Packet Counter Interrupt Status not detected
  36198. */
  36199. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPERPIS_MASK)
  36200. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_MASK (0x400U)
  36201. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_SHIFT (10U)
  36202. /*! RXTCPGPIS - MMC Receive TCP Good Packet Counter Interrupt Status This bit is set when the
  36203. * rxtcp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36204. * 0b1..MMC Receive TCP Good Packet Counter Interrupt Status detected
  36205. * 0b0..MMC Receive TCP Good Packet Counter Interrupt Status not detected
  36206. */
  36207. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGPIS_MASK)
  36208. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_MASK (0x800U)
  36209. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_SHIFT (11U)
  36210. /*! RXTCPERPIS - MMC Receive TCP Error Packet Counter Interrupt Status This bit is set when the
  36211. * rxtcp_err_pkts counter reaches half of the maximum value or the maximum value.
  36212. * 0b1..MMC Receive TCP Error Packet Counter Interrupt Status detected
  36213. * 0b0..MMC Receive TCP Error Packet Counter Interrupt Status not detected
  36214. */
  36215. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPERPIS_MASK)
  36216. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_MASK (0x1000U)
  36217. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_SHIFT (12U)
  36218. /*! RXICMPGPIS - MMC Receive ICMP Good Packet Counter Interrupt Status This bit is set when the
  36219. * rxicmp_gd_pkts counter reaches half of the maximum value or the maximum value.
  36220. * 0b1..MMC Receive ICMP Good Packet Counter Interrupt Status detected
  36221. * 0b0..MMC Receive ICMP Good Packet Counter Interrupt Status not detected
  36222. */
  36223. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGPIS_MASK)
  36224. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_MASK (0x2000U)
  36225. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_SHIFT (13U)
  36226. /*! RXICMPERPIS - MMC Receive ICMP Error Packet Counter Interrupt Status This bit is set when the
  36227. * rxicmp_err_pkts counter reaches half of the maximum value or the maximum value.
  36228. * 0b1..MMC Receive ICMP Error Packet Counter Interrupt Status detected
  36229. * 0b0..MMC Receive ICMP Error Packet Counter Interrupt Status not detected
  36230. */
  36231. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPERPIS_MASK)
  36232. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_MASK (0x10000U)
  36233. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_SHIFT (16U)
  36234. /*! RXIPV4GOIS - MMC Receive IPV4 Good Octet Counter Interrupt Status This bit is set when the
  36235. * rxipv4_gd_octets counter reaches half of the maximum value or the maximum value.
  36236. * 0b1..MMC Receive IPV4 Good Octet Counter Interrupt Status detected
  36237. * 0b0..MMC Receive IPV4 Good Octet Counter Interrupt Status not detected
  36238. */
  36239. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4GOIS_MASK)
  36240. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_MASK (0x20000U)
  36241. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_SHIFT (17U)
  36242. /*! RXIPV4HEROIS - MMC Receive IPV4 Header Error Octet Counter Interrupt Status This bit is set when
  36243. * the rxipv4_hdrerr_octets counter reaches half of the maximum value or the maximum value.
  36244. * 0b1..MMC Receive IPV4 Header Error Octet Counter Interrupt Status detected
  36245. * 0b0..MMC Receive IPV4 Header Error Octet Counter Interrupt Status not detected
  36246. */
  36247. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4HEROIS_MASK)
  36248. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_MASK (0x40000U)
  36249. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_SHIFT (18U)
  36250. /*! RXIPV4NOPAYOIS - MMC Receive IPV4 No Payload Octet Counter Interrupt Status This bit is set when
  36251. * the rxipv4_nopay_octets counter reaches half of the maximum value or the maximum value.
  36252. * 0b1..MMC Receive IPV4 No Payload Octet Counter Interrupt Status detected
  36253. * 0b0..MMC Receive IPV4 No Payload Octet Counter Interrupt Status not detected
  36254. */
  36255. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4NOPAYOIS_MASK)
  36256. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_MASK (0x80000U)
  36257. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_SHIFT (19U)
  36258. /*! RXIPV4FRAGOIS - MMC Receive IPV4 Fragmented Octet Counter Interrupt Status This bit is set when
  36259. * the rxipv4_frag_octets counter reaches half of the maximum value or the maximum value.
  36260. * 0b1..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status detected
  36261. * 0b0..MMC Receive IPV4 Fragmented Octet Counter Interrupt Status not detected
  36262. */
  36263. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4FRAGOIS_MASK)
  36264. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_MASK (0x100000U)
  36265. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_SHIFT (20U)
  36266. /*! RXIPV4UDSBLOIS - MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status This bit
  36267. * is set when the rxipv4_udsbl_octets counter reaches half of the maximum value or the maximum
  36268. * value.
  36269. * 0b1..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status detected
  36270. * 0b0..MMC Receive IPV4 UDP Checksum Disabled Octet Counter Interrupt Status not detected
  36271. */
  36272. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV4UDSBLOIS_MASK)
  36273. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_MASK (0x200000U)
  36274. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_SHIFT (21U)
  36275. /*! RXIPV6GOIS - MMC Receive IPV6 Good Octet Counter Interrupt Status This bit is set when the
  36276. * rxipv6_gd_octets counter reaches half of the maximum value or the maximum value.
  36277. * 0b1..MMC Receive IPV6 Good Octet Counter Interrupt Status detected
  36278. * 0b0..MMC Receive IPV6 Good Octet Counter Interrupt Status not detected
  36279. */
  36280. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6GOIS_MASK)
  36281. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_MASK (0x400000U)
  36282. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_SHIFT (22U)
  36283. /*! RXIPV6HEROIS - MMC Receive IPV6 Header Error Octet Counter Interrupt Status This bit is set when
  36284. * the rxipv6_hdrerr_octets counter reaches half of the maximum value or the maximum value.
  36285. * 0b1..MMC Receive IPV6 Header Error Octet Counter Interrupt Status detected
  36286. * 0b0..MMC Receive IPV6 Header Error Octet Counter Interrupt Status not detected
  36287. */
  36288. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6HEROIS_MASK)
  36289. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_MASK (0x800000U)
  36290. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_SHIFT (23U)
  36291. /*! RXIPV6NOPAYOIS - MMC Receive IPV6 No Payload Octet Counter Interrupt Status This bit is set when
  36292. * the rxipv6_nopay_octets counter reaches half of the maximum value or the maximum value.
  36293. * 0b1..MMC Receive IPV6 No Payload Octet Counter Interrupt Status detected
  36294. * 0b0..MMC Receive IPV6 No Payload Octet Counter Interrupt Status not detected
  36295. */
  36296. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXIPV6NOPAYOIS_MASK)
  36297. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_MASK (0x1000000U)
  36298. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_SHIFT (24U)
  36299. /*! RXUDPGOIS - MMC Receive UDP Good Octet Counter Interrupt Status This bit is set when the
  36300. * rxudp_gd_octets counter reaches half of the maximum value or the maximum value.
  36301. * 0b1..MMC Receive UDP Good Octet Counter Interrupt Status detected
  36302. * 0b0..MMC Receive UDP Good Octet Counter Interrupt Status not detected
  36303. */
  36304. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPGOIS_MASK)
  36305. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_MASK (0x2000000U)
  36306. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_SHIFT (25U)
  36307. /*! RXUDPEROIS - MMC Receive UDP Error Octet Counter Interrupt Status This bit is set when the
  36308. * rxudp_err_octets counter reaches half of the maximum value or the maximum value.
  36309. * 0b1..MMC Receive UDP Error Octet Counter Interrupt Status detected
  36310. * 0b0..MMC Receive UDP Error Octet Counter Interrupt Status not detected
  36311. */
  36312. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXUDPEROIS_MASK)
  36313. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_MASK (0x4000000U)
  36314. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_SHIFT (26U)
  36315. /*! RXTCPGOIS - MMC Receive TCP Good Octet Counter Interrupt Status This bit is set when the
  36316. * rxtcp_gd_octets counter reaches half of the maximum value or the maximum value.
  36317. * 0b1..MMC Receive TCP Good Octet Counter Interrupt Status detected
  36318. * 0b0..MMC Receive TCP Good Octet Counter Interrupt Status not detected
  36319. */
  36320. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPGOIS_MASK)
  36321. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_MASK (0x8000000U)
  36322. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_SHIFT (27U)
  36323. /*! RXTCPEROIS - MMC Receive TCP Error Octet Counter Interrupt Status This bit is set when the
  36324. * rxtcp_err_octets counter reaches half of the maximum value or the maximum value.
  36325. * 0b1..MMC Receive TCP Error Octet Counter Interrupt Status detected
  36326. * 0b0..MMC Receive TCP Error Octet Counter Interrupt Status not detected
  36327. */
  36328. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXTCPEROIS_MASK)
  36329. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_MASK (0x10000000U)
  36330. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_SHIFT (28U)
  36331. /*! RXICMPGOIS - MMC Receive ICMP Good Octet Counter Interrupt Status This bit is set when the
  36332. * rxicmp_gd_octets counter reaches half of the maximum value or the maximum value.
  36333. * 0b1..MMC Receive ICMP Good Octet Counter Interrupt Status detected
  36334. * 0b0..MMC Receive ICMP Good Octet Counter Interrupt Status not detected
  36335. */
  36336. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPGOIS_MASK)
  36337. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_MASK (0x20000000U)
  36338. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_SHIFT (29U)
  36339. /*! RXICMPEROIS - MMC Receive ICMP Error Octet Counter Interrupt Status This bit is set when the
  36340. * rxicmp_err_octets counter reaches half of the maximum value or the maximum value.
  36341. * 0b1..MMC Receive ICMP Error Octet Counter Interrupt Status detected
  36342. * 0b0..MMC Receive ICMP Error Octet Counter Interrupt Status not detected
  36343. */
  36344. #define ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_SHIFT)) & ENET_QOS_MAC_MMC_IPC_RX_INTERRUPT_RXICMPEROIS_MASK)
  36345. /*! @} */
  36346. /*! @name MAC_RXIPV4_GOOD_PACKETS - Good IPv4 Datagrams Received */
  36347. /*! @{ */
  36348. #define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_MASK (0xFFFFFFFFU)
  36349. #define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_SHIFT (0U)
  36350. /*! RXIPV4GDPKT - RxIPv4 Good Packets This field indicates the number of good IPv4 datagrams received with the TCP, UDP, or ICMP payload.
  36351. */
  36352. #define ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_GOOD_PACKETS_RXIPV4GDPKT_MASK)
  36353. /*! @} */
  36354. /*! @name MAC_RXIPV4_HEADER_ERROR_PACKETS - IPv4 Datagrams Received with Header Errors */
  36355. /*! @{ */
  36356. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_MASK (0xFFFFFFFFU)
  36357. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_SHIFT (0U)
  36358. /*! RXIPV4HDRERRPKT - RxIPv4 Header Error Packets This field indicates the number of IPv4 datagrams
  36359. * received with header (checksum, length, or version mismatch) errors.
  36360. */
  36361. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_HEADER_ERROR_PACKETS_RXIPV4HDRERRPKT_MASK)
  36362. /*! @} */
  36363. /*! @name MAC_RXIPV4_NO_PAYLOAD_PACKETS - IPv4 Datagrams Received with No Payload */
  36364. /*! @{ */
  36365. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_MASK (0xFFFFFFFFU)
  36366. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_SHIFT (0U)
  36367. /*! RXIPV4NOPAYPKT - RxIPv4 Payload Packets This field indicates the number of IPv4 datagram packets
  36368. * received that did not have a TCP, UDP, or ICMP payload.
  36369. */
  36370. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_PACKETS_RXIPV4NOPAYPKT_MASK)
  36371. /*! @} */
  36372. /*! @name MAC_RXIPV4_FRAGMENTED_PACKETS - IPv4 Datagrams Received with Fragmentation */
  36373. /*! @{ */
  36374. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_MASK (0xFFFFFFFFU)
  36375. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_SHIFT (0U)
  36376. /*! RXIPV4FRAGPKT - RxIPv4 Fragmented Packets This field indicates the number of good IPv4 datagrams received with fragmentation.
  36377. */
  36378. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_FRAGMENTED_PACKETS_RXIPV4FRAGPKT_MASK)
  36379. /*! @} */
  36380. /*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS - IPv4 Datagrams Received with UDP Checksum Disabled */
  36381. /*! @{ */
  36382. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_MASK (0xFFFFFFFFU)
  36383. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_SHIFT (0U)
  36384. /*! RXIPV4UDSBLPKT - RxIPv4 UDP Checksum Disabled Packets This field indicates the number of good
  36385. * IPv4 datagrams received that had a UDP payload with checksum disabled.
  36386. */
  36387. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_SHIFT)) & ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLED_PACKETS_RXIPV4UDSBLPKT_MASK)
  36388. /*! @} */
  36389. /*! @name MAC_RXIPV6_GOOD_PACKETS - Good IPv6 Datagrams Received */
  36390. /*! @{ */
  36391. #define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_MASK (0xFFFFFFFFU)
  36392. #define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_SHIFT (0U)
  36393. /*! RXIPV6GDPKT - RxIPv6 Good Packets This field indicates the number of good IPv6 datagrams received with the TCP, UDP, or ICMP payload.
  36394. */
  36395. #define ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_GOOD_PACKETS_RXIPV6GDPKT_MASK)
  36396. /*! @} */
  36397. /*! @name MAC_RXIPV6_HEADER_ERROR_PACKETS - IPv6 Datagrams Received with Header Errors */
  36398. /*! @{ */
  36399. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_MASK (0xFFFFFFFFU)
  36400. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_SHIFT (0U)
  36401. /*! RXIPV6HDRERRPKT - RxIPv6 Header Error Packets This field indicates the number of IPv6 datagrams
  36402. * received with header (length or version mismatch) errors.
  36403. */
  36404. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_HEADER_ERROR_PACKETS_RXIPV6HDRERRPKT_MASK)
  36405. /*! @} */
  36406. /*! @name MAC_RXIPV6_NO_PAYLOAD_PACKETS - IPv6 Datagrams Received with No Payload */
  36407. /*! @{ */
  36408. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_MASK (0xFFFFFFFFU)
  36409. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_SHIFT (0U)
  36410. /*! RXIPV6NOPAYPKT - RxIPv6 Payload Packets This field indicates the number of IPv6 datagram packets
  36411. * received that did not have a TCP, UDP, or ICMP payload.
  36412. */
  36413. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_SHIFT)) & ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_PACKETS_RXIPV6NOPAYPKT_MASK)
  36414. /*! @} */
  36415. /*! @name MAC_RXUDP_GOOD_PACKETS - IPv6 Datagrams Received with Good UDP */
  36416. /*! @{ */
  36417. #define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_MASK (0xFFFFFFFFU)
  36418. #define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_SHIFT (0U)
  36419. /*! RXUDPGDPKT - RxUDP Good Packets This field indicates the number of good IP datagrams received with a good UDP payload.
  36420. */
  36421. #define ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_SHIFT)) & ENET_QOS_MAC_RXUDP_GOOD_PACKETS_RXUDPGDPKT_MASK)
  36422. /*! @} */
  36423. /*! @name MAC_RXUDP_ERROR_PACKETS - IPv6 Datagrams Received with UDP Checksum Error */
  36424. /*! @{ */
  36425. #define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_MASK (0xFFFFFFFFU)
  36426. #define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_SHIFT (0U)
  36427. /*! RXUDPERRPKT - RxUDP Error Packets This field indicates the number of good IP datagrams received
  36428. * whose UDP payload has a checksum error.
  36429. */
  36430. #define ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_SHIFT)) & ENET_QOS_MAC_RXUDP_ERROR_PACKETS_RXUDPERRPKT_MASK)
  36431. /*! @} */
  36432. /*! @name MAC_RXTCP_GOOD_PACKETS - IPv6 Datagrams Received with Good TCP Payload */
  36433. /*! @{ */
  36434. #define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_MASK (0xFFFFFFFFU)
  36435. #define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_SHIFT (0U)
  36436. /*! RXTCPGDPKT - RxTCP Good Packets This field indicates the number of good IP datagrams received with a good TCP payload.
  36437. */
  36438. #define ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_SHIFT)) & ENET_QOS_MAC_RXTCP_GOOD_PACKETS_RXTCPGDPKT_MASK)
  36439. /*! @} */
  36440. /*! @name MAC_RXTCP_ERROR_PACKETS - IPv6 Datagrams Received with TCP Checksum Error */
  36441. /*! @{ */
  36442. #define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_MASK (0xFFFFFFFFU)
  36443. #define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_SHIFT (0U)
  36444. /*! RXTCPERRPKT - RxTCP Error Packets This field indicates the number of good IP datagrams received
  36445. * whose TCP payload has a checksum error.
  36446. */
  36447. #define ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_SHIFT)) & ENET_QOS_MAC_RXTCP_ERROR_PACKETS_RXTCPERRPKT_MASK)
  36448. /*! @} */
  36449. /*! @name MAC_RXICMP_GOOD_PACKETS - IPv6 Datagrams Received with Good ICMP Payload */
  36450. /*! @{ */
  36451. #define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_MASK (0xFFFFFFFFU)
  36452. #define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_SHIFT (0U)
  36453. /*! RXICMPGDPKT - RxICMP Good Packets This field indicates the number of good IP datagrams received with a good ICMP payload.
  36454. */
  36455. #define ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_SHIFT)) & ENET_QOS_MAC_RXICMP_GOOD_PACKETS_RXICMPGDPKT_MASK)
  36456. /*! @} */
  36457. /*! @name MAC_RXICMP_ERROR_PACKETS - IPv6 Datagrams Received with ICMP Checksum Error */
  36458. /*! @{ */
  36459. #define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_MASK (0xFFFFFFFFU)
  36460. #define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_SHIFT (0U)
  36461. /*! RXICMPERRPKT - RxICMP Error Packets This field indicates the number of good IP datagrams
  36462. * received whose ICMP payload has a checksum error.
  36463. */
  36464. #define ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_SHIFT)) & ENET_QOS_MAC_RXICMP_ERROR_PACKETS_RXICMPERRPKT_MASK)
  36465. /*! @} */
  36466. /*! @name MAC_RXIPV4_GOOD_OCTETS - Good Bytes Received in IPv4 Datagrams */
  36467. /*! @{ */
  36468. #define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_MASK (0xFFFFFFFFU)
  36469. #define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_SHIFT (0U)
  36470. /*! RXIPV4GDOCT - RxIPv4 Good Octets This field indicates the number of bytes received in good IPv4
  36471. * datagrams encapsulating TCP, UDP, or ICMP data.
  36472. */
  36473. #define ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_GOOD_OCTETS_RXIPV4GDOCT_MASK)
  36474. /*! @} */
  36475. /*! @name MAC_RXIPV4_HEADER_ERROR_OCTETS - Bytes Received in IPv4 Datagrams with Header Errors */
  36476. /*! @{ */
  36477. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_MASK (0xFFFFFFFFU)
  36478. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_SHIFT (0U)
  36479. /*! RXIPV4HDRERROCT - RxIPv4 Header Error Octets This field indicates the number of bytes received
  36480. * in IPv4 datagrams with header errors (checksum, length, version mismatch).
  36481. */
  36482. #define ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_HEADER_ERROR_OCTETS_RXIPV4HDRERROCT_MASK)
  36483. /*! @} */
  36484. /*! @name MAC_RXIPV4_NO_PAYLOAD_OCTETS - Bytes Received in IPv4 Datagrams with No Payload */
  36485. /*! @{ */
  36486. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_MASK (0xFFFFFFFFU)
  36487. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_SHIFT (0U)
  36488. /*! RXIPV4NOPAYOCT - RxIPv4 Payload Octets This field indicates the number of bytes received in IPv4
  36489. * datagrams that did not have a TCP, UDP, or ICMP payload.
  36490. */
  36491. #define ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_NO_PAYLOAD_OCTETS_RXIPV4NOPAYOCT_MASK)
  36492. /*! @} */
  36493. /*! @name MAC_RXIPV4_FRAGMENTED_OCTETS - Bytes Received in Fragmented IPv4 Datagrams */
  36494. /*! @{ */
  36495. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_MASK (0xFFFFFFFFU)
  36496. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_SHIFT (0U)
  36497. /*! RXIPV4FRAGOCT - RxIPv4 Fragmented Octets This field indicates the number of bytes received in fragmented IPv4 datagrams.
  36498. */
  36499. #define ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_FRAGMENTED_OCTETS_RXIPV4FRAGOCT_MASK)
  36500. /*! @} */
  36501. /*! @name MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS - Bytes Received with UDP Checksum Disabled */
  36502. /*! @{ */
  36503. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_MASK (0xFFFFFFFFU)
  36504. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_SHIFT (0U)
  36505. /*! RXIPV4UDSBLOCT - RxIPv4 UDP Checksum Disable Octets This field indicates the number of bytes
  36506. * received in a UDP segment that had the UDP checksum disabled.
  36507. */
  36508. #define ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_SHIFT)) & ENET_QOS_MAC_RXIPV4_UDP_CHECKSUM_DISABLE_OCTETS_RXIPV4UDSBLOCT_MASK)
  36509. /*! @} */
  36510. /*! @name MAC_RXIPV6_GOOD_OCTETS - Bytes Received in Good IPv6 Datagrams */
  36511. /*! @{ */
  36512. #define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_MASK (0xFFFFFFFFU)
  36513. #define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_SHIFT (0U)
  36514. /*! RXIPV6GDOCT - RxIPv6 Good Octets This field indicates the number of bytes received in good IPv6
  36515. * datagrams encapsulating TCP, UDP, or ICMP data.
  36516. */
  36517. #define ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_GOOD_OCTETS_RXIPV6GDOCT_MASK)
  36518. /*! @} */
  36519. /*! @name MAC_RXIPV6_HEADER_ERROR_OCTETS - Bytes Received in IPv6 Datagrams with Data Errors */
  36520. /*! @{ */
  36521. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_MASK (0xFFFFFFFFU)
  36522. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_SHIFT (0U)
  36523. /*! RXIPV6HDRERROCT - RxIPv6 Header Error Octets This field indicates the number of bytes received
  36524. * in IPv6 datagrams with header errors (length, version mismatch).
  36525. */
  36526. #define ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_HEADER_ERROR_OCTETS_RXIPV6HDRERROCT_MASK)
  36527. /*! @} */
  36528. /*! @name MAC_RXIPV6_NO_PAYLOAD_OCTETS - Bytes Received in IPv6 Datagrams with No Payload */
  36529. /*! @{ */
  36530. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_MASK (0xFFFFFFFFU)
  36531. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_SHIFT (0U)
  36532. /*! RXIPV6NOPAYOCT - RxIPv6 Payload Octets This field indicates the number of bytes received in IPv6
  36533. * datagrams that did not have a TCP, UDP, or ICMP payload.
  36534. */
  36535. #define ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_SHIFT)) & ENET_QOS_MAC_RXIPV6_NO_PAYLOAD_OCTETS_RXIPV6NOPAYOCT_MASK)
  36536. /*! @} */
  36537. /*! @name MAC_RXUDP_GOOD_OCTETS - Bytes Received in Good UDP Segment */
  36538. /*! @{ */
  36539. #define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_MASK (0xFFFFFFFFU)
  36540. #define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_SHIFT (0U)
  36541. /*! RXUDPGDOCT - RxUDP Good Octets This field indicates the number of bytes received in a good UDP segment.
  36542. */
  36543. #define ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_SHIFT)) & ENET_QOS_MAC_RXUDP_GOOD_OCTETS_RXUDPGDOCT_MASK)
  36544. /*! @} */
  36545. /*! @name MAC_RXUDP_ERROR_OCTETS - Bytes Received in UDP Segment with Checksum Errors */
  36546. /*! @{ */
  36547. #define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_MASK (0xFFFFFFFFU)
  36548. #define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_SHIFT (0U)
  36549. /*! RXUDPERROCT - RxUDP Error Octets This field indicates the number of bytes received in a UDP segment that had checksum errors.
  36550. */
  36551. #define ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_SHIFT)) & ENET_QOS_MAC_RXUDP_ERROR_OCTETS_RXUDPERROCT_MASK)
  36552. /*! @} */
  36553. /*! @name MAC_RXTCP_GOOD_OCTETS - Bytes Received in Good TCP Segment */
  36554. /*! @{ */
  36555. #define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_MASK (0xFFFFFFFFU)
  36556. #define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_SHIFT (0U)
  36557. /*! RXTCPGDOCT - RxTCP Good Octets This field indicates the number of bytes received in a good TCP segment.
  36558. */
  36559. #define ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_SHIFT)) & ENET_QOS_MAC_RXTCP_GOOD_OCTETS_RXTCPGDOCT_MASK)
  36560. /*! @} */
  36561. /*! @name MAC_RXTCP_ERROR_OCTETS - Bytes Received in TCP Segment with Checksum Errors */
  36562. /*! @{ */
  36563. #define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_MASK (0xFFFFFFFFU)
  36564. #define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_SHIFT (0U)
  36565. /*! RXTCPERROCT - RxTCP Error Octets This field indicates the number of bytes received in a TCP segment that had checksum errors.
  36566. */
  36567. #define ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_SHIFT)) & ENET_QOS_MAC_RXTCP_ERROR_OCTETS_RXTCPERROCT_MASK)
  36568. /*! @} */
  36569. /*! @name MAC_RXICMP_GOOD_OCTETS - Bytes Received in Good ICMP Segment */
  36570. /*! @{ */
  36571. #define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_MASK (0xFFFFFFFFU)
  36572. #define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_SHIFT (0U)
  36573. /*! RXICMPGDOCT - RxICMP Good Octets This field indicates the number of bytes received in a good ICMP segment.
  36574. */
  36575. #define ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_SHIFT)) & ENET_QOS_MAC_RXICMP_GOOD_OCTETS_RXICMPGDOCT_MASK)
  36576. /*! @} */
  36577. /*! @name MAC_RXICMP_ERROR_OCTETS - Bytes Received in ICMP Segment with Checksum Errors */
  36578. /*! @{ */
  36579. #define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_MASK (0xFFFFFFFFU)
  36580. #define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_SHIFT (0U)
  36581. /*! RXICMPERROCT - RxICMP Error Octets This field indicates the number of bytes received in a ICMP segment that had checksum errors.
  36582. */
  36583. #define ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_SHIFT)) & ENET_QOS_MAC_RXICMP_ERROR_OCTETS_RXICMPERROCT_MASK)
  36584. /*! @} */
  36585. /*! @name MAC_MMC_FPE_TX_INTERRUPT - MMC FPE Transmit Interrupt */
  36586. /*! @{ */
  36587. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_MASK (0x1U)
  36588. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_SHIFT (0U)
  36589. /*! FCIS - MMC Tx FPE Fragment Counter Interrupt status This bit is set when the
  36590. * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36591. * 0b1..MMC Tx FPE Fragment Counter Interrupt status detected
  36592. * 0b0..MMC Tx FPE Fragment Counter Interrupt status not detected
  36593. */
  36594. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_FCIS_MASK)
  36595. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_MASK (0x2U)
  36596. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_SHIFT (1U)
  36597. /*! HRCIS - MMC Tx Hold Request Counter Interrupt Status This bit is set when the Tx_Hold_Req_Cntr
  36598. * counter reaches half of the maximum value or the maximum value.
  36599. * 0b1..MMC Tx Hold Request Counter Interrupt Status detected
  36600. * 0b0..MMC Tx Hold Request Counter Interrupt Status not detected
  36601. */
  36602. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_HRCIS_MASK)
  36603. /*! @} */
  36604. /*! @name MAC_MMC_FPE_TX_INTERRUPT_MASK - MMC FPE Transmit Mask Interrupt */
  36605. /*! @{ */
  36606. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_MASK (0x1U)
  36607. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_SHIFT (0U)
  36608. /*! FCIM - MMC Transmit Fragment Counter Interrupt Mask Setting this bit masks the interrupt when
  36609. * the Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36610. * 0b0..MMC Transmit Fragment Counter Interrupt Mask is disabled
  36611. * 0b1..MMC Transmit Fragment Counter Interrupt Mask is enabled
  36612. */
  36613. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_FCIM_MASK)
  36614. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_MASK (0x2U)
  36615. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_SHIFT (1U)
  36616. /*! HRCIM - MMC Transmit Hold Request Counter Interrupt Mask Setting this bit masks the interrupt
  36617. * when the Tx_Hold_Req_Cntr counter reaches half of the maximum value or the maximum value.
  36618. * 0b0..MMC Transmit Hold Request Counter Interrupt Mask is disabled
  36619. * 0b1..MMC Transmit Hold Request Counter Interrupt Mask is enabled
  36620. */
  36621. #define ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_TX_INTERRUPT_MASK_HRCIM_MASK)
  36622. /*! @} */
  36623. /*! @name MAC_MMC_TX_FPE_FRAGMENT_CNTR - MMC FPE Transmitted Fragment Counter */
  36624. /*! @{ */
  36625. #define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_MASK (0xFFFFFFFFU)
  36626. #define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_SHIFT (0U)
  36627. /*! TXFFC - Tx FPE Fragment counter This field indicates the number of additional mPackets that has
  36628. * been transmitted due to preemption Exists when any one of the RX/TX MMC counters are enabled
  36629. * during FPE Enabled configuration.
  36630. */
  36631. #define ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_SHIFT)) & ENET_QOS_MAC_MMC_TX_FPE_FRAGMENT_CNTR_TXFFC_MASK)
  36632. /*! @} */
  36633. /*! @name MAC_MMC_TX_HOLD_REQ_CNTR - MMC FPE Transmitted Hold Request Counter */
  36634. /*! @{ */
  36635. #define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_MASK (0xFFFFFFFFU)
  36636. #define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_SHIFT (0U)
  36637. /*! TXHRC - Tx Hold Request Counter This field indicates count of number of a hold request is given to MAC.
  36638. */
  36639. #define ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_SHIFT)) & ENET_QOS_MAC_MMC_TX_HOLD_REQ_CNTR_TXHRC_MASK)
  36640. /*! @} */
  36641. /*! @name MAC_MMC_FPE_RX_INTERRUPT - MMC FPE Receive Interrupt */
  36642. /*! @{ */
  36643. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_MASK (0x1U)
  36644. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_SHIFT (0U)
  36645. /*! PAECIS - MMC Rx Packet Assembly Error Counter Interrupt Status This bit is set when the
  36646. * Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36647. * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Status detected
  36648. * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Status not detected
  36649. */
  36650. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAECIS_MASK)
  36651. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_MASK (0x2U)
  36652. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_SHIFT (1U)
  36653. /*! PSECIS - MMC Rx Packet SMD Error Counter Interrupt Status This bit is set when the
  36654. * Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36655. * 0b1..MMC Rx Packet SMD Error Counter Interrupt Status detected
  36656. * 0b0..MMC Rx Packet SMD Error Counter Interrupt Status not detected
  36657. */
  36658. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PSECIS_MASK)
  36659. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_MASK (0x4U)
  36660. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_SHIFT (2U)
  36661. /*! PAOCIS - MMC Rx Packet Assembly OK Counter Interrupt Status This bit is set when the
  36662. * Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum value.
  36663. * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Status detected
  36664. * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Status not detected
  36665. */
  36666. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_PAOCIS_MASK)
  36667. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_MASK (0x8U)
  36668. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_SHIFT (3U)
  36669. /*! FCIS - MMC Rx FPE Fragment Counter Interrupt Status This bit is set when the
  36670. * Rx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36671. * 0b1..MMC Rx FPE Fragment Counter Interrupt Status detected
  36672. * 0b0..MMC Rx FPE Fragment Counter Interrupt Status not detected
  36673. */
  36674. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_FCIS_MASK)
  36675. /*! @} */
  36676. /*! @name MAC_MMC_FPE_RX_INTERRUPT_MASK - MMC FPE Receive Interrupt Mask */
  36677. /*! @{ */
  36678. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_MASK (0x1U)
  36679. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_SHIFT (0U)
  36680. /*! PAECIM - MMC Rx Packet Assembly Error Counter Interrupt Mask Setting this bit masks the
  36681. * interrupt when the R Rx_Packet_Assemble_Err_Cntr counter reaches half of the maximum value or the
  36682. * maximum value.
  36683. * 0b0..MMC Rx Packet Assembly Error Counter Interrupt Mask is disabled
  36684. * 0b1..MMC Rx Packet Assembly Error Counter Interrupt Mask is enabled
  36685. */
  36686. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAECIM_MASK)
  36687. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_MASK (0x2U)
  36688. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_SHIFT (1U)
  36689. /*! PSECIM - MMC Rx Packet SMD Error Counter Interrupt Mask Setting this bit masks the interrupt
  36690. * when the R Rx_Packet_SMD_Err_Cntr counter reaches half of the maximum value or the maximum value.
  36691. * 0b0..MMC Rx Packet SMD Error Counter Interrupt Mask is disabled
  36692. * 0b1..MMC Rx Packet SMD Error Counter Interrupt Mask is enabled
  36693. */
  36694. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PSECIM_MASK)
  36695. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_MASK (0x4U)
  36696. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_SHIFT (2U)
  36697. /*! PAOCIM - MMC Rx Packet Assembly OK Counter Interrupt Mask Setting this bit masks the interrupt
  36698. * when the Rx_Packet_Assemble_Ok_Cntr counter reaches half of the maximum value or the maximum
  36699. * value.
  36700. * 0b0..MMC Rx Packet Assembly OK Counter Interrupt Mask is disabled
  36701. * 0b1..MMC Rx Packet Assembly OK Counter Interrupt Mask is enabled
  36702. */
  36703. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_PAOCIM_MASK)
  36704. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_MASK (0x8U)
  36705. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_SHIFT (3U)
  36706. /*! FCIM - MMC Rx FPE Fragment Counter Interrupt Mask Setting this bit masks the interrupt when the
  36707. * Tx_FPE_Fragment_Cntr counter reaches half of the maximum value or the maximum value.
  36708. * 0b0..MMC Rx FPE Fragment Counter Interrupt Mask is disabled
  36709. * 0b1..MMC Rx FPE Fragment Counter Interrupt Mask is enabled
  36710. */
  36711. #define ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_SHIFT)) & ENET_QOS_MAC_MMC_FPE_RX_INTERRUPT_MASK_FCIM_MASK)
  36712. /*! @} */
  36713. /*! @name MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR - MMC Receive Packet Reassembly Error Counter */
  36714. /*! @{ */
  36715. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_MASK (0xFFFFFFFFU)
  36716. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_SHIFT (0U)
  36717. /*! PAEC - Rx Packet Assembly Error Counter This field indicates the number of MAC frames with
  36718. * reassembly errors on the Receiver, due to mismatch in the Fragment Count value.
  36719. */
  36720. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_ERR_CNTR_PAEC_MASK)
  36721. /*! @} */
  36722. /*! @name MAC_MMC_RX_PACKET_SMD_ERR_CNTR - MMC Receive Packet SMD Error Counter */
  36723. /*! @{ */
  36724. #define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_MASK (0xFFFFFFFFU)
  36725. #define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_SHIFT (0U)
  36726. /*! PSEC - Rx Packet SMD Error Counter This field indicates the number of MAC frames rejected due to
  36727. * unknown SMD value and MAC frame fragments rejected due to arriving with an SMD-C when there
  36728. * was no preceding preempted frame.
  36729. */
  36730. #define ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_SMD_ERR_CNTR_PSEC_MASK)
  36731. /*! @} */
  36732. /*! @name MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR - MMC Receive Packet Successful Reassembly Counter */
  36733. /*! @{ */
  36734. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_MASK (0xFFFFFFFFU)
  36735. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_SHIFT (0U)
  36736. /*! PAOC - Rx Packet Assembly OK Counter This field indicates the number of MAC frames that were
  36737. * successfully reassembled and delivered to MAC.
  36738. */
  36739. #define ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_SHIFT)) & ENET_QOS_MAC_MMC_RX_PACKET_ASSEMBLY_OK_CNTR_PAOC_MASK)
  36740. /*! @} */
  36741. /*! @name MAC_MMC_RX_FPE_FRAGMENT_CNTR - MMC FPE Received Fragment Counter */
  36742. /*! @{ */
  36743. #define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_MASK (0xFFFFFFFFU)
  36744. #define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_SHIFT (0U)
  36745. /*! FFC - Rx FPE Fragment Counter This field indicates the number of additional mPackets received
  36746. * due to preemption Exists when at least one of the RX/TX MMC counters are enabled during FPE
  36747. * Enabled configuration.
  36748. */
  36749. #define ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_SHIFT)) & ENET_QOS_MAC_MMC_RX_FPE_FRAGMENT_CNTR_FFC_MASK)
  36750. /*! @} */
  36751. /*! @name MAC_L3_L4_CONTROL0 - Layer 3 and Layer 4 Control of Filter 0 */
  36752. /*! @{ */
  36753. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_MASK (0x1U)
  36754. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_SHIFT (0U)
  36755. /*! L3PEN0 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  36756. * Address matching is enabled for IPv6 packets.
  36757. * 0b0..Layer 3 Protocol is disabled
  36758. * 0b1..Layer 3 Protocol is enabled
  36759. */
  36760. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3PEN0_MASK)
  36761. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_MASK (0x4U)
  36762. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_SHIFT (2U)
  36763. /*! L3SAM0 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  36764. * 0b0..Layer 3 IP SA Match is disabled
  36765. * 0b1..Layer 3 IP SA Match is enabled
  36766. */
  36767. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3SAM0_MASK)
  36768. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_MASK (0x8U)
  36769. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_SHIFT (3U)
  36770. /*! L3SAIM0 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  36771. * field is enabled for inverse matching.
  36772. * 0b0..Layer 3 IP SA Inverse Match is disabled
  36773. * 0b1..Layer 3 IP SA Inverse Match is enabled
  36774. */
  36775. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3SAIM0_MASK)
  36776. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_MASK (0x10U)
  36777. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_SHIFT (4U)
  36778. /*! L3DAM0 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  36779. * 0b0..Layer 3 IP DA Match is disabled
  36780. * 0b1..Layer 3 IP DA Match is enabled
  36781. */
  36782. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3DAM0_MASK)
  36783. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_MASK (0x20U)
  36784. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_SHIFT (5U)
  36785. /*! L3DAIM0 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  36786. * Address field is enabled for inverse matching.
  36787. * 0b0..Layer 3 IP DA Inverse Match is disabled
  36788. * 0b1..Layer 3 IP DA Inverse Match is enabled
  36789. */
  36790. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3DAIM0_MASK)
  36791. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_MASK (0x7C0U)
  36792. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_SHIFT (6U)
  36793. /*! L3HSBM0 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  36794. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  36795. */
  36796. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3HSBM0_MASK)
  36797. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_MASK (0xF800U)
  36798. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_SHIFT (11U)
  36799. /*! L3HDBM0 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  36800. * bits of IP Destination Address that are matched in the IPv4 packets.
  36801. */
  36802. #define ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L3HDBM0_MASK)
  36803. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_MASK (0x10000U)
  36804. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_SHIFT (16U)
  36805. /*! L4PEN0 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  36806. * fields of UDP packets are used for matching.
  36807. * 0b0..Layer 4 Protocol is disabled
  36808. * 0b1..Layer 4 Protocol is enabled
  36809. */
  36810. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4PEN0_MASK)
  36811. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_MASK (0x40000U)
  36812. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_SHIFT (18U)
  36813. /*! L4SPM0 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  36814. * 0b0..Layer 4 Source Port Match is disabled
  36815. * 0b1..Layer 4 Source Port Match is enabled
  36816. */
  36817. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4SPM0_MASK)
  36818. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_MASK (0x80000U)
  36819. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_SHIFT (19U)
  36820. /*! L4SPIM0 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  36821. * number field is enabled for inverse matching.
  36822. * 0b0..Layer 4 Source Port Inverse Match is disabled
  36823. * 0b1..Layer 4 Source Port Inverse Match is enabled
  36824. */
  36825. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4SPIM0_MASK)
  36826. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_MASK (0x100000U)
  36827. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_SHIFT (20U)
  36828. /*! L4DPM0 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  36829. * Port number field is enabled for matching.
  36830. * 0b0..Layer 4 Destination Port Match is disabled
  36831. * 0b1..Layer 4 Destination Port Match is enabled
  36832. */
  36833. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4DPM0_MASK)
  36834. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_MASK (0x200000U)
  36835. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_SHIFT (21U)
  36836. /*! L4DPIM0 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  36837. * Destination Port number field is enabled for inverse matching.
  36838. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  36839. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  36840. */
  36841. #define ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_L4DPIM0_MASK)
  36842. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_MASK (0x7000000U)
  36843. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_SHIFT (24U)
  36844. /*! DMCHN0 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  36845. * to which the packet passed by this filter is routed.
  36846. */
  36847. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_DMCHN0_MASK)
  36848. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_MASK (0x10000000U)
  36849. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_SHIFT (28U)
  36850. /*! DMCHEN0 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  36851. * number for the packet that is passed by this L3_L4 filter.
  36852. * 0b0..DMA Channel Select is disabled
  36853. * 0b1..DMA Channel Select is enabled
  36854. */
  36855. #define ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL0_DMCHEN0_MASK)
  36856. /*! @} */
  36857. /*! @name MAC_LAYER4_ADDRESS0 - Layer 4 Address 0 */
  36858. /*! @{ */
  36859. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_MASK (0xFFFFU)
  36860. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_SHIFT (0U)
  36861. /*! L4SP0 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  36862. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  36863. * Source Port Number field in the IPv4 or IPv6 packets.
  36864. */
  36865. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS0_L4SP0_MASK)
  36866. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_MASK (0xFFFF0000U)
  36867. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_SHIFT (16U)
  36868. /*! L4DP0 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  36869. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  36870. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  36871. */
  36872. #define ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS0_L4DP0_MASK)
  36873. /*! @} */
  36874. /*! @name MAC_LAYER3_ADDR0_REG0 - Layer 3 Address 0 Register 0 */
  36875. /*! @{ */
  36876. #define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_MASK (0xFFFFFFFFU)
  36877. #define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_SHIFT (0U)
  36878. /*! L3A00 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  36879. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  36880. * Address field in the IPv6 packets.
  36881. */
  36882. #define ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG0_L3A00_MASK)
  36883. /*! @} */
  36884. /*! @name MAC_LAYER3_ADDR1_REG0 - Layer 3 Address 1 Register 0 */
  36885. /*! @{ */
  36886. #define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_MASK (0xFFFFFFFFU)
  36887. #define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_SHIFT (0U)
  36888. /*! L3A10 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  36889. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  36890. * Address field in the IPv6 packets.
  36891. */
  36892. #define ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG0_L3A10_MASK)
  36893. /*! @} */
  36894. /*! @name MAC_LAYER3_ADDR2_REG0 - Layer 3 Address 2 Register 0 */
  36895. /*! @{ */
  36896. #define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_MASK (0xFFFFFFFFU)
  36897. #define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_SHIFT (0U)
  36898. /*! L3A20 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  36899. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  36900. * Address field in the IPv6 packets.
  36901. */
  36902. #define ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG0_L3A20_MASK)
  36903. /*! @} */
  36904. /*! @name MAC_LAYER3_ADDR3_REG0 - Layer 3 Address 3 Register 0 */
  36905. /*! @{ */
  36906. #define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_MASK (0xFFFFFFFFU)
  36907. #define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_SHIFT (0U)
  36908. /*! L3A30 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  36909. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  36910. * Address field in the IPv6 packets.
  36911. */
  36912. #define ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG0_L3A30_MASK)
  36913. /*! @} */
  36914. /*! @name MAC_L3_L4_CONTROL1 - Layer 3 and Layer 4 Control of Filter 1 */
  36915. /*! @{ */
  36916. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_MASK (0x1U)
  36917. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_SHIFT (0U)
  36918. /*! L3PEN1 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  36919. * Address matching is enabled for IPv6 packets.
  36920. * 0b0..Layer 3 Protocol is disabled
  36921. * 0b1..Layer 3 Protocol is enabled
  36922. */
  36923. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3PEN1_MASK)
  36924. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_MASK (0x4U)
  36925. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_SHIFT (2U)
  36926. /*! L3SAM1 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  36927. * 0b0..Layer 3 IP SA Match is disabled
  36928. * 0b1..Layer 3 IP SA Match is enabled
  36929. */
  36930. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3SAM1_MASK)
  36931. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_MASK (0x8U)
  36932. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_SHIFT (3U)
  36933. /*! L3SAIM1 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  36934. * field is enabled for inverse matching.
  36935. * 0b0..Layer 3 IP SA Inverse Match is disabled
  36936. * 0b1..Layer 3 IP SA Inverse Match is enabled
  36937. */
  36938. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3SAIM1_MASK)
  36939. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_MASK (0x10U)
  36940. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_SHIFT (4U)
  36941. /*! L3DAM1 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  36942. * 0b0..Layer 3 IP DA Match is disabled
  36943. * 0b1..Layer 3 IP DA Match is enabled
  36944. */
  36945. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3DAM1_MASK)
  36946. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_MASK (0x20U)
  36947. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_SHIFT (5U)
  36948. /*! L3DAIM1 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  36949. * Address field is enabled for inverse matching.
  36950. * 0b0..Layer 3 IP DA Inverse Match is disabled
  36951. * 0b1..Layer 3 IP DA Inverse Match is enabled
  36952. */
  36953. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3DAIM1_MASK)
  36954. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_MASK (0x7C0U)
  36955. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_SHIFT (6U)
  36956. /*! L3HSBM1 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  36957. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  36958. */
  36959. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3HSBM1_MASK)
  36960. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_MASK (0xF800U)
  36961. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_SHIFT (11U)
  36962. /*! L3HDBM1 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  36963. * bits of IP Destination Address that are matched in the IPv4 packets.
  36964. */
  36965. #define ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L3HDBM1_MASK)
  36966. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_MASK (0x10000U)
  36967. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_SHIFT (16U)
  36968. /*! L4PEN1 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  36969. * fields of UDP packets are used for matching.
  36970. * 0b0..Layer 4 Protocol is disabled
  36971. * 0b1..Layer 4 Protocol is enabled
  36972. */
  36973. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4PEN1_MASK)
  36974. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_MASK (0x40000U)
  36975. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_SHIFT (18U)
  36976. /*! L4SPM1 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  36977. * 0b0..Layer 4 Source Port Match is disabled
  36978. * 0b1..Layer 4 Source Port Match is enabled
  36979. */
  36980. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4SPM1_MASK)
  36981. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_MASK (0x80000U)
  36982. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_SHIFT (19U)
  36983. /*! L4SPIM1 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  36984. * number field is enabled for inverse matching.
  36985. * 0b0..Layer 4 Source Port Inverse Match is disabled
  36986. * 0b1..Layer 4 Source Port Inverse Match is enabled
  36987. */
  36988. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4SPIM1_MASK)
  36989. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_MASK (0x100000U)
  36990. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_SHIFT (20U)
  36991. /*! L4DPM1 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  36992. * Port number field is enabled for matching.
  36993. * 0b0..Layer 4 Destination Port Match is disabled
  36994. * 0b1..Layer 4 Destination Port Match is enabled
  36995. */
  36996. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4DPM1_MASK)
  36997. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_MASK (0x200000U)
  36998. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_SHIFT (21U)
  36999. /*! L4DPIM1 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37000. * Destination Port number field is enabled for inverse matching.
  37001. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37002. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37003. */
  37004. #define ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_L4DPIM1_MASK)
  37005. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_MASK (0x7000000U)
  37006. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_SHIFT (24U)
  37007. /*! DMCHN1 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37008. * to which the packet passed by this filter is routed.
  37009. */
  37010. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_DMCHN1_MASK)
  37011. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_MASK (0x10000000U)
  37012. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_SHIFT (28U)
  37013. /*! DMCHEN1 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37014. * number for the packet that is passed by this L3_L4 filter.
  37015. * 0b0..DMA Channel Select is disabled
  37016. * 0b1..DMA Channel Select is enabled
  37017. */
  37018. #define ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL1_DMCHEN1_MASK)
  37019. /*! @} */
  37020. /*! @name MAC_LAYER4_ADDRESS1 - Layer 4 Address 0 */
  37021. /*! @{ */
  37022. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_MASK (0xFFFFU)
  37023. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_SHIFT (0U)
  37024. /*! L4SP1 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37025. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37026. * Source Port Number field in the IPv4 or IPv6 packets.
  37027. */
  37028. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS1_L4SP1_MASK)
  37029. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_MASK (0xFFFF0000U)
  37030. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_SHIFT (16U)
  37031. /*! L4DP1 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37032. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37033. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37034. */
  37035. #define ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS1_L4DP1_MASK)
  37036. /*! @} */
  37037. /*! @name MAC_LAYER3_ADDR0_REG1 - Layer 3 Address 0 Register 1 */
  37038. /*! @{ */
  37039. #define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_MASK (0xFFFFFFFFU)
  37040. #define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_SHIFT (0U)
  37041. /*! L3A01 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37042. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37043. * Address field in the IPv6 packets.
  37044. */
  37045. #define ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG1_L3A01_MASK)
  37046. /*! @} */
  37047. /*! @name MAC_LAYER3_ADDR1_REG1 - Layer 3 Address 1 Register 1 */
  37048. /*! @{ */
  37049. #define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_MASK (0xFFFFFFFFU)
  37050. #define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_SHIFT (0U)
  37051. /*! L3A11 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37052. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37053. * Address field in the IPv6 packets.
  37054. */
  37055. #define ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG1_L3A11_MASK)
  37056. /*! @} */
  37057. /*! @name MAC_LAYER3_ADDR2_REG1 - Layer 3 Address 2 Register 1 */
  37058. /*! @{ */
  37059. #define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_MASK (0xFFFFFFFFU)
  37060. #define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_SHIFT (0U)
  37061. /*! L3A21 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37062. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37063. * Address field in the IPv6 packets.
  37064. */
  37065. #define ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG1_L3A21_MASK)
  37066. /*! @} */
  37067. /*! @name MAC_LAYER3_ADDR3_REG1 - Layer 3 Address 3 Register 1 */
  37068. /*! @{ */
  37069. #define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_MASK (0xFFFFFFFFU)
  37070. #define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_SHIFT (0U)
  37071. /*! L3A31 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37072. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37073. * Address field in the IPv6 packets.
  37074. */
  37075. #define ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG1_L3A31_MASK)
  37076. /*! @} */
  37077. /*! @name MAC_L3_L4_CONTROL2 - Layer 3 and Layer 4 Control of Filter 2 */
  37078. /*! @{ */
  37079. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_MASK (0x1U)
  37080. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_SHIFT (0U)
  37081. /*! L3PEN2 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37082. * Address matching is enabled for IPv6 packets.
  37083. * 0b0..Layer 3 Protocol is disabled
  37084. * 0b1..Layer 3 Protocol is enabled
  37085. */
  37086. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3PEN2_MASK)
  37087. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_MASK (0x4U)
  37088. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_SHIFT (2U)
  37089. /*! L3SAM2 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37090. * 0b0..Layer 3 IP SA Match is disabled
  37091. * 0b1..Layer 3 IP SA Match is enabled
  37092. */
  37093. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3SAM2_MASK)
  37094. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_MASK (0x8U)
  37095. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_SHIFT (3U)
  37096. /*! L3SAIM2 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37097. * field is enabled for inverse matching.
  37098. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37099. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37100. */
  37101. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3SAIM2_MASK)
  37102. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_MASK (0x10U)
  37103. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_SHIFT (4U)
  37104. /*! L3DAM2 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37105. * 0b0..Layer 3 IP DA Match is disabled
  37106. * 0b1..Layer 3 IP DA Match is enabled
  37107. */
  37108. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3DAM2_MASK)
  37109. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_MASK (0x20U)
  37110. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_SHIFT (5U)
  37111. /*! L3DAIM2 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37112. * Address field is enabled for inverse matching.
  37113. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37114. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37115. */
  37116. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3DAIM2_MASK)
  37117. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_MASK (0x7C0U)
  37118. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_SHIFT (6U)
  37119. /*! L3HSBM2 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37120. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37121. */
  37122. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3HSBM2_MASK)
  37123. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_MASK (0xF800U)
  37124. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_SHIFT (11U)
  37125. /*! L3HDBM2 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37126. * bits of IP Destination Address that are matched in the IPv4 packets.
  37127. */
  37128. #define ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L3HDBM2_MASK)
  37129. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_MASK (0x10000U)
  37130. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_SHIFT (16U)
  37131. /*! L4PEN2 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37132. * fields of UDP packets are used for matching.
  37133. * 0b0..Layer 4 Protocol is disabled
  37134. * 0b1..Layer 4 Protocol is enabled
  37135. */
  37136. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4PEN2_MASK)
  37137. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_MASK (0x40000U)
  37138. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_SHIFT (18U)
  37139. /*! L4SPM2 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37140. * 0b0..Layer 4 Source Port Match is disabled
  37141. * 0b1..Layer 4 Source Port Match is enabled
  37142. */
  37143. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4SPM2_MASK)
  37144. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_MASK (0x80000U)
  37145. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_SHIFT (19U)
  37146. /*! L4SPIM2 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37147. * number field is enabled for inverse matching.
  37148. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37149. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37150. */
  37151. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4SPIM2_MASK)
  37152. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_MASK (0x100000U)
  37153. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_SHIFT (20U)
  37154. /*! L4DPM2 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37155. * Port number field is enabled for matching.
  37156. * 0b0..Layer 4 Destination Port Match is disabled
  37157. * 0b1..Layer 4 Destination Port Match is enabled
  37158. */
  37159. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4DPM2_MASK)
  37160. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_MASK (0x200000U)
  37161. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_SHIFT (21U)
  37162. /*! L4DPIM2 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37163. * Destination Port number field is enabled for inverse matching.
  37164. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37165. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37166. */
  37167. #define ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_L4DPIM2_MASK)
  37168. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_MASK (0x7000000U)
  37169. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_SHIFT (24U)
  37170. /*! DMCHN2 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37171. * to which the packet passed by this filter is routed.
  37172. */
  37173. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_DMCHN2_MASK)
  37174. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_MASK (0x10000000U)
  37175. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_SHIFT (28U)
  37176. /*! DMCHEN2 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37177. * number for the packet that is passed by this L3_L4 filter.
  37178. * 0b0..DMA Channel Select is disabled
  37179. * 0b1..DMA Channel Select is enabled
  37180. */
  37181. #define ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL2_DMCHEN2_MASK)
  37182. /*! @} */
  37183. /*! @name MAC_LAYER4_ADDRESS2 - Layer 4 Address 2 */
  37184. /*! @{ */
  37185. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_MASK (0xFFFFU)
  37186. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_SHIFT (0U)
  37187. /*! L4SP2 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37188. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37189. * Source Port Number field in the IPv4 or IPv6 packets.
  37190. */
  37191. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS2_L4SP2_MASK)
  37192. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_MASK (0xFFFF0000U)
  37193. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_SHIFT (16U)
  37194. /*! L4DP2 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37195. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37196. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37197. */
  37198. #define ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS2_L4DP2_MASK)
  37199. /*! @} */
  37200. /*! @name MAC_LAYER3_ADDR0_REG2 - Layer 3 Address 0 Register 2 */
  37201. /*! @{ */
  37202. #define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_MASK (0xFFFFFFFFU)
  37203. #define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_SHIFT (0U)
  37204. /*! L3A02 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37205. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37206. * Address field in the IPv6 packets.
  37207. */
  37208. #define ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG2_L3A02_MASK)
  37209. /*! @} */
  37210. /*! @name MAC_LAYER3_ADDR1_REG2 - Layer 3 Address 0 Register 2 */
  37211. /*! @{ */
  37212. #define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_MASK (0xFFFFFFFFU)
  37213. #define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_SHIFT (0U)
  37214. /*! L3A12 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37215. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37216. * Address field in the IPv6 packets.
  37217. */
  37218. #define ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG2_L3A12_MASK)
  37219. /*! @} */
  37220. /*! @name MAC_LAYER3_ADDR2_REG2 - Layer 3 Address 2 Register 2 */
  37221. /*! @{ */
  37222. #define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_MASK (0xFFFFFFFFU)
  37223. #define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_SHIFT (0U)
  37224. /*! L3A22 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37225. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37226. * Address field in the IPv6 packets.
  37227. */
  37228. #define ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG2_L3A22_MASK)
  37229. /*! @} */
  37230. /*! @name MAC_LAYER3_ADDR3_REG2 - Layer 3 Address 3 Register 2 */
  37231. /*! @{ */
  37232. #define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_MASK (0xFFFFFFFFU)
  37233. #define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_SHIFT (0U)
  37234. /*! L3A32 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37235. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37236. * Address field in the IPv6 packets.
  37237. */
  37238. #define ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG2_L3A32_MASK)
  37239. /*! @} */
  37240. /*! @name MAC_L3_L4_CONTROL3 - Layer 3 and Layer 4 Control of Filter 3 */
  37241. /*! @{ */
  37242. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_MASK (0x1U)
  37243. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_SHIFT (0U)
  37244. /*! L3PEN3 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37245. * Address matching is enabled for IPv6 packets.
  37246. * 0b0..Layer 3 Protocol is disabled
  37247. * 0b1..Layer 3 Protocol is enabled
  37248. */
  37249. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3PEN3_MASK)
  37250. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_MASK (0x4U)
  37251. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_SHIFT (2U)
  37252. /*! L3SAM3 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37253. * 0b0..Layer 3 IP SA Match is disabled
  37254. * 0b1..Layer 3 IP SA Match is enabled
  37255. */
  37256. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3SAM3_MASK)
  37257. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_MASK (0x8U)
  37258. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_SHIFT (3U)
  37259. /*! L3SAIM3 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37260. * field is enabled for inverse matching.
  37261. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37262. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37263. */
  37264. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3SAIM3_MASK)
  37265. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_MASK (0x10U)
  37266. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_SHIFT (4U)
  37267. /*! L3DAM3 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37268. * 0b0..Layer 3 IP DA Match is disabled
  37269. * 0b1..Layer 3 IP DA Match is enabled
  37270. */
  37271. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3DAM3_MASK)
  37272. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_MASK (0x20U)
  37273. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_SHIFT (5U)
  37274. /*! L3DAIM3 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37275. * Address field is enabled for inverse matching.
  37276. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37277. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37278. */
  37279. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3DAIM3_MASK)
  37280. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_MASK (0x7C0U)
  37281. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_SHIFT (6U)
  37282. /*! L3HSBM3 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37283. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37284. */
  37285. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3HSBM3_MASK)
  37286. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_MASK (0xF800U)
  37287. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_SHIFT (11U)
  37288. /*! L3HDBM3 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37289. * bits of IP Destination Address that are matched in the IPv4 packets.
  37290. */
  37291. #define ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L3HDBM3_MASK)
  37292. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_MASK (0x10000U)
  37293. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_SHIFT (16U)
  37294. /*! L4PEN3 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37295. * fields of UDP packets are used for matching.
  37296. * 0b0..Layer 4 Protocol is disabled
  37297. * 0b1..Layer 4 Protocol is enabled
  37298. */
  37299. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4PEN3_MASK)
  37300. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_MASK (0x40000U)
  37301. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_SHIFT (18U)
  37302. /*! L4SPM3 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37303. * 0b0..Layer 4 Source Port Match is disabled
  37304. * 0b1..Layer 4 Source Port Match is enabled
  37305. */
  37306. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4SPM3_MASK)
  37307. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_MASK (0x80000U)
  37308. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_SHIFT (19U)
  37309. /*! L4SPIM3 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37310. * number field is enabled for inverse matching.
  37311. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37312. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37313. */
  37314. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4SPIM3_MASK)
  37315. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_MASK (0x100000U)
  37316. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_SHIFT (20U)
  37317. /*! L4DPM3 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37318. * Port number field is enabled for matching.
  37319. * 0b0..Layer 4 Destination Port Match is disabled
  37320. * 0b1..Layer 4 Destination Port Match is enabled
  37321. */
  37322. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4DPM3_MASK)
  37323. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_MASK (0x200000U)
  37324. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_SHIFT (21U)
  37325. /*! L4DPIM3 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37326. * Destination Port number field is enabled for inverse matching.
  37327. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37328. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37329. */
  37330. #define ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_L4DPIM3_MASK)
  37331. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_MASK (0x7000000U)
  37332. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_SHIFT (24U)
  37333. /*! DMCHN3 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37334. * to which the packet passed by this filter is routed.
  37335. */
  37336. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_DMCHN3_MASK)
  37337. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_MASK (0x10000000U)
  37338. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_SHIFT (28U)
  37339. /*! DMCHEN3 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37340. * number for the packet that is passed by this L3_L4 filter.
  37341. * 0b0..DMA Channel Select is disabled
  37342. * 0b1..DMA Channel Select is enabled
  37343. */
  37344. #define ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL3_DMCHEN3_MASK)
  37345. /*! @} */
  37346. /*! @name MAC_LAYER4_ADDRESS3 - Layer 4 Address 3 */
  37347. /*! @{ */
  37348. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_MASK (0xFFFFU)
  37349. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_SHIFT (0U)
  37350. /*! L4SP3 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37351. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37352. * Source Port Number field in the IPv4 or IPv6 packets.
  37353. */
  37354. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS3_L4SP3_MASK)
  37355. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_MASK (0xFFFF0000U)
  37356. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_SHIFT (16U)
  37357. /*! L4DP3 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37358. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37359. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37360. */
  37361. #define ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS3_L4DP3_MASK)
  37362. /*! @} */
  37363. /*! @name MAC_LAYER3_ADDR0_REG3 - Layer 3 Address 0 Register 3 */
  37364. /*! @{ */
  37365. #define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_MASK (0xFFFFFFFFU)
  37366. #define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_SHIFT (0U)
  37367. /*! L3A03 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37368. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37369. * Address field in the IPv6 packets.
  37370. */
  37371. #define ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG3_L3A03_MASK)
  37372. /*! @} */
  37373. /*! @name MAC_LAYER3_ADDR1_REG3 - Layer 3 Address 1 Register 3 */
  37374. /*! @{ */
  37375. #define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_MASK (0xFFFFFFFFU)
  37376. #define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_SHIFT (0U)
  37377. /*! L3A13 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37378. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37379. * Address field in the IPv6 packets.
  37380. */
  37381. #define ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG3_L3A13_MASK)
  37382. /*! @} */
  37383. /*! @name MAC_LAYER3_ADDR2_REG3 - Layer 3 Address 2 Register 3 */
  37384. /*! @{ */
  37385. #define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_MASK (0xFFFFFFFFU)
  37386. #define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_SHIFT (0U)
  37387. /*! L3A23 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37388. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37389. * Address field in the IPv6 packets.
  37390. */
  37391. #define ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG3_L3A23_MASK)
  37392. /*! @} */
  37393. /*! @name MAC_LAYER3_ADDR3_REG3 - Layer 3 Address 3 Register 3 */
  37394. /*! @{ */
  37395. #define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_MASK (0xFFFFFFFFU)
  37396. #define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_SHIFT (0U)
  37397. /*! L3A33 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37398. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37399. * Address field in the IPv6 packets.
  37400. */
  37401. #define ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG3_L3A33_MASK)
  37402. /*! @} */
  37403. /*! @name MAC_L3_L4_CONTROL4 - Layer 3 and Layer 4 Control of Filter 4 */
  37404. /*! @{ */
  37405. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_MASK (0x1U)
  37406. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_SHIFT (0U)
  37407. /*! L3PEN4 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37408. * Address matching is enabled for IPv6 packets.
  37409. * 0b0..Layer 3 Protocol is disabled
  37410. * 0b1..Layer 3 Protocol is enabled
  37411. */
  37412. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3PEN4_MASK)
  37413. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_MASK (0x4U)
  37414. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_SHIFT (2U)
  37415. /*! L3SAM4 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37416. * 0b0..Layer 3 IP SA Match is disabled
  37417. * 0b1..Layer 3 IP SA Match is enabled
  37418. */
  37419. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3SAM4_MASK)
  37420. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_MASK (0x8U)
  37421. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_SHIFT (3U)
  37422. /*! L3SAIM4 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37423. * field is enabled for inverse matching.
  37424. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37425. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37426. */
  37427. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3SAIM4_MASK)
  37428. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_MASK (0x10U)
  37429. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_SHIFT (4U)
  37430. /*! L3DAM4 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37431. * 0b0..Layer 3 IP DA Match is disabled
  37432. * 0b1..Layer 3 IP DA Match is enabled
  37433. */
  37434. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3DAM4_MASK)
  37435. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_MASK (0x20U)
  37436. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_SHIFT (5U)
  37437. /*! L3DAIM4 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37438. * Address field is enabled for inverse matching.
  37439. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37440. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37441. */
  37442. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3DAIM4_MASK)
  37443. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_MASK (0x7C0U)
  37444. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_SHIFT (6U)
  37445. /*! L3HSBM4 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37446. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37447. */
  37448. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3HSBM4_MASK)
  37449. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_MASK (0xF800U)
  37450. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_SHIFT (11U)
  37451. /*! L3HDBM4 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37452. * bits of IP Destination Address that are matched in the IPv4 packets.
  37453. */
  37454. #define ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L3HDBM4_MASK)
  37455. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_MASK (0x10000U)
  37456. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_SHIFT (16U)
  37457. /*! L4PEN4 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37458. * fields of UDP packets are used for matching.
  37459. * 0b0..Layer 4 Protocol is disabled
  37460. * 0b1..Layer 4 Protocol is enabled
  37461. */
  37462. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4PEN4_MASK)
  37463. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_MASK (0x40000U)
  37464. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_SHIFT (18U)
  37465. /*! L4SPM4 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37466. * 0b0..Layer 4 Source Port Match is disabled
  37467. * 0b1..Layer 4 Source Port Match is enabled
  37468. */
  37469. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4SPM4_MASK)
  37470. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_MASK (0x80000U)
  37471. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_SHIFT (19U)
  37472. /*! L4SPIM4 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37473. * number field is enabled for inverse matching.
  37474. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37475. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37476. */
  37477. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4SPIM4_MASK)
  37478. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_MASK (0x100000U)
  37479. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_SHIFT (20U)
  37480. /*! L4DPM4 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37481. * Port number field is enabled for matching.
  37482. * 0b0..Layer 4 Destination Port Match is disabled
  37483. * 0b1..Layer 4 Destination Port Match is enabled
  37484. */
  37485. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4DPM4_MASK)
  37486. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_MASK (0x200000U)
  37487. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_SHIFT (21U)
  37488. /*! L4DPIM4 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37489. * Destination Port number field is enabled for inverse matching.
  37490. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37491. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37492. */
  37493. #define ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_L4DPIM4_MASK)
  37494. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_MASK (0x7000000U)
  37495. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_SHIFT (24U)
  37496. /*! DMCHN4 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37497. * to which the packet passed by this filter is routed.
  37498. */
  37499. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_DMCHN4_MASK)
  37500. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_MASK (0x10000000U)
  37501. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_SHIFT (28U)
  37502. /*! DMCHEN4 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37503. * number for the packet that is passed by this L3_L4 filter.
  37504. * 0b0..DMA Channel Select is disabled
  37505. * 0b1..DMA Channel Select is enabled
  37506. */
  37507. #define ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL4_DMCHEN4_MASK)
  37508. /*! @} */
  37509. /*! @name MAC_LAYER4_ADDRESS4 - Layer 4 Address 4 */
  37510. /*! @{ */
  37511. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_MASK (0xFFFFU)
  37512. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_SHIFT (0U)
  37513. /*! L4SP4 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37514. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37515. * Source Port Number field in the IPv4 or IPv6 packets.
  37516. */
  37517. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS4_L4SP4_MASK)
  37518. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_MASK (0xFFFF0000U)
  37519. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_SHIFT (16U)
  37520. /*! L4DP4 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37521. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37522. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37523. */
  37524. #define ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS4_L4DP4_MASK)
  37525. /*! @} */
  37526. /*! @name MAC_LAYER3_ADDR0_REG4 - Layer 3 Address 0 Register 4 */
  37527. /*! @{ */
  37528. #define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_MASK (0xFFFFFFFFU)
  37529. #define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_SHIFT (0U)
  37530. /*! L3A04 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37531. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37532. * Address field in the IPv6 packets.
  37533. */
  37534. #define ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG4_L3A04_MASK)
  37535. /*! @} */
  37536. /*! @name MAC_LAYER3_ADDR1_REG4 - Layer 3 Address 1 Register 4 */
  37537. /*! @{ */
  37538. #define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_MASK (0xFFFFFFFFU)
  37539. #define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_SHIFT (0U)
  37540. /*! L3A14 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37541. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37542. * Address field in the IPv6 packets.
  37543. */
  37544. #define ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG4_L3A14_MASK)
  37545. /*! @} */
  37546. /*! @name MAC_LAYER3_ADDR2_REG4 - Layer 3 Address 2 Register 4 */
  37547. /*! @{ */
  37548. #define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_MASK (0xFFFFFFFFU)
  37549. #define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_SHIFT (0U)
  37550. /*! L3A24 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37551. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37552. * Address field in the IPv6 packets.
  37553. */
  37554. #define ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG4_L3A24_MASK)
  37555. /*! @} */
  37556. /*! @name MAC_LAYER3_ADDR3_REG4 - Layer 3 Address 3 Register 4 */
  37557. /*! @{ */
  37558. #define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_MASK (0xFFFFFFFFU)
  37559. #define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_SHIFT (0U)
  37560. /*! L3A34 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37561. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37562. * Address field in the IPv6 packets.
  37563. */
  37564. #define ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG4_L3A34_MASK)
  37565. /*! @} */
  37566. /*! @name MAC_L3_L4_CONTROL5 - Layer 3 and Layer 4 Control of Filter 5 */
  37567. /*! @{ */
  37568. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_MASK (0x1U)
  37569. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_SHIFT (0U)
  37570. /*! L3PEN5 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37571. * Address matching is enabled for IPv6 packets.
  37572. * 0b0..Layer 3 Protocol is disabled
  37573. * 0b1..Layer 3 Protocol is enabled
  37574. */
  37575. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3PEN5_MASK)
  37576. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_MASK (0x4U)
  37577. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_SHIFT (2U)
  37578. /*! L3SAM5 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37579. * 0b0..Layer 3 IP SA Match is disabled
  37580. * 0b1..Layer 3 IP SA Match is enabled
  37581. */
  37582. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3SAM5_MASK)
  37583. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_MASK (0x8U)
  37584. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_SHIFT (3U)
  37585. /*! L3SAIM5 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37586. * field is enabled for inverse matching.
  37587. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37588. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37589. */
  37590. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3SAIM5_MASK)
  37591. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_MASK (0x10U)
  37592. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_SHIFT (4U)
  37593. /*! L3DAM5 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37594. * 0b0..Layer 3 IP DA Match is disabled
  37595. * 0b1..Layer 3 IP DA Match is enabled
  37596. */
  37597. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3DAM5_MASK)
  37598. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_MASK (0x20U)
  37599. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_SHIFT (5U)
  37600. /*! L3DAIM5 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37601. * Address field is enabled for inverse matching.
  37602. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37603. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37604. */
  37605. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3DAIM5_MASK)
  37606. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_MASK (0x7C0U)
  37607. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_SHIFT (6U)
  37608. /*! L3HSBM5 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37609. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37610. */
  37611. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3HSBM5_MASK)
  37612. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_MASK (0xF800U)
  37613. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_SHIFT (11U)
  37614. /*! L3HDBM5 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37615. * bits of IP Destination Address that are matched in the IPv4 packets.
  37616. */
  37617. #define ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L3HDBM5_MASK)
  37618. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_MASK (0x10000U)
  37619. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_SHIFT (16U)
  37620. /*! L4PEN5 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37621. * fields of UDP packets are used for matching.
  37622. * 0b0..Layer 4 Protocol is disabled
  37623. * 0b1..Layer 4 Protocol is enabled
  37624. */
  37625. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4PEN5_MASK)
  37626. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_MASK (0x40000U)
  37627. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_SHIFT (18U)
  37628. /*! L4SPM5 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37629. * 0b0..Layer 4 Source Port Match is disabled
  37630. * 0b1..Layer 4 Source Port Match is enabled
  37631. */
  37632. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4SPM5_MASK)
  37633. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_MASK (0x80000U)
  37634. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_SHIFT (19U)
  37635. /*! L4SPIM5 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37636. * number field is enabled for inverse matching.
  37637. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37638. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37639. */
  37640. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4SPIM5_MASK)
  37641. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_MASK (0x100000U)
  37642. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_SHIFT (20U)
  37643. /*! L4DPM5 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37644. * Port number field is enabled for matching.
  37645. * 0b0..Layer 4 Destination Port Match is disabled
  37646. * 0b1..Layer 4 Destination Port Match is enabled
  37647. */
  37648. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4DPM5_MASK)
  37649. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_MASK (0x200000U)
  37650. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_SHIFT (21U)
  37651. /*! L4DPIM5 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37652. * Destination Port number field is enabled for inverse matching.
  37653. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37654. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37655. */
  37656. #define ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_L4DPIM5_MASK)
  37657. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_MASK (0x7000000U)
  37658. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_SHIFT (24U)
  37659. /*! DMCHN5 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37660. * to which the packet passed by this filter is routed.
  37661. */
  37662. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_DMCHN5_MASK)
  37663. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_MASK (0x10000000U)
  37664. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_SHIFT (28U)
  37665. /*! DMCHEN5 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37666. * number for the packet that is passed by this L3_L4 filter.
  37667. * 0b0..DMA Channel Select is disabled
  37668. * 0b1..DMA Channel Select is enabled
  37669. */
  37670. #define ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL5_DMCHEN5_MASK)
  37671. /*! @} */
  37672. /*! @name MAC_LAYER4_ADDRESS5 - Layer 4 Address 5 */
  37673. /*! @{ */
  37674. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_MASK (0xFFFFU)
  37675. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_SHIFT (0U)
  37676. /*! L4SP5 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37677. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37678. * Source Port Number field in the IPv4 or IPv6 packets.
  37679. */
  37680. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS5_L4SP5_MASK)
  37681. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_MASK (0xFFFF0000U)
  37682. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_SHIFT (16U)
  37683. /*! L4DP5 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37684. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37685. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37686. */
  37687. #define ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS5_L4DP5_MASK)
  37688. /*! @} */
  37689. /*! @name MAC_LAYER3_ADDR0_REG5 - Layer 3 Address 0 Register 5 */
  37690. /*! @{ */
  37691. #define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_MASK (0xFFFFFFFFU)
  37692. #define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_SHIFT (0U)
  37693. /*! L3A05 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37694. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37695. * Address field in the IPv6 packets.
  37696. */
  37697. #define ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG5_L3A05_MASK)
  37698. /*! @} */
  37699. /*! @name MAC_LAYER3_ADDR1_REG5 - Layer 3 Address 1 Register 5 */
  37700. /*! @{ */
  37701. #define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_MASK (0xFFFFFFFFU)
  37702. #define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_SHIFT (0U)
  37703. /*! L3A15 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37704. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37705. * Address field in the IPv6 packets.
  37706. */
  37707. #define ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG5_L3A15_MASK)
  37708. /*! @} */
  37709. /*! @name MAC_LAYER3_ADDR2_REG5 - Layer 3 Address 2 Register 5 */
  37710. /*! @{ */
  37711. #define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_MASK (0xFFFFFFFFU)
  37712. #define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_SHIFT (0U)
  37713. /*! L3A25 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37714. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37715. * Address field in the IPv6 packets.
  37716. */
  37717. #define ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG5_L3A25_MASK)
  37718. /*! @} */
  37719. /*! @name MAC_LAYER3_ADDR3_REG5 - Layer 3 Address 3 Register 5 */
  37720. /*! @{ */
  37721. #define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_MASK (0xFFFFFFFFU)
  37722. #define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_SHIFT (0U)
  37723. /*! L3A35 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37724. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37725. * Address field in the IPv6 packets.
  37726. */
  37727. #define ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG5_L3A35_MASK)
  37728. /*! @} */
  37729. /*! @name MAC_L3_L4_CONTROL6 - Layer 3 and Layer 4 Control of Filter 6 */
  37730. /*! @{ */
  37731. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_MASK (0x1U)
  37732. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_SHIFT (0U)
  37733. /*! L3PEN6 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37734. * Address matching is enabled for IPv6 packets.
  37735. * 0b0..Layer 3 Protocol is disabled
  37736. * 0b1..Layer 3 Protocol is enabled
  37737. */
  37738. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3PEN6_MASK)
  37739. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_MASK (0x4U)
  37740. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_SHIFT (2U)
  37741. /*! L3SAM6 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37742. * 0b0..Layer 3 IP SA Match is disabled
  37743. * 0b1..Layer 3 IP SA Match is enabled
  37744. */
  37745. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3SAM6_MASK)
  37746. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_MASK (0x8U)
  37747. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_SHIFT (3U)
  37748. /*! L3SAIM6 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37749. * field is enabled for inverse matching.
  37750. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37751. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37752. */
  37753. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3SAIM6_MASK)
  37754. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_MASK (0x10U)
  37755. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_SHIFT (4U)
  37756. /*! L3DAM6 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37757. * 0b0..Layer 3 IP DA Match is disabled
  37758. * 0b1..Layer 3 IP DA Match is enabled
  37759. */
  37760. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3DAM6_MASK)
  37761. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_MASK (0x20U)
  37762. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_SHIFT (5U)
  37763. /*! L3DAIM6 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37764. * Address field is enabled for inverse matching.
  37765. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37766. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37767. */
  37768. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3DAIM6_MASK)
  37769. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_MASK (0x7C0U)
  37770. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_SHIFT (6U)
  37771. /*! L3HSBM6 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37772. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37773. */
  37774. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3HSBM6_MASK)
  37775. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_MASK (0xF800U)
  37776. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_SHIFT (11U)
  37777. /*! L3HDBM6 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37778. * bits of IP Destination Address that are matched in the IPv4 packets.
  37779. */
  37780. #define ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L3HDBM6_MASK)
  37781. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_MASK (0x10000U)
  37782. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_SHIFT (16U)
  37783. /*! L4PEN6 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37784. * fields of UDP packets are used for matching.
  37785. * 0b0..Layer 4 Protocol is disabled
  37786. * 0b1..Layer 4 Protocol is enabled
  37787. */
  37788. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4PEN6_MASK)
  37789. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_MASK (0x40000U)
  37790. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_SHIFT (18U)
  37791. /*! L4SPM6 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37792. * 0b0..Layer 4 Source Port Match is disabled
  37793. * 0b1..Layer 4 Source Port Match is enabled
  37794. */
  37795. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4SPM6_MASK)
  37796. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_MASK (0x80000U)
  37797. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_SHIFT (19U)
  37798. /*! L4SPIM6 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37799. * number field is enabled for inverse matching.
  37800. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37801. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37802. */
  37803. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4SPIM6_MASK)
  37804. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_MASK (0x100000U)
  37805. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_SHIFT (20U)
  37806. /*! L4DPM6 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37807. * Port number field is enabled for matching.
  37808. * 0b0..Layer 4 Destination Port Match is disabled
  37809. * 0b1..Layer 4 Destination Port Match is enabled
  37810. */
  37811. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4DPM6_MASK)
  37812. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_MASK (0x200000U)
  37813. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_SHIFT (21U)
  37814. /*! L4DPIM6 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37815. * Destination Port number field is enabled for inverse matching.
  37816. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37817. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37818. */
  37819. #define ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_L4DPIM6_MASK)
  37820. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_MASK (0x7000000U)
  37821. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_SHIFT (24U)
  37822. /*! DMCHN6 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37823. * to which the packet passed by this filter is routed.
  37824. */
  37825. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_DMCHN6_MASK)
  37826. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_MASK (0x10000000U)
  37827. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_SHIFT (28U)
  37828. /*! DMCHEN6 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37829. * number for the packet that is passed by this L3_L4 filter.
  37830. * 0b0..DMA Channel Select is disabled
  37831. * 0b1..DMA Channel Select is enabled
  37832. */
  37833. #define ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL6_DMCHEN6_MASK)
  37834. /*! @} */
  37835. /*! @name MAC_LAYER4_ADDRESS6 - Layer 4 Address 6 */
  37836. /*! @{ */
  37837. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_MASK (0xFFFFU)
  37838. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_SHIFT (0U)
  37839. /*! L4SP6 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  37840. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  37841. * Source Port Number field in the IPv4 or IPv6 packets.
  37842. */
  37843. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS6_L4SP6_MASK)
  37844. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_MASK (0xFFFF0000U)
  37845. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_SHIFT (16U)
  37846. /*! L4DP6 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  37847. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  37848. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  37849. */
  37850. #define ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS6_L4DP6_MASK)
  37851. /*! @} */
  37852. /*! @name MAC_LAYER3_ADDR0_REG6 - Layer 3 Address 0 Register 6 */
  37853. /*! @{ */
  37854. #define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_MASK (0xFFFFFFFFU)
  37855. #define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_SHIFT (0U)
  37856. /*! L3A06 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  37857. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  37858. * Address field in the IPv6 packets.
  37859. */
  37860. #define ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG6_L3A06_MASK)
  37861. /*! @} */
  37862. /*! @name MAC_LAYER3_ADDR1_REG6 - Layer 3 Address 1 Register 6 */
  37863. /*! @{ */
  37864. #define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_MASK (0xFFFFFFFFU)
  37865. #define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_SHIFT (0U)
  37866. /*! L3A16 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  37867. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  37868. * Address field in the IPv6 packets.
  37869. */
  37870. #define ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG6_L3A16_MASK)
  37871. /*! @} */
  37872. /*! @name MAC_LAYER3_ADDR2_REG6 - Layer 3 Address 2 Register 6 */
  37873. /*! @{ */
  37874. #define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_MASK (0xFFFFFFFFU)
  37875. #define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_SHIFT (0U)
  37876. /*! L3A26 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  37877. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  37878. * Address field in the IPv6 packets.
  37879. */
  37880. #define ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG6_L3A26_MASK)
  37881. /*! @} */
  37882. /*! @name MAC_LAYER3_ADDR3_REG6 - Layer 3 Address 3 Register 6 */
  37883. /*! @{ */
  37884. #define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_MASK (0xFFFFFFFFU)
  37885. #define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_SHIFT (0U)
  37886. /*! L3A36 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  37887. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  37888. * Address field in the IPv6 packets.
  37889. */
  37890. #define ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG6_L3A36_MASK)
  37891. /*! @} */
  37892. /*! @name MAC_L3_L4_CONTROL7 - Layer 3 and Layer 4 Control of Filter 0 */
  37893. /*! @{ */
  37894. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_MASK (0x1U)
  37895. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_SHIFT (0U)
  37896. /*! L3PEN7 - Layer 3 Protocol Enable When this bit is set, the Layer 3 IP Source or Destination
  37897. * Address matching is enabled for IPv6 packets.
  37898. * 0b0..Layer 3 Protocol is disabled
  37899. * 0b1..Layer 3 Protocol is enabled
  37900. */
  37901. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3PEN7_MASK)
  37902. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_MASK (0x4U)
  37903. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_SHIFT (2U)
  37904. /*! L3SAM7 - Layer 3 IP SA Match Enable When this bit is set, the Layer 3 IP Source Address field is enabled for matching.
  37905. * 0b0..Layer 3 IP SA Match is disabled
  37906. * 0b1..Layer 3 IP SA Match is enabled
  37907. */
  37908. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3SAM7_MASK)
  37909. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_MASK (0x8U)
  37910. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_SHIFT (3U)
  37911. /*! L3SAIM7 - Layer 3 IP SA Inverse Match Enable When this bit is set, the Layer 3 IP Source Address
  37912. * field is enabled for inverse matching.
  37913. * 0b0..Layer 3 IP SA Inverse Match is disabled
  37914. * 0b1..Layer 3 IP SA Inverse Match is enabled
  37915. */
  37916. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3SAIM7_MASK)
  37917. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_MASK (0x10U)
  37918. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_SHIFT (4U)
  37919. /*! L3DAM7 - Layer 3 IP DA Match Enable When this bit is set, the Layer 3 IP Destination Address field is enabled for matching.
  37920. * 0b0..Layer 3 IP DA Match is disabled
  37921. * 0b1..Layer 3 IP DA Match is enabled
  37922. */
  37923. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3DAM7_MASK)
  37924. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_MASK (0x20U)
  37925. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_SHIFT (5U)
  37926. /*! L3DAIM7 - Layer 3 IP DA Inverse Match Enable When this bit is set, the Layer 3 IP Destination
  37927. * Address field is enabled for inverse matching.
  37928. * 0b0..Layer 3 IP DA Inverse Match is disabled
  37929. * 0b1..Layer 3 IP DA Inverse Match is enabled
  37930. */
  37931. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3DAIM7_MASK)
  37932. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_MASK (0x7C0U)
  37933. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_SHIFT (6U)
  37934. /*! L3HSBM7 - Layer 3 IP SA Higher Bits Match IPv4 Packets: This field contains the number of lower
  37935. * bits of IP Source Address that are masked for matching in the IPv4 packets.
  37936. */
  37937. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3HSBM7_MASK)
  37938. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_MASK (0xF800U)
  37939. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_SHIFT (11U)
  37940. /*! L3HDBM7 - Layer 3 IP DA Higher Bits Match IPv4 Packets: This field contains the number of higher
  37941. * bits of IP Destination Address that are matched in the IPv4 packets.
  37942. */
  37943. #define ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L3HDBM7_MASK)
  37944. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_MASK (0x10000U)
  37945. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_SHIFT (16U)
  37946. /*! L4PEN7 - Layer 4 Protocol Enable When this bit is set, the Source and Destination Port number
  37947. * fields of UDP packets are used for matching.
  37948. * 0b0..Layer 4 Protocol is disabled
  37949. * 0b1..Layer 4 Protocol is enabled
  37950. */
  37951. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4PEN7_MASK)
  37952. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_MASK (0x40000U)
  37953. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_SHIFT (18U)
  37954. /*! L4SPM7 - Layer 4 Source Port Match Enable When this bit is set, the Layer 4 Source Port number field is enabled for matching.
  37955. * 0b0..Layer 4 Source Port Match is disabled
  37956. * 0b1..Layer 4 Source Port Match is enabled
  37957. */
  37958. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4SPM7_MASK)
  37959. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_MASK (0x80000U)
  37960. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_SHIFT (19U)
  37961. /*! L4SPIM7 - Layer 4 Source Port Inverse Match Enable When this bit is set, the Layer 4 Source Port
  37962. * number field is enabled for inverse matching.
  37963. * 0b0..Layer 4 Source Port Inverse Match is disabled
  37964. * 0b1..Layer 4 Source Port Inverse Match is enabled
  37965. */
  37966. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4SPIM7_MASK)
  37967. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_MASK (0x100000U)
  37968. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_SHIFT (20U)
  37969. /*! L4DPM7 - Layer 4 Destination Port Match Enable When this bit is set, the Layer 4 Destination
  37970. * Port number field is enabled for matching.
  37971. * 0b0..Layer 4 Destination Port Match is disabled
  37972. * 0b1..Layer 4 Destination Port Match is enabled
  37973. */
  37974. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4DPM7_MASK)
  37975. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_MASK (0x200000U)
  37976. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_SHIFT (21U)
  37977. /*! L4DPIM7 - Layer 4 Destination Port Inverse Match Enable When this bit is set, the Layer 4
  37978. * Destination Port number field is enabled for inverse matching.
  37979. * 0b0..Layer 4 Destination Port Inverse Match is disabled
  37980. * 0b1..Layer 4 Destination Port Inverse Match is enabled
  37981. */
  37982. #define ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_L4DPIM7_MASK)
  37983. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_MASK (0x7000000U)
  37984. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_SHIFT (24U)
  37985. /*! DMCHN7 - DMA Channel Number When DMCHEN is set high, this field selects the DMA Channel number
  37986. * to which the packet passed by this filter is routed.
  37987. */
  37988. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_DMCHN7_MASK)
  37989. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_MASK (0x10000000U)
  37990. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_SHIFT (28U)
  37991. /*! DMCHEN7 - DMA Channel Select Enable When set, this bit enables the selection of the DMA channel
  37992. * number for the packet that is passed by this L3_L4 filter.
  37993. * 0b0..DMA Channel Select is disabled
  37994. * 0b1..DMA Channel Select is enabled
  37995. */
  37996. #define ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_SHIFT)) & ENET_QOS_MAC_L3_L4_CONTROL7_DMCHEN7_MASK)
  37997. /*! @} */
  37998. /*! @name MAC_LAYER4_ADDRESS7 - Layer 4 Address 7 */
  37999. /*! @{ */
  38000. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_MASK (0xFFFFU)
  38001. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_SHIFT (0U)
  38002. /*! L4SP7 - Layer 4 Source Port Number Field When the L4PEN0 bit is reset and the L4SPM0 bit is set
  38003. * in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the TCP
  38004. * Source Port Number field in the IPv4 or IPv6 packets.
  38005. */
  38006. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS7_L4SP7_MASK)
  38007. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_MASK (0xFFFF0000U)
  38008. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_SHIFT (16U)
  38009. /*! L4DP7 - Layer 4 Destination Port Number Field When the L4PEN0 bit is reset and the L4DPM0 bit is
  38010. * set in the MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with the
  38011. * TCP Destination Port Number field in the IPv4 or IPv6 packets.
  38012. */
  38013. #define ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_SHIFT)) & ENET_QOS_MAC_LAYER4_ADDRESS7_L4DP7_MASK)
  38014. /*! @} */
  38015. /*! @name MAC_LAYER3_ADDR0_REG7 - Layer 3 Address 0 Register 7 */
  38016. /*! @{ */
  38017. #define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_MASK (0xFFFFFFFFU)
  38018. #define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_SHIFT (0U)
  38019. /*! L3A07 - Layer 3 Address 0 Field When the L3PEN0 and L3SAM0 bits are set in the
  38020. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[31:0] of the IP Source
  38021. * Address field in the IPv6 packets.
  38022. */
  38023. #define ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR0_REG7_L3A07_MASK)
  38024. /*! @} */
  38025. /*! @name MAC_LAYER3_ADDR1_REG7 - Layer 3 Address 1 Register 7 */
  38026. /*! @{ */
  38027. #define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_MASK (0xFFFFFFFFU)
  38028. #define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_SHIFT (0U)
  38029. /*! L3A17 - Layer 3 Address 1 Field When the L3PEN0 and L3SAM0 bits are set in the
  38030. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[63:32] of the IP Source
  38031. * Address field in the IPv6 packets.
  38032. */
  38033. #define ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR1_REG7_L3A17_MASK)
  38034. /*! @} */
  38035. /*! @name MAC_LAYER3_ADDR2_REG7 - Layer 3 Address 2 Register 7 */
  38036. /*! @{ */
  38037. #define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_MASK (0xFFFFFFFFU)
  38038. #define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_SHIFT (0U)
  38039. /*! L3A27 - Layer 3 Address 2 Field When the L3PEN0 and L3SAM0 bits are set in the
  38040. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[95:64] of the IP Source
  38041. * Address field in the IPv6 packets.
  38042. */
  38043. #define ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR2_REG7_L3A27_MASK)
  38044. /*! @} */
  38045. /*! @name MAC_LAYER3_ADDR3_REG7 - Layer 3 Address 3 Register 7 */
  38046. /*! @{ */
  38047. #define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_MASK (0xFFFFFFFFU)
  38048. #define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_SHIFT (0U)
  38049. /*! L3A37 - Layer 3 Address 3 Field When the L3PEN0 and L3SAM0 bits are set in the
  38050. * MAC_L3_L4_CONTROL0 register, this field contains the value to be matched with Bits[127:96] of the IP Source
  38051. * Address field in the IPv6 packets.
  38052. */
  38053. #define ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_SHIFT)) & ENET_QOS_MAC_LAYER3_ADDR3_REG7_L3A37_MASK)
  38054. /*! @} */
  38055. /*! @name MAC_TIMESTAMP_CONTROL - Timestamp Control */
  38056. /*! @{ */
  38057. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_MASK (0x1U)
  38058. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_SHIFT (0U)
  38059. /*! TSENA - Enable Timestamp When this bit is set, the timestamp is added for Transmit and Receive packets.
  38060. * 0b0..Timestamp is disabled
  38061. * 0b1..Timestamp is enabled
  38062. */
  38063. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENA_MASK)
  38064. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_MASK (0x2U)
  38065. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_SHIFT (1U)
  38066. /*! TSCFUPDT - Fine or Coarse Timestamp Update When this bit is set, the Fine method is used to update system timestamp.
  38067. * 0b0..Coarse method is used to update system timestamp
  38068. * 0b1..Fine method is used to update system timestamp
  38069. */
  38070. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCFUPDT_MASK)
  38071. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_MASK (0x4U)
  38072. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_SHIFT (2U)
  38073. /*! TSINIT - Initialize Timestamp When this bit is set, the system time is initialized (overwritten)
  38074. * with the value specified in the MAC_System_Time_Seconds_Update and
  38075. * MAC_System_Time_Nanoseconds_Update registers.
  38076. * 0b0..Timestamp is not initialized
  38077. * 0b1..Timestamp is initialized
  38078. */
  38079. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSINIT_MASK)
  38080. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_MASK (0x8U)
  38081. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_SHIFT (3U)
  38082. /*! TSUPDT - Update Timestamp When this bit is set, the system time is updated (added or subtracted)
  38083. * with the value specified in MAC_System_Time_Seconds_Update and
  38084. * MAC_System_Time_Nanoseconds_Update registers.
  38085. * 0b0..Timestamp is not updated
  38086. * 0b1..Timestamp is updated
  38087. */
  38088. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSUPDT_MASK)
  38089. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_MASK (0x20U)
  38090. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_SHIFT (5U)
  38091. /*! TSADDREG - Update Addend Register When this bit is set, the content of the Timestamp Addend
  38092. * register is updated in the PTP block for fine correction.
  38093. * 0b0..Addend Register is not updated
  38094. * 0b1..Addend Register is updated
  38095. */
  38096. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSADDREG_MASK)
  38097. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_MASK (0x40U)
  38098. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_SHIFT (6U)
  38099. /*! PTGE - Presentation Time Generation Enable When this bit is set the Presentation Time generation will be enabled.
  38100. * 0b0..Presentation Time Generation is disabled
  38101. * 0b1..Presentation Time Generation is enabled
  38102. */
  38103. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_PTGE_MASK)
  38104. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_MASK (0x100U)
  38105. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_SHIFT (8U)
  38106. /*! TSENALL - Enable Timestamp for All Packets When this bit is set, the timestamp snapshot is
  38107. * enabled for all packets received by the MAC.
  38108. * 0b0..Timestamp for All Packets disabled
  38109. * 0b1..Timestamp for All Packets enabled
  38110. */
  38111. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENALL_MASK)
  38112. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_MASK (0x200U)
  38113. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_SHIFT (9U)
  38114. /*! TSCTRLSSR - Timestamp Digital or Binary Rollover Control When this bit is set, the Timestamp Low
  38115. * register rolls over after 0x3B9A_C9FF value (that is, 1 nanosecond accuracy) and increments
  38116. * the timestamp (High) seconds.
  38117. * 0b0..Timestamp Digital or Binary Rollover Control is disabled
  38118. * 0b1..Timestamp Digital or Binary Rollover Control is enabled
  38119. */
  38120. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSCTRLSSR_MASK)
  38121. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_MASK (0x400U)
  38122. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_SHIFT (10U)
  38123. /*! TSVER2ENA - Enable PTP Packet Processing for Version 2 Format When this bit is set, the IEEE
  38124. * 1588 version 2 format is used to process the PTP packets.
  38125. * 0b0..PTP Packet Processing for Version 2 Format is disabled
  38126. * 0b1..PTP Packet Processing for Version 2 Format is enabled
  38127. */
  38128. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSVER2ENA_MASK)
  38129. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_MASK (0x800U)
  38130. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_SHIFT (11U)
  38131. /*! TSIPENA - Enable Processing of PTP over Ethernet Packets When this bit is set, the MAC receiver
  38132. * processes the PTP packets encapsulated directly in the Ethernet packets.
  38133. * 0b0..Processing of PTP over Ethernet Packets is disabled
  38134. * 0b1..Processing of PTP over Ethernet Packets is enabled
  38135. */
  38136. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPENA_MASK)
  38137. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_MASK (0x1000U)
  38138. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_SHIFT (12U)
  38139. /*! TSIPV6ENA - Enable Processing of PTP Packets Sent over IPv6-UDP When this bit is set, the MAC
  38140. * receiver processes the PTP packets encapsulated in IPv6-UDP packets.
  38141. * 0b0..Processing of PTP Packets Sent over IPv6-UDP is disabled
  38142. * 0b1..Processing of PTP Packets Sent over IPv6-UDP is enabled
  38143. */
  38144. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV6ENA_MASK)
  38145. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_MASK (0x2000U)
  38146. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_SHIFT (13U)
  38147. /*! TSIPV4ENA - Enable Processing of PTP Packets Sent over IPv4-UDP When this bit is set, the MAC
  38148. * receiver processes the PTP packets encapsulated in IPv4-UDP packets.
  38149. * 0b0..Processing of PTP Packets Sent over IPv4-UDP is disabled
  38150. * 0b1..Processing of PTP Packets Sent over IPv4-UDP is enabled
  38151. */
  38152. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSIPV4ENA_MASK)
  38153. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_MASK (0x4000U)
  38154. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_SHIFT (14U)
  38155. /*! TSEVNTENA - Enable Timestamp Snapshot for Event Messages When this bit is set, the timestamp
  38156. * snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req, or Pdelay_Resp).
  38157. * 0b0..Timestamp Snapshot for Event Messages is disabled
  38158. * 0b1..Timestamp Snapshot for Event Messages is enabled
  38159. */
  38160. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSEVNTENA_MASK)
  38161. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_MASK (0x8000U)
  38162. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_SHIFT (15U)
  38163. /*! TSMSTRENA - Enable Snapshot for Messages Relevant to Master When this bit is set, the snapshot
  38164. * is taken only for the messages that are relevant to the master node.
  38165. * 0b0..Snapshot for Messages Relevant to Master is disabled
  38166. * 0b1..Snapshot for Messages Relevant to Master is enabled
  38167. */
  38168. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSMSTRENA_MASK)
  38169. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK (0x30000U)
  38170. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT (16U)
  38171. /*! SNAPTYPSEL - Select PTP packets for Taking Snapshots These bits, along with Bits 15 and 14,
  38172. * decide the set of PTP packet types for which snapshot needs to be taken.
  38173. */
  38174. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_SNAPTYPSEL_MASK)
  38175. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_MASK (0x40000U)
  38176. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_SHIFT (18U)
  38177. /*! TSENMACADDR - Enable MAC Address for PTP Packet Filtering When this bit is set, the DA MAC
  38178. * address (that matches any MAC Address register) is used to filter the PTP packets when PTP is
  38179. * directly sent over Ethernet.
  38180. * 0b0..MAC Address for PTP Packet Filtering is disabled
  38181. * 0b1..MAC Address for PTP Packet Filtering is enabled
  38182. */
  38183. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TSENMACADDR_MASK)
  38184. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_MASK (0x80000U)
  38185. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_SHIFT (19U)
  38186. /*! CSC - Enable checksum correction during OST for PTP over UDP/IPv4 packets When this bit is set,
  38187. * the last two bytes of PTP message sent over UDP/IPv4 is updated to keep the UDP checksum
  38188. * correct, for changes made to origin timestamp and/or correction field as part of one step timestamp
  38189. * operation.
  38190. * 0b0..checksum correction during OST for PTP over UDP/IPv4 packets is disabled
  38191. * 0b1..checksum correction during OST for PTP over UDP/IPv4 packets is enabled
  38192. */
  38193. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_CSC_MASK)
  38194. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_MASK (0x100000U)
  38195. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_SHIFT (20U)
  38196. /*! ESTI - External System Time Input When this bit is set, the MAC uses the external 64-bit
  38197. * reference System Time input for the following: - To take the timestamp provided as status - To insert
  38198. * the timestamp in transmit PTP packets when One-step Timestamp or Timestamp Offload feature is
  38199. * enabled.
  38200. * 0b0..External System Time Input is disabled
  38201. * 0b1..External System Time Input is enabled
  38202. */
  38203. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_ESTI_MASK)
  38204. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_MASK (0x1000000U)
  38205. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_SHIFT (24U)
  38206. /*! TXTSSTSM - Transmit Timestamp Status Mode When this bit is set, the MAC overwrites the earlier
  38207. * transmit timestamp status even if it is not read by the software.
  38208. * 0b0..Transmit Timestamp Status Mode is disabled
  38209. * 0b1..Transmit Timestamp Status Mode is enabled
  38210. */
  38211. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_TXTSSTSM_MASK)
  38212. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_MASK (0x10000000U)
  38213. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_SHIFT (28U)
  38214. /*! AV8021ASMEN - AV 802.
  38215. * 0b0..AV 802.1AS Mode is disabled
  38216. * 0b1..AV 802.1AS Mode is enabled
  38217. */
  38218. #define ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_CONTROL_AV8021ASMEN_MASK)
  38219. /*! @} */
  38220. /*! @name MAC_SUB_SECOND_INCREMENT - Subsecond Increment */
  38221. /*! @{ */
  38222. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_MASK (0xFF00U)
  38223. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_SHIFT (8U)
  38224. /*! SNSINC - Sub-nanosecond Increment Value This field contains the sub-nanosecond increment value,
  38225. * represented in nanoseconds multiplied by 2^8.
  38226. */
  38227. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_SHIFT)) & ENET_QOS_MAC_SUB_SECOND_INCREMENT_SNSINC_MASK)
  38228. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_MASK (0xFF0000U)
  38229. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_SHIFT (16U)
  38230. /*! SSINC - Sub-second Increment Value The value programmed in this field is accumulated every clock
  38231. * cycle (of clk_ptp_i) with the contents of the sub-second register.
  38232. */
  38233. #define ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_SHIFT)) & ENET_QOS_MAC_SUB_SECOND_INCREMENT_SSINC_MASK)
  38234. /*! @} */
  38235. /*! @name MAC_SYSTEM_TIME_SECONDS - System Time Seconds */
  38236. /*! @{ */
  38237. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_MASK (0xFFFFFFFFU)
  38238. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_SHIFT (0U)
  38239. /*! TSS - Timestamp Second The value in this field indicates the current value in seconds of the
  38240. * System Time maintained by the MAC.
  38241. */
  38242. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_SECONDS_TSS_MASK)
  38243. /*! @} */
  38244. /*! @name MAC_SYSTEM_TIME_NANOSECONDS - System Time Nanoseconds */
  38245. /*! @{ */
  38246. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_MASK (0x7FFFFFFFU)
  38247. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_SHIFT (0U)
  38248. /*! TSSS - Timestamp Sub Seconds The value in this field has the sub-second representation of time, with an accuracy of 0.
  38249. */
  38250. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_TSSS_MASK)
  38251. /*! @} */
  38252. /*! @name MAC_SYSTEM_TIME_SECONDS_UPDATE - System Time Seconds Update */
  38253. /*! @{ */
  38254. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_MASK (0xFFFFFFFFU)
  38255. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_SHIFT (0U)
  38256. /*! TSS - Timestamp Seconds The value in this field is the seconds part of the update.
  38257. */
  38258. #define ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_SECONDS_UPDATE_TSS_MASK)
  38259. /*! @} */
  38260. /*! @name MAC_SYSTEM_TIME_NANOSECONDS_UPDATE - System Time Nanoseconds Update */
  38261. /*! @{ */
  38262. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_MASK (0x7FFFFFFFU)
  38263. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_SHIFT (0U)
  38264. /*! TSSS - Timestamp Sub Seconds The value in this field is the sub-seconds part of the update.
  38265. */
  38266. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_TSSS_MASK)
  38267. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_MASK (0x80000000U)
  38268. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_SHIFT (31U)
  38269. /*! ADDSUB - Add or Subtract Time When this bit is set, the time value is subtracted with the contents of the update register.
  38270. * 0b0..Add time
  38271. * 0b1..Subtract time
  38272. */
  38273. #define ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_NANOSECONDS_UPDATE_ADDSUB_MASK)
  38274. /*! @} */
  38275. /*! @name MAC_TIMESTAMP_ADDEND - Timestamp Addend */
  38276. /*! @{ */
  38277. #define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_MASK (0xFFFFFFFFU)
  38278. #define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_SHIFT (0U)
  38279. /*! TSAR - Timestamp Addend Register This field indicates the 32-bit time value to be added to the
  38280. * Accumulator register to achieve time synchronization.
  38281. */
  38282. #define ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_ADDEND_TSAR_MASK)
  38283. /*! @} */
  38284. /*! @name MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS - System Time - Higher Word Seconds */
  38285. /*! @{ */
  38286. #define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_MASK (0xFFFFU)
  38287. #define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_SHIFT (0U)
  38288. /*! TSHWR - Timestamp Higher Word Register This field contains the most-significant 16-bits of timestamp seconds value.
  38289. */
  38290. #define ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_SHIFT)) & ENET_QOS_MAC_SYSTEM_TIME_HIGHER_WORD_SECONDS_TSHWR_MASK)
  38291. /*! @} */
  38292. /*! @name MAC_TIMESTAMP_STATUS - Timestamp Status */
  38293. /*! @{ */
  38294. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_MASK (0x1U)
  38295. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_SHIFT (0U)
  38296. /*! TSSOVF - Timestamp Seconds Overflow When this bit is set, it indicates that the seconds value of
  38297. * the timestamp (when supporting version 2 format) has overflowed beyond 32'hFFFF_FFFF.
  38298. * 0b1..Timestamp Seconds Overflow status detected
  38299. * 0b0..Timestamp Seconds Overflow status not detected
  38300. */
  38301. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSSOVF_MASK)
  38302. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_MASK (0x2U)
  38303. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_SHIFT (1U)
  38304. /*! TSTARGT0 - Timestamp Target Time Reached When set, this bit indicates that the value of system
  38305. * time is greater than or equal to the value specified in the MAC_PPS0_Target_Time_Seconds and
  38306. * MAC_PPS0_Target_Time_Nanoseconds registers.
  38307. * 0b1..Timestamp Target Time Reached status detected
  38308. * 0b0..Timestamp Target Time Reached status not detected
  38309. */
  38310. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT0_MASK)
  38311. #define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_MASK (0x4U)
  38312. #define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_SHIFT (2U)
  38313. /*! AUXTSTRIG - Auxiliary Timestamp Trigger Snapshot This bit is set high when the auxiliary snapshot is written to the FIFO.
  38314. * 0b1..Auxiliary Timestamp Trigger Snapshot status detected
  38315. * 0b0..Auxiliary Timestamp Trigger Snapshot status not detected
  38316. */
  38317. #define ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_AUXTSTRIG_MASK)
  38318. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_MASK (0x8U)
  38319. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_SHIFT (3U)
  38320. /*! TSTRGTERR0 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38321. * in the MAC_PPS0_Target_Time_Seconds and MAC_PPS0_Target_Time_Nanoseconds registers elapses.
  38322. * 0b1..Timestamp Target Time Error status detected
  38323. * 0b0..Timestamp Target Time Error status not detected
  38324. */
  38325. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR0_MASK)
  38326. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_MASK (0x10U)
  38327. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_SHIFT (4U)
  38328. /*! TSTARGT1 - Timestamp Target Time Reached for Target Time PPS1 When set, this bit indicates that
  38329. * the value of system time is greater than or equal to the value specified in the
  38330. * MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers.
  38331. * 0b1..Timestamp Target Time Reached for Target Time PPS1 status detected
  38332. * 0b0..Timestamp Target Time Reached for Target Time PPS1 status not detected
  38333. */
  38334. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT1_MASK)
  38335. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_MASK (0x20U)
  38336. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_SHIFT (5U)
  38337. /*! TSTRGTERR1 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38338. * in the MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS registers elapses.
  38339. * 0b1..Timestamp Target Time Error status detected
  38340. * 0b0..Timestamp Target Time Error status not detected
  38341. */
  38342. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR1_MASK)
  38343. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_MASK (0x40U)
  38344. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_SHIFT (6U)
  38345. /*! TSTARGT2 - Timestamp Target Time Reached for Target Time PPS2 When set, this bit indicates that
  38346. * the value of system time is greater than or equal to the value specified in the
  38347. * MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers.
  38348. * 0b1..Timestamp Target Time Reached for Target Time PPS2 status detected
  38349. * 0b0..Timestamp Target Time Reached for Target Time PPS2 status not detected
  38350. */
  38351. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT2_MASK)
  38352. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_MASK (0x80U)
  38353. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_SHIFT (7U)
  38354. /*! TSTRGTERR2 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38355. * in the MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS registers elapses.
  38356. * 0b1..Timestamp Target Time Error status detected
  38357. * 0b0..Timestamp Target Time Error status not detected
  38358. */
  38359. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR2_MASK)
  38360. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_MASK (0x100U)
  38361. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_SHIFT (8U)
  38362. /*! TSTARGT3 - Timestamp Target Time Reached for Target Time PPS3 When this bit is set, it indicates
  38363. * that the value of system time is greater than or equal to the value specified in the
  38364. * MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers.
  38365. * 0b1..Timestamp Target Time Reached for Target Time PPS3 status detected
  38366. * 0b0..Timestamp Target Time Reached for Target Time PPS3 status not detected
  38367. */
  38368. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTARGT3_MASK)
  38369. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_MASK (0x200U)
  38370. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_SHIFT (9U)
  38371. /*! TSTRGTERR3 - Timestamp Target Time Error This bit is set when the latest target time programmed
  38372. * in the MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS registers elapses.
  38373. * 0b1..Timestamp Target Time Error status detected
  38374. * 0b0..Timestamp Target Time Error status not detected
  38375. */
  38376. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TSTRGTERR3_MASK)
  38377. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_MASK (0x8000U)
  38378. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_SHIFT (15U)
  38379. /*! TXTSSIS - Tx Timestamp Status Interrupt Status In non-EQOS_CORE configurations when drop
  38380. * transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in
  38381. * the MAC_TX_TIMESTAMP_STATUS_NANOSECONDS and MAC_TX_TIMESTAMP_STATUS_SECONDS registers.
  38382. * 0b1..Tx Timestamp Status Interrupt status detected
  38383. * 0b0..Tx Timestamp Status Interrupt status not detected
  38384. */
  38385. #define ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_TXTSSIS_MASK)
  38386. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_MASK (0xF0000U)
  38387. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_SHIFT (16U)
  38388. /*! ATSSTN - Auxiliary Timestamp Snapshot Trigger Identifier These bits identify the Auxiliary
  38389. * trigger inputs for which the timestamp available in the Auxiliary Snapshot Register is applicable.
  38390. */
  38391. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTN_MASK)
  38392. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_MASK (0x1000000U)
  38393. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_SHIFT (24U)
  38394. /*! ATSSTM - Auxiliary Timestamp Snapshot Trigger Missed This bit is set when the Auxiliary
  38395. * timestamp snapshot FIFO is full and external trigger was set.
  38396. * 0b1..Auxiliary Timestamp Snapshot Trigger Missed status detected
  38397. * 0b0..Auxiliary Timestamp Snapshot Trigger Missed status not detected
  38398. */
  38399. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSSTM_MASK)
  38400. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_MASK (0x3E000000U)
  38401. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_SHIFT (25U)
  38402. /*! ATSNS - Number of Auxiliary Timestamp Snapshots This field indicates the number of Snapshots available in the FIFO.
  38403. */
  38404. #define ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_STATUS_ATSNS_MASK)
  38405. /*! @} */
  38406. /*! @name MAC_TX_TIMESTAMP_STATUS_NANOSECONDS - Transmit Timestamp Status Nanoseconds */
  38407. /*! @{ */
  38408. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_MASK (0x7FFFFFFFU)
  38409. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_SHIFT (0U)
  38410. /*! TXTSSLO - Transmit Timestamp Status Low This field contains the 31 bits of the Nanoseconds field
  38411. * of the Transmit packet's captured timestamp.
  38412. */
  38413. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSLO_MASK)
  38414. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_MASK (0x80000000U)
  38415. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_SHIFT (31U)
  38416. /*! TXTSSMIS - Transmit Timestamp Status Missed When this bit is set, it indicates one of the
  38417. * following: - The timestamp of the current packet is ignored if TXTSSTSM bit of the TIMESTAMP_CONTROL
  38418. * register is reset - The timestamp of the previous packet is overwritten with timestamp of the
  38419. * current packet if TXTSSTSM bit of the MAC_TIMESTAMP_CONTROL register is set.
  38420. * 0b1..Transmit Timestamp Status Missed status detected
  38421. * 0b0..Transmit Timestamp Status Missed status not detected
  38422. */
  38423. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_NANOSECONDS_TXTSSMIS_MASK)
  38424. /*! @} */
  38425. /*! @name MAC_TX_TIMESTAMP_STATUS_SECONDS - Transmit Timestamp Status Seconds */
  38426. /*! @{ */
  38427. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_MASK (0xFFFFFFFFU)
  38428. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_SHIFT (0U)
  38429. /*! TXTSSHI - Transmit Timestamp Status High This field contains the lower 32 bits of the Seconds
  38430. * field of Transmit packet's captured timestamp.
  38431. */
  38432. #define ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_SHIFT)) & ENET_QOS_MAC_TX_TIMESTAMP_STATUS_SECONDS_TXTSSHI_MASK)
  38433. /*! @} */
  38434. /*! @name MAC_AUXILIARY_CONTROL - Auxiliary Timestamp Control */
  38435. /*! @{ */
  38436. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_MASK (0x1U)
  38437. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_SHIFT (0U)
  38438. /*! ATSFC - Auxiliary Snapshot FIFO Clear When set, this bit resets the pointers of the Auxiliary Snapshot FIFO.
  38439. * 0b0..Auxiliary Snapshot FIFO Clear is disabled
  38440. * 0b1..Auxiliary Snapshot FIFO Clear is enabled
  38441. */
  38442. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSFC_MASK)
  38443. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_MASK (0x10U)
  38444. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_SHIFT (4U)
  38445. /*! ATSEN0 - Auxiliary Snapshot 0 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 0.
  38446. * 0b0..Auxiliary Snapshot $i is disabled
  38447. * 0b1..Auxiliary Snapshot $i is enabled
  38448. */
  38449. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN0_MASK)
  38450. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_MASK (0x20U)
  38451. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_SHIFT (5U)
  38452. /*! ATSEN1 - Auxiliary Snapshot 1 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 1.
  38453. * 0b0..Auxiliary Snapshot $i is disabled
  38454. * 0b1..Auxiliary Snapshot $i is enabled
  38455. */
  38456. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN1_MASK)
  38457. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_MASK (0x40U)
  38458. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_SHIFT (6U)
  38459. /*! ATSEN2 - Auxiliary Snapshot 2 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 2.
  38460. * 0b0..Auxiliary Snapshot $i is disabled
  38461. * 0b1..Auxiliary Snapshot $i is enabled
  38462. */
  38463. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN2_MASK)
  38464. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_MASK (0x80U)
  38465. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_SHIFT (7U)
  38466. /*! ATSEN3 - Auxiliary Snapshot 3 Enable This bit controls the capturing of Auxiliary Snapshot Trigger 3.
  38467. * 0b0..Auxiliary Snapshot $i is disabled
  38468. * 0b1..Auxiliary Snapshot $i is enabled
  38469. */
  38470. #define ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_SHIFT)) & ENET_QOS_MAC_AUXILIARY_CONTROL_ATSEN3_MASK)
  38471. /*! @} */
  38472. /*! @name MAC_AUXILIARY_TIMESTAMP_NANOSECONDS - Auxiliary Timestamp Nanoseconds */
  38473. /*! @{ */
  38474. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_MASK (0x7FFFFFFFU)
  38475. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_SHIFT (0U)
  38476. /*! AUXTSLO - Auxiliary Timestamp Contains the lower 31 bits (nanoseconds field) of the auxiliary timestamp.
  38477. */
  38478. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_SHIFT)) & ENET_QOS_MAC_AUXILIARY_TIMESTAMP_NANOSECONDS_AUXTSLO_MASK)
  38479. /*! @} */
  38480. /*! @name MAC_AUXILIARY_TIMESTAMP_SECONDS - Auxiliary Timestamp Seconds */
  38481. /*! @{ */
  38482. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_MASK (0xFFFFFFFFU)
  38483. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_SHIFT (0U)
  38484. /*! AUXTSHI - Auxiliary Timestamp Contains the lower 32 bits of the Seconds field of the auxiliary timestamp.
  38485. */
  38486. #define ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_SHIFT)) & ENET_QOS_MAC_AUXILIARY_TIMESTAMP_SECONDS_AUXTSHI_MASK)
  38487. /*! @} */
  38488. /*! @name MAC_TIMESTAMP_INGRESS_ASYM_CORR - Timestamp Ingress Asymmetry Correction */
  38489. /*! @{ */
  38490. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_MASK (0xFFFFFFFFU)
  38491. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_SHIFT (0U)
  38492. /*! OSTIAC - One-Step Timestamp Ingress Asymmetry Correction This field contains the ingress path
  38493. * asymmetry value to be added to correctionField of Pdelay_Resp PTP packet.
  38494. */
  38495. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_ASYM_CORR_OSTIAC_MASK)
  38496. /*! @} */
  38497. /*! @name MAC_TIMESTAMP_EGRESS_ASYM_CORR - imestamp Egress Asymmetry Correction */
  38498. /*! @{ */
  38499. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_MASK (0xFFFFFFFFU)
  38500. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_SHIFT (0U)
  38501. /*! OSTEAC - One-Step Timestamp Egress Asymmetry Correction This field contains the egress path
  38502. * asymmetry value to be subtracted from correctionField of Pdelay_Resp PTP packet.
  38503. */
  38504. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_ASYM_CORR_OSTEAC_MASK)
  38505. /*! @} */
  38506. /*! @name MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND - Timestamp Ingress Correction Nanosecond */
  38507. /*! @{ */
  38508. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK (0xFFFFFFFFU)
  38509. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT (0U)
  38510. /*! TSIC - Timestamp Ingress Correction This field contains the ingress path correction value as
  38511. * defined by the Ingress Correction expression.
  38512. */
  38513. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_NANOSECOND_TSIC_MASK)
  38514. /*! @} */
  38515. /*! @name MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND - Timestamp Egress Correction Nanosecond */
  38516. /*! @{ */
  38517. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK (0xFFFFFFFFU)
  38518. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT (0U)
  38519. /*! TSEC - Timestamp Egress Correction This field contains the nanoseconds part of the egress path
  38520. * correction value as defined by the Egress Correction expression.
  38521. */
  38522. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_NANOSECOND_TSEC_MASK)
  38523. /*! @} */
  38524. /*! @name MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC - Timestamp Ingress Correction Subnanosecond */
  38525. /*! @{ */
  38526. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_MASK (0xFF00U)
  38527. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_SHIFT (8U)
  38528. /*! TSICSNS - Timestamp Ingress Correction, sub-nanoseconds This field contains the sub-nanoseconds
  38529. * part of the ingress path correction value as defined by the "Ingress Correction" expression.
  38530. */
  38531. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_CORR_SUBNANOSEC_TSICSNS_MASK)
  38532. /*! @} */
  38533. /*! @name MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC - Timestamp Egress Correction Subnanosecond */
  38534. /*! @{ */
  38535. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_MASK (0xFF00U)
  38536. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_SHIFT (8U)
  38537. /*! TSECSNS - Timestamp Egress Correction, sub-nanoseconds This field contains the sub-nanoseconds
  38538. * part of the egress path correction value as defined by the "Egress Correction" expression.
  38539. */
  38540. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_CORR_SUBNANOSEC_TSECSNS_MASK)
  38541. /*! @} */
  38542. /*! @name MAC_TIMESTAMP_INGRESS_LATENCY - Timestamp Ingress Latency */
  38543. /*! @{ */
  38544. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_MASK (0xFF00U)
  38545. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_SHIFT (8U)
  38546. /*! ITLSNS - Ingress Timestamp Latency, in nanoseconds This register holds the average latency in
  38547. * nanoseconds between the input ports (phy_rxd_i) of MAC and the actual point (GMII/MII) where the
  38548. * ingress timestamp is taken.
  38549. */
  38550. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLSNS_MASK)
  38551. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_MASK (0xFFF0000U)
  38552. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_SHIFT (16U)
  38553. /*! ITLNS - Ingress Timestamp Latency, in sub-nanoseconds This register holds the average latency in
  38554. * sub-nanoseconds between the input ports (phy_rxd_i) of MAC and the actual point (GMII/MII)
  38555. * where the ingress timestamp is taken.
  38556. */
  38557. #define ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_INGRESS_LATENCY_ITLNS_MASK)
  38558. /*! @} */
  38559. /*! @name MAC_TIMESTAMP_EGRESS_LATENCY - Timestamp Egress Latency */
  38560. /*! @{ */
  38561. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_MASK (0xFF00U)
  38562. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_SHIFT (8U)
  38563. /*! ETLSNS - Egress Timestamp Latency, in sub-nanoseconds This register holds the average latency in
  38564. * sub-nanoseconds between the actual point (GMII/MII) where the egress timestamp is taken and
  38565. * the output ports (phy_txd_o) of the MAC.
  38566. */
  38567. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLSNS_MASK)
  38568. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_MASK (0xFFF0000U)
  38569. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_SHIFT (16U)
  38570. /*! ETLNS - Egress Timestamp Latency, in nanoseconds This register holds the average latency in
  38571. * nanoseconds between the actual point (GMII/MII) where the egress timestamp is taken and the output
  38572. * ports (phy_txd_o) of the MAC.
  38573. */
  38574. #define ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_SHIFT)) & ENET_QOS_MAC_TIMESTAMP_EGRESS_LATENCY_ETLNS_MASK)
  38575. /*! @} */
  38576. /*! @name MAC_PPS_CONTROL - PPS Control */
  38577. /*! @{ */
  38578. #define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_MASK (0xFU)
  38579. #define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_SHIFT (0U)
  38580. /*! PPSCTRL_PPSCMD - PPS Output Frequency Control This field controls the frequency of the PPS0 output (ptp_pps_o[0]) signal.
  38581. */
  38582. #define ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCTRL_PPSCMD_MASK)
  38583. #define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_MASK (0x10U)
  38584. #define ENET_QOS_MAC_PPS_CONTROL_PPSEN0_SHIFT (4U)
  38585. /*! PPSEN0 - Flexible PPS Output Mode Enable When this bit is set, Bits[3:0] function as PPSCMD.
  38586. * 0b0..Flexible PPS Output Mode is disabled
  38587. * 0b1..Flexible PPS Output Mode is enabled
  38588. */
  38589. #define ENET_QOS_MAC_PPS_CONTROL_PPSEN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSEN0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSEN0_MASK)
  38590. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_MASK (0x60U)
  38591. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_SHIFT (5U)
  38592. /*! TRGTMODSEL0 - Target Time Register Mode for PPS0 Output This field indicates the Target Time
  38593. * registers (MAC_PPS0_TARGET_TIME_SECONDS and MAC_PPS0_TARGET_TIME_NANOSECONDS) mode for PPS0
  38594. * output signal:
  38595. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38596. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38597. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38598. * ptp_pps_o output port
  38599. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38600. * 0b01..Reserved
  38601. */
  38602. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL0_MASK)
  38603. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_MASK (0x80U)
  38604. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN0_SHIFT (7U)
  38605. /*! MCGREN0 - MCGR Mode Enable for PPS0 Output This field enables the 0th PPS instance to operate in PPS or MCGR mode.
  38606. * 0b1..0th PPS instance is enabled to operate in MCGR mode
  38607. * 0b0..0th PPS instance is enabled to operate in PPS mode
  38608. */
  38609. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN0_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN0_MASK)
  38610. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_MASK (0xF00U)
  38611. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_SHIFT (8U)
  38612. /*! PPSCMD1 - Flexible PPS1 Output Control This field controls the flexible PPS1 output (ptp_pps_o[1]) signal.
  38613. */
  38614. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD1_MASK)
  38615. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_MASK (0x6000U)
  38616. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_SHIFT (13U)
  38617. /*! TRGTMODSEL1 - Target Time Register Mode for PPS1 Output This field indicates the Target Time
  38618. * registers (MAC_PPS1_TARGET_TIME_SECONDS and MAC_PPS1_TARGET_TIME_NANOSECONDS) mode for PPS1
  38619. * output signal.
  38620. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38621. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38622. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38623. * ptp_pps_o output port
  38624. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38625. * 0b01..Reserved
  38626. */
  38627. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL1_MASK)
  38628. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_MASK (0x8000U)
  38629. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN1_SHIFT (15U)
  38630. /*! MCGREN1 - MCGR Mode Enable for PPS1 Output This field enables the 1st PPS instance to operate in PPS or MCGR mode.
  38631. * 0b0..1st PPS instance is disabled to operate in PPS or MCGR mode
  38632. * 0b1..1st PPS instance is enabled to operate in PPS or MCGR mode
  38633. */
  38634. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN1_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN1_MASK)
  38635. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_MASK (0xF0000U)
  38636. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_SHIFT (16U)
  38637. /*! PPSCMD2 - Flexible PPS2 Output Control This field controls the flexible PPS2 output (ptp_pps_o[2]) signal.
  38638. */
  38639. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD2_MASK)
  38640. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_MASK (0x600000U)
  38641. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_SHIFT (21U)
  38642. /*! TRGTMODSEL2 - Target Time Register Mode for PPS2 Output This field indicates the Target Time
  38643. * registers (MAC_PPS2_TARGET_TIME_SECONDS and MAC_PPS2_TARGET_TIME_NANOSECONDS) mode for PPS2
  38644. * output signal.
  38645. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38646. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38647. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38648. * ptp_pps_o output port
  38649. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38650. * 0b01..Reserved
  38651. */
  38652. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL2_MASK)
  38653. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_MASK (0x800000U)
  38654. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN2_SHIFT (23U)
  38655. /*! MCGREN2 - MCGR Mode Enable for PPS2 Output This field enables the 2nd PPS instance to operate in PPS or MCGR mode.
  38656. * 0b0..2nd PPS instance is disabled to operate in PPS or MCGR mode
  38657. * 0b1..2nd PPS instance is enabled to operate in PPS or MCGR mode
  38658. */
  38659. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN2_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN2_MASK)
  38660. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_MASK (0xF000000U)
  38661. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_SHIFT (24U)
  38662. /*! PPSCMD3 - Flexible PPS3 Output Control This field controls the flexible PPS3 output (ptp_pps_o[3]) signal.
  38663. */
  38664. #define ENET_QOS_MAC_PPS_CONTROL_PPSCMD3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_PPSCMD3_MASK)
  38665. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_MASK (0x60000000U)
  38666. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_SHIFT (29U)
  38667. /*! TRGTMODSEL3 - Target Time Register Mode for PPS3 Output This field indicates the Target Time
  38668. * registers (MAC_PPS3_TARGET_TIME_SECONDS and MAC_PPS3_TARGET_TIME_NANOSECONDS) mode for PPS3
  38669. * output signal.
  38670. * 0b10..Target Time registers are programmed for generating the interrupt event and starting or stopping the PPS0 output signal generation
  38671. * 0b00..Target Time registers are programmed only for generating the interrupt event. The Flexible PPS function
  38672. * must not be enabled in this mode, otherwise spurious transitions may be observed on the corresponding
  38673. * ptp_pps_o output port
  38674. * 0b11..Target Time registers are programmed only for starting or stopping the PPS0 output signal generation. No interrupt is asserted
  38675. * 0b01..Reserved
  38676. */
  38677. #define ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_TRGTMODSEL3_MASK)
  38678. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_MASK (0x80000000U)
  38679. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN3_SHIFT (31U)
  38680. /*! MCGREN3 - MCGR Mode Enable for PPS3 Output This field enables the 3rd PPS instance to operate in PPS or MCGR mode.
  38681. */
  38682. #define ENET_QOS_MAC_PPS_CONTROL_MCGREN3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS_CONTROL_MCGREN3_SHIFT)) & ENET_QOS_MAC_PPS_CONTROL_MCGREN3_MASK)
  38683. /*! @} */
  38684. /*! @name MAC_PPS0_TARGET_TIME_SECONDS - PPS0 Target Time Seconds */
  38685. /*! @{ */
  38686. #define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_MASK (0xFFFFFFFFU)
  38687. #define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_SHIFT (0U)
  38688. /*! TSTRH0 - PPS Target Time Seconds Register This field stores the time in seconds.
  38689. */
  38690. #define ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_SECONDS_TSTRH0_MASK)
  38691. /*! @} */
  38692. /*! @name MAC_PPS0_TARGET_TIME_NANOSECONDS - PPS0 Target Time Nanoseconds */
  38693. /*! @{ */
  38694. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_MASK (0x7FFFFFFFU)
  38695. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_SHIFT (0U)
  38696. /*! TTSL0 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38697. */
  38698. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TTSL0_MASK)
  38699. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_MASK (0x80000000U)
  38700. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_SHIFT (31U)
  38701. /*! TRGTBUSY0 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38702. * PPS_CONTROL register is programmed to 010 or 011.
  38703. * 0b1..PPS Target Time Register Busy is detected
  38704. * 0b0..PPS Target Time Register Busy status is not detected
  38705. */
  38706. #define ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_SHIFT)) & ENET_QOS_MAC_PPS0_TARGET_TIME_NANOSECONDS_TRGTBUSY0_MASK)
  38707. /*! @} */
  38708. /*! @name MAC_PPS0_INTERVAL - PPS0 Interval */
  38709. /*! @{ */
  38710. #define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_MASK (0xFFFFFFFFU)
  38711. #define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_SHIFT (0U)
  38712. /*! PPSINT0 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38713. */
  38714. #define ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_SHIFT)) & ENET_QOS_MAC_PPS0_INTERVAL_PPSINT0_MASK)
  38715. /*! @} */
  38716. /*! @name MAC_PPS0_WIDTH - PPS0 Width */
  38717. /*! @{ */
  38718. #define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_MASK (0xFFFFFFFFU)
  38719. #define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_SHIFT (0U)
  38720. /*! PPSWIDTH0 - PPS Output Signal Width These bits store the width between the rising edge and
  38721. * corresponding falling edge of PPS0 signal output.
  38722. */
  38723. #define ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_SHIFT)) & ENET_QOS_MAC_PPS0_WIDTH_PPSWIDTH0_MASK)
  38724. /*! @} */
  38725. /*! @name MAC_PPS1_TARGET_TIME_SECONDS - PPS1 Target Time Seconds */
  38726. /*! @{ */
  38727. #define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_MASK (0xFFFFFFFFU)
  38728. #define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_SHIFT (0U)
  38729. /*! TSTRH1 - PPS Target Time Seconds Register This field stores the time in seconds.
  38730. */
  38731. #define ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_SECONDS_TSTRH1_MASK)
  38732. /*! @} */
  38733. /*! @name MAC_PPS1_TARGET_TIME_NANOSECONDS - PPS1 Target Time Nanoseconds */
  38734. /*! @{ */
  38735. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_MASK (0x7FFFFFFFU)
  38736. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_SHIFT (0U)
  38737. /*! TTSL1 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38738. */
  38739. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TTSL1_MASK)
  38740. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_MASK (0x80000000U)
  38741. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_SHIFT (31U)
  38742. /*! TRGTBUSY1 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38743. * PPS_CONTROL register is programmed to 010 or 011.
  38744. * 0b1..PPS Target Time Register Busy is detected
  38745. * 0b0..PPS Target Time Register Busy status is not detected
  38746. */
  38747. #define ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_SHIFT)) & ENET_QOS_MAC_PPS1_TARGET_TIME_NANOSECONDS_TRGTBUSY1_MASK)
  38748. /*! @} */
  38749. /*! @name MAC_PPS1_INTERVAL - PPS1 Interval */
  38750. /*! @{ */
  38751. #define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_MASK (0xFFFFFFFFU)
  38752. #define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_SHIFT (0U)
  38753. /*! PPSINT1 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38754. */
  38755. #define ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_SHIFT)) & ENET_QOS_MAC_PPS1_INTERVAL_PPSINT1_MASK)
  38756. /*! @} */
  38757. /*! @name MAC_PPS1_WIDTH - PPS1 Width */
  38758. /*! @{ */
  38759. #define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_MASK (0xFFFFFFFFU)
  38760. #define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_SHIFT (0U)
  38761. /*! PPSWIDTH1 - PPS Output Signal Width These bits store the width between the rising edge and
  38762. * corresponding falling edge of PPS0 signal output.
  38763. */
  38764. #define ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_SHIFT)) & ENET_QOS_MAC_PPS1_WIDTH_PPSWIDTH1_MASK)
  38765. /*! @} */
  38766. /*! @name MAC_PPS2_TARGET_TIME_SECONDS - PPS2 Target Time Seconds */
  38767. /*! @{ */
  38768. #define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_MASK (0xFFFFFFFFU)
  38769. #define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_SHIFT (0U)
  38770. /*! TSTRH2 - PPS Target Time Seconds Register This field stores the time in seconds.
  38771. */
  38772. #define ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_SECONDS_TSTRH2_MASK)
  38773. /*! @} */
  38774. /*! @name MAC_PPS2_TARGET_TIME_NANOSECONDS - PPS2 Target Time Nanoseconds */
  38775. /*! @{ */
  38776. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_MASK (0x7FFFFFFFU)
  38777. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_SHIFT (0U)
  38778. /*! TTSL2 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38779. */
  38780. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TTSL2_MASK)
  38781. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_MASK (0x80000000U)
  38782. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_SHIFT (31U)
  38783. /*! TRGTBUSY2 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38784. * PPS_CONTROL register is programmed to 010 or 011.
  38785. * 0b1..PPS Target Time Register Busy is detected
  38786. * 0b0..PPS Target Time Register Busy status is not detected
  38787. */
  38788. #define ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_SHIFT)) & ENET_QOS_MAC_PPS2_TARGET_TIME_NANOSECONDS_TRGTBUSY2_MASK)
  38789. /*! @} */
  38790. /*! @name MAC_PPS2_INTERVAL - PPS2 Interval */
  38791. /*! @{ */
  38792. #define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_MASK (0xFFFFFFFFU)
  38793. #define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_SHIFT (0U)
  38794. /*! PPSINT2 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38795. */
  38796. #define ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_SHIFT)) & ENET_QOS_MAC_PPS2_INTERVAL_PPSINT2_MASK)
  38797. /*! @} */
  38798. /*! @name MAC_PPS2_WIDTH - PPS2 Width */
  38799. /*! @{ */
  38800. #define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_MASK (0xFFFFFFFFU)
  38801. #define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_SHIFT (0U)
  38802. /*! PPSWIDTH2 - PPS Output Signal Width These bits store the width between the rising edge and
  38803. * corresponding falling edge of PPS0 signal output.
  38804. */
  38805. #define ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_SHIFT)) & ENET_QOS_MAC_PPS2_WIDTH_PPSWIDTH2_MASK)
  38806. /*! @} */
  38807. /*! @name MAC_PPS3_TARGET_TIME_SECONDS - PPS3 Target Time Seconds */
  38808. /*! @{ */
  38809. #define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_MASK (0xFFFFFFFFU)
  38810. #define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_SHIFT (0U)
  38811. /*! TSTRH3 - PPS Target Time Seconds Register This field stores the time in seconds.
  38812. */
  38813. #define ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_SECONDS_TSTRH3_MASK)
  38814. /*! @} */
  38815. /*! @name MAC_PPS3_TARGET_TIME_NANOSECONDS - PPS3 Target Time Nanoseconds */
  38816. /*! @{ */
  38817. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_MASK (0x7FFFFFFFU)
  38818. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_SHIFT (0U)
  38819. /*! TTSL3 - Target Time Low for PPS Register This register stores the time in (signed) nanoseconds.
  38820. */
  38821. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TTSL3_MASK)
  38822. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_MASK (0x80000000U)
  38823. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_SHIFT (31U)
  38824. /*! TRGTBUSY3 - PPS Target Time Register Busy The MAC sets this bit when the PPSCMD0 field in the
  38825. * PPS_CONTROL register is programmed to 010 or 011.
  38826. * 0b1..PPS Target Time Register Busy is detected
  38827. * 0b0..PPS Target Time Register Busy status is not detected
  38828. */
  38829. #define ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_SHIFT)) & ENET_QOS_MAC_PPS3_TARGET_TIME_NANOSECONDS_TRGTBUSY3_MASK)
  38830. /*! @} */
  38831. /*! @name MAC_PPS3_INTERVAL - PPS3 Interval */
  38832. /*! @{ */
  38833. #define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_MASK (0xFFFFFFFFU)
  38834. #define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_SHIFT (0U)
  38835. /*! PPSINT3 - PPS Output Signal Interval These bits store the interval between the rising edges of PPS0 signal output.
  38836. */
  38837. #define ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_SHIFT)) & ENET_QOS_MAC_PPS3_INTERVAL_PPSINT3_MASK)
  38838. /*! @} */
  38839. /*! @name MAC_PPS3_WIDTH - PPS3 Width */
  38840. /*! @{ */
  38841. #define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_MASK (0xFFFFFFFFU)
  38842. #define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_SHIFT (0U)
  38843. /*! PPSWIDTH3 - PPS Output Signal Width These bits store the width between the rising edge and
  38844. * corresponding falling edge of PPS0 signal output.
  38845. */
  38846. #define ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_SHIFT)) & ENET_QOS_MAC_PPS3_WIDTH_PPSWIDTH3_MASK)
  38847. /*! @} */
  38848. /*! @name MAC_PTO_CONTROL - PTP Offload Engine Control */
  38849. /*! @{ */
  38850. #define ENET_QOS_MAC_PTO_CONTROL_PTOEN_MASK (0x1U)
  38851. #define ENET_QOS_MAC_PTO_CONTROL_PTOEN_SHIFT (0U)
  38852. /*! PTOEN - PTP Offload Enable When this bit is set, the PTP Offload feature is enabled.
  38853. * 0b0..PTP Offload feature is disabled
  38854. * 0b1..PTP Offload feature is enabled
  38855. */
  38856. #define ENET_QOS_MAC_PTO_CONTROL_PTOEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_PTOEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_PTOEN_MASK)
  38857. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_MASK (0x2U)
  38858. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_SHIFT (1U)
  38859. /*! ASYNCEN - Automatic PTP SYNC message Enable When this bit is set, PTP SYNC message is generated
  38860. * periodically based on interval programmed or trigger from application, when the MAC is
  38861. * programmed to be in Clock Master mode.
  38862. * 0b0..Automatic PTP SYNC message is disabled
  38863. * 0b1..Automatic PTP SYNC message is enabled
  38864. */
  38865. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_ASYNCEN_MASK)
  38866. #define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_MASK (0x4U)
  38867. #define ENET_QOS_MAC_PTO_CONTROL_APDREQEN_SHIFT (2U)
  38868. /*! APDREQEN - Automatic PTP Pdelay_Req message Enable When this bit is set, PTP Pdelay_Req message
  38869. * is generated periodically based on interval programmed or trigger from application, when the
  38870. * MAC is programmed to be in Peer-to-Peer Transparent mode.
  38871. * 0b0..Automatic PTP Pdelay_Req message is disabled
  38872. * 0b1..Automatic PTP Pdelay_Req message is enabled
  38873. */
  38874. #define ENET_QOS_MAC_PTO_CONTROL_APDREQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_APDREQEN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_APDREQEN_MASK)
  38875. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_MASK (0x10U)
  38876. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_SHIFT (4U)
  38877. /*! ASYNCTRIG - Automatic PTP SYNC message Trigger When this bit is set, one PTP SYNC message is transmitted.
  38878. * 0b0..Automatic PTP SYNC message Trigger is disabled
  38879. * 0b1..Automatic PTP SYNC message Trigger is enabled
  38880. */
  38881. #define ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_ASYNCTRIG_MASK)
  38882. #define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_MASK (0x20U)
  38883. #define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_SHIFT (5U)
  38884. /*! APDREQTRIG - Automatic PTP Pdelay_Req message Trigger When this bit is set, one PTP Pdelay_Req message is transmitted.
  38885. * 0b0..Automatic PTP Pdelay_Req message Trigger is disabled
  38886. * 0b1..Automatic PTP Pdelay_Req message Trigger is enabled
  38887. */
  38888. #define ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_APDREQTRIG_MASK)
  38889. #define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_MASK (0x40U)
  38890. #define ENET_QOS_MAC_PTO_CONTROL_DRRDIS_SHIFT (6U)
  38891. /*! DRRDIS - Disable PTO Delay Request/Response response generation When this bit is set, the Delay
  38892. * Request and Delay response is not generated for received SYNC and Delay request packet
  38893. * respectively, as required by the programmed mode.
  38894. * 0b1..PTO Delay Request/Response response generation is disabled
  38895. * 0b0..PTO Delay Request/Response response generation is enabled
  38896. */
  38897. #define ENET_QOS_MAC_PTO_CONTROL_DRRDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_DRRDIS_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_DRRDIS_MASK)
  38898. #define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_MASK (0x80U)
  38899. #define ENET_QOS_MAC_PTO_CONTROL_PDRDIS_SHIFT (7U)
  38900. /*! PDRDIS - Disable Peer Delay Response response generation When this bit is set, the Peer Delay
  38901. * Response (Pdelay_Resp) response is not be generated for received Peer Delay Request (Pdelay_Req)
  38902. * request packet, as required by the programmed mode.
  38903. * 0b1..Peer Delay Response response generation is disabled
  38904. * 0b0..Peer Delay Response response generation is enabled
  38905. */
  38906. #define ENET_QOS_MAC_PTO_CONTROL_PDRDIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_PDRDIS_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_PDRDIS_MASK)
  38907. #define ENET_QOS_MAC_PTO_CONTROL_DN_MASK (0xFF00U)
  38908. #define ENET_QOS_MAC_PTO_CONTROL_DN_SHIFT (8U)
  38909. /*! DN - Domain Number This field indicates the domain Number in which the PTP node is operating.
  38910. */
  38911. #define ENET_QOS_MAC_PTO_CONTROL_DN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_PTO_CONTROL_DN_SHIFT)) & ENET_QOS_MAC_PTO_CONTROL_DN_MASK)
  38912. /*! @} */
  38913. /*! @name MAC_SOURCE_PORT_IDENTITY0 - Source Port Identity 0 */
  38914. /*! @{ */
  38915. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_MASK (0xFFFFFFFFU)
  38916. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_SHIFT (0U)
  38917. /*! SPI0 - Source Port Identity 0 This field indicates bits [31:0] of sourcePortIdentity of PTP node.
  38918. */
  38919. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY0_SPI0_MASK)
  38920. /*! @} */
  38921. /*! @name MAC_SOURCE_PORT_IDENTITY1 - Source Port Identity 1 */
  38922. /*! @{ */
  38923. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_MASK (0xFFFFFFFFU)
  38924. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_SHIFT (0U)
  38925. /*! SPI1 - Source Port Identity 1 This field indicates bits [63:32] of sourcePortIdentity of PTP node.
  38926. */
  38927. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY1_SPI1_MASK)
  38928. /*! @} */
  38929. /*! @name MAC_SOURCE_PORT_IDENTITY2 - Source Port Identity 2 */
  38930. /*! @{ */
  38931. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_MASK (0xFFFFU)
  38932. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_SHIFT (0U)
  38933. /*! SPI2 - Source Port Identity 2 This field indicates bits [79:64] of sourcePortIdentity of PTP node.
  38934. */
  38935. #define ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_SHIFT)) & ENET_QOS_MAC_SOURCE_PORT_IDENTITY2_SPI2_MASK)
  38936. /*! @} */
  38937. /*! @name MAC_LOG_MESSAGE_INTERVAL - Log Message Interval */
  38938. /*! @{ */
  38939. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_MASK (0xFFU)
  38940. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_SHIFT (0U)
  38941. /*! LSI - Log Sync Interval This field indicates the periodicity of the automatically generated SYNC
  38942. * message when the PTP node is Master.
  38943. */
  38944. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LSI_MASK)
  38945. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_MASK (0x700U)
  38946. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_SHIFT (8U)
  38947. /*! DRSYNCR - Delay_Req to SYNC Ratio In Slave mode, it is used for controlling frequency of Delay_Req messages transmitted.
  38948. * 0b110..Reserved
  38949. * 0b000..DelayReq generated for every received SYNC
  38950. * 0b100..for every 16 SYNC messages
  38951. * 0b001..DelayReq generated every alternate reception of SYNC
  38952. * 0b101..for every 32 SYNC messages
  38953. * 0b010..for every 4 SYNC messages
  38954. * 0b011..for every 8 SYNC messages
  38955. */
  38956. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_DRSYNCR_MASK)
  38957. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_MASK (0xFF000000U)
  38958. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_SHIFT (24U)
  38959. /*! LMPDRI - Log Min Pdelay_Req Interval This field indicates logMinPdelayReqInterval of PTP node.
  38960. */
  38961. #define ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_SHIFT)) & ENET_QOS_MAC_LOG_MESSAGE_INTERVAL_LMPDRI_MASK)
  38962. /*! @} */
  38963. /*! @name MTL_OPERATION_MODE - MTL Operation Mode */
  38964. /*! @{ */
  38965. #define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_MASK (0x2U)
  38966. #define ENET_QOS_MTL_OPERATION_MODE_DTXSTS_SHIFT (1U)
  38967. /*! DTXSTS - Drop Transmit Status When this bit is set, the Tx packet status received from the MAC is dropped in the MTL.
  38968. * 0b0..Drop Transmit Status is disabled
  38969. * 0b1..Drop Transmit Status is enabled
  38970. */
  38971. #define ENET_QOS_MTL_OPERATION_MODE_DTXSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_DTXSTS_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_DTXSTS_MASK)
  38972. #define ENET_QOS_MTL_OPERATION_MODE_RAA_MASK (0x4U)
  38973. #define ENET_QOS_MTL_OPERATION_MODE_RAA_SHIFT (2U)
  38974. /*! RAA - Receive Arbitration Algorithm This field is used to select the arbitration algorithm for the Rx side.
  38975. * 0b0..Strict priority (SP)
  38976. * 0b1..Weighted Strict Priority (WSP)
  38977. */
  38978. #define ENET_QOS_MTL_OPERATION_MODE_RAA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_RAA_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_RAA_MASK)
  38979. #define ENET_QOS_MTL_OPERATION_MODE_SCHALG_MASK (0x60U)
  38980. #define ENET_QOS_MTL_OPERATION_MODE_SCHALG_SHIFT (5U)
  38981. /*! SCHALG - Tx Scheduling Algorithm This field indicates the algorithm for Tx scheduling:
  38982. * 0b10..DWRR algorithm when DCB feature is selected.Otherwise, Reserved
  38983. * 0b11..Strict priority algorithm
  38984. * 0b01..WFQ algorithm when DCB feature is selected.Otherwise, Reserved
  38985. * 0b00..WRR algorithm
  38986. */
  38987. #define ENET_QOS_MTL_OPERATION_MODE_SCHALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_SCHALG_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_SCHALG_MASK)
  38988. #define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_MASK (0x100U)
  38989. #define ENET_QOS_MTL_OPERATION_MODE_CNTPRST_SHIFT (8U)
  38990. /*! CNTPRST - Counters Preset When this bit is set, - MTL_TxQ[0-7]_Underflow register is initialized/preset to 12'h7F0.
  38991. * 0b0..Counters Preset is disabled
  38992. * 0b1..Counters Preset is enabled
  38993. */
  38994. #define ENET_QOS_MTL_OPERATION_MODE_CNTPRST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_CNTPRST_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_CNTPRST_MASK)
  38995. #define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_MASK (0x200U)
  38996. #define ENET_QOS_MTL_OPERATION_MODE_CNTCLR_SHIFT (9U)
  38997. /*! CNTCLR - Counters Reset When this bit is set, all counters are reset.
  38998. * 0b0..Counters are not reset
  38999. * 0b1..All counters are reset
  39000. */
  39001. #define ENET_QOS_MTL_OPERATION_MODE_CNTCLR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_CNTCLR_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_CNTCLR_MASK)
  39002. #define ENET_QOS_MTL_OPERATION_MODE_FRPE_MASK (0x8000U)
  39003. #define ENET_QOS_MTL_OPERATION_MODE_FRPE_SHIFT (15U)
  39004. /*! FRPE - Flexible Rx parser Enable When this bit is set to 1, the Programmable Rx Parser functionality is enabled.
  39005. * 0b0..Flexible Rx parser is disabled
  39006. * 0b1..Flexible Rx parser is enabled
  39007. */
  39008. #define ENET_QOS_MTL_OPERATION_MODE_FRPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_OPERATION_MODE_FRPE_SHIFT)) & ENET_QOS_MTL_OPERATION_MODE_FRPE_MASK)
  39009. /*! @} */
  39010. /*! @name MTL_DBG_CTL - FIFO Debug Access Control and Status */
  39011. /*! @{ */
  39012. #define ENET_QOS_MTL_DBG_CTL_FDBGEN_MASK (0x1U)
  39013. #define ENET_QOS_MTL_DBG_CTL_FDBGEN_SHIFT (0U)
  39014. /*! FDBGEN - FIFO Debug Access Enable When this bit is set, it indicates that the debug mode access to the FIFO is enabled.
  39015. * 0b0..FIFO Debug Access is disabled
  39016. * 0b1..FIFO Debug Access is enabled
  39017. */
  39018. #define ENET_QOS_MTL_DBG_CTL_FDBGEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FDBGEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FDBGEN_MASK)
  39019. #define ENET_QOS_MTL_DBG_CTL_DBGMOD_MASK (0x2U)
  39020. #define ENET_QOS_MTL_DBG_CTL_DBGMOD_SHIFT (1U)
  39021. /*! DBGMOD - Debug Mode Access to FIFO When this bit is set, it indicates that the current access to
  39022. * the FIFO is read, write, and debug access.
  39023. * 0b0..Debug Mode Access to FIFO is disabled
  39024. * 0b1..Debug Mode Access to FIFO is enabled
  39025. */
  39026. #define ENET_QOS_MTL_DBG_CTL_DBGMOD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_DBGMOD_SHIFT)) & ENET_QOS_MTL_DBG_CTL_DBGMOD_MASK)
  39027. #define ENET_QOS_MTL_DBG_CTL_BYTEEN_MASK (0xCU)
  39028. #define ENET_QOS_MTL_DBG_CTL_BYTEEN_SHIFT (2U)
  39029. /*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Write operation.
  39030. * 0b11..All four bytes are valid
  39031. * 0b10..Byte 0, Byte 1, and Byte 2 are valid
  39032. * 0b01..Byte 0 and Byte 1 are valid
  39033. * 0b00..Byte 0 valid
  39034. */
  39035. #define ENET_QOS_MTL_DBG_CTL_BYTEEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_BYTEEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_BYTEEN_MASK)
  39036. #define ENET_QOS_MTL_DBG_CTL_PKTSTATE_MASK (0x60U)
  39037. #define ENET_QOS_MTL_DBG_CTL_PKTSTATE_SHIFT (5U)
  39038. /*! PKTSTATE - Encoded Packet State This field is used to write the control information to the Tx FIFO or Rx FIFO.
  39039. * 0b01..Control Word/Normal Status
  39040. * 0b11..EOP Data/EOP
  39041. * 0b00..Packet Data
  39042. * 0b10..SOP Data/Last Status
  39043. */
  39044. #define ENET_QOS_MTL_DBG_CTL_PKTSTATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_PKTSTATE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_PKTSTATE_MASK)
  39045. #define ENET_QOS_MTL_DBG_CTL_RSTALL_MASK (0x100U)
  39046. #define ENET_QOS_MTL_DBG_CTL_RSTALL_SHIFT (8U)
  39047. /*! RSTALL - Reset All Pointers When this bit is set, the pointers of all FIFOs are reset when FIFO Debug Access is enabled.
  39048. * 0b0..Reset All Pointers is disabled
  39049. * 0b1..Reset All Pointers is enabled
  39050. */
  39051. #define ENET_QOS_MTL_DBG_CTL_RSTALL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_RSTALL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_RSTALL_MASK)
  39052. #define ENET_QOS_MTL_DBG_CTL_RSTSEL_MASK (0x200U)
  39053. #define ENET_QOS_MTL_DBG_CTL_RSTSEL_SHIFT (9U)
  39054. /*! RSTSEL - Reset Pointers of Selected FIFO When this bit is set, the pointers of the
  39055. * currently-selected FIFO are reset when FIFO Debug Access is enabled.
  39056. * 0b0..Reset Pointers of Selected FIFO is disabled
  39057. * 0b1..Reset Pointers of Selected FIFO is enabled
  39058. */
  39059. #define ENET_QOS_MTL_DBG_CTL_RSTSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_RSTSEL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_RSTSEL_MASK)
  39060. #define ENET_QOS_MTL_DBG_CTL_FIFORDEN_MASK (0x400U)
  39061. #define ENET_QOS_MTL_DBG_CTL_FIFORDEN_SHIFT (10U)
  39062. /*! FIFORDEN - FIFO Read Enable When this bit is set, it enables the Read operation on selected FIFO when FIFO Debug Access is enabled.
  39063. * 0b0..FIFO Read is disabled
  39064. * 0b1..FIFO Read is enabled
  39065. */
  39066. #define ENET_QOS_MTL_DBG_CTL_FIFORDEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFORDEN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFORDEN_MASK)
  39067. #define ENET_QOS_MTL_DBG_CTL_FIFOWREN_MASK (0x800U)
  39068. #define ENET_QOS_MTL_DBG_CTL_FIFOWREN_SHIFT (11U)
  39069. /*! FIFOWREN - FIFO Write Enable When this bit is set, it enables the Write operation on selected
  39070. * FIFO when FIFO Debug Access is enabled.
  39071. * 0b0..FIFO Write is disabled
  39072. * 0b1..FIFO Write is enabled
  39073. */
  39074. #define ENET_QOS_MTL_DBG_CTL_FIFOWREN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFOWREN_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFOWREN_MASK)
  39075. #define ENET_QOS_MTL_DBG_CTL_FIFOSEL_MASK (0x3000U)
  39076. #define ENET_QOS_MTL_DBG_CTL_FIFOSEL_SHIFT (12U)
  39077. /*! FIFOSEL - FIFO Selected for Access This field indicates the FIFO selected for debug access:
  39078. * 0b11..Rx FIFO
  39079. * 0b10..TSO FIFO (cannot be accessed when SLVMOD is set)
  39080. * 0b00..Tx FIFO
  39081. * 0b01..Tx Status FIFO (only read access when SLVMOD is set)
  39082. */
  39083. #define ENET_QOS_MTL_DBG_CTL_FIFOSEL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_FIFOSEL_SHIFT)) & ENET_QOS_MTL_DBG_CTL_FIFOSEL_MASK)
  39084. #define ENET_QOS_MTL_DBG_CTL_PKTIE_MASK (0x4000U)
  39085. #define ENET_QOS_MTL_DBG_CTL_PKTIE_SHIFT (14U)
  39086. /*! PKTIE - Receive Packet Available Interrupt Status Enable When this bit is set, an interrupt is
  39087. * generated when EOP of received packet is written to the Rx FIFO.
  39088. * 0b0..Receive Packet Available Interrupt Status is disabled
  39089. * 0b1..Receive Packet Available Interrupt Status is enabled
  39090. */
  39091. #define ENET_QOS_MTL_DBG_CTL_PKTIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_PKTIE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_PKTIE_MASK)
  39092. #define ENET_QOS_MTL_DBG_CTL_STSIE_MASK (0x8000U)
  39093. #define ENET_QOS_MTL_DBG_CTL_STSIE_SHIFT (15U)
  39094. /*! STSIE - Transmit Status Available Interrupt Status Enable When this bit is set, an interrupt is
  39095. * generated when Transmit status is available in slave mode.
  39096. * 0b0..Transmit Packet Available Interrupt Status is disabled
  39097. * 0b1..Transmit Packet Available Interrupt Status is enabled
  39098. */
  39099. #define ENET_QOS_MTL_DBG_CTL_STSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_CTL_STSIE_SHIFT)) & ENET_QOS_MTL_DBG_CTL_STSIE_MASK)
  39100. /*! @} */
  39101. /*! @name MTL_DBG_STS - FIFO Debug Status */
  39102. /*! @{ */
  39103. #define ENET_QOS_MTL_DBG_STS_FIFOBUSY_MASK (0x1U)
  39104. #define ENET_QOS_MTL_DBG_STS_FIFOBUSY_SHIFT (0U)
  39105. /*! FIFOBUSY - FIFO Busy When set, this bit indicates that a FIFO operation is in progress in the
  39106. * MAC and content of the following fields is not valid: - All other fields of this register - All
  39107. * fields of the MTL_FIFO_DEBUG_DATA register
  39108. * 0b1..FIFO Busy detected
  39109. * 0b0..FIFO Busy not detected
  39110. */
  39111. #define ENET_QOS_MTL_DBG_STS_FIFOBUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_FIFOBUSY_SHIFT)) & ENET_QOS_MTL_DBG_STS_FIFOBUSY_MASK)
  39112. #define ENET_QOS_MTL_DBG_STS_PKTSTATE_MASK (0x6U)
  39113. #define ENET_QOS_MTL_DBG_STS_PKTSTATE_SHIFT (1U)
  39114. /*! PKTSTATE - Encoded Packet State This field is used to get the control or status information of the selected FIFO.
  39115. * 0b01..Control Word/Normal Status
  39116. * 0b11..EOP Data/EOP
  39117. * 0b00..Packet Data
  39118. * 0b10..SOP Data/Last Status
  39119. */
  39120. #define ENET_QOS_MTL_DBG_STS_PKTSTATE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_PKTSTATE_SHIFT)) & ENET_QOS_MTL_DBG_STS_PKTSTATE_MASK)
  39121. #define ENET_QOS_MTL_DBG_STS_BYTEEN_MASK (0x18U)
  39122. #define ENET_QOS_MTL_DBG_STS_BYTEEN_SHIFT (3U)
  39123. /*! BYTEEN - Byte Enables This field indicates the number of data bytes valid in the data register during Read operation.
  39124. * 0b11..All four bytes are valid
  39125. * 0b10..Byte 0, Byte 1, and Byte 2 are valid
  39126. * 0b01..Byte 0 and Byte 1 are valid
  39127. * 0b00..Byte 0 valid
  39128. */
  39129. #define ENET_QOS_MTL_DBG_STS_BYTEEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_BYTEEN_SHIFT)) & ENET_QOS_MTL_DBG_STS_BYTEEN_MASK)
  39130. #define ENET_QOS_MTL_DBG_STS_PKTI_MASK (0x100U)
  39131. #define ENET_QOS_MTL_DBG_STS_PKTI_SHIFT (8U)
  39132. /*! PKTI - Receive Packet Available Interrupt Status When set, this bit indicates that MAC layer has
  39133. * written the EOP of received packet to the Rx FIFO.
  39134. * 0b1..Receive Packet Available Interrupt Status detected
  39135. * 0b0..Receive Packet Available Interrupt Status not detected
  39136. */
  39137. #define ENET_QOS_MTL_DBG_STS_PKTI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_PKTI_SHIFT)) & ENET_QOS_MTL_DBG_STS_PKTI_MASK)
  39138. #define ENET_QOS_MTL_DBG_STS_STSI_MASK (0x200U)
  39139. #define ENET_QOS_MTL_DBG_STS_STSI_SHIFT (9U)
  39140. /*! STSI - Transmit Status Available Interrupt Status When set, this bit indicates that the Slave
  39141. * mode Tx packet is transmitted, and the status is available in Tx Status FIFO.
  39142. * 0b1..Transmit Status Available Interrupt Status detected
  39143. * 0b0..Transmit Status Available Interrupt Status not detected
  39144. */
  39145. #define ENET_QOS_MTL_DBG_STS_STSI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_STSI_SHIFT)) & ENET_QOS_MTL_DBG_STS_STSI_MASK)
  39146. #define ENET_QOS_MTL_DBG_STS_LOCR_MASK (0xFFFF8000U)
  39147. #define ENET_QOS_MTL_DBG_STS_LOCR_SHIFT (15U)
  39148. /*! LOCR - Remaining Locations in the FIFO Slave Access Mode: This field indicates the space available in selected FIFO.
  39149. */
  39150. #define ENET_QOS_MTL_DBG_STS_LOCR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_DBG_STS_LOCR_SHIFT)) & ENET_QOS_MTL_DBG_STS_LOCR_MASK)
  39151. /*! @} */
  39152. /*! @name MTL_FIFO_DEBUG_DATA - FIFO Debug Data */
  39153. /*! @{ */
  39154. #define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_MASK (0xFFFFFFFFU)
  39155. #define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_SHIFT (0U)
  39156. /*! FDBGDATA - FIFO Debug Data During debug or slave access write operation, this field contains the
  39157. * data to be written to the Tx FIFO, Rx FIFO, or TSO FIFO.
  39158. */
  39159. #define ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_SHIFT)) & ENET_QOS_MTL_FIFO_DEBUG_DATA_FDBGDATA_MASK)
  39160. /*! @} */
  39161. /*! @name MTL_INTERRUPT_STATUS - MTL Interrupt Status */
  39162. /*! @{ */
  39163. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_MASK (0x1U)
  39164. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_SHIFT (0U)
  39165. /*! Q0IS - Queue 0 Interrupt status This bit indicates that there is an interrupt from Queue 0.
  39166. * 0b1..Queue 0 Interrupt status detected
  39167. * 0b0..Queue 0 Interrupt status not detected
  39168. */
  39169. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q0IS_MASK)
  39170. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_MASK (0x2U)
  39171. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_SHIFT (1U)
  39172. /*! Q1IS - Queue 1 Interrupt status This bit indicates that there is an interrupt from Queue 1.
  39173. * 0b1..Queue 1 Interrupt status detected
  39174. * 0b0..Queue 1 Interrupt status not detected
  39175. */
  39176. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q1IS_MASK)
  39177. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_MASK (0x4U)
  39178. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_SHIFT (2U)
  39179. /*! Q2IS - Queue 2 Interrupt status This bit indicates that there is an interrupt from Queue 2.
  39180. * 0b1..Queue 2 Interrupt status detected
  39181. * 0b0..Queue 2 Interrupt status not detected
  39182. */
  39183. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q2IS_MASK)
  39184. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_MASK (0x8U)
  39185. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_SHIFT (3U)
  39186. /*! Q3IS - Queue 3 Interrupt status This bit indicates that there is an interrupt from Queue 3.
  39187. * 0b1..Queue 3 Interrupt status detected
  39188. * 0b0..Queue 3 Interrupt status not detected
  39189. */
  39190. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q3IS_MASK)
  39191. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_MASK (0x10U)
  39192. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_SHIFT (4U)
  39193. /*! Q4IS - Queue 4 Interrupt status This bit indicates that there is an interrupt from Queue 4.
  39194. * 0b1..Queue 4 Interrupt status detected
  39195. * 0b0..Queue 4 Interrupt status not detected
  39196. */
  39197. #define ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_Q4IS_MASK)
  39198. #define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_MASK (0x20000U)
  39199. #define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_SHIFT (17U)
  39200. /*! DBGIS - Debug Interrupt status This bit indicates an interrupt event during the slave access.
  39201. * 0b1..Debug Interrupt status detected
  39202. * 0b0..Debug Interrupt status not detected
  39203. */
  39204. #define ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_DBGIS_MASK)
  39205. #define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_MASK (0x40000U)
  39206. #define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_SHIFT (18U)
  39207. /*! ESTIS - EST (TAS- 802.
  39208. * 0b1..EST (TAS- 802.1Qbv) Interrupt status detected
  39209. * 0b0..EST (TAS- 802.1Qbv) Interrupt status not detected
  39210. */
  39211. #define ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_ESTIS_MASK)
  39212. #define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_MASK (0x800000U)
  39213. #define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_SHIFT (23U)
  39214. /*! MTLPIS - MTL Rx Parser Interrupt Status This bit indicates that there is an interrupt from Rx Parser Block.
  39215. * 0b1..MTL Rx Parser Interrupt status detected
  39216. * 0b0..MTL Rx Parser Interrupt status not detected
  39217. */
  39218. #define ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_SHIFT)) & ENET_QOS_MTL_INTERRUPT_STATUS_MTLPIS_MASK)
  39219. /*! @} */
  39220. /*! @name MTL_RXQ_DMA_MAP0 - Receive Queue and DMA Channel Mapping 0 */
  39221. /*! @{ */
  39222. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_MASK (0x7U)
  39223. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_SHIFT (0U)
  39224. /*! Q0MDMACH - Queue 0 Mapped to DMA Channel This field controls the routing of the packet received
  39225. * in Queue 0 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39226. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39227. * field is valid when the Q0DDMACH field is reset.
  39228. */
  39229. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q0MDMACH_MASK)
  39230. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_MASK (0x10U)
  39231. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_SHIFT (4U)
  39232. /*! Q0DDMACH - Queue 0 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39233. * the packets received in Queue 0 are routed to a particular DMA channel as decided in the MAC
  39234. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39235. * Ethernet DA address.
  39236. * 0b0..Queue 0 disabled for DA-based DMA Channel Selection
  39237. * 0b1..Queue 0 enabled for DA-based DMA Channel Selection
  39238. */
  39239. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q0DDMACH_MASK)
  39240. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_MASK (0x700U)
  39241. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_SHIFT (8U)
  39242. /*! Q1MDMACH - Queue 1 Mapped to DMA Channel This field controls the routing of the received packet
  39243. * in Queue 1 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39244. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39245. * field is valid when the Q1DDMACH field is reset.
  39246. */
  39247. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q1MDMACH_MASK)
  39248. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_MASK (0x1000U)
  39249. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_SHIFT (12U)
  39250. /*! Q1DDMACH - Queue 1 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39251. * the packets received in Queue 1 are routed to a particular DMA channel as decided in the MAC
  39252. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39253. * Ethernet DA address.
  39254. * 0b0..Queue 1 disabled for DA-based DMA Channel Selection
  39255. * 0b1..Queue 1 enabled for DA-based DMA Channel Selection
  39256. */
  39257. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q1DDMACH_MASK)
  39258. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_MASK (0x70000U)
  39259. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_SHIFT (16U)
  39260. /*! Q2MDMACH - Queue 2 Mapped to DMA Channel This field controls the routing of the received packet
  39261. * in Queue 2 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39262. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39263. * field is valid when the Q2DDMACH field is reset.
  39264. */
  39265. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q2MDMACH_MASK)
  39266. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_MASK (0x100000U)
  39267. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_SHIFT (20U)
  39268. /*! Q2DDMACH - Queue 2 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39269. * the packets received in Queue 2 are routed to a particular DMA channel as decided in the MAC
  39270. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39271. * Ethernet DA address.
  39272. * 0b0..Queue 2 disabled for DA-based DMA Channel Selection
  39273. * 0b1..Queue 2 enabled for DA-based DMA Channel Selection
  39274. */
  39275. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q2DDMACH_MASK)
  39276. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_MASK (0x7000000U)
  39277. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_SHIFT (24U)
  39278. /*! Q3MDMACH - Queue 3 Mapped to DMA Channel This field controls the routing of the received packet
  39279. * in Queue 3 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39280. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39281. * field is valid when the Q3DDMACH field is reset.
  39282. */
  39283. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q3MDMACH_MASK)
  39284. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_MASK (0x10000000U)
  39285. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_SHIFT (28U)
  39286. /*! Q3DDMACH - Queue 3 Enabled for Dynamic (per packet) DMA Channel Selection When set, this bit
  39287. * indicates that the packets received in Queue 3 are routed to a particular DMA channel as decided
  39288. * in the MAC Receiver based on the DMA channel number programmed in the L3-L4 filter registers,
  39289. * or the Ethernet DA address.
  39290. * 0b0..Queue 3 disabled for DA-based DMA Channel Selection
  39291. * 0b1..Queue 3 enabled for DA-based DMA Channel Selection
  39292. */
  39293. #define ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP0_Q3DDMACH_MASK)
  39294. /*! @} */
  39295. /*! @name MTL_RXQ_DMA_MAP1 - Receive Queue and DMA Channel Mapping 1 */
  39296. /*! @{ */
  39297. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_MASK (0x7U)
  39298. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_SHIFT (0U)
  39299. /*! Q4MDMACH - Queue 4 Mapped to DMA Channel This field controls the routing of the packet received
  39300. * in Queue 4 to the DMA channel: - 000: DMA Channel 0 - 001: DMA Channel 1 - 010: DMA Channel 2
  39301. * - 011: DMA Channel 3 - 100: DMA Channel 4 - 101: Reserved - 110: Reserved - 111: Reserved This
  39302. * field is valid when the Q4DDMACH field is reset.
  39303. */
  39304. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP1_Q4MDMACH_MASK)
  39305. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_MASK (0x10U)
  39306. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_SHIFT (4U)
  39307. /*! Q4DDMACH - Queue 4 Enabled for DA-based DMA Channel Selection When set, this bit indicates that
  39308. * the packets received in Queue 4 are routed to a particular DMA channel as decided in the MAC
  39309. * Receiver based on the DMA channel number programmed in the L3-L4 filter registers, or the
  39310. * Ethernet DA address.
  39311. * 0b0..Queue 4 disabled for DA-based DMA Channel Selection
  39312. * 0b1..Queue 4 enabled for DA-based DMA Channel Selection
  39313. */
  39314. #define ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_SHIFT)) & ENET_QOS_MTL_RXQ_DMA_MAP1_Q4DDMACH_MASK)
  39315. /*! @} */
  39316. /*! @name MTL_TBS_CTRL - Time Based Scheduling Control */
  39317. /*! @{ */
  39318. #define ENET_QOS_MTL_TBS_CTRL_ESTM_MASK (0x1U)
  39319. #define ENET_QOS_MTL_TBS_CTRL_ESTM_SHIFT (0U)
  39320. /*! ESTM - EST offset Mode When this bit is set, the Launch Time value used in Time Based Scheduling
  39321. * is interpreted as an EST offset value and is added to the Base Time Register (BTR) of the
  39322. * current list.
  39323. * 0b0..EST offset Mode is disabled
  39324. * 0b1..EST offset Mode is enabled
  39325. */
  39326. #define ENET_QOS_MTL_TBS_CTRL_ESTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_ESTM_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_ESTM_MASK)
  39327. #define ENET_QOS_MTL_TBS_CTRL_LEOV_MASK (0x2U)
  39328. #define ENET_QOS_MTL_TBS_CTRL_LEOV_SHIFT (1U)
  39329. /*! LEOV - Launch Expiry Offset Valid When set indicates the LEOS field is valid.
  39330. * 0b0..LEOS field is invalid
  39331. * 0b1..LEOS field is valid
  39332. */
  39333. #define ENET_QOS_MTL_TBS_CTRL_LEOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEOV_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEOV_MASK)
  39334. #define ENET_QOS_MTL_TBS_CTRL_LEGOS_MASK (0x70U)
  39335. #define ENET_QOS_MTL_TBS_CTRL_LEGOS_SHIFT (4U)
  39336. /*! LEGOS - Launch Expiry GSN Offset The number GSN slots that has to be added to the Launch GSN to compute the Launch Expiry time.
  39337. */
  39338. #define ENET_QOS_MTL_TBS_CTRL_LEGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEGOS_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEGOS_MASK)
  39339. #define ENET_QOS_MTL_TBS_CTRL_LEOS_MASK (0xFFFFFF00U)
  39340. #define ENET_QOS_MTL_TBS_CTRL_LEOS_SHIFT (8U)
  39341. /*! LEOS - Launch Expiry Offset The value in units of 256 nanoseconds that has to be added to the
  39342. * Launch time to compute the Launch Expiry time.
  39343. */
  39344. #define ENET_QOS_MTL_TBS_CTRL_LEOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TBS_CTRL_LEOS_SHIFT)) & ENET_QOS_MTL_TBS_CTRL_LEOS_MASK)
  39345. /*! @} */
  39346. /*! @name MTL_EST_CONTROL - Enhancements to Scheduled Transmission Control */
  39347. /*! @{ */
  39348. #define ENET_QOS_MTL_EST_CONTROL_EEST_MASK (0x1U)
  39349. #define ENET_QOS_MTL_EST_CONTROL_EEST_SHIFT (0U)
  39350. /*! EEST - Enable EST When reset, the gate control list processing is halted and all gates are assumed to be in Open state.
  39351. * 0b0..EST is disabled
  39352. * 0b1..EST is enabled
  39353. */
  39354. #define ENET_QOS_MTL_EST_CONTROL_EEST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_EEST_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_EEST_MASK)
  39355. #define ENET_QOS_MTL_EST_CONTROL_SSWL_MASK (0x2U)
  39356. #define ENET_QOS_MTL_EST_CONTROL_SSWL_SHIFT (1U)
  39357. /*! SSWL - Switch to S/W owned list When set indicates that the software has programmed that list
  39358. * that it currently owns (SWOL) and the hardware should switch to the new list based on the new
  39359. * BTR.
  39360. * 0b0..Switch to S/W owned list is disabled
  39361. * 0b1..Switch to S/W owned list is enabled
  39362. */
  39363. #define ENET_QOS_MTL_EST_CONTROL_SSWL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_SSWL_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_SSWL_MASK)
  39364. #define ENET_QOS_MTL_EST_CONTROL_DDBF_MASK (0x10U)
  39365. #define ENET_QOS_MTL_EST_CONTROL_DDBF_SHIFT (4U)
  39366. /*! DDBF - Do not Drop frames during Frame Size Error When set, frames are not be dropped during
  39367. * Head-of-Line blocking due to Frame Size Error (HLBF field of MTL_EST_STATUS register).
  39368. * 0b1..Do not Drop frames during Frame Size Error
  39369. * 0b0..Drop frames during Frame Size Error
  39370. */
  39371. #define ENET_QOS_MTL_EST_CONTROL_DDBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_DDBF_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_DDBF_MASK)
  39372. #define ENET_QOS_MTL_EST_CONTROL_DFBS_MASK (0x20U)
  39373. #define ENET_QOS_MTL_EST_CONTROL_DFBS_SHIFT (5U)
  39374. /*! DFBS - Drop Frames causing Scheduling Error When set frames reported to cause HOL Blocking due
  39375. * to not getting scheduled (HLBS field of EST_STATUS register) after 4,8,16,32 (based on LCSE
  39376. * field of this register) GCL iterations are dropped.
  39377. * 0b0..Do not Drop Frames causing Scheduling Error
  39378. * 0b1..Drop Frames causing Scheduling Error
  39379. */
  39380. #define ENET_QOS_MTL_EST_CONTROL_DFBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_DFBS_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_DFBS_MASK)
  39381. #define ENET_QOS_MTL_EST_CONTROL_LCSE_MASK (0xC0U)
  39382. #define ENET_QOS_MTL_EST_CONTROL_LCSE_SHIFT (6U)
  39383. /*! LCSE - Loop Count to report Scheduling Error Programmable number of GCL list iterations before
  39384. * reporting an HLBS error defined in EST_STATUS register.
  39385. * 0b10..16 iterations
  39386. * 0b11..32 iterations
  39387. * 0b00..4 iterations
  39388. * 0b01..8 iterations
  39389. */
  39390. #define ENET_QOS_MTL_EST_CONTROL_LCSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_LCSE_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_LCSE_MASK)
  39391. #define ENET_QOS_MTL_EST_CONTROL_TILS_MASK (0x700U)
  39392. #define ENET_QOS_MTL_EST_CONTROL_TILS_SHIFT (8U)
  39393. /*! TILS - Time Interval Left Shift Amount This field provides the left shift amount for the
  39394. * programmed Time Interval values used in the Gate Control Lists.
  39395. */
  39396. #define ENET_QOS_MTL_EST_CONTROL_TILS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_TILS_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_TILS_MASK)
  39397. #define ENET_QOS_MTL_EST_CONTROL_CTOV_MASK (0xFFF000U)
  39398. #define ENET_QOS_MTL_EST_CONTROL_CTOV_SHIFT (12U)
  39399. /*! CTOV - Current Time Offset Value Provides a 12 bit time offset value in nano second that is
  39400. * added to the current time to compensate for all the implementation pipeline delays such as the CDC
  39401. * sync delay, buffering delays, data path delays etc.
  39402. */
  39403. #define ENET_QOS_MTL_EST_CONTROL_CTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_CTOV_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_CTOV_MASK)
  39404. #define ENET_QOS_MTL_EST_CONTROL_PTOV_MASK (0xFF000000U)
  39405. #define ENET_QOS_MTL_EST_CONTROL_PTOV_SHIFT (24U)
  39406. /*! PTOV - PTP Time Offset Value The value of PTP Clock period multiplied by 6 in nanoseconds.
  39407. */
  39408. #define ENET_QOS_MTL_EST_CONTROL_PTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_CONTROL_PTOV_SHIFT)) & ENET_QOS_MTL_EST_CONTROL_PTOV_MASK)
  39409. /*! @} */
  39410. /*! @name MTL_EST_STATUS - Enhancements to Scheduled Transmission Status */
  39411. /*! @{ */
  39412. #define ENET_QOS_MTL_EST_STATUS_SWLC_MASK (0x1U)
  39413. #define ENET_QOS_MTL_EST_STATUS_SWLC_SHIFT (0U)
  39414. /*! SWLC - Switch to S/W owned list Complete When "1" indicates the hardware has successfully
  39415. * switched to the SWOL, and the SWOL bit has been updated to that effect.
  39416. * 0b1..Switch to S/W owned list Complete detected
  39417. * 0b0..Switch to S/W owned list Complete not detected
  39418. */
  39419. #define ENET_QOS_MTL_EST_STATUS_SWLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_SWLC_SHIFT)) & ENET_QOS_MTL_EST_STATUS_SWLC_MASK)
  39420. #define ENET_QOS_MTL_EST_STATUS_BTRE_MASK (0x2U)
  39421. #define ENET_QOS_MTL_EST_STATUS_BTRE_SHIFT (1U)
  39422. /*! BTRE - BTR Error When "1" indicates a programming error in the BTR of SWOL where the programmed
  39423. * value is less than current time.
  39424. * 0b1..BTR Error detected
  39425. * 0b0..BTR Error not detected
  39426. */
  39427. #define ENET_QOS_MTL_EST_STATUS_BTRE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_BTRE_SHIFT)) & ENET_QOS_MTL_EST_STATUS_BTRE_MASK)
  39428. #define ENET_QOS_MTL_EST_STATUS_HLBF_MASK (0x4U)
  39429. #define ENET_QOS_MTL_EST_STATUS_HLBF_SHIFT (2U)
  39430. /*! HLBF - Head-Of-Line Blocking due to Frame Size Set when HOL Blocking is noticed on one or more
  39431. * Queues as a result of none of the Time Intervals of gate open in the GCL being greater than or
  39432. * equal to the duration needed for frame size (or frame fragment size when preemption is
  39433. * enabled) transmission.
  39434. * 0b1..Head-Of-Line Blocking due to Frame Size detected
  39435. * 0b0..Head-Of-Line Blocking due to Frame Size not detected
  39436. */
  39437. #define ENET_QOS_MTL_EST_STATUS_HLBF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_HLBF_SHIFT)) & ENET_QOS_MTL_EST_STATUS_HLBF_MASK)
  39438. #define ENET_QOS_MTL_EST_STATUS_HLBS_MASK (0x8U)
  39439. #define ENET_QOS_MTL_EST_STATUS_HLBS_SHIFT (3U)
  39440. /*! HLBS - Head-Of-Line Blocking due to Scheduling Set when the frame is not able to win arbitration
  39441. * and get scheduled even after 4 iterations of the GCL.
  39442. * 0b1..Head-Of-Line Blocking due to Scheduling detected
  39443. * 0b0..Head-Of-Line Blocking due to Scheduling not detected
  39444. */
  39445. #define ENET_QOS_MTL_EST_STATUS_HLBS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_HLBS_SHIFT)) & ENET_QOS_MTL_EST_STATUS_HLBS_MASK)
  39446. #define ENET_QOS_MTL_EST_STATUS_CGCE_MASK (0x10U)
  39447. #define ENET_QOS_MTL_EST_STATUS_CGCE_SHIFT (4U)
  39448. /*! CGCE - Constant Gate Control Error This error occurs when the list length (LLR) is 1 and the
  39449. * programmed Time Interval (TI) value after the optional Left Shifting is less than or equal to the
  39450. * Cycle Time (CTR).
  39451. * 0b1..Constant Gate Control Error detected
  39452. * 0b0..Constant Gate Control Error not detected
  39453. */
  39454. #define ENET_QOS_MTL_EST_STATUS_CGCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_CGCE_SHIFT)) & ENET_QOS_MTL_EST_STATUS_CGCE_MASK)
  39455. #define ENET_QOS_MTL_EST_STATUS_SWOL_MASK (0x80U)
  39456. #define ENET_QOS_MTL_EST_STATUS_SWOL_SHIFT (7U)
  39457. /*! SWOL - S/W owned list When '0' indicates Gate control list number "0" is owned by software and
  39458. * when "1" indicates the Gate Control list "1" is owned by the software.
  39459. * 0b1..Gate control list number "1" is owned by software
  39460. * 0b0..Gate control list number "0" is owned by software
  39461. */
  39462. #define ENET_QOS_MTL_EST_STATUS_SWOL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_SWOL_SHIFT)) & ENET_QOS_MTL_EST_STATUS_SWOL_MASK)
  39463. #define ENET_QOS_MTL_EST_STATUS_BTRL_MASK (0xF00U)
  39464. #define ENET_QOS_MTL_EST_STATUS_BTRL_SHIFT (8U)
  39465. /*! BTRL - BTR Error Loop Count Provides the minimum count (N) for which the equation Current Time
  39466. * =< New BTR + (N * New Cycle Time) becomes true.
  39467. */
  39468. #define ENET_QOS_MTL_EST_STATUS_BTRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_BTRL_SHIFT)) & ENET_QOS_MTL_EST_STATUS_BTRL_MASK)
  39469. #define ENET_QOS_MTL_EST_STATUS_CGSN_MASK (0xF0000U)
  39470. #define ENET_QOS_MTL_EST_STATUS_CGSN_SHIFT (16U)
  39471. /*! CGSN - Current GCL Slot Number Indicates the slot number of the GCL list.
  39472. */
  39473. #define ENET_QOS_MTL_EST_STATUS_CGSN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_STATUS_CGSN_SHIFT)) & ENET_QOS_MTL_EST_STATUS_CGSN_MASK)
  39474. /*! @} */
  39475. /*! @name MTL_EST_SCH_ERROR - EST Scheduling Error */
  39476. /*! @{ */
  39477. #define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_MASK (0x1FU)
  39478. #define ENET_QOS_MTL_EST_SCH_ERROR_SEQN_SHIFT (0U)
  39479. /*! SEQN - Schedule Error Queue Number The One Hot Encoded Queue Numbers that have experienced
  39480. * error/timeout described in HLBS field of status register.
  39481. */
  39482. #define ENET_QOS_MTL_EST_SCH_ERROR_SEQN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_SCH_ERROR_SEQN_SHIFT)) & ENET_QOS_MTL_EST_SCH_ERROR_SEQN_MASK)
  39483. /*! @} */
  39484. /*! @name MTL_EST_FRM_SIZE_ERROR - EST Frame Size Error */
  39485. /*! @{ */
  39486. #define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_MASK (0x1FU)
  39487. #define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_SHIFT (0U)
  39488. /*! FEQN - Frame Size Error Queue Number The One Hot Encoded Queue Numbers that have experienced
  39489. * error described in HLBF field of status register.
  39490. */
  39491. #define ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_ERROR_FEQN_MASK)
  39492. /*! @} */
  39493. /*! @name MTL_EST_FRM_SIZE_CAPTURE - EST Frame Size Capture */
  39494. /*! @{ */
  39495. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_MASK (0x7FFFU)
  39496. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_SHIFT (0U)
  39497. /*! HBFS - Frame Size of HLBF Captures the Frame Size of the dropped frame related to queue number
  39498. * indicated in HBFQ field of this register.
  39499. */
  39500. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFS_MASK)
  39501. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_MASK (0x70000U)
  39502. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_SHIFT (16U)
  39503. /*! HBFQ - Queue Number of HLBF Captures the binary value of the of the first Queue (number)
  39504. * experiencing HLBF error (see HLBF field of status register).
  39505. */
  39506. #define ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_SHIFT)) & ENET_QOS_MTL_EST_FRM_SIZE_CAPTURE_HBFQ_MASK)
  39507. /*! @} */
  39508. /*! @name MTL_EST_INTR_ENABLE - EST Interrupt Enable */
  39509. /*! @{ */
  39510. #define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_MASK (0x1U)
  39511. #define ENET_QOS_MTL_EST_INTR_ENABLE_IECC_SHIFT (0U)
  39512. /*! IECC - Interrupt Enable for Switch List When set, generates interrupt when the configuration
  39513. * change is successful and the hardware has switched to the new list.
  39514. * 0b0..Interrupt for Switch List is disabled
  39515. * 0b1..Interrupt for Switch List is enabled
  39516. */
  39517. #define ENET_QOS_MTL_EST_INTR_ENABLE_IECC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IECC_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IECC_MASK)
  39518. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_MASK (0x2U)
  39519. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_SHIFT (1U)
  39520. /*! IEBE - Interrupt Enable for BTR Error When set, generates interrupt when the BTR Error occurs and is indicated in the status.
  39521. * 0b0..Interrupt for BTR Error is disabled
  39522. * 0b1..Interrupt for BTR Error is enabled
  39523. */
  39524. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEBE_MASK)
  39525. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_MASK (0x4U)
  39526. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_SHIFT (2U)
  39527. /*! IEHF - Interrupt Enable for HLBF When set, generates interrupt when the Head-of-Line Blocking
  39528. * due to Frame Size error occurs and is indicated in the status.
  39529. * 0b0..Interrupt for HLBF is disabled
  39530. * 0b1..Interrupt for HLBF is enabled
  39531. */
  39532. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEHF_MASK)
  39533. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_MASK (0x8U)
  39534. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_SHIFT (3U)
  39535. /*! IEHS - Interrupt Enable for HLBS When set, generates interrupt when the Head-of-Line Blocking
  39536. * due to Scheduling issue and is indicated in the status.
  39537. * 0b0..Interrupt for HLBS is disabled
  39538. * 0b1..Interrupt for HLBS is enabled
  39539. */
  39540. #define ENET_QOS_MTL_EST_INTR_ENABLE_IEHS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_IEHS_MASK)
  39541. #define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_MASK (0x10U)
  39542. #define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_SHIFT (4U)
  39543. /*! CGCE - Interrupt Enable for CGCE When set, generates interrupt when the Constant Gate Control
  39544. * Error occurs and is indicated in the status.
  39545. * 0b0..Interrupt for CGCE is disabled
  39546. * 0b1..Interrupt for CGCE is enabled
  39547. */
  39548. #define ENET_QOS_MTL_EST_INTR_ENABLE_CGCE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_SHIFT)) & ENET_QOS_MTL_EST_INTR_ENABLE_CGCE_MASK)
  39549. /*! @} */
  39550. /*! @name MTL_EST_GCL_CONTROL - EST GCL Control */
  39551. /*! @{ */
  39552. #define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_MASK (0x1U)
  39553. #define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_SHIFT (0U)
  39554. /*! SRWO - Start Read/Write Op When set indicates a Read/Write Op has started and is in progress.
  39555. * 0b0..Start Read/Write Op disabled
  39556. * 0b1..Start Read/Write Op enabled
  39557. */
  39558. #define ENET_QOS_MTL_EST_GCL_CONTROL_SRWO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_SRWO_MASK)
  39559. #define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_MASK (0x2U)
  39560. #define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_SHIFT (1U)
  39561. /*! R1W0 - Read '1', Write '0': When set to '1': Read Operation When set to '0': Write Operation.
  39562. * 0b1..Read Operation
  39563. * 0b0..Write Operation
  39564. */
  39565. #define ENET_QOS_MTL_EST_GCL_CONTROL_R1W0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_R1W0_MASK)
  39566. #define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_MASK (0x4U)
  39567. #define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_SHIFT (2U)
  39568. /*! GCRR - Gate Control Related Registers When set to "1" indicates the R/W access is for the GCL
  39569. * related registers (BTR, CTR, TER, LLR) whose address is provided by GCRA.
  39570. * 0b0..Gate Control Related Registers are disabled
  39571. * 0b1..Gate Control Related Registers are enabled
  39572. */
  39573. #define ENET_QOS_MTL_EST_GCL_CONTROL_GCRR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_GCRR_MASK)
  39574. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_MASK (0x10U)
  39575. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_SHIFT (4U)
  39576. /*! DBGM - Debug Mode When set to "1" indicates R/W in debug mode where the memory bank (for GCL and
  39577. * Time related registers) is explicitly provided by DBGB value, when set to "0" SWOL bit is
  39578. * used to determine which bank to use.
  39579. * 0b0..Debug Mode is disabled
  39580. * 0b1..Debug Mode is enabled
  39581. */
  39582. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_DBGM_MASK)
  39583. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_MASK (0x20U)
  39584. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_SHIFT (5U)
  39585. /*! DBGB - Debug Mode Bank Select When set to "0" indicates R/W in debug mode should be directed to
  39586. * Bank 0 (GCL0 and corresponding Time related registers).
  39587. * 0b0..R/W in debug mode should be directed to Bank 0
  39588. * 0b1..R/W in debug mode should be directed to Bank 1
  39589. */
  39590. #define ENET_QOS_MTL_EST_GCL_CONTROL_DBGB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_DBGB_MASK)
  39591. #define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_MASK (0x1FF00U)
  39592. #define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_SHIFT (8U)
  39593. /*! ADDR - Gate Control List Address: (GCLA when GCRR is "0").
  39594. */
  39595. #define ENET_QOS_MTL_EST_GCL_CONTROL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ADDR_MASK)
  39596. #define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_MASK (0x100000U)
  39597. #define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_SHIFT (20U)
  39598. /*! ERR0 - When set indicates the last write operation was aborted as software writes to GCL and GCL
  39599. * registers is prohibited when SSWL bit of MTL_EST_CONTROL Register is set.
  39600. * 0b0..ERR0 is disabled
  39601. * 0b1..ERR1 is enabled
  39602. */
  39603. #define ENET_QOS_MTL_EST_GCL_CONTROL_ERR0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ERR0_MASK)
  39604. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_MASK (0x200000U)
  39605. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_SHIFT (21U)
  39606. /*! ESTEIEE - EST ECC Inject Error Enable When set along with EEST bit of MTL_EST_CONTROL register,
  39607. * enables the ECC error injection feature.
  39608. * 0b0..EST ECC Inject Error is disabled
  39609. * 0b1..EST ECC Inject Error is enabled
  39610. */
  39611. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEE_MASK)
  39612. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_MASK (0xC00000U)
  39613. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_SHIFT (22U)
  39614. /*! ESTEIEC - ECC Inject Error Control for EST Memory When EIEE bit of this register is set,
  39615. * following are the errors inserted based on the value encoded in this field.
  39616. * 0b00..Insert 1 bit error
  39617. * 0b11..Insert 1 bit error in address field
  39618. * 0b01..Insert 2 bit errors
  39619. * 0b10..Insert 3 bit errors
  39620. */
  39621. #define ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_SHIFT)) & ENET_QOS_MTL_EST_GCL_CONTROL_ESTEIEC_MASK)
  39622. /*! @} */
  39623. /*! @name MTL_EST_GCL_DATA - EST GCL Data */
  39624. /*! @{ */
  39625. #define ENET_QOS_MTL_EST_GCL_DATA_GCD_MASK (0xFFFFFFFFU)
  39626. #define ENET_QOS_MTL_EST_GCL_DATA_GCD_SHIFT (0U)
  39627. /*! GCD - Gate Control Data The data corresponding to the address selected in the MTL_GCL_CONTROL register.
  39628. */
  39629. #define ENET_QOS_MTL_EST_GCL_DATA_GCD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_EST_GCL_DATA_GCD_SHIFT)) & ENET_QOS_MTL_EST_GCL_DATA_GCD_MASK)
  39630. /*! @} */
  39631. /*! @name MTL_FPE_CTRL_STS - Frame Preemption Control and Status */
  39632. /*! @{ */
  39633. #define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_MASK (0x3U)
  39634. #define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_SHIFT (0U)
  39635. /*! AFSZ - Additional Fragment Size used to indicate, in units of 64 bytes, the minimum number of
  39636. * bytes over 64 bytes required in non-final fragments of preempted frames.
  39637. */
  39638. #define ENET_QOS_MTL_FPE_CTRL_STS_AFSZ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_AFSZ_MASK)
  39639. #define ENET_QOS_MTL_FPE_CTRL_STS_PEC_MASK (0x1F00U)
  39640. #define ENET_QOS_MTL_FPE_CTRL_STS_PEC_SHIFT (8U)
  39641. /*! PEC - Preemption Classification When set indicates the corresponding Queue must be classified as
  39642. * preemptable, when '0' Queue is classified as express.
  39643. */
  39644. #define ENET_QOS_MTL_FPE_CTRL_STS_PEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_PEC_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_PEC_MASK)
  39645. #define ENET_QOS_MTL_FPE_CTRL_STS_HRS_MASK (0x10000000U)
  39646. #define ENET_QOS_MTL_FPE_CTRL_STS_HRS_SHIFT (28U)
  39647. /*! HRS - Hold/Release Status - 1: Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State.
  39648. * 0b1..Indicates a Set-and-Hold-MAC operation was last executed and the pMAC is in Hold State
  39649. * 0b0..Indicates a Set-and-Release-MAC operation was last executed and the pMAC is in Release State
  39650. */
  39651. #define ENET_QOS_MTL_FPE_CTRL_STS_HRS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_CTRL_STS_HRS_SHIFT)) & ENET_QOS_MTL_FPE_CTRL_STS_HRS_MASK)
  39652. /*! @} */
  39653. /*! @name MTL_FPE_ADVANCE - Frame Preemption Hold and Release Advance */
  39654. /*! @{ */
  39655. #define ENET_QOS_MTL_FPE_ADVANCE_HADV_MASK (0xFFFFU)
  39656. #define ENET_QOS_MTL_FPE_ADVANCE_HADV_SHIFT (0U)
  39657. /*! HADV - Hold Advance The maximum time in nanoseconds that can elapse between issuing a HOLD to
  39658. * the MAC and the MAC ceasing to transmit any preemptable frame that is in the process of
  39659. * transmission or any preemptable frames that are queued for transmission.
  39660. */
  39661. #define ENET_QOS_MTL_FPE_ADVANCE_HADV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_ADVANCE_HADV_SHIFT)) & ENET_QOS_MTL_FPE_ADVANCE_HADV_MASK)
  39662. #define ENET_QOS_MTL_FPE_ADVANCE_RADV_MASK (0xFFFF0000U)
  39663. #define ENET_QOS_MTL_FPE_ADVANCE_RADV_SHIFT (16U)
  39664. /*! RADV - Release Advance The maximum time in nanoseconds that can elapse between issuing a RELEASE
  39665. * to the MAC and the MAC being ready to resume transmission of preemptable frames, in the
  39666. * absence of there being any express frames available for transmission.
  39667. */
  39668. #define ENET_QOS_MTL_FPE_ADVANCE_RADV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_FPE_ADVANCE_RADV_SHIFT)) & ENET_QOS_MTL_FPE_ADVANCE_RADV_MASK)
  39669. /*! @} */
  39670. /*! @name MTL_RXP_CONTROL_STATUS - RXP Control Status */
  39671. /*! @{ */
  39672. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_MASK (0xFFU)
  39673. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_SHIFT (0U)
  39674. /*! NVE - Number of valid entries in the Instruction table This control indicates the number of
  39675. * valid entries in the Instruction Memory.
  39676. */
  39677. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_NVE_MASK)
  39678. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_MASK (0xFF0000U)
  39679. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_SHIFT (16U)
  39680. /*! NPE - Number of parsable entries in the Instruction table This control indicates the number of
  39681. * parsable entries in the Instruction Memory.
  39682. */
  39683. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_NPE_MASK)
  39684. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_MASK (0x80000000U)
  39685. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_SHIFT (31U)
  39686. /*! RXPI - RX Parser in Idle state This status bit is set to 1 when the Rx parser is in Idle State
  39687. * and waiting for a new packet for processing.
  39688. * 0b1..RX Parser in Idle state
  39689. * 0b0..RX Parser not in Idle state
  39690. */
  39691. #define ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_SHIFT)) & ENET_QOS_MTL_RXP_CONTROL_STATUS_RXPI_MASK)
  39692. /*! @} */
  39693. /*! @name MTL_RXP_INTERRUPT_CONTROL_STATUS - RXP Interrupt Control Status */
  39694. /*! @{ */
  39695. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_MASK (0x1U)
  39696. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_SHIFT (0U)
  39697. /*! NVEOVIS - Number of Valid Entries Overflow Interrupt Status While parsing if the Instruction
  39698. * address found to be more than NVE (Number of Valid Entries in MTL_RXP_CONTROL register), then
  39699. * this bit is set to 1.
  39700. * 0b1..Number of Valid Entries Overflow Interrupt Status detected
  39701. * 0b0..Number of Valid Entries Overflow Interrupt Status not detected
  39702. */
  39703. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIS_MASK)
  39704. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_MASK (0x2U)
  39705. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_SHIFT (1U)
  39706. /*! NPEOVIS - Number of Parsable Entries Overflow Interrupt Status While parsing a packet if the
  39707. * number of parsed entries found to be more than NPE[] (Number of Parseable Entries in
  39708. * MTL_RXP_CONTROL register),then this bit is set to 1.
  39709. * 0b1..Number of Parsable Entries Overflow Interrupt Status detected
  39710. * 0b0..Number of Parsable Entries Overflow Interrupt Status not detected
  39711. */
  39712. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIS_MASK)
  39713. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_MASK (0x4U)
  39714. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_SHIFT (2U)
  39715. /*! FOOVIS - Frame Offset Overflow Interrupt Status While parsing if the Instruction table entry's
  39716. * 'Frame Offset' found to be more than EOF offset, then then this bit is set.
  39717. * 0b1..Frame Offset Overflow Interrupt Status detected
  39718. * 0b0..Frame Offset Overflow Interrupt Status not detected
  39719. */
  39720. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIS_MASK)
  39721. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_MASK (0x8U)
  39722. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_SHIFT (3U)
  39723. /*! PDRFIS - Packet Dropped due to RF Interrupt Status If the Rx Parser result says to drop the
  39724. * packet by setting RF=1 in the instruction memory, then this bit is set to 1.
  39725. * 0b1..Packet Dropped due to RF Interrupt Status detected
  39726. * 0b0..Packet Dropped due to RF Interrupt Status not detected
  39727. */
  39728. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIS_MASK)
  39729. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_MASK (0x10000U)
  39730. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_SHIFT (16U)
  39731. /*! NVEOVIE - Number of Valid Entries Overflow Interrupt Enable When this bit is set, the NVEOVIS interrupt is enabled.
  39732. * 0b0..Number of Valid Entries Overflow Interrupt is disabled
  39733. * 0b1..Number of Valid Entries Overflow Interrupt is enabled
  39734. */
  39735. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NVEOVIE_MASK)
  39736. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_MASK (0x20000U)
  39737. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_SHIFT (17U)
  39738. /*! NPEOVIE - Number of Parsable Entries Overflow Interrupt Enable When this bit is set, the NPEOVIS interrupt is enabled.
  39739. * 0b0..Number of Parsable Entries Overflow Interrupt is disabled
  39740. * 0b1..Number of Parsable Entries Overflow Interrupt is enabled
  39741. */
  39742. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_NPEOVIE_MASK)
  39743. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_MASK (0x40000U)
  39744. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_SHIFT (18U)
  39745. /*! FOOVIE - Frame Offset Overflow Interrupt Enable When this bit is set, the FOOVIS interrupt is enabled.
  39746. * 0b0..Frame Offset Overflow Interrupt is disabled
  39747. * 0b1..Frame Offset Overflow Interrupt is enabled
  39748. */
  39749. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_FOOVIE_MASK)
  39750. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_MASK (0x80000U)
  39751. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_SHIFT (19U)
  39752. /*! PDRFIE - Packet Drop due to RF Interrupt Enable When this bit is set, the PDRFIS interrupt is enabled.
  39753. * 0b0..Packet Drop due to RF Interrupt is disabled
  39754. * 0b1..Packet Drop due to RF Interrupt is enabled
  39755. */
  39756. #define ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_SHIFT)) & ENET_QOS_MTL_RXP_INTERRUPT_CONTROL_STATUS_PDRFIE_MASK)
  39757. /*! @} */
  39758. /*! @name MTL_RXP_DROP_CNT - RXP Drop Count */
  39759. /*! @{ */
  39760. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_MASK (0x7FFFFFFFU)
  39761. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_SHIFT (0U)
  39762. /*! RXPDC - Rx Parser Drop count This 31-bit counter is implemented whenever a Rx Parser Drops a packet due to RF =1.
  39763. */
  39764. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_SHIFT)) & ENET_QOS_MTL_RXP_DROP_CNT_RXPDC_MASK)
  39765. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_MASK (0x80000000U)
  39766. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_SHIFT (31U)
  39767. /*! RXPDCOVF - Rx Parser Drop Counter Overflow Bit When set, this bit indicates that the
  39768. * MTL_RXP_DROP_CNT (RXPDC) Counter field crossed the maximum limit.
  39769. * 0b1..Rx Parser Drop count overflow occurred
  39770. * 0b0..Rx Parser Drop count overflow not occurred
  39771. */
  39772. #define ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_SHIFT)) & ENET_QOS_MTL_RXP_DROP_CNT_RXPDCOVF_MASK)
  39773. /*! @} */
  39774. /*! @name MTL_RXP_ERROR_CNT - RXP Error Count */
  39775. /*! @{ */
  39776. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_MASK (0x7FFFFFFFU)
  39777. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_SHIFT (0U)
  39778. /*! RXPEC - Rx Parser Error count This 31-bit counter is implemented whenever a Rx Parser encounters
  39779. * following Error scenarios - Entry address >= NVE[] - Number Parsed Entries >= NPE[] - Entry
  39780. * address > EOF data entry address The counter is cleared when the register is read.
  39781. */
  39782. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_SHIFT)) & ENET_QOS_MTL_RXP_ERROR_CNT_RXPEC_MASK)
  39783. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_MASK (0x80000000U)
  39784. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_SHIFT (31U)
  39785. /*! RXPECOVF - Rx Parser Error Counter Overflow Bit When set, this bit indicates that the
  39786. * MTL_RXP_ERROR_CNT (RXPEC) Counter field crossed the maximum limit.
  39787. * 0b1..Rx Parser Error count overflow occurred
  39788. * 0b0..Rx Parser Error count overflow not occurred
  39789. */
  39790. #define ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_SHIFT)) & ENET_QOS_MTL_RXP_ERROR_CNT_RXPECOVF_MASK)
  39791. /*! @} */
  39792. /*! @name MTL_RXP_INDIRECT_ACC_CONTROL_STATUS - RXP Indirect Access Control and Status */
  39793. /*! @{ */
  39794. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_MASK (0x3FFU)
  39795. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_SHIFT (0U)
  39796. /*! ADDR - FRP Instruction Table Offset Address This field indicates the ADDR of the 32-bit entry in Rx parser instruction table.
  39797. */
  39798. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_ADDR_MASK)
  39799. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_MASK (0x10000U)
  39800. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_SHIFT (16U)
  39801. /*! WRRDN - Read Write Control When this bit is set to 1 indicates the write operation to the Rx Parser Memory.
  39802. * 0b0..Read operation to the Rx Parser Memory
  39803. * 0b1..Write operation to the Rx Parser Memory
  39804. */
  39805. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_WRRDN_MASK)
  39806. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_MASK (0x80000000U)
  39807. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_SHIFT (31U)
  39808. /*! STARTBUSY - FRP Instruction Table Access Busy When this bit is set to 1 by the software then it
  39809. * indicates to start the Read/Write operation from/to the Rx Parser Memory.
  39810. * 0b1..hardware is busy (Read/Write operation from/to the Rx Parser Memory)
  39811. * 0b0..hardware not busy
  39812. */
  39813. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_CONTROL_STATUS_STARTBUSY_MASK)
  39814. /*! @} */
  39815. /*! @name MTL_RXP_INDIRECT_ACC_DATA - RXP Indirect Access Data */
  39816. /*! @{ */
  39817. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_MASK (0xFFFFFFFFU)
  39818. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_SHIFT (0U)
  39819. /*! DATA - FRP Instruction Table Write/Read Data Software should write this register before issuing any write command.
  39820. */
  39821. #define ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_SHIFT)) & ENET_QOS_MTL_RXP_INDIRECT_ACC_DATA_DATA_MASK)
  39822. /*! @} */
  39823. /*! @name MTL_TXQX_OP_MODE - Queue 0 Transmit Operation Mode..Queue 4 Transmit Operation Mode */
  39824. /*! @{ */
  39825. #define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_MASK (0x1U)
  39826. #define ENET_QOS_MTL_TXQX_OP_MODE_FTQ_SHIFT (0U)
  39827. /*! FTQ - Flush Transmit Queue When this bit is set, the Tx queue controller logic is reset to its default values.
  39828. * 0b0..Flush Transmit Queue is disabled
  39829. * 0b1..Flush Transmit Queue is enabled
  39830. */
  39831. #define ENET_QOS_MTL_TXQX_OP_MODE_FTQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_FTQ_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_FTQ_MASK)
  39832. #define ENET_QOS_MTL_TXQX_OP_MODE_TSF_MASK (0x2U)
  39833. #define ENET_QOS_MTL_TXQX_OP_MODE_TSF_SHIFT (1U)
  39834. /*! TSF - Transmit Store and Forward When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue.
  39835. * 0b0..Transmit Store and Forward is disabled
  39836. * 0b1..Transmit Store and Forward is enabled
  39837. */
  39838. #define ENET_QOS_MTL_TXQX_OP_MODE_TSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TSF_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TSF_MASK)
  39839. #define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_MASK (0xCU)
  39840. #define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_SHIFT (2U)
  39841. /*! TXQEN - Transmit Queue Enable This field is used to enable/disable the transmit queue 0.
  39842. * 0b00..Not enabled
  39843. * 0b10..Enabled
  39844. * 0b01..Enable in AV mode (Reserved in non-AV)
  39845. * 0b11..Reserved
  39846. */
  39847. #define ENET_QOS_MTL_TXQX_OP_MODE_TXQEN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TXQEN_MASK)
  39848. #define ENET_QOS_MTL_TXQX_OP_MODE_TTC_MASK (0x70U)
  39849. #define ENET_QOS_MTL_TXQX_OP_MODE_TTC_SHIFT (4U)
  39850. /*! TTC - Transmit Threshold Control These bits control the threshold level of the MTL Tx Queue.
  39851. * 0b011..128
  39852. * 0b100..192
  39853. * 0b101..256
  39854. * 0b000..32
  39855. * 0b110..384
  39856. * 0b111..512
  39857. * 0b001..64
  39858. * 0b010..96
  39859. */
  39860. #define ENET_QOS_MTL_TXQX_OP_MODE_TTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TTC_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TTC_MASK)
  39861. #define ENET_QOS_MTL_TXQX_OP_MODE_TQS_MASK (0x1F0000U)
  39862. #define ENET_QOS_MTL_TXQX_OP_MODE_TQS_SHIFT (16U)
  39863. /*! TQS - Transmit Queue Size This field indicates the size of the allocated Transmit queues in blocks of 256 bytes.
  39864. */
  39865. #define ENET_QOS_MTL_TXQX_OP_MODE_TQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_OP_MODE_TQS_SHIFT)) & ENET_QOS_MTL_TXQX_OP_MODE_TQS_MASK)
  39866. /*! @} */
  39867. /* The count of ENET_QOS_MTL_TXQX_OP_MODE */
  39868. #define ENET_QOS_MTL_TXQX_OP_MODE_COUNT (5U)
  39869. /*! @name MTL_TXQX_UNDRFLW - Queue 0 Underflow Counter..Queue 4 Underflow Counter */
  39870. /*! @{ */
  39871. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK (0x7FFU)
  39872. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT (0U)
  39873. /*! UFFRMCNT - Underflow Packet Counter This field indicates the number of packets aborted by the
  39874. * controller because of Tx Queue Underflow.
  39875. */
  39876. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_SHIFT)) & ENET_QOS_MTL_TXQX_UNDRFLW_UFFRMCNT_MASK)
  39877. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK (0x800U)
  39878. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT (11U)
  39879. /*! UFCNTOVF - Overflow Bit for Underflow Packet Counter This bit is set every time the Tx queue
  39880. * Underflow Packet Counter field overflows, that is, it has crossed the maximum count.
  39881. * 0b1..Overflow detected for Underflow Packet Counter
  39882. * 0b0..Overflow not detected for Underflow Packet Counter
  39883. */
  39884. #define ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_SHIFT)) & ENET_QOS_MTL_TXQX_UNDRFLW_UFCNTOVF_MASK)
  39885. /*! @} */
  39886. /* The count of ENET_QOS_MTL_TXQX_UNDRFLW */
  39887. #define ENET_QOS_MTL_TXQX_UNDRFLW_COUNT (5U)
  39888. /*! @name MTL_TXQX_DBG - Queue 0 Transmit Debug..Queue 4 Transmit Debug */
  39889. /*! @{ */
  39890. #define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_MASK (0x1U)
  39891. #define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_SHIFT (0U)
  39892. /*! TXQPAUSED - Transmit Queue in Pause When this bit is high and the Rx flow control is enabled, it
  39893. * indicates that the Tx Queue is in the Pause condition (in the full-duplex only mode) because
  39894. * of the following: - Reception of the PFC packet for the priorities assigned to the Tx Queue
  39895. * when PFC is enabled - Reception of 802.
  39896. * 0b1..Transmit Queue in Pause status is detected
  39897. * 0b0..Transmit Queue in Pause status is not detected
  39898. */
  39899. #define ENET_QOS_MTL_TXQX_DBG_TXQPAUSED(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXQPAUSED_MASK)
  39900. #define ENET_QOS_MTL_TXQX_DBG_TRCSTS_MASK (0x6U)
  39901. #define ENET_QOS_MTL_TXQX_DBG_TRCSTS_SHIFT (1U)
  39902. /*! TRCSTS - MTL Tx Queue Read Controller Status This field indicates the state of the Tx Queue Read Controller:
  39903. * 0b11..Flushing the Tx queue because of the Packet Abort request from the MAC
  39904. * 0b00..Idle state
  39905. * 0b01..Read state (transferring data to the MAC transmitter)
  39906. * 0b10..Waiting for pending Tx Status from the MAC transmitter
  39907. */
  39908. #define ENET_QOS_MTL_TXQX_DBG_TRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TRCSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TRCSTS_MASK)
  39909. #define ENET_QOS_MTL_TXQX_DBG_TWCSTS_MASK (0x8U)
  39910. #define ENET_QOS_MTL_TXQX_DBG_TWCSTS_SHIFT (3U)
  39911. /*! TWCSTS - MTL Tx Queue Write Controller Status When high, this bit indicates that the MTL Tx
  39912. * Queue Write Controller is active, and it is transferring the data to the Tx Queue.
  39913. * 0b1..MTL Tx Queue Write Controller status is detected
  39914. * 0b0..MTL Tx Queue Write Controller status is not detected
  39915. */
  39916. #define ENET_QOS_MTL_TXQX_DBG_TWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TWCSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TWCSTS_MASK)
  39917. #define ENET_QOS_MTL_TXQX_DBG_TXQSTS_MASK (0x10U)
  39918. #define ENET_QOS_MTL_TXQX_DBG_TXQSTS_SHIFT (4U)
  39919. /*! TXQSTS - MTL Tx Queue Not Empty Status When this bit is high, it indicates that the MTL Tx Queue
  39920. * is not empty and some data is left for transmission.
  39921. * 0b1..MTL Tx Queue Not Empty status is detected
  39922. * 0b0..MTL Tx Queue Not Empty status is not detected
  39923. */
  39924. #define ENET_QOS_MTL_TXQX_DBG_TXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXQSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXQSTS_MASK)
  39925. #define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_MASK (0x20U)
  39926. #define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_SHIFT (5U)
  39927. /*! TXSTSFSTS - MTL Tx Status FIFO Full Status When high, this bit indicates that the MTL Tx Status FIFO is full.
  39928. * 0b1..MTL Tx Status FIFO Full status is detected
  39929. * 0b0..MTL Tx Status FIFO Full status is not detected
  39930. */
  39931. #define ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_TXSTSFSTS_MASK)
  39932. #define ENET_QOS_MTL_TXQX_DBG_PTXQ_MASK (0x70000U)
  39933. #define ENET_QOS_MTL_TXQX_DBG_PTXQ_SHIFT (16U)
  39934. /*! PTXQ - Number of Packets in the Transmit Queue This field indicates the current number of packets in the Tx Queue.
  39935. */
  39936. #define ENET_QOS_MTL_TXQX_DBG_PTXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_PTXQ_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_PTXQ_MASK)
  39937. #define ENET_QOS_MTL_TXQX_DBG_STXSTSF_MASK (0x700000U)
  39938. #define ENET_QOS_MTL_TXQX_DBG_STXSTSF_SHIFT (20U)
  39939. /*! STXSTSF - Number of Status Words in Tx Status FIFO of Queue This field indicates the current
  39940. * number of status in the Tx Status FIFO of this queue.
  39941. */
  39942. #define ENET_QOS_MTL_TXQX_DBG_STXSTSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_DBG_STXSTSF_SHIFT)) & ENET_QOS_MTL_TXQX_DBG_STXSTSF_MASK)
  39943. /*! @} */
  39944. /* The count of ENET_QOS_MTL_TXQX_DBG */
  39945. #define ENET_QOS_MTL_TXQX_DBG_COUNT (5U)
  39946. /*! @name MTL_TXQX_ETS_CTRL - Queue 1 ETS Control..Queue 4 ETS Control */
  39947. /*! @{ */
  39948. #define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_MASK (0x4U)
  39949. #define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_SHIFT (2U)
  39950. /*! AVALG - AV Algorithm When Queue 1 is programmed for AV, this field configures the scheduling
  39951. * algorithm for this queue: This bit when set, indicates credit based shaper algorithm (CBS) is
  39952. * selected for Queue 1 traffic.
  39953. * 0b0..CBS Algorithm is disabled
  39954. * 0b1..CBS Algorithm is enabled
  39955. */
  39956. #define ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_AVALG_MASK)
  39957. #define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_MASK (0x8U)
  39958. #define ENET_QOS_MTL_TXQX_ETS_CTRL_CC_SHIFT (3U)
  39959. /*! CC - Credit Control When this bit is set, the accumulated credit parameter in the credit-based
  39960. * shaper algorithm logic is not reset to zero when there is positive credit and no packet to
  39961. * transmit in Channel 1.
  39962. * 0b0..Credit Control is disabled
  39963. * 0b1..Credit Control is enabled
  39964. */
  39965. #define ENET_QOS_MTL_TXQX_ETS_CTRL_CC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_CC_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_CC_MASK)
  39966. #define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_MASK (0x70U)
  39967. #define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_SHIFT (4U)
  39968. /*! SLC - Slot Count If the credit-based shaper algorithm is enabled, the software can program the
  39969. * number of slots (of duration programmed in DMA_CH[n]_Slot_Interval register) over which the
  39970. * average transmitted bits per slot, provided in the MTL_TXQ[N]_ETS_STATUS register, need to be
  39971. * computed for Queue.
  39972. * 0b100..16 slots
  39973. * 0b000..1 slot
  39974. * 0b001..2 slots
  39975. * 0b010..4 slots
  39976. * 0b011..8 slots
  39977. * 0b101..Reserved
  39978. */
  39979. #define ENET_QOS_MTL_TXQX_ETS_CTRL_SLC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_CTRL_SLC_MASK)
  39980. /*! @} */
  39981. /* The count of ENET_QOS_MTL_TXQX_ETS_CTRL */
  39982. #define ENET_QOS_MTL_TXQX_ETS_CTRL_COUNT (5U)
  39983. /*! @name MTL_TXQX_ETS_STAT - Queue 0 ETS Status..Queue 4 ETS Status */
  39984. /*! @{ */
  39985. #define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_MASK (0xFFFFFFU)
  39986. #define ENET_QOS_MTL_TXQX_ETS_STAT_ABS_SHIFT (0U)
  39987. /*! ABS - Average Bits per Slot This field contains the average transmitted bits per slot.
  39988. */
  39989. #define ENET_QOS_MTL_TXQX_ETS_STAT_ABS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_ETS_STAT_ABS_SHIFT)) & ENET_QOS_MTL_TXQX_ETS_STAT_ABS_MASK)
  39990. /*! @} */
  39991. /* The count of ENET_QOS_MTL_TXQX_ETS_STAT */
  39992. #define ENET_QOS_MTL_TXQX_ETS_STAT_COUNT (5U)
  39993. /*! @name MTL_TXQX_QNTM_WGHT - Queue 0 Quantum or Weights..Queue 4 idleSlopeCredit, Quantum or Weights */
  39994. /*! @{ */
  39995. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_MASK (0x1FFFFFU)
  39996. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT (0U)
  39997. /*! ISCQW - Quantum or Weights When the DCB operation is enabled with DWRR algorithm for Queue 0
  39998. * traffic, this field contains the quantum value in bytes to be added to credit during every queue
  39999. * scanning cycle.
  40000. */
  40001. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_SHIFT)) & ENET_QOS_MTL_TXQX_QNTM_WGHT_ISCQW_MASK)
  40002. /*! @} */
  40003. /* The count of ENET_QOS_MTL_TXQX_QNTM_WGHT */
  40004. #define ENET_QOS_MTL_TXQX_QNTM_WGHT_COUNT (5U)
  40005. /*! @name MTL_TXQX_SNDSLP_CRDT - Queue 1 sendSlopeCredit..Queue 4 sendSlopeCredit */
  40006. /*! @{ */
  40007. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_MASK (0x3FFFU)
  40008. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT (0U)
  40009. /*! SSC - sendSlopeCredit Value When AV operation is enabled, this field contains the
  40010. * sendSlopeCredit value required for credit-based shaper algorithm for Queue 1.
  40011. */
  40012. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_SHIFT)) & ENET_QOS_MTL_TXQX_SNDSLP_CRDT_SSC_MASK)
  40013. /*! @} */
  40014. /* The count of ENET_QOS_MTL_TXQX_SNDSLP_CRDT */
  40015. #define ENET_QOS_MTL_TXQX_SNDSLP_CRDT_COUNT (5U)
  40016. /*! @name MTL_TXQX_HI_CRDT - Queue 1 hiCredit..Queue 4 hiCredit */
  40017. /*! @{ */
  40018. #define ENET_QOS_MTL_TXQX_HI_CRDT_HC_MASK (0x1FFFFFFFU)
  40019. #define ENET_QOS_MTL_TXQX_HI_CRDT_HC_SHIFT (0U)
  40020. /*! HC - hiCredit Value When the AV feature is enabled, this field contains the hiCredit value
  40021. * required for the credit-based shaper algorithm.
  40022. */
  40023. #define ENET_QOS_MTL_TXQX_HI_CRDT_HC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_HI_CRDT_HC_SHIFT)) & ENET_QOS_MTL_TXQX_HI_CRDT_HC_MASK)
  40024. /*! @} */
  40025. /* The count of ENET_QOS_MTL_TXQX_HI_CRDT */
  40026. #define ENET_QOS_MTL_TXQX_HI_CRDT_COUNT (5U)
  40027. /*! @name MTL_TXQX_LO_CRDT - Queue 1 loCredit..Queue 4 loCredit */
  40028. /*! @{ */
  40029. #define ENET_QOS_MTL_TXQX_LO_CRDT_LC_MASK (0x1FFFFFFFU)
  40030. #define ENET_QOS_MTL_TXQX_LO_CRDT_LC_SHIFT (0U)
  40031. /*! LC - loCredit Value When AV operation is enabled, this field contains the loCredit value
  40032. * required for the credit-based shaper algorithm.
  40033. */
  40034. #define ENET_QOS_MTL_TXQX_LO_CRDT_LC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_LO_CRDT_LC_SHIFT)) & ENET_QOS_MTL_TXQX_LO_CRDT_LC_MASK)
  40035. /*! @} */
  40036. /* The count of ENET_QOS_MTL_TXQX_LO_CRDT */
  40037. #define ENET_QOS_MTL_TXQX_LO_CRDT_COUNT (5U)
  40038. /*! @name MTL_TXQX_INTCTRL_STAT - Queue 0 Interrupt Control Status..Queue 4 Interrupt Control Status */
  40039. /*! @{ */
  40040. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK (0x1U)
  40041. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT (0U)
  40042. /*! TXUNFIS - Transmit Queue Underflow Interrupt Status This bit indicates that the Transmit Queue
  40043. * had an underflow while transmitting the packet.
  40044. * 0b1..Transmit Queue Underflow Interrupt Status detected
  40045. * 0b0..Transmit Queue Underflow Interrupt Status not detected
  40046. */
  40047. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUNFIS_MASK)
  40048. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK (0x2U)
  40049. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT (1U)
  40050. /*! ABPSIS - Average Bits Per Slot Interrupt Status When set, this bit indicates that the MAC has updated the ABS value.
  40051. * 0b1..Average Bits Per Slot Interrupt Status detected
  40052. * 0b0..Average Bits Per Slot Interrupt Status not detected
  40053. */
  40054. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIS_MASK)
  40055. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK (0x100U)
  40056. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT (8U)
  40057. /*! TXUIE - Transmit Queue Underflow Interrupt Enable When this bit is set, the Transmit Queue Underflow interrupt is enabled.
  40058. * 0b0..Transmit Queue Underflow Interrupt Status is disabled
  40059. * 0b1..Transmit Queue Underflow Interrupt Status is enabled
  40060. */
  40061. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_TXUIE_MASK)
  40062. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK (0x200U)
  40063. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT (9U)
  40064. /*! ABPSIE - Average Bits Per Slot Interrupt Enable When this bit is set, the MAC asserts the
  40065. * sbd_intr_o or mci_intr_o interrupt when the average bits per slot status is updated.
  40066. * 0b0..Average Bits Per Slot Interrupt is disabled
  40067. * 0b1..Average Bits Per Slot Interrupt is enabled
  40068. */
  40069. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_ABPSIE_MASK)
  40070. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK (0x10000U)
  40071. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT (16U)
  40072. /*! RXOVFIS - Receive Queue Overflow Interrupt Status This bit indicates that the Receive Queue had
  40073. * an overflow while receiving the packet.
  40074. * 0b1..Receive Queue Overflow Interrupt Status detected
  40075. * 0b0..Receive Queue Overflow Interrupt Status not detected
  40076. */
  40077. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOVFIS_MASK)
  40078. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK (0x1000000U)
  40079. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT (24U)
  40080. /*! RXOIE - Receive Queue Overflow Interrupt Enable When this bit is set, the Receive Queue Overflow interrupt is enabled.
  40081. * 0b0..Receive Queue Overflow Interrupt is disabled
  40082. * 0b1..Receive Queue Overflow Interrupt is enabled
  40083. */
  40084. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_SHIFT)) & ENET_QOS_MTL_TXQX_INTCTRL_STAT_RXOIE_MASK)
  40085. /*! @} */
  40086. /* The count of ENET_QOS_MTL_TXQX_INTCTRL_STAT */
  40087. #define ENET_QOS_MTL_TXQX_INTCTRL_STAT_COUNT (5U)
  40088. /*! @name MTL_RXQX_OP_MODE - Queue 0 Receive Operation Mode..Queue 4 Receive Operation Mode */
  40089. /*! @{ */
  40090. #define ENET_QOS_MTL_RXQX_OP_MODE_RTC_MASK (0x3U)
  40091. #define ENET_QOS_MTL_RXQX_OP_MODE_RTC_SHIFT (0U)
  40092. /*! RTC - Receive Queue Threshold Control These bits control the threshold level of the MTL Rx queue
  40093. * (in bytes): The received packet is transferred to the application or DMA when the packet size
  40094. * within the MTL Rx queue is larger than the threshold.
  40095. * 0b11..128
  40096. * 0b01..32
  40097. * 0b00..64
  40098. * 0b10..96
  40099. */
  40100. #define ENET_QOS_MTL_RXQX_OP_MODE_RTC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RTC_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RTC_MASK)
  40101. #define ENET_QOS_MTL_RXQX_OP_MODE_FUP_MASK (0x8U)
  40102. #define ENET_QOS_MTL_RXQX_OP_MODE_FUP_SHIFT (3U)
  40103. /*! FUP - Forward Undersized Good Packets When this bit is set, the Rx queue forwards the undersized
  40104. * good packets (packets with no error and length less than 64 bytes), including pad-bytes and
  40105. * CRC.
  40106. * 0b0..Forward Undersized Good Packets is disabled
  40107. * 0b1..Forward Undersized Good Packets is enabled
  40108. */
  40109. #define ENET_QOS_MTL_RXQX_OP_MODE_FUP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_FUP_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_FUP_MASK)
  40110. #define ENET_QOS_MTL_RXQX_OP_MODE_FEP_MASK (0x10U)
  40111. #define ENET_QOS_MTL_RXQX_OP_MODE_FEP_SHIFT (4U)
  40112. /*! FEP - Forward Error Packets When this bit is reset, the Rx queue drops packets with error status
  40113. * (CRC error, GMII_ER, watchdog timeout, or overflow).
  40114. * 0b0..Forward Error Packets is disabled
  40115. * 0b1..Forward Error Packets is enabled
  40116. */
  40117. #define ENET_QOS_MTL_RXQX_OP_MODE_FEP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_FEP_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_FEP_MASK)
  40118. #define ENET_QOS_MTL_RXQX_OP_MODE_RSF_MASK (0x20U)
  40119. #define ENET_QOS_MTL_RXQX_OP_MODE_RSF_SHIFT (5U)
  40120. /*! RSF - Receive Queue Store and Forward When this bit is set, the DWC_ether_qos reads a packet
  40121. * from the Rx queue only after the complete packet has been written to it, ignoring the RTC field
  40122. * of this register.
  40123. * 0b0..Receive Queue Store and Forward is disabled
  40124. * 0b1..Receive Queue Store and Forward is enabled
  40125. */
  40126. #define ENET_QOS_MTL_RXQX_OP_MODE_RSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RSF_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RSF_MASK)
  40127. #define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK (0x40U)
  40128. #define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT (6U)
  40129. /*! DIS_TCP_EF - Disable Dropping of TCP/IP Checksum Error Packets When this bit is set, the MAC
  40130. * does not drop the packets which only have the errors detected by the Receive Checksum Offload
  40131. * engine.
  40132. * 0b1..Dropping of TCP/IP Checksum Error Packets is disabled
  40133. * 0b0..Dropping of TCP/IP Checksum Error Packets is enabled
  40134. */
  40135. #define ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_DIS_TCP_EF_MASK)
  40136. #define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_MASK (0x80U)
  40137. #define ENET_QOS_MTL_RXQX_OP_MODE_EHFC_SHIFT (7U)
  40138. /*! EHFC - Enable Hardware Flow Control When this bit is set, the flow control signal operation,
  40139. * based on the fill-level of Rx queue, is enabled.
  40140. * 0b0..Hardware Flow Control is disabled
  40141. * 0b1..Hardware Flow Control is enabled
  40142. */
  40143. #define ENET_QOS_MTL_RXQX_OP_MODE_EHFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_EHFC_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_EHFC_MASK)
  40144. #define ENET_QOS_MTL_RXQX_OP_MODE_RFA_MASK (0xF00U)
  40145. #define ENET_QOS_MTL_RXQX_OP_MODE_RFA_SHIFT (8U)
  40146. /*! RFA - Threshold for Activating Flow Control (in half-duplex and full-duplex These bits control
  40147. * the threshold (fill-level of Rx queue) at which the flow control is activated: For more
  40148. * information on encoding for this field, see RFD.
  40149. */
  40150. #define ENET_QOS_MTL_RXQX_OP_MODE_RFA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RFA_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RFA_MASK)
  40151. #define ENET_QOS_MTL_RXQX_OP_MODE_RFD_MASK (0x3C000U)
  40152. #define ENET_QOS_MTL_RXQX_OP_MODE_RFD_SHIFT (14U)
  40153. /*! RFD - Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) These bits
  40154. * control the threshold (fill-level of Rx queue) at which the flow control is de-asserted after
  40155. * activation: - 0: Full minus 1 KB, that is, FULL 1 KB - 1: Full minus 1.
  40156. */
  40157. #define ENET_QOS_MTL_RXQX_OP_MODE_RFD(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RFD_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RFD_MASK)
  40158. #define ENET_QOS_MTL_RXQX_OP_MODE_RQS_MASK (0x1F00000U)
  40159. #define ENET_QOS_MTL_RXQX_OP_MODE_RQS_SHIFT (20U)
  40160. /*! RQS - Receive Queue Size This field indicates the size of the allocated Receive queues in blocks of 256 bytes.
  40161. */
  40162. #define ENET_QOS_MTL_RXQX_OP_MODE_RQS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_OP_MODE_RQS_SHIFT)) & ENET_QOS_MTL_RXQX_OP_MODE_RQS_MASK)
  40163. /*! @} */
  40164. /* The count of ENET_QOS_MTL_RXQX_OP_MODE */
  40165. #define ENET_QOS_MTL_RXQX_OP_MODE_COUNT (5U)
  40166. /*! @name MTL_RXQX_MISSPKT_OVRFLW_CNT - Queue 0 Missed Packet and Overflow Counter..Queue 4 Missed Packet and Overflow Counter */
  40167. /*! @{ */
  40168. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK (0x7FFU)
  40169. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT (0U)
  40170. /*! OVFPKTCNT - Overflow Packet Counter This field indicates the number of packets discarded by the
  40171. * DWC_ether_qos because of Receive queue overflow.
  40172. */
  40173. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFPKTCNT_MASK)
  40174. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK (0x800U)
  40175. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT (11U)
  40176. /*! OVFCNTOVF - Overflow Counter Overflow Bit When set, this bit indicates that the Rx Queue
  40177. * Overflow Packet Counter field crossed the maximum limit.
  40178. * 0b1..Overflow Counter overflow detected
  40179. * 0b0..Overflow Counter overflow not detected
  40180. */
  40181. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_OVFCNTOVF_MASK)
  40182. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_MASK (0x7FF0000U)
  40183. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_SHIFT (16U)
  40184. /*! MISPKTCNT - Missed Packet Counter This field indicates the number of packets missed by the
  40185. * DWC_ether_qos because the application asserted ari_pkt_flush_i[] for this queue.
  40186. */
  40187. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISPKTCNT_MASK)
  40188. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_MASK (0x8000000U)
  40189. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_SHIFT (27U)
  40190. /*! MISCNTOVF - Missed Packet Counter Overflow Bit When set, this bit indicates that the Rx Queue
  40191. * Missed Packet Counter crossed the maximum limit.
  40192. * 0b1..Missed Packet Counter overflow detected
  40193. * 0b0..Missed Packet Counter overflow not detected
  40194. */
  40195. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_SHIFT)) & ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_MISCNTOVF_MASK)
  40196. /*! @} */
  40197. /* The count of ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT */
  40198. #define ENET_QOS_MTL_RXQX_MISSPKT_OVRFLW_CNT_COUNT (5U)
  40199. /*! @name MTL_RXQX_DBG - Queue 0 Receive Debug..Queue 4 Receive Debug */
  40200. /*! @{ */
  40201. #define ENET_QOS_MTL_RXQX_DBG_RWCSTS_MASK (0x1U)
  40202. #define ENET_QOS_MTL_RXQX_DBG_RWCSTS_SHIFT (0U)
  40203. /*! RWCSTS - MTL Rx Queue Write Controller Active Status When high, this bit indicates that the MTL
  40204. * Rx queue Write controller is active, and it is transferring a received packet to the Rx Queue.
  40205. * 0b1..MTL Rx Queue Write Controller Active Status detected
  40206. * 0b0..MTL Rx Queue Write Controller Active Status not detected
  40207. */
  40208. #define ENET_QOS_MTL_RXQX_DBG_RWCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RWCSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RWCSTS_MASK)
  40209. #define ENET_QOS_MTL_RXQX_DBG_RRCSTS_MASK (0x6U)
  40210. #define ENET_QOS_MTL_RXQX_DBG_RRCSTS_SHIFT (1U)
  40211. /*! RRCSTS - MTL Rx Queue Read Controller State This field gives the state of the Rx queue Read controller:
  40212. * 0b11..Flushing the packet data and status
  40213. * 0b00..Idle state
  40214. * 0b01..Reading packet data
  40215. * 0b10..Reading packet status (or timestamp)
  40216. */
  40217. #define ENET_QOS_MTL_RXQX_DBG_RRCSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RRCSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RRCSTS_MASK)
  40218. #define ENET_QOS_MTL_RXQX_DBG_RXQSTS_MASK (0x30U)
  40219. #define ENET_QOS_MTL_RXQX_DBG_RXQSTS_SHIFT (4U)
  40220. /*! RXQSTS - MTL Rx Queue Fill-Level Status This field gives the status of the fill-level of the Rx Queue:
  40221. * 0b10..Rx Queue fill-level above flow-control activate threshold
  40222. * 0b01..Rx Queue fill-level below flow-control deactivate threshold
  40223. * 0b00..Rx Queue empty
  40224. * 0b11..Rx Queue full
  40225. */
  40226. #define ENET_QOS_MTL_RXQX_DBG_RXQSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_RXQSTS_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_RXQSTS_MASK)
  40227. #define ENET_QOS_MTL_RXQX_DBG_PRXQ_MASK (0x3FFF0000U)
  40228. #define ENET_QOS_MTL_RXQX_DBG_PRXQ_SHIFT (16U)
  40229. /*! PRXQ - Number of Packets in Receive Queue This field indicates the current number of packets in the Rx Queue.
  40230. */
  40231. #define ENET_QOS_MTL_RXQX_DBG_PRXQ(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_DBG_PRXQ_SHIFT)) & ENET_QOS_MTL_RXQX_DBG_PRXQ_MASK)
  40232. /*! @} */
  40233. /* The count of ENET_QOS_MTL_RXQX_DBG */
  40234. #define ENET_QOS_MTL_RXQX_DBG_COUNT (5U)
  40235. /*! @name MTL_RXQX_CTRL - Queue 0 Receive Control..Queue 4 Receive Control */
  40236. /*! @{ */
  40237. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_MASK (0x7U)
  40238. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT (0U)
  40239. /*! RXQ_WEGT - Receive Queue Weight This field indicates the weight assigned to the Rx Queue 0.
  40240. */
  40241. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_SHIFT)) & ENET_QOS_MTL_RXQX_CTRL_RXQ_WEGT_MASK)
  40242. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK (0x8U)
  40243. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT (3U)
  40244. /*! RXQ_FRM_ARBIT - Receive Queue Packet Arbitration When this bit is set, the DWC_ether_qos drives
  40245. * the packet data to the ARI interface such that the entire packet data of currently-selected
  40246. * queue is transmitted before switching to other queue.
  40247. * 0b0..Receive Queue Packet Arbitration is disabled
  40248. * 0b1..Receive Queue Packet Arbitration is enabled
  40249. */
  40250. #define ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_SHIFT)) & ENET_QOS_MTL_RXQX_CTRL_RXQ_FRM_ARBIT_MASK)
  40251. /*! @} */
  40252. /* The count of ENET_QOS_MTL_RXQX_CTRL */
  40253. #define ENET_QOS_MTL_RXQX_CTRL_COUNT (5U)
  40254. /*! @name DMA_MODE - DMA Bus Mode */
  40255. /*! @{ */
  40256. #define ENET_QOS_DMA_MODE_SWR_MASK (0x1U)
  40257. #define ENET_QOS_DMA_MODE_SWR_SHIFT (0U)
  40258. /*! SWR - Software Reset When this bit is set, the MAC and the DMA controller reset the logic and
  40259. * all internal registers of the DMA, MTL, and MAC.
  40260. * 0b0..Software Reset is disabled
  40261. * 0b1..Software Reset is enabled
  40262. */
  40263. #define ENET_QOS_DMA_MODE_SWR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_SWR_SHIFT)) & ENET_QOS_DMA_MODE_SWR_MASK)
  40264. #define ENET_QOS_DMA_MODE_DSPW_MASK (0x100U)
  40265. #define ENET_QOS_DMA_MODE_DSPW_SHIFT (8U)
  40266. /*! DSPW - Descriptor Posted Write When this bit is set to 0, the descriptor writes are always non-posted.
  40267. * 0b0..Descriptor Posted Write is disabled
  40268. * 0b1..Descriptor Posted Write is enabled
  40269. */
  40270. #define ENET_QOS_DMA_MODE_DSPW(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_DSPW_SHIFT)) & ENET_QOS_DMA_MODE_DSPW_MASK)
  40271. #define ENET_QOS_DMA_MODE_INTM_MASK (0x30000U)
  40272. #define ENET_QOS_DMA_MODE_INTM_SHIFT (16U)
  40273. /*! INTM - Interrupt Mode This field defines the interrupt mode of DWC_ether_qos.
  40274. * 0b00..See above description
  40275. * 0b01..See above description
  40276. * 0b10..See above description
  40277. * 0b11..Reserved
  40278. */
  40279. #define ENET_QOS_DMA_MODE_INTM(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_MODE_INTM_SHIFT)) & ENET_QOS_DMA_MODE_INTM_MASK)
  40280. /*! @} */
  40281. /*! @name DMA_SYSBUS_MODE - DMA System Bus Mode */
  40282. /*! @{ */
  40283. #define ENET_QOS_DMA_SYSBUS_MODE_FB_MASK (0x1U)
  40284. #define ENET_QOS_DMA_SYSBUS_MODE_FB_SHIFT (0U)
  40285. /*! FB - Fixed Burst Length When this bit is set to 1, the EQOS-AXI master initiates burst transfers
  40286. * of specified lengths as given below.
  40287. * 0b0..Fixed Burst Length is disabled
  40288. * 0b1..Fixed Burst Length is enabled
  40289. */
  40290. #define ENET_QOS_DMA_SYSBUS_MODE_FB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_FB_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_FB_MASK)
  40291. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_MASK (0x2U)
  40292. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN4_SHIFT (1U)
  40293. /*! BLEN4 - AXI Burst Length 4 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40294. * master can select a burst length of 4 on the AXI interface.
  40295. * 0b0..No effect
  40296. * 0b1..AXI Burst Length 4
  40297. */
  40298. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN4_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN4_MASK)
  40299. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_MASK (0x4U)
  40300. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN8_SHIFT (2U)
  40301. /*! BLEN8 - AXI Burst Length 8 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40302. * master can select a burst length of 8 on the AXI interface.
  40303. * 0b0..No effect
  40304. * 0b1..AXI Burst Length 8
  40305. */
  40306. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN8(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN8_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN8_MASK)
  40307. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_MASK (0x8U)
  40308. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN16_SHIFT (3U)
  40309. /*! BLEN16 - AXI Burst Length 16 When this bit is set to 1 or the FB bit is set to 0, the EQOS-AXI
  40310. * master can select a burst length of 16 on the AXI interface.
  40311. * 0b0..No effect
  40312. * 0b1..AXI Burst Length 16
  40313. */
  40314. #define ENET_QOS_DMA_SYSBUS_MODE_BLEN16(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_BLEN16_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_BLEN16_MASK)
  40315. #define ENET_QOS_DMA_SYSBUS_MODE_AALE_MASK (0x400U)
  40316. #define ENET_QOS_DMA_SYSBUS_MODE_AALE_SHIFT (10U)
  40317. /*! AALE - Automatic AXI LPI enable When set to 1, enables the AXI master to enter into LPI state
  40318. * when there is no activity in the DWC_ether_qos for number of system clock cycles programmed in
  40319. * the LPIEI field of DMA_AXI_LPI_ENTRY_INTERVAL register.
  40320. * 0b0..Automatic AXI LPI is disabled
  40321. * 0b1..Automatic AXI LPI is enabled
  40322. */
  40323. #define ENET_QOS_DMA_SYSBUS_MODE_AALE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_AALE_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_AALE_MASK)
  40324. #define ENET_QOS_DMA_SYSBUS_MODE_AAL_MASK (0x1000U)
  40325. #define ENET_QOS_DMA_SYSBUS_MODE_AAL_SHIFT (12U)
  40326. /*! AAL - Address-Aligned Beats When this bit is set to 1, the EQOS-AXI or EQOS-AHB master performs
  40327. * address-aligned burst transfers on Read and Write channels.
  40328. * 0b0..Address-Aligned Beats is disabled
  40329. * 0b1..Address-Aligned Beats is enabled
  40330. */
  40331. #define ENET_QOS_DMA_SYSBUS_MODE_AAL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_AAL_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_AAL_MASK)
  40332. #define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_MASK (0x2000U)
  40333. #define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_SHIFT (13U)
  40334. /*! ONEKBBE - 1 KB Boundary Crossing Enable for the EQOS-AXI Master When set, the burst transfers
  40335. * performed by the EQOS-AXI master do not cross 1 KB boundary.
  40336. * 0b0..1 KB Boundary Crossing for the EQOS-AXI Master Beats is disabled
  40337. * 0b1..1 KB Boundary Crossing for the EQOS-AXI Master Beats is enabled
  40338. */
  40339. #define ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_ONEKBBE_MASK)
  40340. #define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK (0xF0000U)
  40341. #define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT (16U)
  40342. /*! RD_OSR_LMT - AXI Maximum Read Outstanding Request Limit This value limits the maximum outstanding request on the AXI read interface.
  40343. */
  40344. #define ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_RD_OSR_LMT_MASK)
  40345. #define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK (0xF000000U)
  40346. #define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT (24U)
  40347. /*! WR_OSR_LMT - AXI Maximum Write Outstanding Request Limit This value limits the maximum
  40348. * outstanding request on the AXI write interface.
  40349. */
  40350. #define ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_WR_OSR_LMT_MASK)
  40351. #define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_MASK (0x40000000U)
  40352. #define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_SHIFT (30U)
  40353. /*! LPI_XIT_PKT - Unlock on Magic Packet or Remote Wake-Up Packet When set to 1, this bit enables
  40354. * the AXI master to come out of the LPI mode only when the magic packet or remote wake-up packet
  40355. * is received.
  40356. * 0b0..Unlock on Magic Packet or Remote Wake-Up Packet is disabled
  40357. * 0b1..Unlock on Magic Packet or Remote Wake-Up Packet is enabled
  40358. */
  40359. #define ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_LPI_XIT_PKT_MASK)
  40360. #define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_MASK (0x80000000U)
  40361. #define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_SHIFT (31U)
  40362. /*! EN_LPI - Enable Low Power Interface (LPI) When set to 1, this bit enables the LPI mode supported
  40363. * by the EQOS-AXI configuration and accepts the LPI request from the AXI System Clock
  40364. * controller.
  40365. * 0b0..Low Power Interface (LPI) is disabled
  40366. * 0b1..Low Power Interface (LPI) is enabled
  40367. */
  40368. #define ENET_QOS_DMA_SYSBUS_MODE_EN_LPI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_SHIFT)) & ENET_QOS_DMA_SYSBUS_MODE_EN_LPI_MASK)
  40369. /*! @} */
  40370. /*! @name DMA_INTERRUPT_STATUS - DMA Interrupt Status */
  40371. /*! @{ */
  40372. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_MASK (0x1U)
  40373. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_SHIFT (0U)
  40374. /*! DC0IS - DMA Channel 0 Interrupt Status This bit indicates an interrupt event in DMA Channel 0.
  40375. * 0b1..DMA Channel 0 Interrupt Status detected
  40376. * 0b0..DMA Channel 0 Interrupt Status not detected
  40377. */
  40378. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC0IS_MASK)
  40379. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_MASK (0x2U)
  40380. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_SHIFT (1U)
  40381. /*! DC1IS - DMA Channel 1 Interrupt Status This bit indicates an interrupt event in DMA Channel 1.
  40382. * 0b1..DMA Channel 1 Interrupt Status detected
  40383. * 0b0..DMA Channel 1 Interrupt Status not detected
  40384. */
  40385. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC1IS_MASK)
  40386. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_MASK (0x4U)
  40387. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_SHIFT (2U)
  40388. /*! DC2IS - DMA Channel 2 Interrupt Status This bit indicates an interrupt event in DMA Channel 2.
  40389. * 0b1..DMA Channel 2 Interrupt Status detected
  40390. * 0b0..DMA Channel 2 Interrupt Status not detected
  40391. */
  40392. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC2IS_MASK)
  40393. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_MASK (0x8U)
  40394. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_SHIFT (3U)
  40395. /*! DC3IS - DMA Channel 3 Interrupt Status This bit indicates an interrupt event in DMA Channel 3.
  40396. * 0b1..DMA Channel 3 Interrupt Status detected
  40397. * 0b0..DMA Channel 3 Interrupt Status not detected
  40398. */
  40399. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC3IS_MASK)
  40400. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_MASK (0x10U)
  40401. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_SHIFT (4U)
  40402. /*! DC4IS - DMA Channel 4 Interrupt Status This bit indicates an interrupt event in DMA Channel 4.
  40403. * 0b1..DMA Channel 4 Interrupt Status detected
  40404. * 0b0..DMA Channel 4 Interrupt Status not detected
  40405. */
  40406. #define ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_DC4IS_MASK)
  40407. #define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_MASK (0x10000U)
  40408. #define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_SHIFT (16U)
  40409. /*! MTLIS - MTL Interrupt Status This bit indicates an interrupt event in the MTL.
  40410. * 0b1..MTL Interrupt Status detected
  40411. * 0b0..MTL Interrupt Status not detected
  40412. */
  40413. #define ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_MTLIS_MASK)
  40414. #define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_MASK (0x20000U)
  40415. #define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_SHIFT (17U)
  40416. /*! MACIS - MAC Interrupt Status This bit indicates an interrupt event in the MAC.
  40417. * 0b1..MAC Interrupt Status detected
  40418. * 0b0..MAC Interrupt Status not detected
  40419. */
  40420. #define ENET_QOS_DMA_INTERRUPT_STATUS_MACIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_SHIFT)) & ENET_QOS_DMA_INTERRUPT_STATUS_MACIS_MASK)
  40421. /*! @} */
  40422. /*! @name DMA_DEBUG_STATUS0 - DMA Debug Status 0 */
  40423. /*! @{ */
  40424. #define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_MASK (0x1U)
  40425. #define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_SHIFT (0U)
  40426. /*! AXWHSTS - AXI Master Write Channel When high, this bit indicates that the write channel of the
  40427. * AXI master is active, and it is transferring data.
  40428. * 0b1..AXI Master Write Channel or AHB Master Status detected
  40429. * 0b0..AXI Master Write Channel or AHB Master Status not detected
  40430. */
  40431. #define ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_AXWHSTS_MASK)
  40432. #define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_MASK (0x2U)
  40433. #define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_SHIFT (1U)
  40434. /*! AXRHSTS - AXI Master Read Channel Status When high, this bit indicates that the read channel of
  40435. * the AXI master is active, and it is transferring the data.
  40436. * 0b1..AXI Master Read Channel Status detected
  40437. * 0b0..AXI Master Read Channel Status not detected
  40438. */
  40439. #define ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_AXRHSTS_MASK)
  40440. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_MASK (0xF00U)
  40441. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS0_SHIFT (8U)
  40442. /*! RPS0 - DMA Channel 0 Receive Process State This field indicates the Rx DMA FSM state for Channel 0.
  40443. * 0b0010..Reserved for future use
  40444. * 0b0101..Running (Closing the Rx Descriptor)
  40445. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40446. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40447. * 0b0011..Running (Waiting for Rx packet)
  40448. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40449. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40450. * 0b0110..Timestamp write state
  40451. */
  40452. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS0_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS0_MASK)
  40453. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_MASK (0xF000U)
  40454. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS0_SHIFT (12U)
  40455. /*! TPS0 - DMA Channel 0 Transmit Process State This field indicates the Tx DMA FSM state for Channel 0.
  40456. * 0b0101..Reserved for future use
  40457. * 0b0111..Running (Closing Tx Descriptor)
  40458. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40459. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40460. * 0b0010..Running (Waiting for status)
  40461. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40462. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40463. * 0b0100..Timestamp write state
  40464. */
  40465. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS0_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS0_MASK)
  40466. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_MASK (0xF0000U)
  40467. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS1_SHIFT (16U)
  40468. /*! RPS1 - DMA Channel 1 Receive Process State This field indicates the Rx DMA FSM state for Channel 1.
  40469. * 0b0010..Reserved for future use
  40470. * 0b0101..Running (Closing the Rx Descriptor)
  40471. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40472. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40473. * 0b0011..Running (Waiting for Rx packet)
  40474. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40475. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40476. * 0b0110..Timestamp write state
  40477. */
  40478. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS1_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS1_MASK)
  40479. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_MASK (0xF00000U)
  40480. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS1_SHIFT (20U)
  40481. /*! TPS1 - DMA Channel 1 Transmit Process State This field indicates the Tx DMA FSM state for Channel 1.
  40482. * 0b0101..Reserved for future use
  40483. * 0b0111..Running (Closing Tx Descriptor)
  40484. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40485. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40486. * 0b0010..Running (Waiting for status)
  40487. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40488. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40489. * 0b0100..Timestamp write state
  40490. */
  40491. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS1(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS1_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS1_MASK)
  40492. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_MASK (0xF000000U)
  40493. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS2_SHIFT (24U)
  40494. /*! RPS2 - DMA Channel 2 Receive Process State This field indicates the Rx DMA FSM state for Channel 2.
  40495. * 0b0010..Reserved for future use
  40496. * 0b0101..Running (Closing the Rx Descriptor)
  40497. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40498. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40499. * 0b0011..Running (Waiting for Rx packet)
  40500. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40501. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40502. * 0b0110..Timestamp write state
  40503. */
  40504. #define ENET_QOS_DMA_DEBUG_STATUS0_RPS2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_RPS2_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_RPS2_MASK)
  40505. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_MASK (0xF0000000U)
  40506. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS2_SHIFT (28U)
  40507. /*! TPS2 - DMA Channel 2 Transmit Process State This field indicates the Tx DMA FSM state for Channel 2.
  40508. * 0b0101..Reserved for future use
  40509. * 0b0111..Running (Closing Tx Descriptor)
  40510. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40511. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40512. * 0b0010..Running (Waiting for status)
  40513. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40514. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40515. * 0b0100..Timestamp write state
  40516. */
  40517. #define ENET_QOS_DMA_DEBUG_STATUS0_TPS2(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS0_TPS2_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS0_TPS2_MASK)
  40518. /*! @} */
  40519. /*! @name DMA_DEBUG_STATUS1 - DMA Debug Status 1 */
  40520. /*! @{ */
  40521. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_MASK (0xFU)
  40522. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS3_SHIFT (0U)
  40523. /*! RPS3 - DMA Channel 3 Receive Process State This field indicates the Rx DMA FSM state for Channel 3.
  40524. * 0b0010..Reserved for future use
  40525. * 0b0101..Running (Closing the Rx Descriptor)
  40526. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40527. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40528. * 0b0011..Running (Waiting for Rx packet)
  40529. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40530. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40531. * 0b0110..Timestamp write state
  40532. */
  40533. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_RPS3_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_RPS3_MASK)
  40534. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_MASK (0xF0U)
  40535. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS3_SHIFT (4U)
  40536. /*! TPS3 - DMA Channel 3 Transmit Process State This field indicates the Tx DMA FSM state for Channel 3.
  40537. * 0b0101..Reserved for future use
  40538. * 0b0111..Running (Closing Tx Descriptor)
  40539. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40540. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40541. * 0b0010..Running (Waiting for status)
  40542. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40543. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40544. * 0b0100..Timestamp write state
  40545. */
  40546. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS3(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_TPS3_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_TPS3_MASK)
  40547. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_MASK (0xF00U)
  40548. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS4_SHIFT (8U)
  40549. /*! RPS4 - DMA Channel 4 Receive Process State This field indicates the Rx DMA FSM state for Channel 4.
  40550. * 0b0010..Reserved for future use
  40551. * 0b0101..Running (Closing the Rx Descriptor)
  40552. * 0b0001..Running (Fetching Rx Transfer Descriptor)
  40553. * 0b0111..Running (Transferring the received packet data from the Rx buffer to the system memory)
  40554. * 0b0011..Running (Waiting for Rx packet)
  40555. * 0b0000..Stopped (Reset or Stop Receive Command issued)
  40556. * 0b0100..Suspended (Rx Descriptor Unavailable)
  40557. * 0b0110..Timestamp write state
  40558. */
  40559. #define ENET_QOS_DMA_DEBUG_STATUS1_RPS4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_RPS4_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_RPS4_MASK)
  40560. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_MASK (0xF000U)
  40561. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS4_SHIFT (12U)
  40562. /*! TPS4 - DMA Channel 4 Transmit Process State This field indicates the Tx DMA FSM state for Channel 4.
  40563. * 0b0101..Reserved for future use
  40564. * 0b0111..Running (Closing Tx Descriptor)
  40565. * 0b0001..Running (Fetching Tx Transfer Descriptor)
  40566. * 0b0011..Running (Reading Data from system memory buffer and queuing it to the Tx buffer (Tx FIFO))
  40567. * 0b0010..Running (Waiting for status)
  40568. * 0b0000..Stopped (Reset or Stop Transmit Command issued)
  40569. * 0b0110..Suspended (Tx Descriptor Unavailable or Tx Buffer Underflow)
  40570. * 0b0100..Timestamp write state
  40571. */
  40572. #define ENET_QOS_DMA_DEBUG_STATUS1_TPS4(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_DEBUG_STATUS1_TPS4_SHIFT)) & ENET_QOS_DMA_DEBUG_STATUS1_TPS4_MASK)
  40573. /*! @} */
  40574. /*! @name DMA_AXI_LPI_ENTRY_INTERVAL - AXI LPI Entry Interval Control */
  40575. /*! @{ */
  40576. #define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_MASK (0xFU)
  40577. #define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_SHIFT (0U)
  40578. /*! LPIEI - LPI Entry Interval Contains the number of system clock cycles, multiplied by 64, to wait
  40579. * for an activity in the DWC_ether_qos to enter into the AXI low power state 0 indicates 64
  40580. * clock cycles
  40581. */
  40582. #define ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_SHIFT)) & ENET_QOS_DMA_AXI_LPI_ENTRY_INTERVAL_LPIEI_MASK)
  40583. /*! @} */
  40584. /*! @name DMA_TBS_CTRL - TBS Control */
  40585. /*! @{ */
  40586. #define ENET_QOS_DMA_TBS_CTRL_FTOV_MASK (0x1U)
  40587. #define ENET_QOS_DMA_TBS_CTRL_FTOV_SHIFT (0U)
  40588. /*! FTOV - Fetch Time Offset Valid When set indicates the FTOS field is valid.
  40589. * 0b0..Fetch Time Offset is invalid
  40590. * 0b1..Fetch Time Offset is valid
  40591. */
  40592. #define ENET_QOS_DMA_TBS_CTRL_FTOV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL_FTOV_SHIFT)) & ENET_QOS_DMA_TBS_CTRL_FTOV_MASK)
  40593. #define ENET_QOS_DMA_TBS_CTRL_FGOS_MASK (0x70U)
  40594. #define ENET_QOS_DMA_TBS_CTRL_FGOS_SHIFT (4U)
  40595. /*! FGOS - Fetch GSN Offset The number GSN slots that must be deducted from the Launch GSN to compute the Fetch GSN.
  40596. */
  40597. #define ENET_QOS_DMA_TBS_CTRL_FGOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL_FGOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL_FGOS_MASK)
  40598. #define ENET_QOS_DMA_TBS_CTRL_FTOS_MASK (0xFFFFFF00U)
  40599. #define ENET_QOS_DMA_TBS_CTRL_FTOS_SHIFT (8U)
  40600. /*! FTOS - Fetch Time Offset The value in units of 256 nanoseconds, that has to be deducted from the
  40601. * Launch time to compute the Fetch Time.
  40602. */
  40603. #define ENET_QOS_DMA_TBS_CTRL_FTOS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_TBS_CTRL_FTOS_SHIFT)) & ENET_QOS_DMA_TBS_CTRL_FTOS_MASK)
  40604. /*! @} */
  40605. /*! @name DMA_CHX_CTRL - DMA Channel 0 Control..DMA Channel 4 Control */
  40606. /*! @{ */
  40607. #define ENET_QOS_DMA_CHX_CTRL_PBLx8_MASK (0x10000U)
  40608. #define ENET_QOS_DMA_CHX_CTRL_PBLx8_SHIFT (16U)
  40609. /*! PBLx8 - 8xPBL mode When this bit is set, the PBL value programmed in Bits[21:16] in
  40610. * DMA_CH4_TX_CONTROL and Bits[21:16] in DMA_CH4_RX_CONTROL is multiplied by eight times.
  40611. * 0b0..8xPBL mode is disabled
  40612. * 0b1..8xPBL mode is enabled
  40613. */
  40614. #define ENET_QOS_DMA_CHX_CTRL_PBLx8(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CTRL_PBLx8_SHIFT)) & ENET_QOS_DMA_CHX_CTRL_PBLx8_MASK)
  40615. #define ENET_QOS_DMA_CHX_CTRL_DSL_MASK (0x1C0000U)
  40616. #define ENET_QOS_DMA_CHX_CTRL_DSL_SHIFT (18U)
  40617. /*! DSL - Descriptor Skip Length This bit specifies the Word, Dword, or Lword number (depending on
  40618. * the 32-bit, 64-bit, or 128-bit bus) to skip between two unchained descriptors.
  40619. */
  40620. #define ENET_QOS_DMA_CHX_CTRL_DSL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CTRL_DSL_SHIFT)) & ENET_QOS_DMA_CHX_CTRL_DSL_MASK)
  40621. /*! @} */
  40622. /* The count of ENET_QOS_DMA_CHX_CTRL */
  40623. #define ENET_QOS_DMA_CHX_CTRL_COUNT (5U)
  40624. /*! @name DMA_CHX_TX_CTRL - DMA Channel 0 Transmit Control..DMA Channel 4 Transmit Control */
  40625. /*! @{ */
  40626. #define ENET_QOS_DMA_CHX_TX_CTRL_ST_MASK (0x1U)
  40627. #define ENET_QOS_DMA_CHX_TX_CTRL_ST_SHIFT (0U)
  40628. /*! ST - Start or Stop Transmission Command When this bit is set, transmission is placed in the Running state.
  40629. * 0b1..Start Transmission Command
  40630. * 0b0..Stop Transmission Command
  40631. */
  40632. #define ENET_QOS_DMA_CHX_TX_CTRL_ST(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_ST_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_ST_MASK)
  40633. #define ENET_QOS_DMA_CHX_TX_CTRL_OSF_MASK (0x10U)
  40634. #define ENET_QOS_DMA_CHX_TX_CTRL_OSF_SHIFT (4U)
  40635. /*! OSF - Operate on Second Packet When this bit is set, it instructs the DMA to process the second
  40636. * packet of the Transmit data even before the status for the first packet is obtained.
  40637. * 0b0..Operate on Second Packet disabled
  40638. * 0b1..Operate on Second Packet enabled
  40639. */
  40640. #define ENET_QOS_DMA_CHX_TX_CTRL_OSF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_OSF_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_OSF_MASK)
  40641. #define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_MASK (0x8000U)
  40642. #define ENET_QOS_DMA_CHX_TX_CTRL_IPBL_SHIFT (15U)
  40643. /*! IPBL - Ignore PBL Requirement When this bit is set, the DMA does not check for PBL number of
  40644. * locations in the MTL before initiating a transfer.
  40645. * 0b0..Ignore PBL Requirement is disabled
  40646. * 0b1..Ignore PBL Requirement is enabled
  40647. */
  40648. #define ENET_QOS_DMA_CHX_TX_CTRL_IPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_IPBL_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_IPBL_MASK)
  40649. #define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_MASK (0x3F0000U)
  40650. #define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_SHIFT (16U)
  40651. /*! TxPBL - Transmit Programmable Burst Length These bits indicate the maximum number of beats to be
  40652. * transferred in one DMA block data transfer.
  40653. */
  40654. #define ENET_QOS_DMA_CHX_TX_CTRL_TxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_TxPBL_MASK)
  40655. #define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_MASK (0x10000000U)
  40656. #define ENET_QOS_DMA_CHX_TX_CTRL_EDSE_SHIFT (28U)
  40657. /*! EDSE - Enhanced Descriptor Enable When this bit is set, the corresponding channel uses Enhanced
  40658. * Descriptors that are 32 Bytes for both Normal and Context Descriptors.
  40659. * 0b0..Enhanced Descriptor is disabled
  40660. * 0b1..Enhanced Descriptor is enabled
  40661. */
  40662. #define ENET_QOS_DMA_CHX_TX_CTRL_EDSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TX_CTRL_EDSE_SHIFT)) & ENET_QOS_DMA_CHX_TX_CTRL_EDSE_MASK)
  40663. /*! @} */
  40664. /* The count of ENET_QOS_DMA_CHX_TX_CTRL */
  40665. #define ENET_QOS_DMA_CHX_TX_CTRL_COUNT (5U)
  40666. /*! @name DMA_CHX_RX_CTRL - DMA Channel 0 Receive Control..DMA Channel 4 Receive Control */
  40667. /*! @{ */
  40668. #define ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK (0x1U)
  40669. #define ENET_QOS_DMA_CHX_RX_CTRL_SR_SHIFT (0U)
  40670. /*! SR - Start or Stop Receive When this bit is set, the DMA tries to acquire the descriptor from
  40671. * the Receive list and processes the incoming packets.
  40672. * 0b1..Start Receive
  40673. * 0b0..Stop Receive
  40674. */
  40675. #define ENET_QOS_DMA_CHX_RX_CTRL_SR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_SR_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_SR_MASK)
  40676. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_MASK (0xEU)
  40677. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_SHIFT (1U)
  40678. /*! RBSZ_x_0 - Receive Buffer size Low RBSZ[13:0] is split into two fields RBSZ_13_y and RBSZ_x_0.
  40679. */
  40680. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_x_0_MASK)
  40681. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_MASK (0x7FF0U)
  40682. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_SHIFT (4U)
  40683. /*! RBSZ_13_y - Receive Buffer size High RBSZ[13:0] is split into two fields higher RBSZ_13_y and lower RBSZ_x_0.
  40684. */
  40685. #define ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RBSZ_13_y_MASK)
  40686. #define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_MASK (0x3F0000U)
  40687. #define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_SHIFT (16U)
  40688. /*! RxPBL - Receive Programmable Burst Length These bits indicate the maximum number of beats to be
  40689. * transferred in one DMA block data transfer.
  40690. */
  40691. #define ENET_QOS_DMA_CHX_RX_CTRL_RxPBL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RxPBL_MASK)
  40692. #define ENET_QOS_DMA_CHX_RX_CTRL_RPF_MASK (0x80000000U)
  40693. #define ENET_QOS_DMA_CHX_RX_CTRL_RPF_SHIFT (31U)
  40694. /*! RPF - Rx Packet Flush.
  40695. * 0b0..Rx Packet Flush is disabled
  40696. * 0b1..Rx Packet Flush is enabled
  40697. */
  40698. #define ENET_QOS_DMA_CHX_RX_CTRL_RPF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_CTRL_RPF_SHIFT)) & ENET_QOS_DMA_CHX_RX_CTRL_RPF_MASK)
  40699. /*! @} */
  40700. /* The count of ENET_QOS_DMA_CHX_RX_CTRL */
  40701. #define ENET_QOS_DMA_CHX_RX_CTRL_COUNT (5U)
  40702. /*! @name DMA_CHX_TXDESC_LIST_ADDR - Channel 0 Tx Descriptor List Address register..Channel 4 Tx Descriptor List Address */
  40703. /*! @{ */
  40704. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_MASK (0xFFFFFFF8U)
  40705. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_SHIFT (3U)
  40706. /*! TDESLA - Start of Transmit List This field contains the base address of the first descriptor in the Transmit descriptor list.
  40707. */
  40708. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_TDESLA_MASK)
  40709. /*! @} */
  40710. /* The count of ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR */
  40711. #define ENET_QOS_DMA_CHX_TXDESC_LIST_ADDR_COUNT (5U)
  40712. /*! @name DMA_CHX_RXDESC_LIST_ADDR - Channel 0 Rx Descriptor List Address register..Channel 4 Rx Descriptor List Address */
  40713. /*! @{ */
  40714. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_MASK (0xFFFFFFF8U)
  40715. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_SHIFT (3U)
  40716. /*! RDESLA - Start of Receive List This field contains the base address of the first descriptor in the Rx Descriptor list.
  40717. */
  40718. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_SHIFT)) & ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_RDESLA_MASK)
  40719. /*! @} */
  40720. /* The count of ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR */
  40721. #define ENET_QOS_DMA_CHX_RXDESC_LIST_ADDR_COUNT (5U)
  40722. /*! @name DMA_CHX_TXDESC_TAIL_PTR - Channel 0 Tx Descriptor Tail Pointer..Channel 4 Tx Descriptor Tail Pointer */
  40723. /*! @{ */
  40724. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK (0xFFFFFFF8U)
  40725. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT (3U)
  40726. /*! TDTP - Transmit Descriptor Tail Pointer This field contains the tail pointer for the Tx descriptor ring.
  40727. */
  40728. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_TDTP_MASK)
  40729. /*! @} */
  40730. /* The count of ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR */
  40731. #define ENET_QOS_DMA_CHX_TXDESC_TAIL_PTR_COUNT (5U)
  40732. /*! @name DMA_CHX_RXDESC_TAIL_PTR - Channel 0 Rx Descriptor Tail Pointer..Channel 4 Rx Descriptor Tail Pointer */
  40733. /*! @{ */
  40734. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK (0xFFFFFFF8U)
  40735. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT (3U)
  40736. /*! RDTP - Receive Descriptor Tail Pointer This field contains the tail pointer for the Rx descriptor ring.
  40737. */
  40738. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_SHIFT)) & ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_RDTP_MASK)
  40739. /*! @} */
  40740. /* The count of ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR */
  40741. #define ENET_QOS_DMA_CHX_RXDESC_TAIL_PTR_COUNT (5U)
  40742. /*! @name DMA_CHX_TXDESC_RING_LENGTH - Channel 0 Tx Descriptor Ring Length..Channel 4 Tx Descriptor Ring Length */
  40743. /*! @{ */
  40744. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK (0x3FFU)
  40745. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT (0U)
  40746. /*! TDRL - Transmit Descriptor Ring Length This field sets the maximum number of Tx descriptors in the circular descriptor ring.
  40747. */
  40748. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_SHIFT)) & ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_TDRL_MASK)
  40749. /*! @} */
  40750. /* The count of ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH */
  40751. #define ENET_QOS_DMA_CHX_TXDESC_RING_LENGTH_COUNT (5U)
  40752. /*! @name DMA_CHX_RXDESC_RING_LENGTH - Channel 0 Rx Descriptor Ring Length..Channel 4 Rx Descriptor Ring Length */
  40753. /*! @{ */
  40754. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_MASK (0x3FFU)
  40755. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_SHIFT (0U)
  40756. /*! RDRL - Receive Descriptor Ring Length This register sets the maximum number of Rx descriptors in the circular descriptor ring.
  40757. */
  40758. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_SHIFT)) & ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_RDRL_MASK)
  40759. /*! @} */
  40760. /* The count of ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH */
  40761. #define ENET_QOS_DMA_CHX_RXDESC_RING_LENGTH_COUNT (5U)
  40762. /*! @name DMA_CHX_INT_EN - Channel 0 Interrupt Enable..Channel 4 Interrupt Enable */
  40763. /*! @{ */
  40764. #define ENET_QOS_DMA_CHX_INT_EN_TIE_MASK (0x1U)
  40765. #define ENET_QOS_DMA_CHX_INT_EN_TIE_SHIFT (0U)
  40766. /*! TIE - Transmit Interrupt Enable When this bit is set along with the NIE bit, the Transmit Interrupt is enabled.
  40767. * 0b0..Transmit Interrupt is disabled
  40768. * 0b1..Transmit Interrupt is enabled
  40769. */
  40770. #define ENET_QOS_DMA_CHX_INT_EN_TIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TIE_MASK)
  40771. #define ENET_QOS_DMA_CHX_INT_EN_TXSE_MASK (0x2U)
  40772. #define ENET_QOS_DMA_CHX_INT_EN_TXSE_SHIFT (1U)
  40773. /*! TXSE - Transmit Stopped Enable When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled.
  40774. * 0b0..Transmit Stopped is disabled
  40775. * 0b1..Transmit Stopped is enabled
  40776. */
  40777. #define ENET_QOS_DMA_CHX_INT_EN_TXSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TXSE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TXSE_MASK)
  40778. #define ENET_QOS_DMA_CHX_INT_EN_TBUE_MASK (0x4U)
  40779. #define ENET_QOS_DMA_CHX_INT_EN_TBUE_SHIFT (2U)
  40780. /*! TBUE - Transmit Buffer Unavailable Enable When this bit is set along with the NIE bit, the
  40781. * Transmit Buffer Unavailable interrupt is enabled.
  40782. * 0b0..Transmit Buffer Unavailable is disabled
  40783. * 0b1..Transmit Buffer Unavailable is enabled
  40784. */
  40785. #define ENET_QOS_DMA_CHX_INT_EN_TBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_TBUE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_TBUE_MASK)
  40786. #define ENET_QOS_DMA_CHX_INT_EN_RIE_MASK (0x40U)
  40787. #define ENET_QOS_DMA_CHX_INT_EN_RIE_SHIFT (6U)
  40788. /*! RIE - Receive Interrupt Enable When this bit is set along with the NIE bit, the Receive Interrupt is enabled.
  40789. * 0b0..Receive Interrupt is disabled
  40790. * 0b1..Receive Interrupt is enabled
  40791. */
  40792. #define ENET_QOS_DMA_CHX_INT_EN_RIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RIE_MASK)
  40793. #define ENET_QOS_DMA_CHX_INT_EN_RBUE_MASK (0x80U)
  40794. #define ENET_QOS_DMA_CHX_INT_EN_RBUE_SHIFT (7U)
  40795. /*! RBUE - Receive Buffer Unavailable Enable When this bit is set along with the AIE bit, the
  40796. * Receive Buffer Unavailable interrupt is enabled.
  40797. * 0b0..Receive Buffer Unavailable is disabled
  40798. * 0b1..Receive Buffer Unavailable is enabled
  40799. */
  40800. #define ENET_QOS_DMA_CHX_INT_EN_RBUE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RBUE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RBUE_MASK)
  40801. #define ENET_QOS_DMA_CHX_INT_EN_RSE_MASK (0x100U)
  40802. #define ENET_QOS_DMA_CHX_INT_EN_RSE_SHIFT (8U)
  40803. /*! RSE - Receive Stopped Enable When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled.
  40804. * 0b0..Receive Stopped is disabled
  40805. * 0b1..Receive Stopped is enabled
  40806. */
  40807. #define ENET_QOS_DMA_CHX_INT_EN_RSE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RSE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RSE_MASK)
  40808. #define ENET_QOS_DMA_CHX_INT_EN_RWTE_MASK (0x200U)
  40809. #define ENET_QOS_DMA_CHX_INT_EN_RWTE_SHIFT (9U)
  40810. /*! RWTE - Receive Watchdog Timeout Enable When this bit is set along with the AIE bit, the Receive
  40811. * Watchdog Timeout interrupt is enabled.
  40812. * 0b0..Receive Watchdog Timeout is disabled
  40813. * 0b1..Receive Watchdog Timeout is enabled
  40814. */
  40815. #define ENET_QOS_DMA_CHX_INT_EN_RWTE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_RWTE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_RWTE_MASK)
  40816. #define ENET_QOS_DMA_CHX_INT_EN_ETIE_MASK (0x400U)
  40817. #define ENET_QOS_DMA_CHX_INT_EN_ETIE_SHIFT (10U)
  40818. /*! ETIE - Early Transmit Interrupt Enable When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled.
  40819. * 0b0..Early Transmit Interrupt is disabled
  40820. * 0b1..Early Transmit Interrupt is enabled
  40821. */
  40822. #define ENET_QOS_DMA_CHX_INT_EN_ETIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_ETIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_ETIE_MASK)
  40823. #define ENET_QOS_DMA_CHX_INT_EN_ERIE_MASK (0x800U)
  40824. #define ENET_QOS_DMA_CHX_INT_EN_ERIE_SHIFT (11U)
  40825. /*! ERIE - Early Receive Interrupt Enable When this bit is set along with the NIE bit, the Early Receive interrupt is enabled.
  40826. * 0b0..Early Receive Interrupt is disabled
  40827. * 0b1..Early Receive Interrupt is enabled
  40828. */
  40829. #define ENET_QOS_DMA_CHX_INT_EN_ERIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_ERIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_ERIE_MASK)
  40830. #define ENET_QOS_DMA_CHX_INT_EN_FBEE_MASK (0x1000U)
  40831. #define ENET_QOS_DMA_CHX_INT_EN_FBEE_SHIFT (12U)
  40832. /*! FBEE - Fatal Bus Error Enable When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled.
  40833. * 0b0..Fatal Bus Error is disabled
  40834. * 0b1..Fatal Bus Error is enabled
  40835. */
  40836. #define ENET_QOS_DMA_CHX_INT_EN_FBEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_FBEE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_FBEE_MASK)
  40837. #define ENET_QOS_DMA_CHX_INT_EN_CDEE_MASK (0x2000U)
  40838. #define ENET_QOS_DMA_CHX_INT_EN_CDEE_SHIFT (13U)
  40839. /*! CDEE - Context Descriptor Error Enable When this bit is set along with the AIE bit, the Descriptor error interrupt is enabled.
  40840. * 0b0..Context Descriptor Error is disabled
  40841. * 0b1..Context Descriptor Error is enabled
  40842. */
  40843. #define ENET_QOS_DMA_CHX_INT_EN_CDEE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_CDEE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_CDEE_MASK)
  40844. #define ENET_QOS_DMA_CHX_INT_EN_AIE_MASK (0x4000U)
  40845. #define ENET_QOS_DMA_CHX_INT_EN_AIE_SHIFT (14U)
  40846. /*! AIE - Abnormal Interrupt Summary Enable When this bit is set, the abnormal interrupt summary is enabled.
  40847. * 0b0..Abnormal Interrupt Summary is disabled
  40848. * 0b1..Abnormal Interrupt Summary is enabled
  40849. */
  40850. #define ENET_QOS_DMA_CHX_INT_EN_AIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_AIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_AIE_MASK)
  40851. #define ENET_QOS_DMA_CHX_INT_EN_NIE_MASK (0x8000U)
  40852. #define ENET_QOS_DMA_CHX_INT_EN_NIE_SHIFT (15U)
  40853. /*! NIE - Normal Interrupt Summary Enable When this bit is set, the normal interrupt summary is enabled.
  40854. * 0b0..Normal Interrupt Summary is disabled
  40855. * 0b1..Normal Interrupt Summary is enabled
  40856. */
  40857. #define ENET_QOS_DMA_CHX_INT_EN_NIE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_INT_EN_NIE_SHIFT)) & ENET_QOS_DMA_CHX_INT_EN_NIE_MASK)
  40858. /*! @} */
  40859. /* The count of ENET_QOS_DMA_CHX_INT_EN */
  40860. #define ENET_QOS_DMA_CHX_INT_EN_COUNT (5U)
  40861. /*! @name DMA_CHX_RX_INT_WDTIMER - Channel 0 Receive Interrupt Watchdog Timer..Channel 4 Receive Interrupt Watchdog Timer */
  40862. /*! @{ */
  40863. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_MASK (0xFFU)
  40864. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_SHIFT (0U)
  40865. /*! RWT - Receive Interrupt Watchdog Timer Count This field indicates the number of system clock
  40866. * cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set.
  40867. */
  40868. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_SHIFT)) & ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWT_MASK)
  40869. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_MASK (0x30000U)
  40870. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_SHIFT (16U)
  40871. /*! RWTU - Receive Interrupt Watchdog Timer Count Units This fields indicates the number of system
  40872. * clock cycles corresponding to one unit in RWT field.
  40873. */
  40874. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_SHIFT)) & ENET_QOS_DMA_CHX_RX_INT_WDTIMER_RWTU_MASK)
  40875. /*! @} */
  40876. /* The count of ENET_QOS_DMA_CHX_RX_INT_WDTIMER */
  40877. #define ENET_QOS_DMA_CHX_RX_INT_WDTIMER_COUNT (5U)
  40878. /*! @name DMA_CHX_SLOT_FUNC_CTRL_STAT - Channel 0 Slot Function Control and Status..Channel 4 Slot Function Control and Status */
  40879. /*! @{ */
  40880. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK (0x1U)
  40881. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT (0U)
  40882. /*! ESC - Enable Slot Comparison When set, this bit enables the checking of the slot numbers
  40883. * programmed in the Tx descriptor with the current reference given in the RSN field.
  40884. * 0b0..Slot Comparison is disabled
  40885. * 0b1..Slot Comparison is enabled
  40886. */
  40887. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ESC_MASK)
  40888. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK (0x2U)
  40889. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT (1U)
  40890. /*! ASC - Advance Slot Check When set, this bit enables the DMA to fetch the data from the buffer
  40891. * when the slot number (SLOTNUM) programmed in the Tx descriptor is - equal to the reference slot
  40892. * number given in the RSN field or - ahead of the reference slot number by up to two slots This
  40893. * bit is applicable only when the ESC bit is set.
  40894. * 0b0..Advance Slot Check is disabled
  40895. * 0b1..Advance Slot Check is enabled
  40896. */
  40897. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_ASC_MASK)
  40898. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_MASK (0xFFF0U)
  40899. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_SHIFT (4U)
  40900. /*! SIV - Slot Interval Value This field controls the period of the slot interval in which the TxDMA
  40901. * fetches the scheduled packets.
  40902. */
  40903. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_SIV_MASK)
  40904. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK (0xF0000U)
  40905. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT (16U)
  40906. /*! RSN - Reference Slot Number This field gives the current value of the reference slot number in the DMA.
  40907. */
  40908. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_SHIFT)) & ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_RSN_MASK)
  40909. /*! @} */
  40910. /* The count of ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT */
  40911. #define ENET_QOS_DMA_CHX_SLOT_FUNC_CTRL_STAT_COUNT (5U)
  40912. /*! @name DMA_CHX_CUR_HST_TXDESC - Channel 0 Current Application Transmit Descriptor..Channel 4 Current Application Transmit Descriptor */
  40913. /*! @{ */
  40914. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_MASK (0xFFFFFFFFU)
  40915. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_SHIFT (0U)
  40916. /*! CURTDESAPTR - Application Transmit Descriptor Address Pointer The DMA updates this pointer during Tx operation.
  40917. */
  40918. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_TXDESC_CURTDESAPTR_MASK)
  40919. /*! @} */
  40920. /* The count of ENET_QOS_DMA_CHX_CUR_HST_TXDESC */
  40921. #define ENET_QOS_DMA_CHX_CUR_HST_TXDESC_COUNT (5U)
  40922. /*! @name DMA_CHX_CUR_HST_RXDESC - Channel 0 Current Application Receive Descriptor..Channel 4 Current Application Receive Descriptor */
  40923. /*! @{ */
  40924. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_MASK (0xFFFFFFFFU)
  40925. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_SHIFT (0U)
  40926. /*! CURRDESAPTR - Application Receive Descriptor Address Pointer The DMA updates this pointer during Rx operation.
  40927. */
  40928. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_RXDESC_CURRDESAPTR_MASK)
  40929. /*! @} */
  40930. /* The count of ENET_QOS_DMA_CHX_CUR_HST_RXDESC */
  40931. #define ENET_QOS_DMA_CHX_CUR_HST_RXDESC_COUNT (5U)
  40932. /*! @name DMA_CHX_CUR_HST_TXBUF - Channel 0 Current Application Transmit Buffer Address..Channel 4 Current Application Transmit Buffer Address */
  40933. /*! @{ */
  40934. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_MASK (0xFFFFFFFFU)
  40935. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_SHIFT (0U)
  40936. /*! CURTBUFAPTR - Application Transmit Buffer Address Pointer The DMA updates this pointer during Tx operation.
  40937. */
  40938. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_TXBUF_CURTBUFAPTR_MASK)
  40939. /*! @} */
  40940. /* The count of ENET_QOS_DMA_CHX_CUR_HST_TXBUF */
  40941. #define ENET_QOS_DMA_CHX_CUR_HST_TXBUF_COUNT (5U)
  40942. /*! @name DMA_CHX_CUR_HST_RXBUF - Channel 0 Current Application Receive Buffer Address..Channel 4 Current Application Receive Buffer Address */
  40943. /*! @{ */
  40944. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_MASK (0xFFFFFFFFU)
  40945. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_SHIFT (0U)
  40946. /*! CURRBUFAPTR - Application Receive Buffer Address Pointer The DMA updates this pointer during Rx operation.
  40947. */
  40948. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_SHIFT)) & ENET_QOS_DMA_CHX_CUR_HST_RXBUF_CURRBUFAPTR_MASK)
  40949. /*! @} */
  40950. /* The count of ENET_QOS_DMA_CHX_CUR_HST_RXBUF */
  40951. #define ENET_QOS_DMA_CHX_CUR_HST_RXBUF_COUNT (5U)
  40952. /*! @name DMA_CHX_STAT - DMA Channel 0 Status..DMA Channel 4 Status */
  40953. /*! @{ */
  40954. #define ENET_QOS_DMA_CHX_STAT_TI_MASK (0x1U)
  40955. #define ENET_QOS_DMA_CHX_STAT_TI_SHIFT (0U)
  40956. /*! TI - Transmit Interrupt This bit indicates that the packet transmission is complete.
  40957. * 0b1..Transmit Interrupt status detected
  40958. * 0b0..Transmit Interrupt status not detected
  40959. */
  40960. #define ENET_QOS_DMA_CHX_STAT_TI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TI_MASK)
  40961. #define ENET_QOS_DMA_CHX_STAT_TPS_MASK (0x2U)
  40962. #define ENET_QOS_DMA_CHX_STAT_TPS_SHIFT (1U)
  40963. /*! TPS - Transmit Process Stopped This bit is set when the transmission is stopped.
  40964. * 0b1..Transmit Process Stopped status detected
  40965. * 0b0..Transmit Process Stopped status not detected
  40966. */
  40967. #define ENET_QOS_DMA_CHX_STAT_TPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TPS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TPS_MASK)
  40968. #define ENET_QOS_DMA_CHX_STAT_TBU_MASK (0x4U)
  40969. #define ENET_QOS_DMA_CHX_STAT_TBU_SHIFT (2U)
  40970. /*! TBU - Transmit Buffer Unavailable This bit indicates that the application owns the next
  40971. * descriptor in the Transmit list, and the DMA cannot acquire it.
  40972. * 0b1..Transmit Buffer Unavailable status detected
  40973. * 0b0..Transmit Buffer Unavailable status not detected
  40974. */
  40975. #define ENET_QOS_DMA_CHX_STAT_TBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TBU_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TBU_MASK)
  40976. #define ENET_QOS_DMA_CHX_STAT_RI_MASK (0x40U)
  40977. #define ENET_QOS_DMA_CHX_STAT_RI_SHIFT (6U)
  40978. /*! RI - Receive Interrupt This bit indicates that the packet reception is complete.
  40979. * 0b1..Receive Interrupt status detected
  40980. * 0b0..Receive Interrupt status not detected
  40981. */
  40982. #define ENET_QOS_DMA_CHX_STAT_RI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RI_MASK)
  40983. #define ENET_QOS_DMA_CHX_STAT_RBU_MASK (0x80U)
  40984. #define ENET_QOS_DMA_CHX_STAT_RBU_SHIFT (7U)
  40985. /*! RBU - Receive Buffer Unavailable This bit indicates that the application owns the next
  40986. * descriptor in the Receive list, and the DMA cannot acquire it.
  40987. * 0b1..Receive Buffer Unavailable status detected
  40988. * 0b0..Receive Buffer Unavailable status not detected
  40989. */
  40990. #define ENET_QOS_DMA_CHX_STAT_RBU(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RBU_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RBU_MASK)
  40991. #define ENET_QOS_DMA_CHX_STAT_RPS_MASK (0x100U)
  40992. #define ENET_QOS_DMA_CHX_STAT_RPS_SHIFT (8U)
  40993. /*! RPS - Receive Process Stopped This bit is asserted when the Rx process enters the Stopped state.
  40994. * 0b1..Receive Process Stopped status detected
  40995. * 0b0..Receive Process Stopped status not detected
  40996. */
  40997. #define ENET_QOS_DMA_CHX_STAT_RPS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RPS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RPS_MASK)
  40998. #define ENET_QOS_DMA_CHX_STAT_RWT_MASK (0x200U)
  40999. #define ENET_QOS_DMA_CHX_STAT_RWT_SHIFT (9U)
  41000. /*! RWT - Receive Watchdog Timeout This bit is asserted when a packet with length greater than 2,048
  41001. * bytes (10,240 bytes when Jumbo Packet mode is enabled) is received.
  41002. * 0b1..Receive Watchdog Timeout status detected
  41003. * 0b0..Receive Watchdog Timeout status not detected
  41004. */
  41005. #define ENET_QOS_DMA_CHX_STAT_RWT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_RWT_SHIFT)) & ENET_QOS_DMA_CHX_STAT_RWT_MASK)
  41006. #define ENET_QOS_DMA_CHX_STAT_ETI_MASK (0x400U)
  41007. #define ENET_QOS_DMA_CHX_STAT_ETI_SHIFT (10U)
  41008. /*! ETI - Early Transmit Interrupt This bit when set indicates that the TxDMA has completed the
  41009. * transfer of packet data to the MTL TXFIFO memory.
  41010. * 0b1..Early Transmit Interrupt status detected
  41011. * 0b0..Early Transmit Interrupt status not detected
  41012. */
  41013. #define ENET_QOS_DMA_CHX_STAT_ETI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_ETI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_ETI_MASK)
  41014. #define ENET_QOS_DMA_CHX_STAT_ERI_MASK (0x800U)
  41015. #define ENET_QOS_DMA_CHX_STAT_ERI_SHIFT (11U)
  41016. /*! ERI - Early Receive Interrupt This bit when set indicates that the RxDMA has completed the
  41017. * transfer of packet data to the memory.
  41018. * 0b1..Early Receive Interrupt status detected
  41019. * 0b0..Early Receive Interrupt status not detected
  41020. */
  41021. #define ENET_QOS_DMA_CHX_STAT_ERI(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_ERI_SHIFT)) & ENET_QOS_DMA_CHX_STAT_ERI_MASK)
  41022. #define ENET_QOS_DMA_CHX_STAT_FBE_MASK (0x1000U)
  41023. #define ENET_QOS_DMA_CHX_STAT_FBE_SHIFT (12U)
  41024. /*! FBE - Fatal Bus Error This bit indicates that a bus error occurred (as described in the EB field).
  41025. * 0b1..Fatal Bus Error status detected
  41026. * 0b0..Fatal Bus Error status not detected
  41027. */
  41028. #define ENET_QOS_DMA_CHX_STAT_FBE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_FBE_SHIFT)) & ENET_QOS_DMA_CHX_STAT_FBE_MASK)
  41029. #define ENET_QOS_DMA_CHX_STAT_CDE_MASK (0x2000U)
  41030. #define ENET_QOS_DMA_CHX_STAT_CDE_SHIFT (13U)
  41031. /*! CDE - Context Descriptor Error This bit indicates that the DMA Tx/Rx engine received a
  41032. * descriptor error, which indicates invalid context in the middle of packet flow ( intermediate
  41033. * descriptor) or all one's descriptor in Tx case and on Rx side it indicates DMA has read a descriptor
  41034. * with either of the buffer address as ones which is considered to be invalid.
  41035. * 0b1..Context Descriptor Error status detected
  41036. * 0b0..Context Descriptor Error status not detected
  41037. */
  41038. #define ENET_QOS_DMA_CHX_STAT_CDE(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_CDE_SHIFT)) & ENET_QOS_DMA_CHX_STAT_CDE_MASK)
  41039. #define ENET_QOS_DMA_CHX_STAT_AIS_MASK (0x4000U)
  41040. #define ENET_QOS_DMA_CHX_STAT_AIS_SHIFT (14U)
  41041. /*! AIS - Abnormal Interrupt Summary Abnormal Interrupt Summary bit value is the logical OR of the
  41042. * following when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE
  41043. * register: - Bit 1: Transmit Process Stopped - Bit 7: Receive Buffer Unavailable - Bit 8: Receive
  41044. * Process Stopped - Bit 10: Early Transmit Interrupt - Bit 12: Fatal Bus Error - Bit 13: Context
  41045. * Descriptor Error Only unmasked bits affect the Abnormal Interrupt Summary bit.
  41046. * 0b1..Abnormal Interrupt Summary status detected
  41047. * 0b0..Abnormal Interrupt Summary status not detected
  41048. */
  41049. #define ENET_QOS_DMA_CHX_STAT_AIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_AIS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_AIS_MASK)
  41050. #define ENET_QOS_DMA_CHX_STAT_NIS_MASK (0x8000U)
  41051. #define ENET_QOS_DMA_CHX_STAT_NIS_SHIFT (15U)
  41052. /*! NIS - Normal Interrupt Summary Normal Interrupt Summary bit value is the logical OR of the
  41053. * following bits when the corresponding interrupt bits are enabled in the DMA_CH3_INTERRUPT_ENABLE
  41054. * register: - Bit 0: Transmit Interrupt - Bit 2: Transmit Buffer Unavailable - Bit 6: Receive
  41055. * Interrupt - Bit 11: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt
  41056. * enable is set in DMA_CH3_INTERRUPT_ENABLE register) affect the Normal Interrupt Summary bit.
  41057. * 0b1..Normal Interrupt Summary status detected
  41058. * 0b0..Normal Interrupt Summary status not detected
  41059. */
  41060. #define ENET_QOS_DMA_CHX_STAT_NIS(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_NIS_SHIFT)) & ENET_QOS_DMA_CHX_STAT_NIS_MASK)
  41061. #define ENET_QOS_DMA_CHX_STAT_TEB_MASK (0x70000U)
  41062. #define ENET_QOS_DMA_CHX_STAT_TEB_SHIFT (16U)
  41063. /*! TEB - Tx DMA Error Bits This field indicates the type of error that caused a Bus Error.
  41064. */
  41065. #define ENET_QOS_DMA_CHX_STAT_TEB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_TEB_SHIFT)) & ENET_QOS_DMA_CHX_STAT_TEB_MASK)
  41066. #define ENET_QOS_DMA_CHX_STAT_REB_MASK (0x380000U)
  41067. #define ENET_QOS_DMA_CHX_STAT_REB_SHIFT (19U)
  41068. /*! REB - Rx DMA Error Bits This field indicates the type of error that caused a Bus Error.
  41069. */
  41070. #define ENET_QOS_DMA_CHX_STAT_REB(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_STAT_REB_SHIFT)) & ENET_QOS_DMA_CHX_STAT_REB_MASK)
  41071. /*! @} */
  41072. /* The count of ENET_QOS_DMA_CHX_STAT */
  41073. #define ENET_QOS_DMA_CHX_STAT_COUNT (5U)
  41074. /*! @name DMA_CHX_MISS_FRAME_CNT - Channel 0 Missed Frame Counter..Channel 4 Missed Frame Counter */
  41075. /*! @{ */
  41076. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_MASK (0x7FFU)
  41077. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_SHIFT (0U)
  41078. /*! MFC - Dropped Packet Counters This counter indicates the number of packet counters that are
  41079. * dropped by the DMA either because of bus error or because of programming RPF field in
  41080. * DMA_CH2_RX_CONTROL register.
  41081. */
  41082. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_SHIFT)) & ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFC_MASK)
  41083. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_MASK (0x8000U)
  41084. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_SHIFT (15U)
  41085. /*! MFCO - Overflow status of the MFC Counter When this bit is set then the MFC counter does not get incremented further.
  41086. * 0b1..Miss Frame Counter overflow occurred
  41087. * 0b0..Miss Frame Counter overflow not occurred
  41088. */
  41089. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_SHIFT)) & ENET_QOS_DMA_CHX_MISS_FRAME_CNT_MFCO_MASK)
  41090. /*! @} */
  41091. /* The count of ENET_QOS_DMA_CHX_MISS_FRAME_CNT */
  41092. #define ENET_QOS_DMA_CHX_MISS_FRAME_CNT_COUNT (5U)
  41093. /*! @name DMA_CHX_RXP_ACCEPT_CNT - Channel 0 RXP Frames Accepted Counter..Channel 4 RXP Frames Accepted Counter */
  41094. /*! @{ */
  41095. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_MASK (0x7FFFFFFFU)
  41096. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_SHIFT (0U)
  41097. /*! RXPAC - Rx Parser Accept Counter This 31-bit counter is implemented whenever a Rx Parser Accept a packet due to AF =1.
  41098. */
  41099. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_SHIFT)) & ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPAC_MASK)
  41100. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_MASK (0x80000000U)
  41101. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_SHIFT (31U)
  41102. /*! RXPACOF - Rx Parser Accept Counter Overflow Bit When set, this bit indicates that the RXPAC
  41103. * Counter field crossed the maximum limit.
  41104. * 0b1..Rx Parser Accept Counter overflow occurred
  41105. * 0b0..Rx Parser Accept Counter overflow not occurred
  41106. */
  41107. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_SHIFT)) & ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_RXPACOF_MASK)
  41108. /*! @} */
  41109. /* The count of ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT */
  41110. #define ENET_QOS_DMA_CHX_RXP_ACCEPT_CNT_COUNT (5U)
  41111. /*! @name DMA_CHX_RX_ERI_CNT - Channel 0 Receive ERI Counter..Channel 4 Receive ERI Counter */
  41112. /*! @{ */
  41113. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_MASK (0xFFFU)
  41114. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_SHIFT (0U)
  41115. /*! ECNT - ERI Counter When ERIC bit of DMA_CH4_RX_CONTROL register is set, this counter increments
  41116. * for burst transfer completed by the Rx DMA from the start of packet transfer.
  41117. */
  41118. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT(x) (((uint32_t)(((uint32_t)(x)) << ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_SHIFT)) & ENET_QOS_DMA_CHX_RX_ERI_CNT_ECNT_MASK)
  41119. /*! @} */
  41120. /* The count of ENET_QOS_DMA_CHX_RX_ERI_CNT */
  41121. #define ENET_QOS_DMA_CHX_RX_ERI_CNT_COUNT (5U)
  41122. /*!
  41123. * @}
  41124. */ /* end of group ENET_QOS_Register_Masks */
  41125. /* ENET_QOS - Peripheral instance base addresses */
  41126. /** Peripheral ENET_QOS base address */
  41127. #define ENET_QOS_BASE (0x4043C000u)
  41128. /** Peripheral ENET_QOS base pointer */
  41129. #define ENET_QOS ((ENET_QOS_Type *)ENET_QOS_BASE)
  41130. /** Array initializer of ENET_QOS peripheral base addresses */
  41131. #define ENET_QOS_BASE_ADDRS { ENET_QOS_BASE }
  41132. /** Array initializer of ENET_QOS peripheral base pointers */
  41133. #define ENET_QOS_BASE_PTRS { ENET_QOS }
  41134. /** Interrupt vectors for the ENET_QOS peripheral type */
  41135. #define ENET_QOS_IRQS { ENET_QOS_IRQn }
  41136. #define ENET_QOS_PMT_IRQS { ENET_QOS_PMT_IRQn }
  41137. /*!
  41138. * @}
  41139. */ /* end of group ENET_QOS_Peripheral_Access_Layer */
  41140. /* ----------------------------------------------------------------------------
  41141. -- ETHERNET_PLL Peripheral Access Layer
  41142. ---------------------------------------------------------------------------- */
  41143. /*!
  41144. * @addtogroup ETHERNET_PLL_Peripheral_Access_Layer ETHERNET_PLL Peripheral Access Layer
  41145. * @{
  41146. */
  41147. /** ETHERNET_PLL - Register Layout Typedef */
  41148. typedef struct {
  41149. struct { /* offset: 0x0 */
  41150. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  41151. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  41152. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  41153. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  41154. } CTRL0;
  41155. struct { /* offset: 0x10 */
  41156. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  41157. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  41158. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  41159. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  41160. } SPREAD_SPECTRUM;
  41161. struct { /* offset: 0x20 */
  41162. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  41163. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  41164. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  41165. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  41166. } NUMERATOR;
  41167. struct { /* offset: 0x30 */
  41168. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  41169. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  41170. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  41171. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  41172. } DENOMINATOR;
  41173. } ETHERNET_PLL_Type;
  41174. /* ----------------------------------------------------------------------------
  41175. -- ETHERNET_PLL Register Masks
  41176. ---------------------------------------------------------------------------- */
  41177. /*!
  41178. * @addtogroup ETHERNET_PLL_Register_Masks ETHERNET_PLL Register Masks
  41179. * @{
  41180. */
  41181. /*! @name CTRL0 - Fractional PLL Control Register */
  41182. /*! @{ */
  41183. #define ETHERNET_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  41184. #define ETHERNET_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  41185. /*! DIV_SELECT - DIV_SELECT
  41186. */
  41187. #define ETHERNET_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_DIV_SELECT_SHIFT)) & ETHERNET_PLL_CTRL0_DIV_SELECT_MASK)
  41188. #define ETHERNET_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  41189. #define ETHERNET_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  41190. /*! ENABLE_ALT - ENABLE_ALT
  41191. * 0b0..Disable the alternate clock output
  41192. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  41193. */
  41194. #define ETHERNET_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_ENABLE_ALT_SHIFT)) & ETHERNET_PLL_CTRL0_ENABLE_ALT_MASK)
  41195. #define ETHERNET_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  41196. #define ETHERNET_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  41197. /*! HOLD_RING_OFF - PLL Start up initialization
  41198. * 0b0..Normal operation
  41199. * 0b1..Initialize PLL start up
  41200. */
  41201. #define ETHERNET_PLL_CTRL0_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_HOLD_RING_OFF_SHIFT)) & ETHERNET_PLL_CTRL0_HOLD_RING_OFF_MASK)
  41202. #define ETHERNET_PLL_CTRL0_POWERUP_MASK (0x4000U)
  41203. #define ETHERNET_PLL_CTRL0_POWERUP_SHIFT (14U)
  41204. /*! POWERUP - POWERUP
  41205. * 0b1..Power Up the PLL
  41206. * 0b0..Power down the PLL
  41207. */
  41208. #define ETHERNET_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_POWERUP_SHIFT)) & ETHERNET_PLL_CTRL0_POWERUP_MASK)
  41209. #define ETHERNET_PLL_CTRL0_ENABLE_MASK (0x8000U)
  41210. #define ETHERNET_PLL_CTRL0_ENABLE_SHIFT (15U)
  41211. /*! ENABLE - ENABLE
  41212. * 0b1..Enable the clock output
  41213. * 0b0..Disable the clock output
  41214. */
  41215. #define ETHERNET_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_ENABLE_SHIFT)) & ETHERNET_PLL_CTRL0_ENABLE_MASK)
  41216. #define ETHERNET_PLL_CTRL0_BYPASS_MASK (0x10000U)
  41217. #define ETHERNET_PLL_CTRL0_BYPASS_SHIFT (16U)
  41218. /*! BYPASS - BYPASS
  41219. * 0b1..Bypass the PLL
  41220. * 0b0..No Bypass
  41221. */
  41222. #define ETHERNET_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BYPASS_SHIFT)) & ETHERNET_PLL_CTRL0_BYPASS_MASK)
  41223. #define ETHERNET_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  41224. #define ETHERNET_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  41225. /*! DITHER_EN - DITHER_EN
  41226. * 0b0..Disable Dither
  41227. * 0b1..Enable Dither
  41228. */
  41229. #define ETHERNET_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_DITHER_EN_SHIFT)) & ETHERNET_PLL_CTRL0_DITHER_EN_MASK)
  41230. #define ETHERNET_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  41231. #define ETHERNET_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  41232. /*! BIAS_TRIM - BIAS_TRIM
  41233. */
  41234. #define ETHERNET_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BIAS_TRIM_SHIFT)) & ETHERNET_PLL_CTRL0_BIAS_TRIM_MASK)
  41235. #define ETHERNET_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  41236. #define ETHERNET_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  41237. /*! PLL_REG_EN - PLL_REG_EN
  41238. */
  41239. #define ETHERNET_PLL_CTRL0_PLL_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_PLL_REG_EN_SHIFT)) & ETHERNET_PLL_CTRL0_PLL_REG_EN_MASK)
  41240. #define ETHERNET_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  41241. #define ETHERNET_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  41242. /*! POST_DIV_SEL - Post Divide Select
  41243. * 0b000..Divide by 1
  41244. * 0b001..Divide by 2
  41245. * 0b010..Divide by 4
  41246. * 0b011..Divide by 8
  41247. * 0b100..Divide by 16
  41248. * 0b101..Divide by 32
  41249. */
  41250. #define ETHERNET_PLL_CTRL0_POST_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_POST_DIV_SEL_SHIFT)) & ETHERNET_PLL_CTRL0_POST_DIV_SEL_MASK)
  41251. #define ETHERNET_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  41252. #define ETHERNET_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  41253. /*! BIAS_SELECT - BIAS_SELECT
  41254. * 0b0..Used in SoCs with a bias current of 10uA
  41255. * 0b1..Used in SoCs with a bias current of 2uA
  41256. */
  41257. #define ETHERNET_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_CTRL0_BIAS_SELECT_SHIFT)) & ETHERNET_PLL_CTRL0_BIAS_SELECT_MASK)
  41258. /*! @} */
  41259. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  41260. /*! @{ */
  41261. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  41262. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  41263. /*! STEP - Step
  41264. */
  41265. #define ETHERNET_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_STEP_MASK)
  41266. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  41267. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  41268. /*! ENABLE - Enable
  41269. */
  41270. #define ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  41271. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  41272. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  41273. /*! STOP - Stop
  41274. */
  41275. #define ETHERNET_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & ETHERNET_PLL_SPREAD_SPECTRUM_STOP_MASK)
  41276. /*! @} */
  41277. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  41278. /*! @{ */
  41279. #define ETHERNET_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  41280. #define ETHERNET_PLL_NUMERATOR_NUM_SHIFT (0U)
  41281. /*! NUM - Numerator
  41282. */
  41283. #define ETHERNET_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_NUMERATOR_NUM_SHIFT)) & ETHERNET_PLL_NUMERATOR_NUM_MASK)
  41284. /*! @} */
  41285. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  41286. /*! @{ */
  41287. #define ETHERNET_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  41288. #define ETHERNET_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  41289. /*! DENOM - Denominator
  41290. */
  41291. #define ETHERNET_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << ETHERNET_PLL_DENOMINATOR_DENOM_SHIFT)) & ETHERNET_PLL_DENOMINATOR_DENOM_MASK)
  41292. /*! @} */
  41293. /*!
  41294. * @}
  41295. */ /* end of group ETHERNET_PLL_Register_Masks */
  41296. /* ETHERNET_PLL - Peripheral instance base addresses */
  41297. /** Peripheral ETHERNET_PLL base address */
  41298. #define ETHERNET_PLL_BASE (0u)
  41299. /** Peripheral ETHERNET_PLL base pointer */
  41300. #define ETHERNET_PLL ((ETHERNET_PLL_Type *)ETHERNET_PLL_BASE)
  41301. /** Array initializer of ETHERNET_PLL peripheral base addresses */
  41302. #define ETHERNET_PLL_BASE_ADDRS { ETHERNET_PLL_BASE }
  41303. /** Array initializer of ETHERNET_PLL peripheral base pointers */
  41304. #define ETHERNET_PLL_BASE_PTRS { ETHERNET_PLL }
  41305. /*!
  41306. * @}
  41307. */ /* end of group ETHERNET_PLL_Peripheral_Access_Layer */
  41308. /* ----------------------------------------------------------------------------
  41309. -- EWM Peripheral Access Layer
  41310. ---------------------------------------------------------------------------- */
  41311. /*!
  41312. * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer
  41313. * @{
  41314. */
  41315. /** EWM - Register Layout Typedef */
  41316. typedef struct {
  41317. __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */
  41318. __O uint8_t SERV; /**< Service Register, offset: 0x1 */
  41319. __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */
  41320. __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */
  41321. __IO uint8_t CLKCTRL; /**< Clock Control Register, offset: 0x4 */
  41322. __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */
  41323. } EWM_Type;
  41324. /* ----------------------------------------------------------------------------
  41325. -- EWM Register Masks
  41326. ---------------------------------------------------------------------------- */
  41327. /*!
  41328. * @addtogroup EWM_Register_Masks EWM Register Masks
  41329. * @{
  41330. */
  41331. /*! @name CTRL - Control Register */
  41332. /*! @{ */
  41333. #define EWM_CTRL_EWMEN_MASK (0x1U)
  41334. #define EWM_CTRL_EWMEN_SHIFT (0U)
  41335. /*! EWMEN - EWM enable.
  41336. * 0b0..EWM module is disabled.
  41337. * 0b1..EWM module is enabled.
  41338. */
  41339. #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK)
  41340. #define EWM_CTRL_ASSIN_MASK (0x2U)
  41341. #define EWM_CTRL_ASSIN_SHIFT (1U)
  41342. /*! ASSIN - EWM_in's Assertion State Select.
  41343. * 0b0..Default assert state of the EWM_in signal.
  41344. * 0b1..Inverts the assert state of EWM_in signal.
  41345. */
  41346. #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK)
  41347. #define EWM_CTRL_INEN_MASK (0x4U)
  41348. #define EWM_CTRL_INEN_SHIFT (2U)
  41349. /*! INEN - Input Enable.
  41350. * 0b0..EWM_in port is disabled.
  41351. * 0b1..EWM_in port is enabled.
  41352. */
  41353. #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK)
  41354. #define EWM_CTRL_INTEN_MASK (0x8U)
  41355. #define EWM_CTRL_INTEN_SHIFT (3U)
  41356. /*! INTEN - Interrupt Enable.
  41357. * 0b1..Generates an interrupt request, when EWM_OUT_b is asserted.
  41358. * 0b0..Deasserts the interrupt request.
  41359. */
  41360. #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK)
  41361. /*! @} */
  41362. /*! @name SERV - Service Register */
  41363. /*! @{ */
  41364. #define EWM_SERV_SERVICE_MASK (0xFFU)
  41365. #define EWM_SERV_SERVICE_SHIFT (0U)
  41366. /*! SERVICE - SERVICE
  41367. */
  41368. #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK)
  41369. /*! @} */
  41370. /*! @name CMPL - Compare Low Register */
  41371. /*! @{ */
  41372. #define EWM_CMPL_COMPAREL_MASK (0xFFU)
  41373. #define EWM_CMPL_COMPAREL_SHIFT (0U)
  41374. /*! COMPAREL - COMPAREL
  41375. */
  41376. #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK)
  41377. /*! @} */
  41378. /*! @name CMPH - Compare High Register */
  41379. /*! @{ */
  41380. #define EWM_CMPH_COMPAREH_MASK (0xFFU)
  41381. #define EWM_CMPH_COMPAREH_SHIFT (0U)
  41382. /*! COMPAREH - COMPAREH
  41383. */
  41384. #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK)
  41385. /*! @} */
  41386. /*! @name CLKCTRL - Clock Control Register */
  41387. /*! @{ */
  41388. #define EWM_CLKCTRL_CLKSEL_MASK (0x3U)
  41389. #define EWM_CLKCTRL_CLKSEL_SHIFT (0U)
  41390. /*! CLKSEL - CLKSEL
  41391. */
  41392. #define EWM_CLKCTRL_CLKSEL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKCTRL_CLKSEL_SHIFT)) & EWM_CLKCTRL_CLKSEL_MASK)
  41393. /*! @} */
  41394. /*! @name CLKPRESCALER - Clock Prescaler Register */
  41395. /*! @{ */
  41396. #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU)
  41397. #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U)
  41398. /*! CLK_DIV - CLK_DIV
  41399. */
  41400. #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK)
  41401. /*! @} */
  41402. /*!
  41403. * @}
  41404. */ /* end of group EWM_Register_Masks */
  41405. /* EWM - Peripheral instance base addresses */
  41406. /** Peripheral EWM base address */
  41407. #define EWM_BASE (0x4002C000u)
  41408. /** Peripheral EWM base pointer */
  41409. #define EWM ((EWM_Type *)EWM_BASE)
  41410. /** Array initializer of EWM peripheral base addresses */
  41411. #define EWM_BASE_ADDRS { EWM_BASE }
  41412. /** Array initializer of EWM peripheral base pointers */
  41413. #define EWM_BASE_PTRS { EWM }
  41414. /** Interrupt vectors for the EWM peripheral type */
  41415. #define EWM_IRQS { EWM_IRQn }
  41416. /*!
  41417. * @}
  41418. */ /* end of group EWM_Peripheral_Access_Layer */
  41419. /* ----------------------------------------------------------------------------
  41420. -- FLEXIO Peripheral Access Layer
  41421. ---------------------------------------------------------------------------- */
  41422. /*!
  41423. * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer
  41424. * @{
  41425. */
  41426. /** FLEXIO - Register Layout Typedef */
  41427. typedef struct {
  41428. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  41429. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  41430. __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */
  41431. __I uint32_t PIN; /**< Pin State Register, offset: 0xC */
  41432. __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */
  41433. __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */
  41434. __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */
  41435. uint8_t RESERVED_0[4];
  41436. __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */
  41437. __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */
  41438. __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */
  41439. uint8_t RESERVED_1[4];
  41440. __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */
  41441. uint8_t RESERVED_2[4];
  41442. __IO uint32_t TIMERSDEN; /**< Timer Status DMA Enable, offset: 0x38 */
  41443. uint8_t RESERVED_3[4];
  41444. __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */
  41445. uint8_t RESERVED_4[60];
  41446. __IO uint32_t SHIFTCTL[8]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */
  41447. uint8_t RESERVED_5[96];
  41448. __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */
  41449. uint8_t RESERVED_6[224];
  41450. __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */
  41451. uint8_t RESERVED_7[96];
  41452. __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */
  41453. uint8_t RESERVED_8[96];
  41454. __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */
  41455. uint8_t RESERVED_9[96];
  41456. __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */
  41457. uint8_t RESERVED_10[96];
  41458. __IO uint32_t TIMCTL[8]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */
  41459. uint8_t RESERVED_11[96];
  41460. __IO uint32_t TIMCFG[8]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */
  41461. uint8_t RESERVED_12[96];
  41462. __IO uint32_t TIMCMP[8]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */
  41463. uint8_t RESERVED_13[352];
  41464. __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */
  41465. uint8_t RESERVED_14[96];
  41466. __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */
  41467. uint8_t RESERVED_15[96];
  41468. __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */
  41469. uint8_t RESERVED_16[96];
  41470. __IO uint32_t SHIFTBUFOES[8]; /**< Shifter Buffer N Odd Even Swapped Register, array offset: 0x800, array step: 0x4 */
  41471. uint8_t RESERVED_17[96];
  41472. __IO uint32_t SHIFTBUFEOS[8]; /**< Shifter Buffer N Even Odd Swapped Register, array offset: 0x880, array step: 0x4 */
  41473. } FLEXIO_Type;
  41474. /* ----------------------------------------------------------------------------
  41475. -- FLEXIO Register Masks
  41476. ---------------------------------------------------------------------------- */
  41477. /*!
  41478. * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks
  41479. * @{
  41480. */
  41481. /*! @name VERID - Version ID Register */
  41482. /*! @{ */
  41483. #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU)
  41484. #define FLEXIO_VERID_FEATURE_SHIFT (0U)
  41485. /*! FEATURE - Feature Specification Number
  41486. * 0b0000000000000000..Standard features implemented.
  41487. * 0b0000000000000001..Supports state, logic and parallel modes.
  41488. * 0b0000000000000010..Supports pin control registers.
  41489. * 0b0000000000000011..Supports state, logic and parallel modes; plus pin control registers.
  41490. */
  41491. #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK)
  41492. #define FLEXIO_VERID_MINOR_MASK (0xFF0000U)
  41493. #define FLEXIO_VERID_MINOR_SHIFT (16U)
  41494. /*! MINOR - Minor Version Number
  41495. */
  41496. #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK)
  41497. #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U)
  41498. #define FLEXIO_VERID_MAJOR_SHIFT (24U)
  41499. /*! MAJOR - Major Version Number
  41500. */
  41501. #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK)
  41502. /*! @} */
  41503. /*! @name PARAM - Parameter Register */
  41504. /*! @{ */
  41505. #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU)
  41506. #define FLEXIO_PARAM_SHIFTER_SHIFT (0U)
  41507. /*! SHIFTER - Shifter Number
  41508. */
  41509. #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK)
  41510. #define FLEXIO_PARAM_TIMER_MASK (0xFF00U)
  41511. #define FLEXIO_PARAM_TIMER_SHIFT (8U)
  41512. /*! TIMER - Timer Number
  41513. */
  41514. #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK)
  41515. #define FLEXIO_PARAM_PIN_MASK (0xFF0000U)
  41516. #define FLEXIO_PARAM_PIN_SHIFT (16U)
  41517. /*! PIN - Pin Number
  41518. */
  41519. #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK)
  41520. #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U)
  41521. #define FLEXIO_PARAM_TRIGGER_SHIFT (24U)
  41522. /*! TRIGGER - Trigger Number
  41523. */
  41524. #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK)
  41525. /*! @} */
  41526. /*! @name CTRL - FlexIO Control Register */
  41527. /*! @{ */
  41528. #define FLEXIO_CTRL_FLEXEN_MASK (0x1U)
  41529. #define FLEXIO_CTRL_FLEXEN_SHIFT (0U)
  41530. /*! FLEXEN - FlexIO Enable
  41531. * 0b0..FlexIO module is disabled.
  41532. * 0b1..FlexIO module is enabled.
  41533. */
  41534. #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK)
  41535. #define FLEXIO_CTRL_SWRST_MASK (0x2U)
  41536. #define FLEXIO_CTRL_SWRST_SHIFT (1U)
  41537. /*! SWRST - Software Reset
  41538. * 0b0..Software reset is disabled
  41539. * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset.
  41540. */
  41541. #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK)
  41542. #define FLEXIO_CTRL_FASTACC_MASK (0x4U)
  41543. #define FLEXIO_CTRL_FASTACC_SHIFT (2U)
  41544. /*! FASTACC - Fast Access
  41545. * 0b0..Configures for normal register accesses to FlexIO
  41546. * 0b1..Configures for fast register accesses to FlexIO
  41547. */
  41548. #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK)
  41549. #define FLEXIO_CTRL_DBGE_MASK (0x40000000U)
  41550. #define FLEXIO_CTRL_DBGE_SHIFT (30U)
  41551. /*! DBGE - Debug Enable
  41552. * 0b0..FlexIO is disabled in debug modes.
  41553. * 0b1..FlexIO is enabled in debug modes
  41554. */
  41555. #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK)
  41556. #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U)
  41557. #define FLEXIO_CTRL_DOZEN_SHIFT (31U)
  41558. /*! DOZEN - Doze Enable
  41559. * 0b0..FlexIO enabled in Doze modes.
  41560. * 0b1..FlexIO disabled in Doze modes.
  41561. */
  41562. #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK)
  41563. /*! @} */
  41564. /*! @name PIN - Pin State Register */
  41565. /*! @{ */
  41566. #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU)
  41567. #define FLEXIO_PIN_PDI_SHIFT (0U)
  41568. /*! PDI - Pin Data Input
  41569. */
  41570. #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK)
  41571. /*! @} */
  41572. /*! @name SHIFTSTAT - Shifter Status Register */
  41573. /*! @{ */
  41574. #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU)
  41575. #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U)
  41576. /*! SSF - Shifter Status Flag
  41577. */
  41578. #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK)
  41579. /*! @} */
  41580. /*! @name SHIFTERR - Shifter Error Register */
  41581. /*! @{ */
  41582. #define FLEXIO_SHIFTERR_SEF_MASK (0xFFU)
  41583. #define FLEXIO_SHIFTERR_SEF_SHIFT (0U)
  41584. /*! SEF - Shifter Error Flags
  41585. */
  41586. #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK)
  41587. /*! @} */
  41588. /*! @name TIMSTAT - Timer Status Register */
  41589. /*! @{ */
  41590. #define FLEXIO_TIMSTAT_TSF_MASK (0xFFU)
  41591. #define FLEXIO_TIMSTAT_TSF_SHIFT (0U)
  41592. /*! TSF - Timer Status Flags
  41593. */
  41594. #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK)
  41595. /*! @} */
  41596. /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */
  41597. /*! @{ */
  41598. #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU)
  41599. #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U)
  41600. /*! SSIE - Shifter Status Interrupt Enable
  41601. */
  41602. #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK)
  41603. /*! @} */
  41604. /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */
  41605. /*! @{ */
  41606. #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU)
  41607. #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U)
  41608. /*! SEIE - Shifter Error Interrupt Enable
  41609. */
  41610. #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK)
  41611. /*! @} */
  41612. /*! @name TIMIEN - Timer Interrupt Enable Register */
  41613. /*! @{ */
  41614. #define FLEXIO_TIMIEN_TEIE_MASK (0xFFU)
  41615. #define FLEXIO_TIMIEN_TEIE_SHIFT (0U)
  41616. /*! TEIE - Timer Status Interrupt Enable
  41617. */
  41618. #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK)
  41619. /*! @} */
  41620. /*! @name SHIFTSDEN - Shifter Status DMA Enable */
  41621. /*! @{ */
  41622. #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU)
  41623. #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U)
  41624. /*! SSDE - Shifter Status DMA Enable
  41625. */
  41626. #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK)
  41627. /*! @} */
  41628. /*! @name TIMERSDEN - Timer Status DMA Enable */
  41629. /*! @{ */
  41630. #define FLEXIO_TIMERSDEN_TSDE_MASK (0xFFU)
  41631. #define FLEXIO_TIMERSDEN_TSDE_SHIFT (0U)
  41632. /*! TSDE - Timer Status DMA Enable
  41633. */
  41634. #define FLEXIO_TIMERSDEN_TSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMERSDEN_TSDE_SHIFT)) & FLEXIO_TIMERSDEN_TSDE_MASK)
  41635. /*! @} */
  41636. /*! @name SHIFTSTATE - Shifter State Register */
  41637. /*! @{ */
  41638. #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U)
  41639. #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U)
  41640. /*! STATE - Current State Pointer
  41641. */
  41642. #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK)
  41643. /*! @} */
  41644. /*! @name SHIFTCTL - Shifter Control N Register */
  41645. /*! @{ */
  41646. #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U)
  41647. #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U)
  41648. /*! SMOD - Shifter Mode
  41649. * 0b000..Disabled.
  41650. * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer.
  41651. * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer.
  41652. * 0b011..Reserved.
  41653. * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer.
  41654. * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents.
  41655. * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes.
  41656. * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table.
  41657. */
  41658. #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK)
  41659. #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U)
  41660. #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U)
  41661. /*! PINPOL - Shifter Pin Polarity
  41662. * 0b0..Pin is active high
  41663. * 0b1..Pin is active low
  41664. */
  41665. #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK)
  41666. #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U)
  41667. #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U)
  41668. /*! PINSEL - Shifter Pin Select
  41669. */
  41670. #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK)
  41671. #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U)
  41672. #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U)
  41673. /*! PINCFG - Shifter Pin Configuration
  41674. * 0b00..Shifter pin output disabled
  41675. * 0b01..Shifter pin open drain or bidirectional output enable
  41676. * 0b10..Shifter pin bidirectional output data
  41677. * 0b11..Shifter pin output
  41678. */
  41679. #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK)
  41680. #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U)
  41681. #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U)
  41682. /*! TIMPOL - Timer Polarity
  41683. * 0b0..Shift on posedge of Shift clock
  41684. * 0b1..Shift on negedge of Shift clock
  41685. */
  41686. #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK)
  41687. #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U)
  41688. #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U)
  41689. /*! TIMSEL - Timer Select
  41690. */
  41691. #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK)
  41692. /*! @} */
  41693. /* The count of FLEXIO_SHIFTCTL */
  41694. #define FLEXIO_SHIFTCTL_COUNT (8U)
  41695. /*! @name SHIFTCFG - Shifter Configuration N Register */
  41696. /*! @{ */
  41697. #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U)
  41698. #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U)
  41699. /*! SSTART - Shifter Start bit
  41700. * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable
  41701. * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift
  41702. * 0b10..Transmitter outputs start bit value 0 before loading data on first shift, receiver/match store sets error flag if start bit is not 0
  41703. * 0b11..Transmitter outputs start bit value 1 before loading data on first shift, receiver/match store sets error flag if start bit is not 1
  41704. */
  41705. #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK)
  41706. #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U)
  41707. #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U)
  41708. /*! SSTOP - Shifter Stop bit
  41709. * 0b00..Stop bit disabled for transmitter/receiver/match store
  41710. * 0b01..Reserved for transmitter/receiver/match store
  41711. * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0
  41712. * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1
  41713. */
  41714. #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK)
  41715. #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U)
  41716. #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U)
  41717. /*! INSRC - Input Source
  41718. * 0b0..Pin
  41719. * 0b1..Shifter N+1 Output
  41720. */
  41721. #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK)
  41722. #define FLEXIO_SHIFTCFG_LATST_MASK (0x200U)
  41723. #define FLEXIO_SHIFTCFG_LATST_SHIFT (9U)
  41724. /*! LATST - Late Store
  41725. * 0b0..Shift register stores the pre-shift register state.
  41726. * 0b1..Shift register stores the post-shift register state.
  41727. */
  41728. #define FLEXIO_SHIFTCFG_LATST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_LATST_SHIFT)) & FLEXIO_SHIFTCFG_LATST_MASK)
  41729. #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U)
  41730. #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U)
  41731. /*! PWIDTH - Parallel Width
  41732. */
  41733. #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK)
  41734. /*! @} */
  41735. /* The count of FLEXIO_SHIFTCFG */
  41736. #define FLEXIO_SHIFTCFG_COUNT (8U)
  41737. /*! @name SHIFTBUF - Shifter Buffer N Register */
  41738. /*! @{ */
  41739. #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU)
  41740. #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U)
  41741. /*! SHIFTBUF - Shift Buffer
  41742. */
  41743. #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK)
  41744. /*! @} */
  41745. /* The count of FLEXIO_SHIFTBUF */
  41746. #define FLEXIO_SHIFTBUF_COUNT (8U)
  41747. /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */
  41748. /*! @{ */
  41749. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU)
  41750. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U)
  41751. /*! SHIFTBUFBIS - Shift Buffer
  41752. */
  41753. #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK)
  41754. /*! @} */
  41755. /* The count of FLEXIO_SHIFTBUFBIS */
  41756. #define FLEXIO_SHIFTBUFBIS_COUNT (8U)
  41757. /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */
  41758. /*! @{ */
  41759. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU)
  41760. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U)
  41761. /*! SHIFTBUFBYS - Shift Buffer
  41762. */
  41763. #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK)
  41764. /*! @} */
  41765. /* The count of FLEXIO_SHIFTBUFBYS */
  41766. #define FLEXIO_SHIFTBUFBYS_COUNT (8U)
  41767. /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */
  41768. /*! @{ */
  41769. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU)
  41770. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U)
  41771. /*! SHIFTBUFBBS - Shift Buffer
  41772. */
  41773. #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK)
  41774. /*! @} */
  41775. /* The count of FLEXIO_SHIFTBUFBBS */
  41776. #define FLEXIO_SHIFTBUFBBS_COUNT (8U)
  41777. /*! @name TIMCTL - Timer Control N Register */
  41778. /*! @{ */
  41779. #define FLEXIO_TIMCTL_TIMOD_MASK (0x7U)
  41780. #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U)
  41781. /*! TIMOD - Timer Mode
  41782. * 0b000..Timer Disabled.
  41783. * 0b001..Dual 8-bit counters baud mode.
  41784. * 0b010..Dual 8-bit counters PWM high mode.
  41785. * 0b011..Single 16-bit counter mode.
  41786. * 0b100..Single 16-bit counter disable mode.
  41787. * 0b101..Dual 8-bit counters word mode.
  41788. * 0b110..Dual 8-bit counters PWM low mode.
  41789. * 0b111..Single 16-bit input capture mode.
  41790. */
  41791. #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK)
  41792. #define FLEXIO_TIMCTL_ONETIM_MASK (0x20U)
  41793. #define FLEXIO_TIMCTL_ONETIM_SHIFT (5U)
  41794. /*! ONETIM - Timer One Time Operation
  41795. * 0b0..The timer enable event is generated as normal.
  41796. * 0b1..The timer enable event is blocked unless timer status flag is clear.
  41797. */
  41798. #define FLEXIO_TIMCTL_ONETIM(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_ONETIM_SHIFT)) & FLEXIO_TIMCTL_ONETIM_MASK)
  41799. #define FLEXIO_TIMCTL_PININS_MASK (0x40U)
  41800. #define FLEXIO_TIMCTL_PININS_SHIFT (6U)
  41801. /*! PININS - Timer Pin Input Select
  41802. * 0b0..Timer pin input and output are selected by PINSEL.
  41803. * 0b1..Timer pin input is selected by PINSEL+1, timer pin output remains selected by PINSEL.
  41804. */
  41805. #define FLEXIO_TIMCTL_PININS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PININS_SHIFT)) & FLEXIO_TIMCTL_PININS_MASK)
  41806. #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U)
  41807. #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U)
  41808. /*! PINPOL - Timer Pin Polarity
  41809. * 0b0..Pin is active high
  41810. * 0b1..Pin is active low
  41811. */
  41812. #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK)
  41813. #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U)
  41814. #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U)
  41815. /*! PINSEL - Timer Pin Select
  41816. */
  41817. #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK)
  41818. #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U)
  41819. #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U)
  41820. /*! PINCFG - Timer Pin Configuration
  41821. * 0b00..Timer pin output disabled
  41822. * 0b01..Timer pin open drain or bidirectional output enable
  41823. * 0b10..Timer pin bidirectional output data
  41824. * 0b11..Timer pin output
  41825. */
  41826. #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK)
  41827. #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U)
  41828. #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U)
  41829. /*! TRGSRC - Trigger Source
  41830. * 0b0..External trigger selected
  41831. * 0b1..Internal trigger selected
  41832. */
  41833. #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK)
  41834. #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U)
  41835. #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U)
  41836. /*! TRGPOL - Trigger Polarity
  41837. * 0b0..Trigger active high
  41838. * 0b1..Trigger active low
  41839. */
  41840. #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK)
  41841. #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U)
  41842. #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U)
  41843. /*! TRGSEL - Trigger Select
  41844. */
  41845. #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK)
  41846. /*! @} */
  41847. /* The count of FLEXIO_TIMCTL */
  41848. #define FLEXIO_TIMCTL_COUNT (8U)
  41849. /*! @name TIMCFG - Timer Configuration N Register */
  41850. /*! @{ */
  41851. #define FLEXIO_TIMCFG_TSTART_MASK (0x2U)
  41852. #define FLEXIO_TIMCFG_TSTART_SHIFT (1U)
  41853. /*! TSTART - Timer Start Bit
  41854. * 0b0..Start bit disabled
  41855. * 0b1..Start bit enabled
  41856. */
  41857. #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK)
  41858. #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U)
  41859. #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U)
  41860. /*! TSTOP - Timer Stop Bit
  41861. * 0b00..Stop bit disabled
  41862. * 0b01..Stop bit is enabled on timer compare
  41863. * 0b10..Stop bit is enabled on timer disable
  41864. * 0b11..Stop bit is enabled on timer compare and timer disable
  41865. */
  41866. #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK)
  41867. #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U)
  41868. #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U)
  41869. /*! TIMENA - Timer Enable
  41870. * 0b000..Timer always enabled
  41871. * 0b001..Timer enabled on Timer N-1 enable
  41872. * 0b010..Timer enabled on Trigger high
  41873. * 0b011..Timer enabled on Trigger high and Pin high
  41874. * 0b100..Timer enabled on Pin rising edge
  41875. * 0b101..Timer enabled on Pin rising edge and Trigger high
  41876. * 0b110..Timer enabled on Trigger rising edge
  41877. * 0b111..Timer enabled on Trigger rising or falling edge
  41878. */
  41879. #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK)
  41880. #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U)
  41881. #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U)
  41882. /*! TIMDIS - Timer Disable
  41883. * 0b000..Timer never disabled
  41884. * 0b001..Timer disabled on Timer N-1 disable
  41885. * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement)
  41886. * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low
  41887. * 0b100..Timer disabled on Pin rising or falling edge
  41888. * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high
  41889. * 0b110..Timer disabled on Trigger falling edge
  41890. * 0b111..Reserved
  41891. */
  41892. #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK)
  41893. #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U)
  41894. #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U)
  41895. /*! TIMRST - Timer Reset
  41896. * 0b000..Timer never reset
  41897. * 0b001..Timer reset on Timer Output high.
  41898. * 0b010..Timer reset on Timer Pin equal to Timer Output
  41899. * 0b011..Timer reset on Timer Trigger equal to Timer Output
  41900. * 0b100..Timer reset on Timer Pin rising edge
  41901. * 0b101..Reserved
  41902. * 0b110..Timer reset on Trigger rising edge
  41903. * 0b111..Timer reset on Trigger rising or falling edge
  41904. */
  41905. #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK)
  41906. #define FLEXIO_TIMCFG_TIMDEC_MASK (0x700000U)
  41907. #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U)
  41908. /*! TIMDEC - Timer Decrement
  41909. * 0b000..Decrement counter on FlexIO clock, Shift clock equals Timer output.
  41910. * 0b001..Decrement counter on Trigger input (both edges), Shift clock equals Timer output.
  41911. * 0b010..Decrement counter on Pin input (both edges), Shift clock equals Pin input.
  41912. * 0b011..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input.
  41913. * 0b100..Decrement counter on FlexIO clock divided by 16, Shift clock equals Timer output.
  41914. * 0b101..Decrement counter on FlexIO clock divided by 256, Shift clock equals Timer output.
  41915. * 0b110..Decrement counter on Pin input (rising edge), Shift clock equals Pin input.
  41916. * 0b111..Decrement counter on Trigger input (rising edge), Shift clock equals Trigger input.
  41917. */
  41918. #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK)
  41919. #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U)
  41920. #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U)
  41921. /*! TIMOUT - Timer Output
  41922. * 0b00..Timer output is logic one when enabled and is not affected by timer reset
  41923. * 0b01..Timer output is logic zero when enabled and is not affected by timer reset
  41924. * 0b10..Timer output is logic one when enabled and on timer reset
  41925. * 0b11..Timer output is logic zero when enabled and on timer reset
  41926. */
  41927. #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK)
  41928. /*! @} */
  41929. /* The count of FLEXIO_TIMCFG */
  41930. #define FLEXIO_TIMCFG_COUNT (8U)
  41931. /*! @name TIMCMP - Timer Compare N Register */
  41932. /*! @{ */
  41933. #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU)
  41934. #define FLEXIO_TIMCMP_CMP_SHIFT (0U)
  41935. /*! CMP - Timer Compare Value
  41936. */
  41937. #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK)
  41938. /*! @} */
  41939. /* The count of FLEXIO_TIMCMP */
  41940. #define FLEXIO_TIMCMP_COUNT (8U)
  41941. /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */
  41942. /*! @{ */
  41943. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU)
  41944. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U)
  41945. /*! SHIFTBUFNBS - Shift Buffer
  41946. */
  41947. #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK)
  41948. /*! @} */
  41949. /* The count of FLEXIO_SHIFTBUFNBS */
  41950. #define FLEXIO_SHIFTBUFNBS_COUNT (8U)
  41951. /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */
  41952. /*! @{ */
  41953. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU)
  41954. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U)
  41955. /*! SHIFTBUFHWS - Shift Buffer
  41956. */
  41957. #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK)
  41958. /*! @} */
  41959. /* The count of FLEXIO_SHIFTBUFHWS */
  41960. #define FLEXIO_SHIFTBUFHWS_COUNT (8U)
  41961. /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */
  41962. /*! @{ */
  41963. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU)
  41964. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U)
  41965. /*! SHIFTBUFNIS - Shift Buffer
  41966. */
  41967. #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK)
  41968. /*! @} */
  41969. /* The count of FLEXIO_SHIFTBUFNIS */
  41970. #define FLEXIO_SHIFTBUFNIS_COUNT (8U)
  41971. /*! @name SHIFTBUFOES - Shifter Buffer N Odd Even Swapped Register */
  41972. /*! @{ */
  41973. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK (0xFFFFFFFFU)
  41974. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT (0U)
  41975. /*! SHIFTBUFOES - Shift Buffer
  41976. */
  41977. #define FLEXIO_SHIFTBUFOES_SHIFTBUFOES(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFOES_SHIFTBUFOES_SHIFT)) & FLEXIO_SHIFTBUFOES_SHIFTBUFOES_MASK)
  41978. /*! @} */
  41979. /* The count of FLEXIO_SHIFTBUFOES */
  41980. #define FLEXIO_SHIFTBUFOES_COUNT (8U)
  41981. /*! @name SHIFTBUFEOS - Shifter Buffer N Even Odd Swapped Register */
  41982. /*! @{ */
  41983. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK (0xFFFFFFFFU)
  41984. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT (0U)
  41985. /*! SHIFTBUFEOS - Shift Buffer
  41986. */
  41987. #define FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_SHIFT)) & FLEXIO_SHIFTBUFEOS_SHIFTBUFEOS_MASK)
  41988. /*! @} */
  41989. /* The count of FLEXIO_SHIFTBUFEOS */
  41990. #define FLEXIO_SHIFTBUFEOS_COUNT (8U)
  41991. /*!
  41992. * @}
  41993. */ /* end of group FLEXIO_Register_Masks */
  41994. /* FLEXIO - Peripheral instance base addresses */
  41995. /** Peripheral FLEXIO1 base address */
  41996. #define FLEXIO1_BASE (0x400AC000u)
  41997. /** Peripheral FLEXIO1 base pointer */
  41998. #define FLEXIO1 ((FLEXIO_Type *)FLEXIO1_BASE)
  41999. /** Peripheral FLEXIO2 base address */
  42000. #define FLEXIO2_BASE (0x400B0000u)
  42001. /** Peripheral FLEXIO2 base pointer */
  42002. #define FLEXIO2 ((FLEXIO_Type *)FLEXIO2_BASE)
  42003. /** Array initializer of FLEXIO peripheral base addresses */
  42004. #define FLEXIO_BASE_ADDRS { 0u, FLEXIO1_BASE, FLEXIO2_BASE }
  42005. /** Array initializer of FLEXIO peripheral base pointers */
  42006. #define FLEXIO_BASE_PTRS { (FLEXIO_Type *)0u, FLEXIO1, FLEXIO2 }
  42007. /** Interrupt vectors for the FLEXIO peripheral type */
  42008. #define FLEXIO_IRQS { NotAvail_IRQn, FLEXIO1_IRQn, FLEXIO2_IRQn }
  42009. /*!
  42010. * @}
  42011. */ /* end of group FLEXIO_Peripheral_Access_Layer */
  42012. /* ----------------------------------------------------------------------------
  42013. -- FLEXRAM Peripheral Access Layer
  42014. ---------------------------------------------------------------------------- */
  42015. /*!
  42016. * @addtogroup FLEXRAM_Peripheral_Access_Layer FLEXRAM Peripheral Access Layer
  42017. * @{
  42018. */
  42019. /** FLEXRAM - Register Layout Typedef */
  42020. typedef struct {
  42021. __IO uint32_t TCM_CTRL; /**< TCM CRTL Register, offset: 0x0 */
  42022. __IO uint32_t OCRAM_MAGIC_ADDR; /**< OCRAM Magic Address Register, offset: 0x4 */
  42023. __IO uint32_t DTCM_MAGIC_ADDR; /**< DTCM Magic Address Register, offset: 0x8 */
  42024. __IO uint32_t ITCM_MAGIC_ADDR; /**< ITCM Magic Address Register, offset: 0xC */
  42025. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x10 */
  42026. __IO uint32_t INT_STAT_EN; /**< Interrupt Status Enable Register, offset: 0x14 */
  42027. __IO uint32_t INT_SIG_EN; /**< Interrupt Enable Register, offset: 0x18 */
  42028. __I uint32_t OCRAM_ECC_SINGLE_ERROR_INFO; /**< OCRAM single-bit ECC Error Information Register, offset: 0x1C */
  42029. __I uint32_t OCRAM_ECC_SINGLE_ERROR_ADDR; /**< OCRAM single-bit ECC Error Address Register, offset: 0x20 */
  42030. __I uint32_t OCRAM_ECC_SINGLE_ERROR_DATA_LSB; /**< OCRAM single-bit ECC Error Data Register, offset: 0x24 */
  42031. __I uint32_t OCRAM_ECC_SINGLE_ERROR_DATA_MSB; /**< OCRAM single-bit ECC Error Data Register, offset: 0x28 */
  42032. __I uint32_t OCRAM_ECC_MULTI_ERROR_INFO; /**< OCRAM multi-bit ECC Error Information Register, offset: 0x2C */
  42033. __I uint32_t OCRAM_ECC_MULTI_ERROR_ADDR; /**< OCRAM multi-bit ECC Error Address Register, offset: 0x30 */
  42034. __I uint32_t OCRAM_ECC_MULTI_ERROR_DATA_LSB; /**< OCRAM multi-bit ECC Error Data Register, offset: 0x34 */
  42035. __I uint32_t OCRAM_ECC_MULTI_ERROR_DATA_MSB; /**< OCRAM multi-bit ECC Error Data Register, offset: 0x38 */
  42036. __I uint32_t ITCM_ECC_SINGLE_ERROR_INFO; /**< ITCM single-bit ECC Error Information Register, offset: 0x3C */
  42037. __I uint32_t ITCM_ECC_SINGLE_ERROR_ADDR; /**< ITCM single-bit ECC Error Address Register, offset: 0x40 */
  42038. __I uint32_t ITCM_ECC_SINGLE_ERROR_DATA_LSB; /**< ITCM single-bit ECC Error Data Register, offset: 0x44 */
  42039. __I uint32_t ITCM_ECC_SINGLE_ERROR_DATA_MSB; /**< ITCM single-bit ECC Error Data Register, offset: 0x48 */
  42040. __I uint32_t ITCM_ECC_MULTI_ERROR_INFO; /**< ITCM multi-bit ECC Error Information Register, offset: 0x4C */
  42041. __I uint32_t ITCM_ECC_MULTI_ERROR_ADDR; /**< ITCM multi-bit ECC Error Address Register, offset: 0x50 */
  42042. __I uint32_t ITCM_ECC_MULTI_ERROR_DATA_LSB; /**< ITCM multi-bit ECC Error Data Register, offset: 0x54 */
  42043. __I uint32_t ITCM_ECC_MULTI_ERROR_DATA_MSB; /**< ITCM multi-bit ECC Error Data Register, offset: 0x58 */
  42044. __I uint32_t D0TCM_ECC_SINGLE_ERROR_INFO; /**< D0TCM single-bit ECC Error Information Register, offset: 0x5C */
  42045. __I uint32_t D0TCM_ECC_SINGLE_ERROR_ADDR; /**< D0TCM single-bit ECC Error Address Register, offset: 0x60 */
  42046. __I uint32_t D0TCM_ECC_SINGLE_ERROR_DATA; /**< D0TCM single-bit ECC Error Data Register, offset: 0x64 */
  42047. __I uint32_t D0TCM_ECC_MULTI_ERROR_INFO; /**< D0TCM multi-bit ECC Error Information Register, offset: 0x68 */
  42048. __I uint32_t D0TCM_ECC_MULTI_ERROR_ADDR; /**< D0TCM multi-bit ECC Error Address Register, offset: 0x6C */
  42049. __I uint32_t D0TCM_ECC_MULTI_ERROR_DATA; /**< D0TCM multi-bit ECC Error Data Register, offset: 0x70 */
  42050. __I uint32_t D1TCM_ECC_SINGLE_ERROR_INFO; /**< D1TCM single-bit ECC Error Information Register, offset: 0x74 */
  42051. __I uint32_t D1TCM_ECC_SINGLE_ERROR_ADDR; /**< D1TCM single-bit ECC Error Address Register, offset: 0x78 */
  42052. __I uint32_t D1TCM_ECC_SINGLE_ERROR_DATA; /**< D1TCM single-bit ECC Error Data Register, offset: 0x7C */
  42053. __I uint32_t D1TCM_ECC_MULTI_ERROR_INFO; /**< D1TCM multi-bit ECC Error Information Register, offset: 0x80 */
  42054. __I uint32_t D1TCM_ECC_MULTI_ERROR_ADDR; /**< D1TCM multi-bit ECC Error Address Register, offset: 0x84 */
  42055. __I uint32_t D1TCM_ECC_MULTI_ERROR_DATA; /**< D1TCM multi-bit ECC Error Data Register, offset: 0x88 */
  42056. uint8_t RESERVED_0[124];
  42057. __IO uint32_t FLEXRAM_CTRL; /**< FlexRAM feature Control register, offset: 0x108 */
  42058. __I uint32_t OCRAM_PIPELINE_STATUS; /**< OCRAM Pipeline Status register, offset: 0x10C */
  42059. } FLEXRAM_Type;
  42060. /* ----------------------------------------------------------------------------
  42061. -- FLEXRAM Register Masks
  42062. ---------------------------------------------------------------------------- */
  42063. /*!
  42064. * @addtogroup FLEXRAM_Register_Masks FLEXRAM Register Masks
  42065. * @{
  42066. */
  42067. /*! @name TCM_CTRL - TCM CRTL Register */
  42068. /*! @{ */
  42069. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_MASK (0x1U)
  42070. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_SHIFT (0U)
  42071. /*! TCM_WWAIT_EN - TCM Write Wait Mode Enable
  42072. * 0b0..TCM write fast mode: Write RAM accesses are expected to be finished in 1-cycle.
  42073. * 0b1..TCM write wait mode: Write RAM accesses are expected to be finished in 2-cycles.
  42074. */
  42075. #define FLEXRAM_TCM_CTRL_TCM_WWAIT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_SHIFT)) & FLEXRAM_TCM_CTRL_TCM_WWAIT_EN_MASK)
  42076. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_MASK (0x2U)
  42077. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_SHIFT (1U)
  42078. /*! TCM_RWAIT_EN - TCM Read Wait Mode Enable
  42079. * 0b0..TCM read fast mode: Read RAM accesses are expected to be finished in 1-cycle.
  42080. * 0b1..TCM read wait mode: Read RAM accesses are expected to be finished in 2-cycles.
  42081. */
  42082. #define FLEXRAM_TCM_CTRL_TCM_RWAIT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_SHIFT)) & FLEXRAM_TCM_CTRL_TCM_RWAIT_EN_MASK)
  42083. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_MASK (0x4U)
  42084. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON_SHIFT (2U)
  42085. /*! FORCE_CLK_ON - Force RAM Clock Always On
  42086. */
  42087. #define FLEXRAM_TCM_CTRL_FORCE_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_FORCE_CLK_ON_SHIFT)) & FLEXRAM_TCM_CTRL_FORCE_CLK_ON_MASK)
  42088. #define FLEXRAM_TCM_CTRL_Reserved_MASK (0xFFFFFFF8U)
  42089. #define FLEXRAM_TCM_CTRL_Reserved_SHIFT (3U)
  42090. /*! Reserved - Reserved
  42091. */
  42092. #define FLEXRAM_TCM_CTRL_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_TCM_CTRL_Reserved_SHIFT)) & FLEXRAM_TCM_CTRL_Reserved_MASK)
  42093. /*! @} */
  42094. /*! @name OCRAM_MAGIC_ADDR - OCRAM Magic Address Register */
  42095. /*! @{ */
  42096. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_MASK (0x1U)
  42097. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_SHIFT (0U)
  42098. /*! OCRAM_WR_RD_SEL - OCRAM Write Read Select
  42099. * 0b0..When OCRAM read access hits magic address, it will generate interrupt.
  42100. * 0b1..When OCRAM write access hits magic address, it will generate interrupt.
  42101. */
  42102. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_SHIFT)) & FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_WR_RD_SEL_MASK)
  42103. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_MASK (0x3FFFEU)
  42104. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_SHIFT (1U)
  42105. /*! OCRAM_MAGIC_ADDR - OCRAM Magic Address
  42106. */
  42107. #define FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_SHIFT)) & FLEXRAM_OCRAM_MAGIC_ADDR_OCRAM_MAGIC_ADDR_MASK)
  42108. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_MASK (0xFFFC0000U)
  42109. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_SHIFT (18U)
  42110. /*! Reserved - Reserved
  42111. */
  42112. #define FLEXRAM_OCRAM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_OCRAM_MAGIC_ADDR_Reserved_MASK)
  42113. /*! @} */
  42114. /*! @name DTCM_MAGIC_ADDR - DTCM Magic Address Register */
  42115. /*! @{ */
  42116. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_MASK (0x1U)
  42117. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_SHIFT (0U)
  42118. /*! DTCM_WR_RD_SEL - DTCM Write Read Select
  42119. * 0b0..When DTCM read access hits magic address, it will generate interrupt.
  42120. * 0b1..When DTCM write access hits magic address, it will generate interrupt.
  42121. */
  42122. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_SHIFT)) & FLEXRAM_DTCM_MAGIC_ADDR_DTCM_WR_RD_SEL_MASK)
  42123. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_MASK (0x1FFFEU)
  42124. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_SHIFT (1U)
  42125. /*! DTCM_MAGIC_ADDR - DTCM Magic Address
  42126. */
  42127. #define FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_SHIFT)) & FLEXRAM_DTCM_MAGIC_ADDR_DTCM_MAGIC_ADDR_MASK)
  42128. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved_MASK (0xFFFE0000U)
  42129. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved_SHIFT (17U)
  42130. /*! Reserved - Reserved
  42131. */
  42132. #define FLEXRAM_DTCM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_DTCM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_DTCM_MAGIC_ADDR_Reserved_MASK)
  42133. /*! @} */
  42134. /*! @name ITCM_MAGIC_ADDR - ITCM Magic Address Register */
  42135. /*! @{ */
  42136. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_MASK (0x1U)
  42137. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_SHIFT (0U)
  42138. /*! ITCM_WR_RD_SEL - ITCM Write Read Select
  42139. * 0b0..When ITCM read access hits magic address, it will generate interrupt.
  42140. * 0b1..When ITCM write access hits magic address, it will generate interrupt.
  42141. */
  42142. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_SHIFT)) & FLEXRAM_ITCM_MAGIC_ADDR_ITCM_WR_RD_SEL_MASK)
  42143. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_MASK (0x1FFFEU)
  42144. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_SHIFT (1U)
  42145. /*! ITCM_MAGIC_ADDR - ITCM Magic Address
  42146. */
  42147. #define FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_SHIFT)) & FLEXRAM_ITCM_MAGIC_ADDR_ITCM_MAGIC_ADDR_MASK)
  42148. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved_MASK (0xFFFE0000U)
  42149. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved_SHIFT (17U)
  42150. /*! Reserved - Reserved
  42151. */
  42152. #define FLEXRAM_ITCM_MAGIC_ADDR_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_MAGIC_ADDR_Reserved_SHIFT)) & FLEXRAM_ITCM_MAGIC_ADDR_Reserved_MASK)
  42153. /*! @} */
  42154. /*! @name INT_STATUS - Interrupt Status Register */
  42155. /*! @{ */
  42156. #define FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_MASK (0x1U)
  42157. #define FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_SHIFT (0U)
  42158. /*! ITCM_MAM_STATUS - ITCM Magic Address Match Status
  42159. * 0b0..ITCM did not access magic address.
  42160. * 0b1..ITCM accessed magic address.
  42161. */
  42162. #define FLEXRAM_INT_STATUS_ITCM_MAM_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_ITCM_MAM_STATUS_MASK)
  42163. #define FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_MASK (0x2U)
  42164. #define FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_SHIFT (1U)
  42165. /*! DTCM_MAM_STATUS - DTCM Magic Address Match Status
  42166. * 0b0..DTCM did not access magic address.
  42167. * 0b1..DTCM accessed magic address.
  42168. */
  42169. #define FLEXRAM_INT_STATUS_DTCM_MAM_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_DTCM_MAM_STATUS_MASK)
  42170. #define FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_MASK (0x4U)
  42171. #define FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_SHIFT (2U)
  42172. /*! OCRAM_MAM_STATUS - OCRAM Magic Address Match Status
  42173. * 0b0..OCRAM did not access magic address.
  42174. * 0b1..OCRAM accessed magic address.
  42175. */
  42176. #define FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_OCRAM_MAM_STATUS_MASK)
  42177. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_MASK (0x8U)
  42178. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_SHIFT (3U)
  42179. /*! ITCM_ERR_STATUS - ITCM Access Error Status
  42180. * 0b0..ITCM access error does not happen
  42181. * 0b1..ITCM access error happens.
  42182. */
  42183. #define FLEXRAM_INT_STATUS_ITCM_ERR_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_ITCM_ERR_STATUS_MASK)
  42184. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_MASK (0x10U)
  42185. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_SHIFT (4U)
  42186. /*! DTCM_ERR_STATUS - DTCM Access Error Status
  42187. * 0b0..DTCM access error does not happen
  42188. * 0b1..DTCM access error happens.
  42189. */
  42190. #define FLEXRAM_INT_STATUS_DTCM_ERR_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_DTCM_ERR_STATUS_MASK)
  42191. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_MASK (0x20U)
  42192. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_SHIFT (5U)
  42193. /*! OCRAM_ERR_STATUS - OCRAM Access Error Status
  42194. * 0b0..OCRAM access error does not happen
  42195. * 0b1..OCRAM access error happens.
  42196. */
  42197. #define FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_SHIFT)) & FLEXRAM_INT_STATUS_OCRAM_ERR_STATUS_MASK)
  42198. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_MASK (0x40U)
  42199. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_SHIFT (6U)
  42200. /*! OCRAM_ECC_ERRM_INT - OCRAM access multi-bit ECC Error Interrupt Status
  42201. * 0b0..OCRAM multi-bit ECC error does not happen
  42202. * 0b1..OCRAM multi-bit ECC error happens.
  42203. */
  42204. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_SHIFT)) & FLEXRAM_INT_STATUS_OCRAM_ECC_ERRM_INT_MASK)
  42205. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_MASK (0x80U)
  42206. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_SHIFT (7U)
  42207. /*! OCRAM_ECC_ERRS_INT - OCRAM access single-bit ECC Error Interrupt Status
  42208. * 0b0..OCRAM single-bit ECC error does not happen
  42209. * 0b1..OCRAM single-bit ECC error happens.
  42210. */
  42211. #define FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_SHIFT)) & FLEXRAM_INT_STATUS_OCRAM_ECC_ERRS_INT_MASK)
  42212. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_MASK (0x100U)
  42213. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_SHIFT (8U)
  42214. /*! ITCM_ECC_ERRM_INT - ITCM Access multi-bit ECC Error Interrupt Status
  42215. * 0b0..ITCM multi-bit ECC error does not happen
  42216. * 0b1..ITCM multi-bit ECC error happens.
  42217. */
  42218. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_SHIFT)) & FLEXRAM_INT_STATUS_ITCM_ECC_ERRM_INT_MASK)
  42219. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_MASK (0x200U)
  42220. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_SHIFT (9U)
  42221. /*! ITCM_ECC_ERRS_INT - ITCM access single-bit ECC Error Interrupt Status
  42222. * 0b0..ITCM single-bit ECC error does not happen
  42223. * 0b1..ITCM single-bit ECC error happens.
  42224. */
  42225. #define FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_SHIFT)) & FLEXRAM_INT_STATUS_ITCM_ECC_ERRS_INT_MASK)
  42226. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_MASK (0x400U)
  42227. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_SHIFT (10U)
  42228. /*! D0TCM_ECC_ERRM_INT - D0TCM access multi-bit ECC Error Interrupt Status
  42229. * 0b0..D0TCM multi-bit ECC error does not happen
  42230. * 0b1..D0TCM multi-bit ECC error happens.
  42231. */
  42232. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_SHIFT)) & FLEXRAM_INT_STATUS_D0TCM_ECC_ERRM_INT_MASK)
  42233. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_MASK (0x800U)
  42234. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_SHIFT (11U)
  42235. /*! D0TCM_ECC_ERRS_INT - D0TCM access single-bit ECC Error Interrupt Status
  42236. * 0b0..D0TCM single-bit ECC error does not happen
  42237. * 0b1..D0TCM single-bit ECC error happens.
  42238. */
  42239. #define FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_SHIFT)) & FLEXRAM_INT_STATUS_D0TCM_ECC_ERRS_INT_MASK)
  42240. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_MASK (0x1000U)
  42241. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_SHIFT (12U)
  42242. /*! D1TCM_ECC_ERRM_INT - D1TCM access multi-bit ECC Error Interrupt Status
  42243. * 0b0..D1TCM multi-bit ECC error does not happen
  42244. * 0b1..D1TCM multi-bit ECC error happens.
  42245. */
  42246. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_SHIFT)) & FLEXRAM_INT_STATUS_D1TCM_ECC_ERRM_INT_MASK)
  42247. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_MASK (0x2000U)
  42248. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_SHIFT (13U)
  42249. /*! D1TCM_ECC_ERRS_INT - D1TCM access single-bit ECC Error Interrupt Status
  42250. * 0b0..D1TCM single-bit ECC error does not happen
  42251. * 0b1..D1TCM single-bit ECC error happens.
  42252. */
  42253. #define FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_SHIFT)) & FLEXRAM_INT_STATUS_D1TCM_ECC_ERRS_INT_MASK)
  42254. #define FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_MASK (0x4000U)
  42255. #define FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_SHIFT (14U)
  42256. /*! ITCM_PARTIAL_WR_INT_S - ITCM Partial Write Interrupt Status
  42257. * 0b0..ITCM Partial Write does not happen
  42258. * 0b1..ITCM Partial Write happens.
  42259. */
  42260. #define FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_SHIFT)) & FLEXRAM_INT_STATUS_ITCM_PARTIAL_WR_INT_S_MASK)
  42261. #define FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_MASK (0x8000U)
  42262. #define FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_SHIFT (15U)
  42263. /*! D0TCM_PARTIAL_WR_INT_S - D0TCM Partial Write Interrupt Status
  42264. * 0b0..D0TCM Partial Write does not happen
  42265. * 0b1..D0TCM Partial Write happens.
  42266. */
  42267. #define FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_SHIFT)) & FLEXRAM_INT_STATUS_D0TCM_PARTIAL_WR_INT_S_MASK)
  42268. #define FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_MASK (0x10000U)
  42269. #define FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_SHIFT (16U)
  42270. /*! D1TCM_PARTIAL_WR_INT_S - D1TCM Partial Write Interrupt Status
  42271. * 0b0..D1TCM Partial Write does not happen
  42272. * 0b1..D1TCM Partial Write happens.
  42273. */
  42274. #define FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_SHIFT)) & FLEXRAM_INT_STATUS_D1TCM_PARTIAL_WR_INT_S_MASK)
  42275. #define FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_MASK (0x20000U)
  42276. #define FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_SHIFT (17U)
  42277. /*! OCRAM_PARTIAL_WR_INT_S - OCRAM Partial Write Interrupt Status
  42278. * 0b0..OCRAM Partial Write does not happen
  42279. * 0b1..OCRAM Partial Write happens.
  42280. */
  42281. #define FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_SHIFT)) & FLEXRAM_INT_STATUS_OCRAM_PARTIAL_WR_INT_S_MASK)
  42282. #define FLEXRAM_INT_STATUS_Reserved_MASK (0xFFFC0000U)
  42283. #define FLEXRAM_INT_STATUS_Reserved_SHIFT (18U)
  42284. /*! Reserved - Reserved
  42285. */
  42286. #define FLEXRAM_INT_STATUS_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STATUS_Reserved_SHIFT)) & FLEXRAM_INT_STATUS_Reserved_MASK)
  42287. /*! @} */
  42288. /*! @name INT_STAT_EN - Interrupt Status Enable Register */
  42289. /*! @{ */
  42290. #define FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_MASK (0x1U)
  42291. #define FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_SHIFT (0U)
  42292. /*! ITCM_MAM_STAT_EN - ITCM Magic Address Match Status Enable
  42293. * 0b0..Masked
  42294. * 0b1..Enabled
  42295. */
  42296. #define FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_ITCM_MAM_STAT_EN_MASK)
  42297. #define FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_MASK (0x2U)
  42298. #define FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_SHIFT (1U)
  42299. /*! DTCM_MAM_STAT_EN - DTCM Magic Address Match Status Enable
  42300. * 0b0..Masked
  42301. * 0b1..Enabled
  42302. */
  42303. #define FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_DTCM_MAM_STAT_EN_MASK)
  42304. #define FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_MASK (0x4U)
  42305. #define FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_SHIFT (2U)
  42306. /*! OCRAM_MAM_STAT_EN - OCRAM Magic Address Match Status Enable
  42307. * 0b0..Masked
  42308. * 0b1..Enabled
  42309. */
  42310. #define FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_OCRAM_MAM_STAT_EN_MASK)
  42311. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_MASK (0x8U)
  42312. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_SHIFT (3U)
  42313. /*! ITCM_ERR_STAT_EN - ITCM Access Error Status Enable
  42314. * 0b0..Masked
  42315. * 0b1..Enabled
  42316. */
  42317. #define FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_ITCM_ERR_STAT_EN_MASK)
  42318. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_MASK (0x10U)
  42319. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_SHIFT (4U)
  42320. /*! DTCM_ERR_STAT_EN - DTCM Access Error Status Enable
  42321. * 0b0..Masked
  42322. * 0b1..Enabled
  42323. */
  42324. #define FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_DTCM_ERR_STAT_EN_MASK)
  42325. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_MASK (0x20U)
  42326. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_SHIFT (5U)
  42327. /*! OCRAM_ERR_STAT_EN - OCRAM Access Error Status Enable
  42328. * 0b0..Masked
  42329. * 0b1..Enabled
  42330. */
  42331. #define FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_OCRAM_ERR_STAT_EN_MASK)
  42332. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_MASK (0x40U)
  42333. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_SHIFT (6U)
  42334. /*! OCRAM_ERRM_INT_EN - OCRAM Access multi-bit ECC Error Interrupt Status Enable
  42335. * 0b0..Masked
  42336. * 0b1..Enabled
  42337. */
  42338. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_OCRAM_ERRM_INT_EN_MASK)
  42339. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_MASK (0x80U)
  42340. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_SHIFT (7U)
  42341. /*! OCRAM_ERRS_INT_EN - OCRAM Access single-bit ECC Error Interrupt Status Enable
  42342. * 0b0..Masked
  42343. * 0b1..Enabled
  42344. */
  42345. #define FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_OCRAM_ERRS_INT_EN_MASK)
  42346. #define FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_MASK (0x100U)
  42347. #define FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_SHIFT (8U)
  42348. /*! ITCM_ERRM_INT_EN - ITCM Access multi-bit ECC Error Interrupt Status Enable
  42349. * 0b0..Masked
  42350. * 0b1..Enabled
  42351. */
  42352. #define FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_ITCM_ERRM_INT_EN_MASK)
  42353. #define FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_MASK (0x200U)
  42354. #define FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_SHIFT (9U)
  42355. /*! ITCM_ERRS_INT_EN - ITCM Access single-bit ECC Error Interrupt Status Enable
  42356. * 0b0..Masked
  42357. * 0b1..Enabled
  42358. */
  42359. #define FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_ITCM_ERRS_INT_EN_MASK)
  42360. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_MASK (0x400U)
  42361. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_SHIFT (10U)
  42362. /*! D0TCM_ERRM_INT_EN - D0TCM Access multi-bit ECC Error Interrupt Status Enable
  42363. * 0b0..Masked
  42364. * 0b1..Enabled
  42365. */
  42366. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D0TCM_ERRM_INT_EN_MASK)
  42367. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_MASK (0x800U)
  42368. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_SHIFT (11U)
  42369. /*! D0TCM_ERRS_INT_EN - D0TCM Access single-bit ECC Error Interrupt Status Enable
  42370. * 0b0..Masked
  42371. * 0b1..Enabled
  42372. */
  42373. #define FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D0TCM_ERRS_INT_EN_MASK)
  42374. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_MASK (0x1000U)
  42375. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_SHIFT (12U)
  42376. /*! D1TCM_ERRM_INT_EN - D1TCM Access multi-bit ECC Error Interrupt Status Enable
  42377. * 0b0..Masked
  42378. * 0b1..Enabled
  42379. */
  42380. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D1TCM_ERRM_INT_EN_MASK)
  42381. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_MASK (0x2000U)
  42382. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_SHIFT (13U)
  42383. /*! D1TCM_ERRS_INT_EN - D1TCM Access single-bit ECC Error Interrupt Status Enable
  42384. * 0b0..Masked
  42385. * 0b1..Enabled
  42386. */
  42387. #define FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D1TCM_ERRS_INT_EN_MASK)
  42388. #define FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_MASK (0x4000U)
  42389. #define FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_SHIFT (14U)
  42390. /*! ITCM_PARTIAL_WR_INT_S_EN - ITCM Partial Write Interrupt Status Enable
  42391. * 0b0..Masked
  42392. * 0b1..Enabled
  42393. */
  42394. #define FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_ITCM_PARTIAL_WR_INT_S_EN_MASK)
  42395. #define FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_MASK (0x8000U)
  42396. #define FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_SHIFT (15U)
  42397. /*! D0TCM_PARTIAL_WR_INT_S_EN - D0TCM Partial Write Interrupt Status Enable
  42398. * 0b0..Masked
  42399. * 0b1..Enabled
  42400. */
  42401. #define FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D0TCM_PARTIAL_WR_INT_S_EN_MASK)
  42402. #define FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_MASK (0x10000U)
  42403. #define FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_SHIFT (16U)
  42404. /*! D1TCM_PARTIAL_WR_INT_S_EN - D1TCM Partial Write Interrupt Status EN
  42405. * 0b0..Masked
  42406. * 0b1..Enbaled
  42407. */
  42408. #define FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_D1TCM_PARTIAL_WR_INT_S_EN_MASK)
  42409. #define FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_MASK (0x20000U)
  42410. #define FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_SHIFT (17U)
  42411. /*! OCRAM_PARTIAL_WR_INT_S_EN - OCRAM Partial Write Interrupt Status
  42412. * 0b0..Masked
  42413. * 0b1..Enabled
  42414. */
  42415. #define FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_SHIFT)) & FLEXRAM_INT_STAT_EN_OCRAM_PARTIAL_WR_INT_S_EN_MASK)
  42416. #define FLEXRAM_INT_STAT_EN_Reserved_MASK (0xFFFC0000U)
  42417. #define FLEXRAM_INT_STAT_EN_Reserved_SHIFT (18U)
  42418. /*! Reserved - Reserved
  42419. */
  42420. #define FLEXRAM_INT_STAT_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_STAT_EN_Reserved_SHIFT)) & FLEXRAM_INT_STAT_EN_Reserved_MASK)
  42421. /*! @} */
  42422. /*! @name INT_SIG_EN - Interrupt Enable Register */
  42423. /*! @{ */
  42424. #define FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_MASK (0x1U)
  42425. #define FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_SHIFT (0U)
  42426. /*! ITCM_MAM_SIG_EN - ITCM Magic Address Match Interrupt Enable
  42427. * 0b0..Masked
  42428. * 0b1..Enabled
  42429. */
  42430. #define FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_ITCM_MAM_SIG_EN_MASK)
  42431. #define FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_MASK (0x2U)
  42432. #define FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_SHIFT (1U)
  42433. /*! DTCM_MAM_SIG_EN - DTCM Magic Address Match Interrupt Enable
  42434. * 0b0..Masked
  42435. * 0b1..Enabled
  42436. */
  42437. #define FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_DTCM_MAM_SIG_EN_MASK)
  42438. #define FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_MASK (0x4U)
  42439. #define FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_SHIFT (2U)
  42440. /*! OCRAM_MAM_SIG_EN - OCRAM Magic Address Match Interrupt Enable
  42441. * 0b0..Masked
  42442. * 0b1..Enabled
  42443. */
  42444. #define FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_OCRAM_MAM_SIG_EN_MASK)
  42445. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_MASK (0x8U)
  42446. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_SHIFT (3U)
  42447. /*! ITCM_ERR_SIG_EN - ITCM Access Error Interrupt Enable
  42448. * 0b0..Masked
  42449. * 0b1..Enabled
  42450. */
  42451. #define FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_ITCM_ERR_SIG_EN_MASK)
  42452. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_MASK (0x10U)
  42453. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_SHIFT (4U)
  42454. /*! DTCM_ERR_SIG_EN - DTCM Access Error Interrupt Enable
  42455. * 0b0..Masked
  42456. * 0b1..Enabled
  42457. */
  42458. #define FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_DTCM_ERR_SIG_EN_MASK)
  42459. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_MASK (0x20U)
  42460. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_SHIFT (5U)
  42461. /*! OCRAM_ERR_SIG_EN - OCRAM Access Error Interrupt Enable
  42462. * 0b0..Masked
  42463. * 0b1..Enabled
  42464. */
  42465. #define FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_OCRAM_ERR_SIG_EN_MASK)
  42466. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_MASK (0x40U)
  42467. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_SHIFT (6U)
  42468. /*! OCRAM_ERRM_INT_SIG_EN - OCRAM Access multi-bit ECC Error Interrupt Signal Enable
  42469. * 0b0..Masked
  42470. * 0b1..Enabled
  42471. */
  42472. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_OCRAM_ERRM_INT_SIG_EN_MASK)
  42473. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_MASK (0x80U)
  42474. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_SHIFT (7U)
  42475. /*! OCRAM_ERRS_INT_SIG_EN - OCRAM Access single-bit ECC Error Interrupt Signal Enable
  42476. * 0b0..Masked
  42477. * 0b1..Enabled
  42478. */
  42479. #define FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_OCRAM_ERRS_INT_SIG_EN_MASK)
  42480. #define FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_MASK (0x100U)
  42481. #define FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_SHIFT (8U)
  42482. /*! ITCM_ERRM_INT_SIG_EN - ITCM Access multi-bit ECC Error Interrupt Signal Enable
  42483. * 0b0..Masked
  42484. * 0b1..Enabled
  42485. */
  42486. #define FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_ITCM_ERRM_INT_SIG_EN_MASK)
  42487. #define FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_MASK (0x200U)
  42488. #define FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_SHIFT (9U)
  42489. /*! ITCM_ERRS_INT_SIG_EN - ITCM Access single-bit ECC Error Interrupt Signal Enable
  42490. * 0b0..Masked
  42491. * 0b1..Enabled
  42492. */
  42493. #define FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_ITCM_ERRS_INT_SIG_EN_MASK)
  42494. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_MASK (0x400U)
  42495. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_SHIFT (10U)
  42496. /*! D0TCM_ERRM_INT_SIG_EN - D0TCM Access multi-bit ECC Error Interrupt Signal Enable
  42497. * 0b0..Masked
  42498. * 0b1..Enabled
  42499. */
  42500. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D0TCM_ERRM_INT_SIG_EN_MASK)
  42501. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_MASK (0x800U)
  42502. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_SHIFT (11U)
  42503. /*! D0TCM_ERRS_INT_SIG_EN - D0TCM Access single-bit ECC Error Interrupt Signal Enable
  42504. * 0b0..Masked
  42505. * 0b1..Enabled
  42506. */
  42507. #define FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D0TCM_ERRS_INT_SIG_EN_MASK)
  42508. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_MASK (0x1000U)
  42509. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_SHIFT (12U)
  42510. /*! D1TCM_ERRM_INT_SIG_EN - D1TCM Access multi-bit ECC Error Interrupt Signal Enable
  42511. * 0b0..Masked
  42512. * 0b1..Enabled
  42513. */
  42514. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D1TCM_ERRM_INT_SIG_EN_MASK)
  42515. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_MASK (0x2000U)
  42516. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_SHIFT (13U)
  42517. /*! D1TCM_ERRS_INT_SIG_EN - D1TCM Access single-bit ECC Error Interrupt Signal Enable
  42518. * 0b0..Masked
  42519. * 0b1..Enabled
  42520. */
  42521. #define FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D1TCM_ERRS_INT_SIG_EN_MASK)
  42522. #define FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_MASK (0x4000U)
  42523. #define FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_SHIFT (14U)
  42524. /*! ITCM_PARTIAL_WR_INT_SIG_EN - ITCM Partial Write Interrupt Signal Enable Enable
  42525. * 0b0..Masked
  42526. * 0b1..Enabled
  42527. */
  42528. #define FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_ITCM_PARTIAL_WR_INT_SIG_EN_MASK)
  42529. #define FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_MASK (0x8000U)
  42530. #define FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_SHIFT (15U)
  42531. /*! D0TCM_PARTIAL_WR_INT_SIG_EN - D0TCM Partial Write Interrupt Signal Enable Enable
  42532. * 0b0..Masked
  42533. * 0b1..Enabled
  42534. */
  42535. #define FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D0TCM_PARTIAL_WR_INT_SIG_EN_MASK)
  42536. #define FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_MASK (0x10000U)
  42537. #define FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_SHIFT (16U)
  42538. /*! D1TCM_PARTIAL_WR_INT_SIG_EN - D1TCM Partial Write Interrupt Signal Enable EN
  42539. * 0b0..Masked
  42540. * 0b1..Enbaled
  42541. */
  42542. #define FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_D1TCM_PARTIAL_WR_INT_SIG_EN_MASK)
  42543. #define FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_MASK (0x20000U)
  42544. #define FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_SHIFT (17U)
  42545. /*! OCRAM_PARTIAL_WR_INT_SIG_EN - OCRAM Partial Write Interrupt Signal Enable
  42546. * 0b0..Masked
  42547. * 0b1..Enabled
  42548. */
  42549. #define FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_SHIFT)) & FLEXRAM_INT_SIG_EN_OCRAM_PARTIAL_WR_INT_SIG_EN_MASK)
  42550. #define FLEXRAM_INT_SIG_EN_Reserved_MASK (0xFFFC0000U)
  42551. #define FLEXRAM_INT_SIG_EN_Reserved_SHIFT (18U)
  42552. /*! Reserved - Reserved
  42553. */
  42554. #define FLEXRAM_INT_SIG_EN_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_INT_SIG_EN_Reserved_SHIFT)) & FLEXRAM_INT_SIG_EN_Reserved_MASK)
  42555. /*! @} */
  42556. /*! @name OCRAM_ECC_SINGLE_ERROR_INFO - OCRAM single-bit ECC Error Information Register */
  42557. /*! @{ */
  42558. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_MASK (0xFFU)
  42559. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_SHIFT (0U)
  42560. /*! OCRAM_ECCS_ERRED_ECC - corresponding ECC cipher of OCRAM single-bit ECC error
  42561. */
  42562. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_ECC_MASK)
  42563. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_MASK (0xFF00U)
  42564. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_SHIFT (8U)
  42565. /*! OCRAM_ECCS_ERRED_SYN - corresponding ECC syndrome of OCRAM single-bit ECC error
  42566. */
  42567. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_OCRAM_ECCS_ERRED_SYN_MASK)
  42568. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFFF0000U)
  42569. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (16U)
  42570. /*! Reserved - Reserved
  42571. */
  42572. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_INFO_Reserved_MASK)
  42573. /*! @} */
  42574. /*! @name OCRAM_ECC_SINGLE_ERROR_ADDR - OCRAM single-bit ECC Error Address Register */
  42575. /*! @{ */
  42576. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42577. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_SHIFT (0U)
  42578. /*! OCRAM_ECCS_ERRED_ADDR - OCRAM single-bit ECC error address
  42579. */
  42580. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_ADDR_OCRAM_ECCS_ERRED_ADDR_MASK)
  42581. /*! @} */
  42582. /*! @name OCRAM_ECC_SINGLE_ERROR_DATA_LSB - OCRAM single-bit ECC Error Data Register */
  42583. /*! @{ */
  42584. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42585. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_SHIFT (0U)
  42586. /*! OCRAM_ECCS_ERRED_DATA_LSB - OCRAM single-bit ECC error data [31:0]
  42587. */
  42588. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_LSB_OCRAM_ECCS_ERRED_DATA_LSB_MASK)
  42589. /*! @} */
  42590. /*! @name OCRAM_ECC_SINGLE_ERROR_DATA_MSB - OCRAM single-bit ECC Error Data Register */
  42591. /*! @{ */
  42592. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42593. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_SHIFT (0U)
  42594. /*! OCRAM_ECCS_ERRED_DATA_MSB - OCRAM single-bit ECC error data [63:32]
  42595. */
  42596. #define FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_SHIFT)) & FLEXRAM_OCRAM_ECC_SINGLE_ERROR_DATA_MSB_OCRAM_ECCS_ERRED_DATA_MSB_MASK)
  42597. /*! @} */
  42598. /*! @name OCRAM_ECC_MULTI_ERROR_INFO - OCRAM multi-bit ECC Error Information Register */
  42599. /*! @{ */
  42600. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_MASK (0xFFU)
  42601. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_SHIFT (0U)
  42602. /*! OCRAM_ECCM_ERRED_ECC - OCRAM multi-bit ECC error corresponding ECC value
  42603. */
  42604. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_SHIFT)) & FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_OCRAM_ECCM_ERRED_ECC_MASK)
  42605. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFFFFF00U)
  42606. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (8U)
  42607. /*! Reserved - Reserved
  42608. */
  42609. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_OCRAM_ECC_MULTI_ERROR_INFO_Reserved_MASK)
  42610. /*! @} */
  42611. /*! @name OCRAM_ECC_MULTI_ERROR_ADDR - OCRAM multi-bit ECC Error Address Register */
  42612. /*! @{ */
  42613. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42614. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_SHIFT (0U)
  42615. /*! OCRAM_ECCM_ERRED_ADDR - OCRAM multi-bit ECC error address
  42616. */
  42617. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_SHIFT)) & FLEXRAM_OCRAM_ECC_MULTI_ERROR_ADDR_OCRAM_ECCM_ERRED_ADDR_MASK)
  42618. /*! @} */
  42619. /*! @name OCRAM_ECC_MULTI_ERROR_DATA_LSB - OCRAM multi-bit ECC Error Data Register */
  42620. /*! @{ */
  42621. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42622. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_SHIFT (0U)
  42623. /*! OCRAM_ECCM_ERRED_DATA_LSB - OCRAM multi-bit ECC error data [31:0]
  42624. */
  42625. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_SHIFT)) & FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_LSB_OCRAM_ECCM_ERRED_DATA_LSB_MASK)
  42626. /*! @} */
  42627. /*! @name OCRAM_ECC_MULTI_ERROR_DATA_MSB - OCRAM multi-bit ECC Error Data Register */
  42628. /*! @{ */
  42629. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42630. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_SHIFT (0U)
  42631. /*! OCRAM_ECCM_ERRED_DATA_MSB - OCRAM multi-bit ECC error data [63:32]
  42632. */
  42633. #define FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_SHIFT)) & FLEXRAM_OCRAM_ECC_MULTI_ERROR_DATA_MSB_OCRAM_ECCM_ERRED_DATA_MSB_MASK)
  42634. /*! @} */
  42635. /*! @name ITCM_ECC_SINGLE_ERROR_INFO - ITCM single-bit ECC Error Information Register */
  42636. /*! @{ */
  42637. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_MASK (0x1U)
  42638. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_SHIFT (0U)
  42639. /*! ITCM_ECCS_EFW - ITCM single-bit ECC error corresponding TCM_WR value.
  42640. */
  42641. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFW_MASK)
  42642. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_MASK (0xEU)
  42643. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_SHIFT (1U)
  42644. /*! ITCM_ECCS_EFSIZ - ITCM single-bit ECC error corresponding TCM size
  42645. */
  42646. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSIZ_MASK)
  42647. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_MASK (0xF0U)
  42648. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_SHIFT (4U)
  42649. /*! ITCM_ECCS_EFMST - ITCM single-bit ECC error corresponding TCM_MASTER.
  42650. */
  42651. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFMST_MASK)
  42652. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_MASK (0xF00U)
  42653. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_SHIFT (8U)
  42654. /*! ITCM_ECCS_EFPRT - ITCM single-bit ECC error corresponding TCM_PRIV.
  42655. */
  42656. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFPRT_MASK)
  42657. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_MASK (0xFF000U)
  42658. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_SHIFT (12U)
  42659. /*! ITCM_ECCS_EFSYN - ITCM single-bit ECC error corresponding syndrome
  42660. */
  42661. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_ITCM_ECCS_EFSYN_MASK)
  42662. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF00000U)
  42663. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (20U)
  42664. /*! Reserved - Reserved
  42665. */
  42666. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK)
  42667. /*! @} */
  42668. /*! @name ITCM_ECC_SINGLE_ERROR_ADDR - ITCM single-bit ECC Error Address Register */
  42669. /*! @{ */
  42670. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42671. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42672. /*! ITCM_ECCS_ERRED_ADDR - ITCM single-bit ECC error address
  42673. */
  42674. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_ADDR_ITCM_ECCS_ERRED_ADDR_MASK)
  42675. /*! @} */
  42676. /*! @name ITCM_ECC_SINGLE_ERROR_DATA_LSB - ITCM single-bit ECC Error Data Register */
  42677. /*! @{ */
  42678. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42679. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_SHIFT (0U)
  42680. /*! ITCM_ECCS_ERRED_DATA_LSB - ITCM single-bit ECC error data [31:0]
  42681. */
  42682. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_LSB_ITCM_ECCS_ERRED_DATA_LSB_MASK)
  42683. /*! @} */
  42684. /*! @name ITCM_ECC_SINGLE_ERROR_DATA_MSB - ITCM single-bit ECC Error Data Register */
  42685. /*! @{ */
  42686. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42687. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_SHIFT (0U)
  42688. /*! ITCM_ECCS_ERRED_DATA_MSB - ITCM single-bit ECC error data [63:32]
  42689. */
  42690. #define FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_SHIFT)) & FLEXRAM_ITCM_ECC_SINGLE_ERROR_DATA_MSB_ITCM_ECCS_ERRED_DATA_MSB_MASK)
  42691. /*! @} */
  42692. /*! @name ITCM_ECC_MULTI_ERROR_INFO - ITCM multi-bit ECC Error Information Register */
  42693. /*! @{ */
  42694. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_MASK (0x1U)
  42695. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_SHIFT (0U)
  42696. /*! ITCM_ECCM_EFW - ITCM multi-bit ECC error corresponding TCM_WR value
  42697. */
  42698. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFW_MASK)
  42699. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_MASK (0xEU)
  42700. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_SHIFT (1U)
  42701. /*! ITCM_ECCM_EFSIZ - ITCM multi-bit ECC error corresponding tcm access size
  42702. */
  42703. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSIZ_MASK)
  42704. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_MASK (0xF0U)
  42705. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_SHIFT (4U)
  42706. /*! ITCM_ECCM_EFMST - ITCM multi-bit ECC error corresponding TCM_MASTER
  42707. */
  42708. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFMST_MASK)
  42709. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_MASK (0xF00U)
  42710. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_SHIFT (8U)
  42711. /*! ITCM_ECCM_EFPRT - ITCM multi-bit ECC error corresponding TCM_PRIV
  42712. */
  42713. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFPRT_MASK)
  42714. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_MASK (0xFF000U)
  42715. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_SHIFT (12U)
  42716. /*! ITCM_ECCM_EFSYN - ITCM multi-bit ECC error corresponding syndrome
  42717. */
  42718. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_ITCM_ECCM_EFSYN_MASK)
  42719. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF00000U)
  42720. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (20U)
  42721. /*! Reserved - Reserved
  42722. */
  42723. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_INFO_Reserved_MASK)
  42724. /*! @} */
  42725. /*! @name ITCM_ECC_MULTI_ERROR_ADDR - ITCM multi-bit ECC Error Address Register */
  42726. /*! @{ */
  42727. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42728. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42729. /*! ITCM_ECCM_ERRED_ADDR - ITCM multi-bit ECC error address
  42730. */
  42731. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_ADDR_ITCM_ECCM_ERRED_ADDR_MASK)
  42732. /*! @} */
  42733. /*! @name ITCM_ECC_MULTI_ERROR_DATA_LSB - ITCM multi-bit ECC Error Data Register */
  42734. /*! @{ */
  42735. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_MASK (0xFFFFFFFFU)
  42736. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_SHIFT (0U)
  42737. /*! ITCM_ECCM_ERRED_DATA_LSB - ITCM multi-bit ECC error data [31:0]
  42738. */
  42739. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_LSB_ITCM_ECCM_ERRED_DATA_LSB_MASK)
  42740. /*! @} */
  42741. /*! @name ITCM_ECC_MULTI_ERROR_DATA_MSB - ITCM multi-bit ECC Error Data Register */
  42742. /*! @{ */
  42743. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_MASK (0xFFFFFFFFU)
  42744. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_SHIFT (0U)
  42745. /*! ITCM_ECCM_ERRED_DATA_MSB - ITCM multi-bit ECC error data [63:32]
  42746. */
  42747. #define FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_SHIFT)) & FLEXRAM_ITCM_ECC_MULTI_ERROR_DATA_MSB_ITCM_ECCM_ERRED_DATA_MSB_MASK)
  42748. /*! @} */
  42749. /*! @name D0TCM_ECC_SINGLE_ERROR_INFO - D0TCM single-bit ECC Error Information Register */
  42750. /*! @{ */
  42751. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_MASK (0x1U)
  42752. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_SHIFT (0U)
  42753. /*! D0TCM_ECCS_EFW - D0TCM single-bit ECC error corresponding TCM_WR value
  42754. */
  42755. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFW_MASK)
  42756. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_MASK (0xEU)
  42757. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_SHIFT (1U)
  42758. /*! D0TCM_ECCS_EFSIZ - D0TCM single-bit ECC error corresponding tcm access size
  42759. */
  42760. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSIZ_MASK)
  42761. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_MASK (0xF0U)
  42762. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_SHIFT (4U)
  42763. /*! D0TCM_ECCS_EFMST - D0TCM single-bit ECC error corresponding TCM_MASTER
  42764. */
  42765. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFMST_MASK)
  42766. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_MASK (0xF00U)
  42767. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_SHIFT (8U)
  42768. /*! D0TCM_ECCS_EFPRT - D0TCM single-bit ECC error corresponding TCM_PRIV
  42769. */
  42770. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFPRT_MASK)
  42771. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_MASK (0x7F000U)
  42772. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_SHIFT (12U)
  42773. /*! D0TCM_ECCS_EFSYN - D0TCM single-bit ECC error corresponding syndrome
  42774. */
  42775. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_D0TCM_ECCS_EFSYN_MASK)
  42776. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42777. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (19U)
  42778. /*! Reserved - Reserved
  42779. */
  42780. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK)
  42781. /*! @} */
  42782. /*! @name D0TCM_ECC_SINGLE_ERROR_ADDR - D0TCM single-bit ECC Error Address Register */
  42783. /*! @{ */
  42784. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42785. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42786. /*! D0TCM_ECCS_ERRED_ADDR - D0TCM single-bit ECC error address
  42787. */
  42788. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_ADDR_D0TCM_ECCS_ERRED_ADDR_MASK)
  42789. /*! @} */
  42790. /*! @name D0TCM_ECC_SINGLE_ERROR_DATA - D0TCM single-bit ECC Error Data Register */
  42791. /*! @{ */
  42792. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_MASK (0xFFFFFFFFU)
  42793. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_SHIFT (0U)
  42794. /*! D0TCM_ECCS_ERRED_DATA - D0TCM single-bit ECC error data
  42795. */
  42796. #define FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_SHIFT)) & FLEXRAM_D0TCM_ECC_SINGLE_ERROR_DATA_D0TCM_ECCS_ERRED_DATA_MASK)
  42797. /*! @} */
  42798. /*! @name D0TCM_ECC_MULTI_ERROR_INFO - D0TCM multi-bit ECC Error Information Register */
  42799. /*! @{ */
  42800. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_MASK (0x1U)
  42801. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_SHIFT (0U)
  42802. /*! D0TCM_ECCM_EFW - D0TCM multi-bit ECC error corresponding TCM_WR value
  42803. */
  42804. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFW_MASK)
  42805. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_MASK (0xEU)
  42806. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_SHIFT (1U)
  42807. /*! D0TCM_ECCM_EFSIZ - D0TCM multi-bit ECC error corresponding tcm access size
  42808. */
  42809. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSIZ_MASK)
  42810. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_MASK (0xF0U)
  42811. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_SHIFT (4U)
  42812. /*! D0TCM_ECCM_EFMST - D0TCM multi-bit ECC error corresponding TCM_MASTER
  42813. */
  42814. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFMST_MASK)
  42815. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_MASK (0xF00U)
  42816. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_SHIFT (8U)
  42817. /*! D0TCM_ECCM_EFPRT - D0TCM multi-bit ECC error corresponding TCM_PRIV
  42818. */
  42819. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFPRT_MASK)
  42820. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_MASK (0x7F000U)
  42821. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_SHIFT (12U)
  42822. /*! D0TCM_ECCM_EFSYN - D0TCM multi-bit ECC error corresponding syndrome
  42823. */
  42824. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_D0TCM_ECCM_EFSYN_MASK)
  42825. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42826. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (19U)
  42827. /*! Reserved - Reserved
  42828. */
  42829. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK)
  42830. /*! @} */
  42831. /*! @name D0TCM_ECC_MULTI_ERROR_ADDR - D0TCM multi-bit ECC Error Address Register */
  42832. /*! @{ */
  42833. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42834. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42835. /*! D0TCM_ECCM_ERRED_ADDR - D0TCM multi-bit ECC error address
  42836. */
  42837. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_ADDR_D0TCM_ECCM_ERRED_ADDR_MASK)
  42838. /*! @} */
  42839. /*! @name D0TCM_ECC_MULTI_ERROR_DATA - D0TCM multi-bit ECC Error Data Register */
  42840. /*! @{ */
  42841. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_MASK (0xFFFFFFFFU)
  42842. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_SHIFT (0U)
  42843. /*! D0TCM_ECCM_ERRED_DATA - D0TCM multi-bit ECC error data
  42844. */
  42845. #define FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_SHIFT)) & FLEXRAM_D0TCM_ECC_MULTI_ERROR_DATA_D0TCM_ECCM_ERRED_DATA_MASK)
  42846. /*! @} */
  42847. /*! @name D1TCM_ECC_SINGLE_ERROR_INFO - D1TCM single-bit ECC Error Information Register */
  42848. /*! @{ */
  42849. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_MASK (0x1U)
  42850. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_SHIFT (0U)
  42851. /*! D1TCM_ECCS_EFW - D1TCM single-bit ECC error corresponding TCM_WR value
  42852. */
  42853. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFW_MASK)
  42854. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_MASK (0xEU)
  42855. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_SHIFT (1U)
  42856. /*! D1TCM_ECCS_EFSIZ - D1TCM single-bit ECC error corresponding tcm access size
  42857. */
  42858. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSIZ_MASK)
  42859. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_MASK (0xF0U)
  42860. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_SHIFT (4U)
  42861. /*! D1TCM_ECCS_EFMST - D1TCM single-bit ECC error corresponding TCM_MASTER
  42862. */
  42863. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFMST_MASK)
  42864. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_MASK (0xF00U)
  42865. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_SHIFT (8U)
  42866. /*! D1TCM_ECCS_EFPRT - D1TCM single-bit ECC error corresponding TCM_PRIV
  42867. */
  42868. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFPRT_MASK)
  42869. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_MASK (0x7F000U)
  42870. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_SHIFT (12U)
  42871. /*! D1TCM_ECCS_EFSYN - D1TCM single-bit ECC error corresponding syndrome
  42872. */
  42873. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_D1TCM_ECCS_EFSYN_MASK)
  42874. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42875. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT (19U)
  42876. /*! Reserved - Reserved
  42877. */
  42878. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_INFO_Reserved_MASK)
  42879. /*! @} */
  42880. /*! @name D1TCM_ECC_SINGLE_ERROR_ADDR - D1TCM single-bit ECC Error Address Register */
  42881. /*! @{ */
  42882. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42883. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_SHIFT (0U)
  42884. /*! D1TCM_ECCS_ERRED_ADDR - D1TCM single-bit ECC error address
  42885. */
  42886. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_ADDR_D1TCM_ECCS_ERRED_ADDR_MASK)
  42887. /*! @} */
  42888. /*! @name D1TCM_ECC_SINGLE_ERROR_DATA - D1TCM single-bit ECC Error Data Register */
  42889. /*! @{ */
  42890. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_MASK (0xFFFFFFFFU)
  42891. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_SHIFT (0U)
  42892. /*! D1TCM_ECCS_ERRED_DATA - D1TCM single-bit ECC error data
  42893. */
  42894. #define FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_SHIFT)) & FLEXRAM_D1TCM_ECC_SINGLE_ERROR_DATA_D1TCM_ECCS_ERRED_DATA_MASK)
  42895. /*! @} */
  42896. /*! @name D1TCM_ECC_MULTI_ERROR_INFO - D1TCM multi-bit ECC Error Information Register */
  42897. /*! @{ */
  42898. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_MASK (0x1U)
  42899. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_SHIFT (0U)
  42900. /*! D1TCM_ECCM_EFW - D1TCM multi-bit ECC error corresponding TCM_WR value
  42901. */
  42902. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFW_MASK)
  42903. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_MASK (0xEU)
  42904. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_SHIFT (1U)
  42905. /*! D1TCM_ECCM_EFSIZ - D1TCM multi-bit ECC error corresponding tcm access size
  42906. */
  42907. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSIZ_MASK)
  42908. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_MASK (0xF0U)
  42909. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_SHIFT (4U)
  42910. /*! D1TCM_ECCM_EFMST - D1TCM multi-bit ECC error corresponding TCM_MASTER
  42911. */
  42912. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFMST_MASK)
  42913. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_MASK (0xF00U)
  42914. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_SHIFT (8U)
  42915. /*! D1TCM_ECCM_EFPRT - D1TCM multi-bit ECC error corresponding TCM_PRIV
  42916. */
  42917. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFPRT_MASK)
  42918. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_MASK (0x7F000U)
  42919. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_SHIFT (12U)
  42920. /*! D1TCM_ECCM_EFSYN - D1TCM multi-bit ECC error corresponding syndrome
  42921. */
  42922. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_D1TCM_ECCM_EFSYN_MASK)
  42923. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK (0xFFF80000U)
  42924. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT (19U)
  42925. /*! Reserved - Reserved
  42926. */
  42927. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_INFO_Reserved_MASK)
  42928. /*! @} */
  42929. /*! @name D1TCM_ECC_MULTI_ERROR_ADDR - D1TCM multi-bit ECC Error Address Register */
  42930. /*! @{ */
  42931. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_MASK (0xFFFFFFFFU)
  42932. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_SHIFT (0U)
  42933. /*! D1TCM_ECCM_ERRED_ADDR - D1TCM multi-bit ECC error address
  42934. */
  42935. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_ADDR_D1TCM_ECCM_ERRED_ADDR_MASK)
  42936. /*! @} */
  42937. /*! @name D1TCM_ECC_MULTI_ERROR_DATA - D1TCM multi-bit ECC Error Data Register */
  42938. /*! @{ */
  42939. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_MASK (0xFFFFFFFFU)
  42940. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_SHIFT (0U)
  42941. /*! D1TCM_ECCM_ERRED_DATA - D1TCM multi-bit ECC error data
  42942. */
  42943. #define FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_SHIFT)) & FLEXRAM_D1TCM_ECC_MULTI_ERROR_DATA_D1TCM_ECCM_ERRED_DATA_MASK)
  42944. /*! @} */
  42945. /*! @name FLEXRAM_CTRL - FlexRAM feature Control register */
  42946. /*! @{ */
  42947. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_MASK (0x1U)
  42948. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_SHIFT (0U)
  42949. /*! OCRAM_RDATA_WAIT_EN - Read Data Wait Enable
  42950. */
  42951. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_OCRAM_RDATA_WAIT_EN_MASK)
  42952. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_MASK (0x2U)
  42953. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_SHIFT (1U)
  42954. /*! OCRAM_RADDR_PIPELINE_EN - Read Address Pipeline Enable
  42955. */
  42956. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_OCRAM_RADDR_PIPELINE_EN_MASK)
  42957. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_MASK (0x4U)
  42958. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_SHIFT (2U)
  42959. /*! OCRAM_WRDATA_PIPELINE_EN - Write Data Pipeline Enable
  42960. */
  42961. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_OCRAM_WRDATA_PIPELINE_EN_MASK)
  42962. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_MASK (0x8U)
  42963. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_SHIFT (3U)
  42964. /*! OCRAM_WRADDR_PIPELINE_EN - Write Address Pipeline Enable
  42965. */
  42966. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_OCRAM_WRADDR_PIPELINE_EN_MASK)
  42967. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_MASK (0x10U)
  42968. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_SHIFT (4U)
  42969. /*! OCRAM_ECC_EN - OCRAM ECC enable
  42970. */
  42971. #define FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_OCRAM_ECC_EN_MASK)
  42972. #define FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_MASK (0x20U)
  42973. #define FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_SHIFT (5U)
  42974. /*! TCM_ECC_EN - TCM ECC enable
  42975. */
  42976. #define FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_TCM_ECC_EN_MASK)
  42977. #define FLEXRAM_FLEXRAM_CTRL_Reserved_MASK (0xFFFFFFC0U)
  42978. #define FLEXRAM_FLEXRAM_CTRL_Reserved_SHIFT (6U)
  42979. /*! Reserved - Reserved
  42980. */
  42981. #define FLEXRAM_FLEXRAM_CTRL_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_FLEXRAM_CTRL_Reserved_SHIFT)) & FLEXRAM_FLEXRAM_CTRL_Reserved_MASK)
  42982. /*! @} */
  42983. /*! @name OCRAM_PIPELINE_STATUS - OCRAM Pipeline Status register */
  42984. /*! @{ */
  42985. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_MASK (0x1U)
  42986. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_SHIFT (0U)
  42987. /*! OCRAM_RDATA_WAIT_EN_UPDATA_PENDING - Read Data Wait Enable Pending
  42988. */
  42989. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RDATA_WAIT_EN_UPDATA_PENDING_MASK)
  42990. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_MASK (0x2U)
  42991. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT (1U)
  42992. /*! OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING - Read Address Pipeline Enable Pending
  42993. */
  42994. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_RADDR_PIPELINE_EN_UPDATA_PENDING_MASK)
  42995. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_MASK (0x4U)
  42996. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_SHIFT (2U)
  42997. /*! OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING - Write Data Pipeline Enable Pending
  42998. */
  42999. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRDATA_PIPELINE_EN_UPDATA_PENDING_MASK)
  43000. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_MASK (0x8U)
  43001. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT (3U)
  43002. /*! OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING - Write Address Pipeline Enable Pending
  43003. */
  43004. #define FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_OCRAM_WRADDR_PIPELINE_EN_UPDATA_PENDING_MASK)
  43005. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_MASK (0xFFFFFFF0U)
  43006. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_SHIFT (4U)
  43007. /*! Reserved - Reserved
  43008. */
  43009. #define FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved(x) (((uint32_t)(((uint32_t)(x)) << FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_SHIFT)) & FLEXRAM_OCRAM_PIPELINE_STATUS_Reserved_MASK)
  43010. /*! @} */
  43011. /*!
  43012. * @}
  43013. */ /* end of group FLEXRAM_Register_Masks */
  43014. /* FLEXRAM - Peripheral instance base addresses */
  43015. /** Peripheral FLEXRAM base address */
  43016. #define FLEXRAM_BASE (0x40028000u)
  43017. /** Peripheral FLEXRAM base pointer */
  43018. #define FLEXRAM ((FLEXRAM_Type *)FLEXRAM_BASE)
  43019. /** Array initializer of FLEXRAM peripheral base addresses */
  43020. #define FLEXRAM_BASE_ADDRS { FLEXRAM_BASE }
  43021. /** Array initializer of FLEXRAM peripheral base pointers */
  43022. #define FLEXRAM_BASE_PTRS { FLEXRAM }
  43023. /** Interrupt vectors for the FLEXRAM peripheral type */
  43024. #define FLEXRAM_IRQS { FLEXRAM_IRQn }
  43025. #define FLEXRAM_ECC_IRQS { FLEXRAM_ECC_IRQn }
  43026. /*!
  43027. * @}
  43028. */ /* end of group FLEXRAM_Peripheral_Access_Layer */
  43029. /* ----------------------------------------------------------------------------
  43030. -- FLEXSPI Peripheral Access Layer
  43031. ---------------------------------------------------------------------------- */
  43032. /*!
  43033. * @addtogroup FLEXSPI_Peripheral_Access_Layer FLEXSPI Peripheral Access Layer
  43034. * @{
  43035. */
  43036. /** FLEXSPI - Register Layout Typedef */
  43037. typedef struct {
  43038. __IO uint32_t MCR0; /**< Module Control Register 0, offset: 0x0 */
  43039. __IO uint32_t MCR1; /**< Module Control Register 1, offset: 0x4 */
  43040. __IO uint32_t MCR2; /**< Module Control Register 2, offset: 0x8 */
  43041. __IO uint32_t AHBCR; /**< AHB Bus Control Register, offset: 0xC */
  43042. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x10 */
  43043. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x14 */
  43044. __IO uint32_t LUTKEY; /**< LUT Key Register, offset: 0x18 */
  43045. __IO uint32_t LUTCR; /**< LUT Control Register, offset: 0x1C */
  43046. __IO uint32_t AHBRXBUFCR0[8]; /**< AHB RX Buffer 0 Control Register 0..AHB RX Buffer 7 Control Register 0, array offset: 0x20, array step: 0x4 */
  43047. uint8_t RESERVED_0[32];
  43048. __IO uint32_t FLSHCR0[4]; /**< Flash Control Register 0, array offset: 0x60, array step: 0x4 */
  43049. __IO uint32_t FLSHCR1[4]; /**< Flash Control Register 1, array offset: 0x70, array step: 0x4 */
  43050. __IO uint32_t FLSHCR2[4]; /**< Flash Control Register 2, array offset: 0x80, array step: 0x4 */
  43051. uint8_t RESERVED_1[4];
  43052. __IO uint32_t FLSHCR4; /**< Flash Control Register 4, offset: 0x94 */
  43053. uint8_t RESERVED_2[8];
  43054. __IO uint32_t IPCR0; /**< IP Control Register 0, offset: 0xA0 */
  43055. __IO uint32_t IPCR1; /**< IP Control Register 1, offset: 0xA4 */
  43056. uint8_t RESERVED_3[8];
  43057. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0xB0 */
  43058. uint8_t RESERVED_4[4];
  43059. __IO uint32_t IPRXFCR; /**< IP RX FIFO Control Register, offset: 0xB8 */
  43060. __IO uint32_t IPTXFCR; /**< IP TX FIFO Control Register, offset: 0xBC */
  43061. __IO uint32_t DLLCR[2]; /**< DLL Control Register 0, array offset: 0xC0, array step: 0x4 */
  43062. uint8_t RESERVED_5[8];
  43063. __I uint32_t MISCCR4; /**< Misc Control Register 4, offset: 0xD0 */
  43064. __I uint32_t MISCCR5; /**< Misc Control Register 5, offset: 0xD4 */
  43065. __I uint32_t MISCCR6; /**< Misc Control Register 6, offset: 0xD8 */
  43066. __I uint32_t MISCCR7; /**< Misc Control Register 7, offset: 0xDC */
  43067. __I uint32_t STS0; /**< Status Register 0, offset: 0xE0 */
  43068. __I uint32_t STS1; /**< Status Register 1, offset: 0xE4 */
  43069. __I uint32_t STS2; /**< Status Register 2, offset: 0xE8 */
  43070. __I uint32_t AHBSPNDSTS; /**< AHB Suspend Status Register, offset: 0xEC */
  43071. __I uint32_t IPRXFSTS; /**< IP RX FIFO Status Register, offset: 0xF0 */
  43072. __I uint32_t IPTXFSTS; /**< IP TX FIFO Status Register, offset: 0xF4 */
  43073. uint8_t RESERVED_6[8];
  43074. __I uint32_t RFDR[32]; /**< IP RX FIFO Data Register 0..IP RX FIFO Data Register 31, array offset: 0x100, array step: 0x4 */
  43075. __O uint32_t TFDR[32]; /**< IP TX FIFO Data Register 0..IP TX FIFO Data Register 31, array offset: 0x180, array step: 0x4 */
  43076. __IO uint32_t LUT[64]; /**< LUT 0..LUT 63, array offset: 0x200, array step: 0x4 */
  43077. uint8_t RESERVED_7[256];
  43078. __IO uint32_t HMSTRCR[8]; /**< AHB Master ID 0 Control Register..AHB Master ID 7 Control Register, array offset: 0x400, array step: 0x4 */
  43079. __IO uint32_t HADDRSTART; /**< HADDR REMAP START ADDR, offset: 0x420 */
  43080. __IO uint32_t HADDREND; /**< HADDR REMAP END ADDR, offset: 0x424 */
  43081. __IO uint32_t HADDROFFSET; /**< HADDR REMAP OFFSET, offset: 0x428 */
  43082. uint8_t RESERVED_8[4];
  43083. __IO uint32_t IPSNSZSTART0; /**< IPS nonsecure region Start address of region 0, offset: 0x430 */
  43084. __IO uint32_t IPSNSZEND0; /**< IPS nonsecure region End address of region 0, offset: 0x434 */
  43085. __IO uint32_t IPSNSZSTART1; /**< IPS nonsecure region Start address of region 1, offset: 0x438 */
  43086. __IO uint32_t IPSNSZEND1; /**< IPS nonsecure region End address of region 1, offset: 0x43C */
  43087. __IO uint32_t AHBBUFREGIONSTART0; /**< RX BUF Start address of region 0, offset: 0x440 */
  43088. __IO uint32_t AHBBUFREGIONEND0; /**< RX BUF region End address of region 0, offset: 0x444 */
  43089. __IO uint32_t AHBBUFREGIONSTART1; /**< RX BUF Start address of region 1, offset: 0x448 */
  43090. __IO uint32_t AHBBUFREGIONEND1; /**< RX BUF region End address of region 1, offset: 0x44C */
  43091. __IO uint32_t AHBBUFREGIONSTART2; /**< RX BUF Start address of region 2, offset: 0x450 */
  43092. __IO uint32_t AHBBUFREGIONEND2; /**< RX BUF region End address of region 2, offset: 0x454 */
  43093. __IO uint32_t AHBBUFREGIONSTART3; /**< RX BUF Start address of region 3, offset: 0x458 */
  43094. __IO uint32_t AHBBUFREGIONEND3; /**< RX BUF region End address of region 3, offset: 0x45C */
  43095. } FLEXSPI_Type;
  43096. /* ----------------------------------------------------------------------------
  43097. -- FLEXSPI Register Masks
  43098. ---------------------------------------------------------------------------- */
  43099. /*!
  43100. * @addtogroup FLEXSPI_Register_Masks FLEXSPI Register Masks
  43101. * @{
  43102. */
  43103. /*! @name MCR0 - Module Control Register 0 */
  43104. /*! @{ */
  43105. #define FLEXSPI_MCR0_SWRESET_MASK (0x1U)
  43106. #define FLEXSPI_MCR0_SWRESET_SHIFT (0U)
  43107. /*! SWRESET - Software Reset
  43108. */
  43109. #define FLEXSPI_MCR0_SWRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SWRESET_SHIFT)) & FLEXSPI_MCR0_SWRESET_MASK)
  43110. #define FLEXSPI_MCR0_MDIS_MASK (0x2U)
  43111. #define FLEXSPI_MCR0_MDIS_SHIFT (1U)
  43112. /*! MDIS - Module Disable
  43113. */
  43114. #define FLEXSPI_MCR0_MDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_MDIS_SHIFT)) & FLEXSPI_MCR0_MDIS_MASK)
  43115. #define FLEXSPI_MCR0_RXCLKSRC_MASK (0x30U)
  43116. #define FLEXSPI_MCR0_RXCLKSRC_SHIFT (4U)
  43117. /*! RXCLKSRC - Sample Clock source selection for Flash Reading
  43118. * 0b00..Dummy Read strobe generated by FlexSPI Controller and loopback internally.
  43119. * 0b01..Dummy Read strobe generated by FlexSPI Controller and loopback from DQS pad.
  43120. * 0b10..Reserved
  43121. * 0b11..Flash provided Read strobe and input from DQS pad
  43122. */
  43123. #define FLEXSPI_MCR0_RXCLKSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_RXCLKSRC_SHIFT)) & FLEXSPI_MCR0_RXCLKSRC_MASK)
  43124. #define FLEXSPI_MCR0_ARDFEN_MASK (0x40U)
  43125. #define FLEXSPI_MCR0_ARDFEN_SHIFT (6U)
  43126. /*! ARDFEN - Enable AHB bus Read Access to IP RX FIFO.
  43127. * 0b0..IP RX FIFO should be read by IP Bus. AHB Bus read access to IP RX FIFO memory space will get bus error response.
  43128. * 0b1..IP RX FIFO should be read by AHB Bus. IP Bus read access to IP RX FIFO memory space will always return data zero but no bus error response.
  43129. */
  43130. #define FLEXSPI_MCR0_ARDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ARDFEN_SHIFT)) & FLEXSPI_MCR0_ARDFEN_MASK)
  43131. #define FLEXSPI_MCR0_ATDFEN_MASK (0x80U)
  43132. #define FLEXSPI_MCR0_ATDFEN_SHIFT (7U)
  43133. /*! ATDFEN - Enable AHB bus Write Access to IP TX FIFO.
  43134. * 0b0..IP TX FIFO should be written by IP Bus. AHB Bus write access to IP TX FIFO memory space will get bus error response.
  43135. * 0b1..IP TX FIFO should be written by AHB Bus. IP Bus write access to IP TX FIFO memory space will be ignored but no bus error response.
  43136. */
  43137. #define FLEXSPI_MCR0_ATDFEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_ATDFEN_SHIFT)) & FLEXSPI_MCR0_ATDFEN_MASK)
  43138. #define FLEXSPI_MCR0_SERCLKDIV_MASK (0x700U)
  43139. #define FLEXSPI_MCR0_SERCLKDIV_SHIFT (8U)
  43140. /*! SERCLKDIV - The serial root clock could be divided inside FlexSPI . Refer Clocks chapter for more details on clocking.
  43141. * 0b000..Divided by 1
  43142. * 0b001..Divided by 2
  43143. * 0b010..Divided by 3
  43144. * 0b011..Divided by 4
  43145. * 0b100..Divided by 5
  43146. * 0b101..Divided by 6
  43147. * 0b110..Divided by 7
  43148. * 0b111..Divided by 8
  43149. */
  43150. #define FLEXSPI_MCR0_SERCLKDIV(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SERCLKDIV_SHIFT)) & FLEXSPI_MCR0_SERCLKDIV_MASK)
  43151. #define FLEXSPI_MCR0_HSEN_MASK (0x800U)
  43152. #define FLEXSPI_MCR0_HSEN_SHIFT (11U)
  43153. /*! HSEN - Half Speed Serial Flash access Enable.
  43154. * 0b0..Disable divide by 2 of serial flash clock for half speed commands.
  43155. * 0b1..Enable divide by 2 of serial flash clock for half speed commands.
  43156. */
  43157. #define FLEXSPI_MCR0_HSEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_HSEN_SHIFT)) & FLEXSPI_MCR0_HSEN_MASK)
  43158. #define FLEXSPI_MCR0_DOZEEN_MASK (0x1000U)
  43159. #define FLEXSPI_MCR0_DOZEEN_SHIFT (12U)
  43160. /*! DOZEEN - Doze mode enable bit
  43161. * 0b0..Doze mode support disabled. AHB clock and serial clock will not be gated off when there is doze mode request from system.
  43162. * 0b1..Doze mode support enabled. AHB clock and serial clock will be gated off when there is doze mode request from system.
  43163. */
  43164. #define FLEXSPI_MCR0_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_DOZEEN_SHIFT)) & FLEXSPI_MCR0_DOZEEN_MASK)
  43165. #define FLEXSPI_MCR0_COMBINATIONEN_MASK (0x2000U)
  43166. #define FLEXSPI_MCR0_COMBINATIONEN_SHIFT (13U)
  43167. /*! COMBINATIONEN - This bit is to support Flash Octal mode access by combining Port A and B Data
  43168. * pins (A_DATA[3:0] and B_DATA[3:0]), when Port A and Port B are of 4 bit data width.
  43169. * 0b0..Disable.
  43170. * 0b1..Enable.
  43171. */
  43172. #define FLEXSPI_MCR0_COMBINATIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_COMBINATIONEN_SHIFT)) & FLEXSPI_MCR0_COMBINATIONEN_MASK)
  43173. #define FLEXSPI_MCR0_SCKFREERUNEN_MASK (0x4000U)
  43174. #define FLEXSPI_MCR0_SCKFREERUNEN_SHIFT (14U)
  43175. /*! SCKFREERUNEN - This bit is used to force SCLK output free-running. For FPGA applications,
  43176. * external device may use SCLK as reference clock to its internal PLL. If SCLK free-running is
  43177. * enabled, data sampling with loopback clock from SCLK pad is not supported (MCR0[RXCLKSRC]=2).
  43178. * 0b0..Disable.
  43179. * 0b1..Enable.
  43180. */
  43181. #define FLEXSPI_MCR0_SCKFREERUNEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_SCKFREERUNEN_SHIFT)) & FLEXSPI_MCR0_SCKFREERUNEN_MASK)
  43182. #define FLEXSPI_MCR0_IPGRANTWAIT_MASK (0xFF0000U)
  43183. #define FLEXSPI_MCR0_IPGRANTWAIT_SHIFT (16U)
  43184. /*! IPGRANTWAIT - Time out wait cycle for IP command grant.
  43185. */
  43186. #define FLEXSPI_MCR0_IPGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_IPGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_IPGRANTWAIT_MASK)
  43187. #define FLEXSPI_MCR0_AHBGRANTWAIT_MASK (0xFF000000U)
  43188. #define FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT (24U)
  43189. /*! AHBGRANTWAIT - Timeout wait cycle for AHB command grant.
  43190. */
  43191. #define FLEXSPI_MCR0_AHBGRANTWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR0_AHBGRANTWAIT_SHIFT)) & FLEXSPI_MCR0_AHBGRANTWAIT_MASK)
  43192. /*! @} */
  43193. /*! @name MCR1 - Module Control Register 1 */
  43194. /*! @{ */
  43195. #define FLEXSPI_MCR1_AHBBUSWAIT_MASK (0xFFFFU)
  43196. #define FLEXSPI_MCR1_AHBBUSWAIT_SHIFT (0U)
  43197. #define FLEXSPI_MCR1_AHBBUSWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_AHBBUSWAIT_SHIFT)) & FLEXSPI_MCR1_AHBBUSWAIT_MASK)
  43198. #define FLEXSPI_MCR1_SEQWAIT_MASK (0xFFFF0000U)
  43199. #define FLEXSPI_MCR1_SEQWAIT_SHIFT (16U)
  43200. #define FLEXSPI_MCR1_SEQWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR1_SEQWAIT_SHIFT)) & FLEXSPI_MCR1_SEQWAIT_MASK)
  43201. /*! @} */
  43202. /*! @name MCR2 - Module Control Register 2 */
  43203. /*! @{ */
  43204. #define FLEXSPI_MCR2_CLRAHBBUFOPT_MASK (0x800U)
  43205. #define FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT (11U)
  43206. /*! CLRAHBBUFOPT - This bit determines whether AHB RX Buffer and AHB TX Buffer will be cleaned
  43207. * automatically when FlexSPI returns STOP mode ACK. Software should set this bit if AHB RX Buffer or
  43208. * AHB TX Buffer will be powered off in STOP mode. Otherwise AHB read access after exiting STOP
  43209. * mode may hit AHB RX Buffer or AHB TX Buffer but their data entries are invalid.
  43210. * 0b0..AHB RX/TX Buffer will not be cleaned automatically when FlexSPI return Stop mode ACK.
  43211. * 0b1..AHB RX/TX Buffer will be cleaned automatically when FlexSPI return Stop mode ACK.
  43212. */
  43213. #define FLEXSPI_MCR2_CLRAHBBUFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_CLRAHBBUFOPT_SHIFT)) & FLEXSPI_MCR2_CLRAHBBUFOPT_MASK)
  43214. #define FLEXSPI_MCR2_SAMEDEVICEEN_MASK (0x8000U)
  43215. #define FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT (15U)
  43216. /*! SAMEDEVICEEN - All external devices are same devices (both in types and size) for A1/A2/B1/B2.
  43217. * 0b0..In Individual mode, FLSHA1CRx/FLSHA2CRx/FLSHB1CRx/FLSHB2CRx register setting will be applied to Flash
  43218. * A1/A2/B1/B2 separately. In Parallel mode, FLSHA1CRx register setting will be applied to Flash A1 and B1,
  43219. * FLSHA2CRx register setting will be applied to Flash A2 and B2. FLSHB1CRx/FLSHB2CRx register settings will be
  43220. * ignored.
  43221. * 0b1..FLSHA1CR0/FLSHA1CR1/FLSHA1CR2 register settings will be applied to Flash A1/A2/B1/B2. FLSHA2CRx/FLSHB1CRx/FLSHB2CRx will be ignored.
  43222. */
  43223. #define FLEXSPI_MCR2_SAMEDEVICEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SAMEDEVICEEN_SHIFT)) & FLEXSPI_MCR2_SAMEDEVICEEN_MASK)
  43224. #define FLEXSPI_MCR2_SCKBDIFFOPT_MASK (0x80000U)
  43225. #define FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT (19U)
  43226. /*! SCKBDIFFOPT - B_SCLK pad can be used as A_SCLK differential clock output (inverted clock to
  43227. * A_SCLK). In this case, port B flash access is not available. After changing the value of this
  43228. * field, MCR0[SWRESET] should be set.
  43229. * 0b1..B_SCLK pad is used as port A SCLK inverted clock output (Differential clock to A_SCLK). Port B flash access is not available.
  43230. * 0b0..B_SCLK pad is used as port B SCLK clock output. Port B flash access is available.
  43231. */
  43232. #define FLEXSPI_MCR2_SCKBDIFFOPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_SCKBDIFFOPT_SHIFT)) & FLEXSPI_MCR2_SCKBDIFFOPT_MASK)
  43233. #define FLEXSPI_MCR2_RESUMEWAIT_MASK (0xFF000000U)
  43234. #define FLEXSPI_MCR2_RESUMEWAIT_SHIFT (24U)
  43235. /*! RESUMEWAIT - Wait cycle (in AHB clock cycle) for idle state before suspended command sequence resumed.
  43236. */
  43237. #define FLEXSPI_MCR2_RESUMEWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MCR2_RESUMEWAIT_SHIFT)) & FLEXSPI_MCR2_RESUMEWAIT_MASK)
  43238. /*! @} */
  43239. /*! @name AHBCR - AHB Bus Control Register */
  43240. /*! @{ */
  43241. #define FLEXSPI_AHBCR_APAREN_MASK (0x1U)
  43242. #define FLEXSPI_AHBCR_APAREN_SHIFT (0U)
  43243. /*! APAREN - Parallel mode enabled for AHB triggered Command (both read and write) .
  43244. * 0b0..Flash will be accessed in Individual mode.
  43245. * 0b1..Flash will be accessed in Parallel mode.
  43246. */
  43247. #define FLEXSPI_AHBCR_APAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_APAREN_SHIFT)) & FLEXSPI_AHBCR_APAREN_MASK)
  43248. #define FLEXSPI_AHBCR_CLRAHBRXBUF_MASK (0x2U)
  43249. #define FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT (1U)
  43250. /*! CLRAHBRXBUF - Clear the status/pointers of AHB RX Buffer. Auto-cleared.
  43251. */
  43252. #define FLEXSPI_AHBCR_CLRAHBRXBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CLRAHBRXBUF_SHIFT)) & FLEXSPI_AHBCR_CLRAHBRXBUF_MASK)
  43253. #define FLEXSPI_AHBCR_CACHABLEEN_MASK (0x8U)
  43254. #define FLEXSPI_AHBCR_CACHABLEEN_SHIFT (3U)
  43255. /*! CACHABLEEN - Enable AHB bus cachable read access support.
  43256. * 0b0..Disabled. When there is AHB bus cachable read access, FlexSPI will not check whether it hit AHB TX Buffer.
  43257. * 0b1..Enabled. When there is AHB bus cachable read access, FlexSPI will check whether it hit AHB TX Buffer first.
  43258. */
  43259. #define FLEXSPI_AHBCR_CACHABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_CACHABLEEN_SHIFT)) & FLEXSPI_AHBCR_CACHABLEEN_MASK)
  43260. #define FLEXSPI_AHBCR_BUFFERABLEEN_MASK (0x10U)
  43261. #define FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT (4U)
  43262. /*! BUFFERABLEEN - Enable AHB bus bufferable write access support. This field affects the last beat
  43263. * of AHB write access, refer for more details about AHB bufferable write.
  43264. * 0b0..Disabled. For all AHB write access (no matter bufferable or non-bufferable ), FlexSPI will return AHB Bus
  43265. * ready after all data is transmitted to External device and AHB command finished.
  43266. * 0b1..Enabled. For AHB bufferable write access, FlexSPI will return AHB Bus ready when the AHB command is
  43267. * granted by arbitrator and will not wait for AHB command finished.
  43268. */
  43269. #define FLEXSPI_AHBCR_BUFFERABLEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_BUFFERABLEEN_SHIFT)) & FLEXSPI_AHBCR_BUFFERABLEEN_MASK)
  43270. #define FLEXSPI_AHBCR_PREFETCHEN_MASK (0x20U)
  43271. #define FLEXSPI_AHBCR_PREFETCHEN_SHIFT (5U)
  43272. /*! PREFETCHEN - AHB Read Prefetch Enable.
  43273. */
  43274. #define FLEXSPI_AHBCR_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_PREFETCHEN_SHIFT)) & FLEXSPI_AHBCR_PREFETCHEN_MASK)
  43275. #define FLEXSPI_AHBCR_READADDROPT_MASK (0x40U)
  43276. #define FLEXSPI_AHBCR_READADDROPT_SHIFT (6U)
  43277. /*! READADDROPT - AHB Read Address option bit. This option bit is intend to remove AHB burst start address alignment limitation.
  43278. * 0b0..There is AHB read burst start address alignment limitation when flash is accessed in parallel mode or flash is word-addressable.
  43279. * 0b1..There is no AHB read burst start address alignment limitation. FlexSPI will fetch more data than AHB
  43280. * burst required to meet the alignment requirement.
  43281. */
  43282. #define FLEXSPI_AHBCR_READADDROPT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READADDROPT_SHIFT)) & FLEXSPI_AHBCR_READADDROPT_MASK)
  43283. #define FLEXSPI_AHBCR_READSZALIGN_MASK (0x400U)
  43284. #define FLEXSPI_AHBCR_READSZALIGN_SHIFT (10U)
  43285. /*! READSZALIGN - AHB Read Size Alignment
  43286. * 0b0..AHB read size will be decided by other register setting like PREFETCH_EN,OTFAD_EN...
  43287. * 0b1..AHB read size to up size to 8 bytes aligned, no prefetching
  43288. */
  43289. #define FLEXSPI_AHBCR_READSZALIGN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_READSZALIGN_SHIFT)) & FLEXSPI_AHBCR_READSZALIGN_MASK)
  43290. #define FLEXSPI_AHBCR_ECCEN_MASK (0x800U)
  43291. #define FLEXSPI_AHBCR_ECCEN_SHIFT (11U)
  43292. /*! ECCEN - AHB Read ECC Enable
  43293. * 0b0..AHB read ECC check disabled
  43294. * 0b1..AHB read ECC check enabled
  43295. */
  43296. #define FLEXSPI_AHBCR_ECCEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCEN_SHIFT)) & FLEXSPI_AHBCR_ECCEN_MASK)
  43297. #define FLEXSPI_AHBCR_SPLITEN_MASK (0x1000U)
  43298. #define FLEXSPI_AHBCR_SPLITEN_SHIFT (12U)
  43299. /*! SPLITEN - AHB transaction SPLIT
  43300. * 0b0..AHB Split disabled
  43301. * 0b1..AHB Split enabled
  43302. */
  43303. #define FLEXSPI_AHBCR_SPLITEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_SPLITEN_SHIFT)) & FLEXSPI_AHBCR_SPLITEN_MASK)
  43304. #define FLEXSPI_AHBCR_SPLIT_LIMIT_MASK (0x6000U)
  43305. #define FLEXSPI_AHBCR_SPLIT_LIMIT_SHIFT (13U)
  43306. /*! SPLIT_LIMIT - AHB SPLIT SIZE
  43307. * 0b00..AHB Split Size=8bytes
  43308. * 0b01..AHB Split Size=16bytes
  43309. * 0b10..AHB Split Size=32bytes
  43310. * 0b11..AHB Split Size=64bytes
  43311. */
  43312. #define FLEXSPI_AHBCR_SPLIT_LIMIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_SPLIT_LIMIT_SHIFT)) & FLEXSPI_AHBCR_SPLIT_LIMIT_MASK)
  43313. #define FLEXSPI_AHBCR_KEYECCEN_MASK (0x8000U)
  43314. #define FLEXSPI_AHBCR_KEYECCEN_SHIFT (15U)
  43315. /*! KEYECCEN - OTFAD KEY BLOC ECC Enable
  43316. * 0b0..AHB KEY ECC check disabled
  43317. * 0b1..AHB KEY ECC check enabled
  43318. */
  43319. #define FLEXSPI_AHBCR_KEYECCEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_KEYECCEN_SHIFT)) & FLEXSPI_AHBCR_KEYECCEN_MASK)
  43320. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR_MASK (0x10000U)
  43321. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR_SHIFT (16U)
  43322. /*! ECCSINGLEERRCLR - AHB ECC Single bit ERR CLR
  43323. */
  43324. #define FLEXSPI_AHBCR_ECCSINGLEERRCLR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCSINGLEERRCLR_SHIFT)) & FLEXSPI_AHBCR_ECCSINGLEERRCLR_MASK)
  43325. #define FLEXSPI_AHBCR_ECCMULTIERRCLR_MASK (0x20000U)
  43326. #define FLEXSPI_AHBCR_ECCMULTIERRCLR_SHIFT (17U)
  43327. /*! ECCMULTIERRCLR - AHB ECC Multi bits ERR CLR
  43328. */
  43329. #define FLEXSPI_AHBCR_ECCMULTIERRCLR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCMULTIERRCLR_SHIFT)) & FLEXSPI_AHBCR_ECCMULTIERRCLR_MASK)
  43330. #define FLEXSPI_AHBCR_HMSTRIDREMAP_MASK (0x40000U)
  43331. #define FLEXSPI_AHBCR_HMSTRIDREMAP_SHIFT (18U)
  43332. /*! HMSTRIDREMAP - AHB Master ID Remapping enable
  43333. */
  43334. #define FLEXSPI_AHBCR_HMSTRIDREMAP(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_HMSTRIDREMAP_SHIFT)) & FLEXSPI_AHBCR_HMSTRIDREMAP_MASK)
  43335. #define FLEXSPI_AHBCR_ECCSWAPEN_MASK (0x80000U)
  43336. #define FLEXSPI_AHBCR_ECCSWAPEN_SHIFT (19U)
  43337. /*! ECCSWAPEN - ECC Read data swap function
  43338. * 0b0..rdata send to ecc check without swap.
  43339. * 0b1..rdata send to ecc ehck with swap.
  43340. */
  43341. #define FLEXSPI_AHBCR_ECCSWAPEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ECCSWAPEN_SHIFT)) & FLEXSPI_AHBCR_ECCSWAPEN_MASK)
  43342. #define FLEXSPI_AHBCR_ALIGNMENT_MASK (0x300000U)
  43343. #define FLEXSPI_AHBCR_ALIGNMENT_SHIFT (20U)
  43344. /*! ALIGNMENT - Decides all AHB read/write boundary. All access cross the boundary will be divided into smaller sub accesses.
  43345. * 0b00..No limit
  43346. * 0b01..1 KBytes
  43347. * 0b10..512 Bytes
  43348. * 0b11..256 Bytes
  43349. */
  43350. #define FLEXSPI_AHBCR_ALIGNMENT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBCR_ALIGNMENT_SHIFT)) & FLEXSPI_AHBCR_ALIGNMENT_MASK)
  43351. /*! @} */
  43352. /*! @name INTEN - Interrupt Enable Register */
  43353. /*! @{ */
  43354. #define FLEXSPI_INTEN_IPCMDDONEEN_MASK (0x1U)
  43355. #define FLEXSPI_INTEN_IPCMDDONEEN_SHIFT (0U)
  43356. /*! IPCMDDONEEN - IP triggered Command Sequences Execution finished interrupt enable.
  43357. */
  43358. #define FLEXSPI_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDDONEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDDONEEN_MASK)
  43359. #define FLEXSPI_INTEN_IPCMDGEEN_MASK (0x2U)
  43360. #define FLEXSPI_INTEN_IPCMDGEEN_SHIFT (1U)
  43361. /*! IPCMDGEEN - IP triggered Command Sequences Grant Timeout interrupt enable.
  43362. */
  43363. #define FLEXSPI_INTEN_IPCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDGEEN_SHIFT)) & FLEXSPI_INTEN_IPCMDGEEN_MASK)
  43364. #define FLEXSPI_INTEN_AHBCMDGEEN_MASK (0x4U)
  43365. #define FLEXSPI_INTEN_AHBCMDGEEN_SHIFT (2U)
  43366. /*! AHBCMDGEEN - AHB triggered Command Sequences Grant Timeout interrupt enable.
  43367. */
  43368. #define FLEXSPI_INTEN_AHBCMDGEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDGEEN_SHIFT)) & FLEXSPI_INTEN_AHBCMDGEEN_MASK)
  43369. #define FLEXSPI_INTEN_IPCMDERREN_MASK (0x8U)
  43370. #define FLEXSPI_INTEN_IPCMDERREN_SHIFT (3U)
  43371. /*! IPCMDERREN - IP triggered Command Sequences Error Detected interrupt enable.
  43372. */
  43373. #define FLEXSPI_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDERREN_SHIFT)) & FLEXSPI_INTEN_IPCMDERREN_MASK)
  43374. #define FLEXSPI_INTEN_AHBCMDERREN_MASK (0x10U)
  43375. #define FLEXSPI_INTEN_AHBCMDERREN_SHIFT (4U)
  43376. /*! AHBCMDERREN - AHB triggered Command Sequences Error Detected interrupt enable.
  43377. */
  43378. #define FLEXSPI_INTEN_AHBCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBCMDERREN_SHIFT)) & FLEXSPI_INTEN_AHBCMDERREN_MASK)
  43379. #define FLEXSPI_INTEN_IPRXWAEN_MASK (0x20U)
  43380. #define FLEXSPI_INTEN_IPRXWAEN_SHIFT (5U)
  43381. /*! IPRXWAEN - IP RX FIFO WaterMark available interrupt enable.
  43382. */
  43383. #define FLEXSPI_INTEN_IPRXWAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPRXWAEN_SHIFT)) & FLEXSPI_INTEN_IPRXWAEN_MASK)
  43384. #define FLEXSPI_INTEN_IPTXWEEN_MASK (0x40U)
  43385. #define FLEXSPI_INTEN_IPTXWEEN_SHIFT (6U)
  43386. /*! IPTXWEEN - IP TX FIFO WaterMark empty interrupt enable.
  43387. */
  43388. #define FLEXSPI_INTEN_IPTXWEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPTXWEEN_SHIFT)) & FLEXSPI_INTEN_IPTXWEEN_MASK)
  43389. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK (0x100U)
  43390. #define FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT (8U)
  43391. /*! SCKSTOPBYRDEN - SCLK is stopped during command sequence because Async RX FIFO full interrupt enable.
  43392. */
  43393. #define FLEXSPI_INTEN_SCKSTOPBYRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYRDEN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK)
  43394. #define FLEXSPI_INTEN_SCKSTOPBYWREN_MASK (0x200U)
  43395. #define FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT (9U)
  43396. /*! SCKSTOPBYWREN - SCLK is stopped during command sequence because Async TX FIFO empty interrupt enable.
  43397. */
  43398. #define FLEXSPI_INTEN_SCKSTOPBYWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SCKSTOPBYWREN_SHIFT)) & FLEXSPI_INTEN_SCKSTOPBYWREN_MASK)
  43399. #define FLEXSPI_INTEN_AHBBUSERROREN_MASK (0x400U)
  43400. #define FLEXSPI_INTEN_AHBBUSERROREN_SHIFT (10U)
  43401. /*! AHBBUSERROREN - AHB Bus error interrupt enable.Refer Interrupts chapter for more details.
  43402. */
  43403. #define FLEXSPI_INTEN_AHBBUSERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_AHBBUSERROREN_SHIFT)) & FLEXSPI_INTEN_AHBBUSERROREN_MASK)
  43404. #define FLEXSPI_INTEN_SEQTIMEOUTEN_MASK (0x800U)
  43405. #define FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT (11U)
  43406. /*! SEQTIMEOUTEN - Sequence execution timeout interrupt enable.Refer Interrupts chapter for more details.
  43407. */
  43408. #define FLEXSPI_INTEN_SEQTIMEOUTEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_SEQTIMEOUTEN_SHIFT)) & FLEXSPI_INTEN_SEQTIMEOUTEN_MASK)
  43409. #define FLEXSPI_INTEN_KEYDONEEN_MASK (0x1000U)
  43410. #define FLEXSPI_INTEN_KEYDONEEN_SHIFT (12U)
  43411. /*! KEYDONEEN - OTFAD key blob processing done interrupt enable.Refer Interrupts chapter for more details.
  43412. */
  43413. #define FLEXSPI_INTEN_KEYDONEEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYDONEEN_SHIFT)) & FLEXSPI_INTEN_KEYDONEEN_MASK)
  43414. #define FLEXSPI_INTEN_KEYERROREN_MASK (0x2000U)
  43415. #define FLEXSPI_INTEN_KEYERROREN_SHIFT (13U)
  43416. /*! KEYERROREN - OTFAD key blob processing error interrupt enable.Refer Interrupts chapter for more details.
  43417. */
  43418. #define FLEXSPI_INTEN_KEYERROREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_KEYERROREN_SHIFT)) & FLEXSPI_INTEN_KEYERROREN_MASK)
  43419. #define FLEXSPI_INTEN_ECCMULTIERREN_MASK (0x4000U)
  43420. #define FLEXSPI_INTEN_ECCMULTIERREN_SHIFT (14U)
  43421. /*! ECCMULTIERREN - ECC multi bits error interrupt enable.Refer Interrupts chapter for more details.
  43422. */
  43423. #define FLEXSPI_INTEN_ECCMULTIERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_ECCMULTIERREN_SHIFT)) & FLEXSPI_INTEN_ECCMULTIERREN_MASK)
  43424. #define FLEXSPI_INTEN_ECCSINGLEERREN_MASK (0x8000U)
  43425. #define FLEXSPI_INTEN_ECCSINGLEERREN_SHIFT (15U)
  43426. /*! ECCSINGLEERREN - ECC single bit error interrupt enable.Refer Interrupts chapter for more details.
  43427. */
  43428. #define FLEXSPI_INTEN_ECCSINGLEERREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_ECCSINGLEERREN_SHIFT)) & FLEXSPI_INTEN_ECCSINGLEERREN_MASK)
  43429. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN_MASK (0x10000U)
  43430. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN_SHIFT (16U)
  43431. /*! IPCMDSECUREVIOEN - IP command security violation interrupt enable.
  43432. */
  43433. #define FLEXSPI_INTEN_IPCMDSECUREVIOEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTEN_IPCMDSECUREVIOEN_SHIFT)) & FLEXSPI_INTEN_IPCMDSECUREVIOEN_MASK)
  43434. /*! @} */
  43435. /*! @name INTR - Interrupt Register */
  43436. /*! @{ */
  43437. #define FLEXSPI_INTR_IPCMDDONE_MASK (0x1U)
  43438. #define FLEXSPI_INTR_IPCMDDONE_SHIFT (0U)
  43439. /*! IPCMDDONE - IP triggered Command Sequences Execution finished interrupt. This interrupt is also
  43440. * generated when there is IPCMDGE or IPCMDERR interrupt generated.
  43441. */
  43442. #define FLEXSPI_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDDONE_SHIFT)) & FLEXSPI_INTR_IPCMDDONE_MASK)
  43443. #define FLEXSPI_INTR_IPCMDGE_MASK (0x2U)
  43444. #define FLEXSPI_INTR_IPCMDGE_SHIFT (1U)
  43445. /*! IPCMDGE - IP triggered Command Sequences Grant Timeout interrupt.
  43446. */
  43447. #define FLEXSPI_INTR_IPCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDGE_SHIFT)) & FLEXSPI_INTR_IPCMDGE_MASK)
  43448. #define FLEXSPI_INTR_AHBCMDGE_MASK (0x4U)
  43449. #define FLEXSPI_INTR_AHBCMDGE_SHIFT (2U)
  43450. /*! AHBCMDGE - AHB triggered Command Sequences Grant Timeout interrupt.
  43451. */
  43452. #define FLEXSPI_INTR_AHBCMDGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDGE_SHIFT)) & FLEXSPI_INTR_AHBCMDGE_MASK)
  43453. #define FLEXSPI_INTR_IPCMDERR_MASK (0x8U)
  43454. #define FLEXSPI_INTR_IPCMDERR_SHIFT (3U)
  43455. /*! IPCMDERR - IP triggered Command Sequences Error Detected interrupt. When an error detected for
  43456. * IP command, this command will be ignored and not executed at all.
  43457. */
  43458. #define FLEXSPI_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDERR_SHIFT)) & FLEXSPI_INTR_IPCMDERR_MASK)
  43459. #define FLEXSPI_INTR_AHBCMDERR_MASK (0x10U)
  43460. #define FLEXSPI_INTR_AHBCMDERR_SHIFT (4U)
  43461. /*! AHBCMDERR - AHB triggered Command Sequences Error Detected interrupt. When an error detected for
  43462. * AHB command, this command will be ignored and not executed at all.
  43463. */
  43464. #define FLEXSPI_INTR_AHBCMDERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBCMDERR_SHIFT)) & FLEXSPI_INTR_AHBCMDERR_MASK)
  43465. #define FLEXSPI_INTR_IPRXWA_MASK (0x20U)
  43466. #define FLEXSPI_INTR_IPRXWA_SHIFT (5U)
  43467. /*! IPRXWA - IP RX FIFO watermark available interrupt.
  43468. */
  43469. #define FLEXSPI_INTR_IPRXWA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPRXWA_SHIFT)) & FLEXSPI_INTR_IPRXWA_MASK)
  43470. #define FLEXSPI_INTR_IPTXWE_MASK (0x40U)
  43471. #define FLEXSPI_INTR_IPTXWE_SHIFT (6U)
  43472. /*! IPTXWE - IP TX FIFO watermark empty interrupt.
  43473. */
  43474. #define FLEXSPI_INTR_IPTXWE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPTXWE_SHIFT)) & FLEXSPI_INTR_IPTXWE_MASK)
  43475. #define FLEXSPI_INTR_SCKSTOPBYRD_MASK (0x100U)
  43476. #define FLEXSPI_INTR_SCKSTOPBYRD_SHIFT (8U)
  43477. /*! SCKSTOPBYRD - SCLK is stopped during command sequence because Async RX FIFO full interrupt.
  43478. */
  43479. #define FLEXSPI_INTR_SCKSTOPBYRD(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYRD_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYRD_MASK)
  43480. #define FLEXSPI_INTR_SCKSTOPBYWR_MASK (0x200U)
  43481. #define FLEXSPI_INTR_SCKSTOPBYWR_SHIFT (9U)
  43482. /*! SCKSTOPBYWR - SCLK is stopped during command sequence because Async TX FIFO empty interrupt.
  43483. */
  43484. #define FLEXSPI_INTR_SCKSTOPBYWR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SCKSTOPBYWR_SHIFT)) & FLEXSPI_INTR_SCKSTOPBYWR_MASK)
  43485. #define FLEXSPI_INTR_AHBBUSERROR_MASK (0x400U)
  43486. #define FLEXSPI_INTR_AHBBUSERROR_SHIFT (10U)
  43487. /*! AHBBUSERROR - AHB Bus timeout or AHB bus illegal access Flash during OTFAD key blob processing interrupt.
  43488. */
  43489. #define FLEXSPI_INTR_AHBBUSERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_AHBBUSERROR_SHIFT)) & FLEXSPI_INTR_AHBBUSERROR_MASK)
  43490. #define FLEXSPI_INTR_SEQTIMEOUT_MASK (0x800U)
  43491. #define FLEXSPI_INTR_SEQTIMEOUT_SHIFT (11U)
  43492. /*! SEQTIMEOUT - Sequence execution timeout interrupt.
  43493. */
  43494. #define FLEXSPI_INTR_SEQTIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_SEQTIMEOUT_SHIFT)) & FLEXSPI_INTR_SEQTIMEOUT_MASK)
  43495. #define FLEXSPI_INTR_KEYDONE_MASK (0x1000U)
  43496. #define FLEXSPI_INTR_KEYDONE_SHIFT (12U)
  43497. /*! KEYDONE - OTFAD key blob processing done interrupt.
  43498. */
  43499. #define FLEXSPI_INTR_KEYDONE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYDONE_SHIFT)) & FLEXSPI_INTR_KEYDONE_MASK)
  43500. #define FLEXSPI_INTR_KEYERROR_MASK (0x2000U)
  43501. #define FLEXSPI_INTR_KEYERROR_SHIFT (13U)
  43502. /*! KEYERROR - OTFAD key blob processing error interrupt.
  43503. */
  43504. #define FLEXSPI_INTR_KEYERROR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_KEYERROR_SHIFT)) & FLEXSPI_INTR_KEYERROR_MASK)
  43505. #define FLEXSPI_INTR_ECCMULTIERR_MASK (0x4000U)
  43506. #define FLEXSPI_INTR_ECCMULTIERR_SHIFT (14U)
  43507. /*! ECCMULTIERR - ECC multi bits error interrupt.
  43508. */
  43509. #define FLEXSPI_INTR_ECCMULTIERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_ECCMULTIERR_SHIFT)) & FLEXSPI_INTR_ECCMULTIERR_MASK)
  43510. #define FLEXSPI_INTR_ECCSINGLEERR_MASK (0x8000U)
  43511. #define FLEXSPI_INTR_ECCSINGLEERR_SHIFT (15U)
  43512. /*! ECCSINGLEERR - ECC single bit error interrupt.
  43513. */
  43514. #define FLEXSPI_INTR_ECCSINGLEERR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_ECCSINGLEERR_SHIFT)) & FLEXSPI_INTR_ECCSINGLEERR_MASK)
  43515. #define FLEXSPI_INTR_IPCMDSECUREVIO_MASK (0x10000U)
  43516. #define FLEXSPI_INTR_IPCMDSECUREVIO_SHIFT (16U)
  43517. /*! IPCMDSECUREVIO - IP command security violation interrupt.
  43518. */
  43519. #define FLEXSPI_INTR_IPCMDSECUREVIO(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_INTR_IPCMDSECUREVIO_SHIFT)) & FLEXSPI_INTR_IPCMDSECUREVIO_MASK)
  43520. /*! @} */
  43521. /*! @name LUTKEY - LUT Key Register */
  43522. /*! @{ */
  43523. #define FLEXSPI_LUTKEY_KEY_MASK (0xFFFFFFFFU)
  43524. #define FLEXSPI_LUTKEY_KEY_SHIFT (0U)
  43525. /*! KEY - The Key to lock or unlock LUT.
  43526. */
  43527. #define FLEXSPI_LUTKEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTKEY_KEY_SHIFT)) & FLEXSPI_LUTKEY_KEY_MASK)
  43528. /*! @} */
  43529. /*! @name LUTCR - LUT Control Register */
  43530. /*! @{ */
  43531. #define FLEXSPI_LUTCR_LOCK_MASK (0x1U)
  43532. #define FLEXSPI_LUTCR_LOCK_SHIFT (0U)
  43533. /*! LOCK - Lock LUT
  43534. */
  43535. #define FLEXSPI_LUTCR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_LOCK_SHIFT)) & FLEXSPI_LUTCR_LOCK_MASK)
  43536. #define FLEXSPI_LUTCR_UNLOCK_MASK (0x2U)
  43537. #define FLEXSPI_LUTCR_UNLOCK_SHIFT (1U)
  43538. /*! UNLOCK - Unlock LUT
  43539. */
  43540. #define FLEXSPI_LUTCR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_UNLOCK_SHIFT)) & FLEXSPI_LUTCR_UNLOCK_MASK)
  43541. #define FLEXSPI_LUTCR_PROTECT_MASK (0x4U)
  43542. #define FLEXSPI_LUTCR_PROTECT_SHIFT (2U)
  43543. /*! PROTECT - LUT protection
  43544. */
  43545. #define FLEXSPI_LUTCR_PROTECT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUTCR_PROTECT_SHIFT)) & FLEXSPI_LUTCR_PROTECT_MASK)
  43546. /*! @} */
  43547. /*! @name AHBRXBUFCR0 - AHB RX Buffer 0 Control Register 0..AHB RX Buffer 7 Control Register 0 */
  43548. /*! @{ */
  43549. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK (0x3FFU)
  43550. #define FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT (0U)
  43551. /*! BUFSZ - AHB RX Buffer Size in 64 bits.
  43552. */
  43553. #define FLEXSPI_AHBRXBUFCR0_BUFSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_BUFSZ_SHIFT)) & FLEXSPI_AHBRXBUFCR0_BUFSZ_MASK)
  43554. #define FLEXSPI_AHBRXBUFCR0_MSTRID_MASK (0xF0000U)
  43555. #define FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT (16U)
  43556. /*! MSTRID - This AHB RX Buffer is assigned according to AHB Master with ID (MSTR_ID).
  43557. */
  43558. #define FLEXSPI_AHBRXBUFCR0_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_MSTRID_SHIFT)) & FLEXSPI_AHBRXBUFCR0_MSTRID_MASK)
  43559. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK (0x7000000U)
  43560. #define FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT (24U)
  43561. /*! PRIORITY - This priority for AHB Master Read which this AHB RX Buffer is assigned. 7 is the highest priority, 0 the lowest.
  43562. */
  43563. #define FLEXSPI_AHBRXBUFCR0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PRIORITY_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PRIORITY_MASK)
  43564. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK (0x40000000U)
  43565. #define FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT (30U)
  43566. /*! REGIONEN - AHB RX Buffer address region funciton enable
  43567. */
  43568. #define FLEXSPI_AHBRXBUFCR0_REGIONEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_REGIONEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_REGIONEN_MASK)
  43569. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK (0x80000000U)
  43570. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT (31U)
  43571. /*! PREFETCHEN - AHB Read Prefetch Enable for current AHB RX Buffer corresponding Master.
  43572. */
  43573. #define FLEXSPI_AHBRXBUFCR0_PREFETCHEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBRXBUFCR0_PREFETCHEN_SHIFT)) & FLEXSPI_AHBRXBUFCR0_PREFETCHEN_MASK)
  43574. /*! @} */
  43575. /* The count of FLEXSPI_AHBRXBUFCR0 */
  43576. #define FLEXSPI_AHBRXBUFCR0_COUNT (8U)
  43577. /*! @name FLSHCR0 - Flash Control Register 0 */
  43578. /*! @{ */
  43579. #define FLEXSPI_FLSHCR0_FLSHSZ_MASK (0x7FFFFFU)
  43580. #define FLEXSPI_FLSHCR0_FLSHSZ_SHIFT (0U)
  43581. /*! FLSHSZ - Flash Size in KByte.
  43582. */
  43583. #define FLEXSPI_FLSHCR0_FLSHSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_FLSHSZ_SHIFT)) & FLEXSPI_FLSHCR0_FLSHSZ_MASK)
  43584. #define FLEXSPI_FLSHCR0_SPLITWREN_MASK (0x40000000U)
  43585. #define FLEXSPI_FLSHCR0_SPLITWREN_SHIFT (30U)
  43586. /*! SPLITWREN - AHB write access split function control.
  43587. */
  43588. #define FLEXSPI_FLSHCR0_SPLITWREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_SPLITWREN_SHIFT)) & FLEXSPI_FLSHCR0_SPLITWREN_MASK)
  43589. #define FLEXSPI_FLSHCR0_SPLITRDEN_MASK (0x80000000U)
  43590. #define FLEXSPI_FLSHCR0_SPLITRDEN_SHIFT (31U)
  43591. /*! SPLITRDEN - AHB read access split function control.
  43592. */
  43593. #define FLEXSPI_FLSHCR0_SPLITRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR0_SPLITRDEN_SHIFT)) & FLEXSPI_FLSHCR0_SPLITRDEN_MASK)
  43594. /*! @} */
  43595. /* The count of FLEXSPI_FLSHCR0 */
  43596. #define FLEXSPI_FLSHCR0_COUNT (4U)
  43597. /*! @name FLSHCR1 - Flash Control Register 1 */
  43598. /*! @{ */
  43599. #define FLEXSPI_FLSHCR1_TCSS_MASK (0x1FU)
  43600. #define FLEXSPI_FLSHCR1_TCSS_SHIFT (0U)
  43601. /*! TCSS - Serial Flash CS setup time.
  43602. */
  43603. #define FLEXSPI_FLSHCR1_TCSS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSS_SHIFT)) & FLEXSPI_FLSHCR1_TCSS_MASK)
  43604. #define FLEXSPI_FLSHCR1_TCSH_MASK (0x3E0U)
  43605. #define FLEXSPI_FLSHCR1_TCSH_SHIFT (5U)
  43606. /*! TCSH - Serial Flash CS Hold time.
  43607. */
  43608. #define FLEXSPI_FLSHCR1_TCSH(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_TCSH_SHIFT)) & FLEXSPI_FLSHCR1_TCSH_MASK)
  43609. #define FLEXSPI_FLSHCR1_WA_MASK (0x400U)
  43610. #define FLEXSPI_FLSHCR1_WA_SHIFT (10U)
  43611. /*! WA - Word Addressable.
  43612. */
  43613. #define FLEXSPI_FLSHCR1_WA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_WA_SHIFT)) & FLEXSPI_FLSHCR1_WA_MASK)
  43614. #define FLEXSPI_FLSHCR1_CAS_MASK (0x7800U)
  43615. #define FLEXSPI_FLSHCR1_CAS_SHIFT (11U)
  43616. /*! CAS - Column Address Size.
  43617. */
  43618. #define FLEXSPI_FLSHCR1_CAS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CAS_SHIFT)) & FLEXSPI_FLSHCR1_CAS_MASK)
  43619. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK (0x8000U)
  43620. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT (15U)
  43621. /*! CSINTERVALUNIT - CS interval unit
  43622. * 0b0..The CS interval unit is 1 serial clock cycle
  43623. * 0b1..The CS interval unit is 256 serial clock cycle
  43624. */
  43625. #define FLEXSPI_FLSHCR1_CSINTERVALUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVALUNIT_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVALUNIT_MASK)
  43626. #define FLEXSPI_FLSHCR1_CSINTERVAL_MASK (0xFFFF0000U)
  43627. #define FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT (16U)
  43628. /*! CSINTERVAL - This field is used to set the minimum interval between flash device Chip selection
  43629. * deassertion and flash device Chip selection assertion. If external flash has a limitation on
  43630. * the interval between command sequences, this field should be set accordingly. If there is no
  43631. * limitation, set this field with value 0x0.
  43632. */
  43633. #define FLEXSPI_FLSHCR1_CSINTERVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR1_CSINTERVAL_SHIFT)) & FLEXSPI_FLSHCR1_CSINTERVAL_MASK)
  43634. /*! @} */
  43635. /* The count of FLEXSPI_FLSHCR1 */
  43636. #define FLEXSPI_FLSHCR1_COUNT (4U)
  43637. /*! @name FLSHCR2 - Flash Control Register 2 */
  43638. /*! @{ */
  43639. #define FLEXSPI_FLSHCR2_ARDSEQID_MASK (0xFU)
  43640. #define FLEXSPI_FLSHCR2_ARDSEQID_SHIFT (0U)
  43641. /*! ARDSEQID - Sequence Index for AHB Read triggered Command in LUT.
  43642. */
  43643. #define FLEXSPI_FLSHCR2_ARDSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQID_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQID_MASK)
  43644. #define FLEXSPI_FLSHCR2_ARDSEQNUM_MASK (0xE0U)
  43645. #define FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT (5U)
  43646. /*! ARDSEQNUM - Sequence Number for AHB Read triggered Command in LUT.
  43647. */
  43648. #define FLEXSPI_FLSHCR2_ARDSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_ARDSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_ARDSEQNUM_MASK)
  43649. #define FLEXSPI_FLSHCR2_AWRSEQID_MASK (0xF00U)
  43650. #define FLEXSPI_FLSHCR2_AWRSEQID_SHIFT (8U)
  43651. /*! AWRSEQID - Sequence Index for AHB Write triggered Command.
  43652. */
  43653. #define FLEXSPI_FLSHCR2_AWRSEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQID_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQID_MASK)
  43654. #define FLEXSPI_FLSHCR2_AWRSEQNUM_MASK (0xE000U)
  43655. #define FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT (13U)
  43656. /*! AWRSEQNUM - Sequence Number for AHB Write triggered Command.
  43657. */
  43658. #define FLEXSPI_FLSHCR2_AWRSEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRSEQNUM_SHIFT)) & FLEXSPI_FLSHCR2_AWRSEQNUM_MASK)
  43659. #define FLEXSPI_FLSHCR2_AWRWAIT_MASK (0xFFF0000U)
  43660. #define FLEXSPI_FLSHCR2_AWRWAIT_SHIFT (16U)
  43661. #define FLEXSPI_FLSHCR2_AWRWAIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAIT_MASK)
  43662. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK (0x70000000U)
  43663. #define FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT (28U)
  43664. /*! AWRWAITUNIT - AWRWAIT unit
  43665. * 0b000..The AWRWAIT unit is 2 ahb clock cycle
  43666. * 0b001..The AWRWAIT unit is 8 ahb clock cycle
  43667. * 0b010..The AWRWAIT unit is 32 ahb clock cycle
  43668. * 0b011..The AWRWAIT unit is 128 ahb clock cycle
  43669. * 0b100..The AWRWAIT unit is 512 ahb clock cycle
  43670. * 0b101..The AWRWAIT unit is 2048 ahb clock cycle
  43671. * 0b110..The AWRWAIT unit is 8192 ahb clock cycle
  43672. * 0b111..The AWRWAIT unit is 32768 ahb clock cycle
  43673. */
  43674. #define FLEXSPI_FLSHCR2_AWRWAITUNIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_AWRWAITUNIT_SHIFT)) & FLEXSPI_FLSHCR2_AWRWAITUNIT_MASK)
  43675. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK (0x80000000U)
  43676. #define FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT (31U)
  43677. /*! CLRINSTRPTR - Clear the instruction pointer which is internally saved pointer by JMP_ON_CS.
  43678. * Refer Programmable Sequence Engine for details.
  43679. */
  43680. #define FLEXSPI_FLSHCR2_CLRINSTRPTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR2_CLRINSTRPTR_SHIFT)) & FLEXSPI_FLSHCR2_CLRINSTRPTR_MASK)
  43681. /*! @} */
  43682. /* The count of FLEXSPI_FLSHCR2 */
  43683. #define FLEXSPI_FLSHCR2_COUNT (4U)
  43684. /*! @name FLSHCR4 - Flash Control Register 4 */
  43685. /*! @{ */
  43686. #define FLEXSPI_FLSHCR4_WMOPT1_MASK (0x1U)
  43687. #define FLEXSPI_FLSHCR4_WMOPT1_SHIFT (0U)
  43688. /*! WMOPT1 - Write mask option bit 1. This option bit could be used to remove AHB write burst start address alignment limitation.
  43689. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  43690. * burst start address alignment when flash is accessed in individual mode.
  43691. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  43692. * burst start address alignment when flash is accessed in individual mode.
  43693. */
  43694. #define FLEXSPI_FLSHCR4_WMOPT1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT1_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT1_MASK)
  43695. #define FLEXSPI_FLSHCR4_WMOPT2_MASK (0x2U)
  43696. #define FLEXSPI_FLSHCR4_WMOPT2_SHIFT (1U)
  43697. /*! WMOPT2 - Write mask option bit 2. When using AP memory, This option bit could be used to remove
  43698. * AHB write burst minimal length limitation. When using this bit, WMOPT1 should also be set.
  43699. * 0b0..DQS pin will be used as Write Mask when writing to external device. There is no limitation on AHB write
  43700. * burst length when flash is accessed in individual mode.
  43701. * 0b1..DQS pin will not be used as Write Mask when writing to external device. There is limitation on AHB write
  43702. * burst length when flash is accessed in individual mode, the minimal write burst length should be 4.
  43703. */
  43704. #define FLEXSPI_FLSHCR4_WMOPT2(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMOPT2_SHIFT)) & FLEXSPI_FLSHCR4_WMOPT2_MASK)
  43705. #define FLEXSPI_FLSHCR4_WMENA_MASK (0x4U)
  43706. #define FLEXSPI_FLSHCR4_WMENA_SHIFT (2U)
  43707. /*! WMENA - Write mask enable bit for flash device on port A. When write mask function is needed for
  43708. * memory device on port A, this bit must be set.
  43709. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  43710. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  43711. */
  43712. #define FLEXSPI_FLSHCR4_WMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENA_SHIFT)) & FLEXSPI_FLSHCR4_WMENA_MASK)
  43713. #define FLEXSPI_FLSHCR4_WMENB_MASK (0x8U)
  43714. #define FLEXSPI_FLSHCR4_WMENB_SHIFT (3U)
  43715. /*! WMENB - Write mask enable bit for flash device on port B. When write mask function is needed for
  43716. * memory device on port B, this bit must be set.
  43717. * 0b0..Write mask is disabled, DQS(RWDS) pin will be un-driven when writing to external device.
  43718. * 0b1..Write mask is enabled, DQS(RWDS) pin will be driven by FlexSPI as write mask output when writing to external device.
  43719. */
  43720. #define FLEXSPI_FLSHCR4_WMENB(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_WMENB_SHIFT)) & FLEXSPI_FLSHCR4_WMENB_MASK)
  43721. #define FLEXSPI_FLSHCR4_PAR_WM_MASK (0x600U)
  43722. #define FLEXSPI_FLSHCR4_PAR_WM_SHIFT (9U)
  43723. /*! PAR_WM - Enable APMEM 16 bit write mask function, bit 9 for A1-B1 pair, bit 10 for A2-B2 pair.
  43724. */
  43725. #define FLEXSPI_FLSHCR4_PAR_WM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_PAR_WM_SHIFT)) & FLEXSPI_FLSHCR4_PAR_WM_MASK)
  43726. #define FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_MASK (0x800U)
  43727. #define FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_SHIFT (11U)
  43728. /*! PAR_ADDR_ADJ_DIS - Disable the address shift logic for lower density of 16 bit PSRAM.
  43729. */
  43730. #define FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_SHIFT)) & FLEXSPI_FLSHCR4_PAR_ADDR_ADJ_DIS_MASK)
  43731. /*! @} */
  43732. /*! @name IPCR0 - IP Control Register 0 */
  43733. /*! @{ */
  43734. #define FLEXSPI_IPCR0_SFAR_MASK (0xFFFFFFFFU)
  43735. #define FLEXSPI_IPCR0_SFAR_SHIFT (0U)
  43736. /*! SFAR - Serial Flash Address for IP command.
  43737. */
  43738. #define FLEXSPI_IPCR0_SFAR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR0_SFAR_SHIFT)) & FLEXSPI_IPCR0_SFAR_MASK)
  43739. /*! @} */
  43740. /*! @name IPCR1 - IP Control Register 1 */
  43741. /*! @{ */
  43742. #define FLEXSPI_IPCR1_IDATSZ_MASK (0xFFFFU)
  43743. #define FLEXSPI_IPCR1_IDATSZ_SHIFT (0U)
  43744. /*! IDATSZ - Flash Read/Program Data Size (in Bytes) for IP command.
  43745. */
  43746. #define FLEXSPI_IPCR1_IDATSZ(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IDATSZ_SHIFT)) & FLEXSPI_IPCR1_IDATSZ_MASK)
  43747. #define FLEXSPI_IPCR1_ISEQID_MASK (0xF0000U)
  43748. #define FLEXSPI_IPCR1_ISEQID_SHIFT (16U)
  43749. /*! ISEQID - Sequence Index in LUT for IP command.
  43750. */
  43751. #define FLEXSPI_IPCR1_ISEQID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQID_SHIFT)) & FLEXSPI_IPCR1_ISEQID_MASK)
  43752. #define FLEXSPI_IPCR1_ISEQNUM_MASK (0x7000000U)
  43753. #define FLEXSPI_IPCR1_ISEQNUM_SHIFT (24U)
  43754. /*! ISEQNUM - Sequence Number for IP command: ISEQNUM+1.
  43755. */
  43756. #define FLEXSPI_IPCR1_ISEQNUM(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_ISEQNUM_SHIFT)) & FLEXSPI_IPCR1_ISEQNUM_MASK)
  43757. #define FLEXSPI_IPCR1_IPAREN_MASK (0x80000000U)
  43758. #define FLEXSPI_IPCR1_IPAREN_SHIFT (31U)
  43759. /*! IPAREN - Parallel mode Enabled for IP command.
  43760. * 0b0..Flash will be accessed in Individual mode.
  43761. * 0b1..Flash will be accessed in Parallel mode.
  43762. */
  43763. #define FLEXSPI_IPCR1_IPAREN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCR1_IPAREN_SHIFT)) & FLEXSPI_IPCR1_IPAREN_MASK)
  43764. /*! @} */
  43765. /*! @name IPCMD - IP Command Register */
  43766. /*! @{ */
  43767. #define FLEXSPI_IPCMD_TRG_MASK (0x1U)
  43768. #define FLEXSPI_IPCMD_TRG_SHIFT (0U)
  43769. /*! TRG - Setting this bit will trigger an IP Command.
  43770. */
  43771. #define FLEXSPI_IPCMD_TRG(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPCMD_TRG_SHIFT)) & FLEXSPI_IPCMD_TRG_MASK)
  43772. /*! @} */
  43773. /*! @name IPRXFCR - IP RX FIFO Control Register */
  43774. /*! @{ */
  43775. #define FLEXSPI_IPRXFCR_CLRIPRXF_MASK (0x1U)
  43776. #define FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT (0U)
  43777. /*! CLRIPRXF - Clear all valid data entries in IP RX FIFO.
  43778. */
  43779. #define FLEXSPI_IPRXFCR_CLRIPRXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_CLRIPRXF_SHIFT)) & FLEXSPI_IPRXFCR_CLRIPRXF_MASK)
  43780. #define FLEXSPI_IPRXFCR_RXDMAEN_MASK (0x2U)
  43781. #define FLEXSPI_IPRXFCR_RXDMAEN_SHIFT (1U)
  43782. /*! RXDMAEN - IP RX FIFO reading by DMA enabled.
  43783. * 0b0..IP RX FIFO would be read by processor.
  43784. * 0b1..IP RX FIFO would be read by DMA.
  43785. */
  43786. #define FLEXSPI_IPRXFCR_RXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXDMAEN_SHIFT)) & FLEXSPI_IPRXFCR_RXDMAEN_MASK)
  43787. #define FLEXSPI_IPRXFCR_RXWMRK_MASK (0x7CU)
  43788. #define FLEXSPI_IPRXFCR_RXWMRK_SHIFT (2U)
  43789. /*! RXWMRK - Watermark level is (RXWMRK+1)*64 Bits.
  43790. */
  43791. #define FLEXSPI_IPRXFCR_RXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFCR_RXWMRK_SHIFT)) & FLEXSPI_IPRXFCR_RXWMRK_MASK)
  43792. /*! @} */
  43793. /*! @name IPTXFCR - IP TX FIFO Control Register */
  43794. /*! @{ */
  43795. #define FLEXSPI_IPTXFCR_CLRIPTXF_MASK (0x1U)
  43796. #define FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT (0U)
  43797. /*! CLRIPTXF - Clear all valid data entries in IP TX FIFO.
  43798. */
  43799. #define FLEXSPI_IPTXFCR_CLRIPTXF(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_CLRIPTXF_SHIFT)) & FLEXSPI_IPTXFCR_CLRIPTXF_MASK)
  43800. #define FLEXSPI_IPTXFCR_TXDMAEN_MASK (0x2U)
  43801. #define FLEXSPI_IPTXFCR_TXDMAEN_SHIFT (1U)
  43802. /*! TXDMAEN - IP TX FIFO filling by DMA enabled.
  43803. * 0b0..IP TX FIFO would be filled by processor.
  43804. * 0b1..IP TX FIFO would be filled by DMA.
  43805. */
  43806. #define FLEXSPI_IPTXFCR_TXDMAEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXDMAEN_SHIFT)) & FLEXSPI_IPTXFCR_TXDMAEN_MASK)
  43807. #define FLEXSPI_IPTXFCR_TXWMRK_MASK (0x7CU)
  43808. #define FLEXSPI_IPTXFCR_TXWMRK_SHIFT (2U)
  43809. /*! TXWMRK - Watermark level is (TXWMRK+1)*64 Bits.
  43810. */
  43811. #define FLEXSPI_IPTXFCR_TXWMRK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFCR_TXWMRK_SHIFT)) & FLEXSPI_IPTXFCR_TXWMRK_MASK)
  43812. /*! @} */
  43813. /*! @name DLLCR - DLL Control Register 0 */
  43814. /*! @{ */
  43815. #define FLEXSPI_DLLCR_DLLEN_MASK (0x1U)
  43816. #define FLEXSPI_DLLCR_DLLEN_SHIFT (0U)
  43817. /*! DLLEN - DLL calibration enable.
  43818. */
  43819. #define FLEXSPI_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLEN_SHIFT)) & FLEXSPI_DLLCR_DLLEN_MASK)
  43820. #define FLEXSPI_DLLCR_DLLRESET_MASK (0x2U)
  43821. #define FLEXSPI_DLLCR_DLLRESET_SHIFT (1U)
  43822. /*! DLLRESET - Software could force a reset on DLL by setting this field to 0x1. This will cause the
  43823. * DLL to lose lock and re-calibrate to detect an ref_clock half period phase shift. The reset
  43824. * action is edge triggered, so software need to clear this bit after set this bit (no delay
  43825. * limitation).
  43826. */
  43827. #define FLEXSPI_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_DLLRESET_SHIFT)) & FLEXSPI_DLLCR_DLLRESET_MASK)
  43828. #define FLEXSPI_DLLCR_SLVDLYTARGET_MASK (0x78U)
  43829. #define FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT (3U)
  43830. /*! SLVDLYTARGET - The delay target for slave delay line is: ((SLVDLYTARGET+1) * 1/32 * clock cycle
  43831. * of reference clock (serial root clock). If serial root clock is >= 100 MHz, DLLEN set to 0x1,
  43832. * OVRDEN set to =0x0, then SLVDLYTARGET setting of 0xF is recommended.
  43833. */
  43834. #define FLEXSPI_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_SLVDLYTARGET_SHIFT)) & FLEXSPI_DLLCR_SLVDLYTARGET_MASK)
  43835. #define FLEXSPI_DLLCR_OVRDEN_MASK (0x100U)
  43836. #define FLEXSPI_DLLCR_OVRDEN_SHIFT (8U)
  43837. /*! OVRDEN - Slave clock delay line delay cell number selection override enable.
  43838. */
  43839. #define FLEXSPI_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDEN_SHIFT)) & FLEXSPI_DLLCR_OVRDEN_MASK)
  43840. #define FLEXSPI_DLLCR_OVRDVAL_MASK (0x7E00U)
  43841. #define FLEXSPI_DLLCR_OVRDVAL_SHIFT (9U)
  43842. /*! OVRDVAL - Slave clock delay line delay cell number selection override value.
  43843. */
  43844. #define FLEXSPI_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_DLLCR_OVRDVAL_SHIFT)) & FLEXSPI_DLLCR_OVRDVAL_MASK)
  43845. /*! @} */
  43846. /* The count of FLEXSPI_DLLCR */
  43847. #define FLEXSPI_DLLCR_COUNT (2U)
  43848. /*! @name MISCCR4 - Misc Control Register 4 */
  43849. /*! @{ */
  43850. #define FLEXSPI_MISCCR4_AHBADDRESS_MASK (0xFFFFFFFFU)
  43851. #define FLEXSPI_MISCCR4_AHBADDRESS_SHIFT (0U)
  43852. /*! AHBADDRESS - AHB bus address that trigger the current ECC multi bits error interrupt.
  43853. */
  43854. #define FLEXSPI_MISCCR4_AHBADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR4_AHBADDRESS_SHIFT)) & FLEXSPI_MISCCR4_AHBADDRESS_MASK)
  43855. /*! @} */
  43856. /*! @name MISCCR5 - Misc Control Register 5 */
  43857. /*! @{ */
  43858. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_MASK (0xFFFFFFFFU)
  43859. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_SHIFT (0U)
  43860. /*! ECCSINGLEERRORCORR - ECC single bit error correction indication.
  43861. */
  43862. #define FLEXSPI_MISCCR5_ECCSINGLEERRORCORR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_SHIFT)) & FLEXSPI_MISCCR5_ECCSINGLEERRORCORR_MASK)
  43863. /*! @} */
  43864. /*! @name MISCCR6 - Misc Control Register 6 */
  43865. /*! @{ */
  43866. #define FLEXSPI_MISCCR6_VALID_MASK (0x1U)
  43867. #define FLEXSPI_MISCCR6_VALID_SHIFT (0U)
  43868. /*! VALID - ECC single error information Valid
  43869. */
  43870. #define FLEXSPI_MISCCR6_VALID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_VALID_SHIFT)) & FLEXSPI_MISCCR6_VALID_MASK)
  43871. #define FLEXSPI_MISCCR6_HIT_MASK (0x2U)
  43872. #define FLEXSPI_MISCCR6_HIT_SHIFT (1U)
  43873. /*! HIT - ECC single error information Hit
  43874. */
  43875. #define FLEXSPI_MISCCR6_HIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_HIT_SHIFT)) & FLEXSPI_MISCCR6_HIT_MASK)
  43876. #define FLEXSPI_MISCCR6_ADDRESS_MASK (0xFFFFFFFCU)
  43877. #define FLEXSPI_MISCCR6_ADDRESS_SHIFT (2U)
  43878. /*! ADDRESS - ECC single error address
  43879. */
  43880. #define FLEXSPI_MISCCR6_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR6_ADDRESS_SHIFT)) & FLEXSPI_MISCCR6_ADDRESS_MASK)
  43881. /*! @} */
  43882. /*! @name MISCCR7 - Misc Control Register 7 */
  43883. /*! @{ */
  43884. #define FLEXSPI_MISCCR7_VALID_MASK (0x1U)
  43885. #define FLEXSPI_MISCCR7_VALID_SHIFT (0U)
  43886. /*! VALID - ECC multi error information Valid
  43887. */
  43888. #define FLEXSPI_MISCCR7_VALID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_VALID_SHIFT)) & FLEXSPI_MISCCR7_VALID_MASK)
  43889. #define FLEXSPI_MISCCR7_HIT_MASK (0x2U)
  43890. #define FLEXSPI_MISCCR7_HIT_SHIFT (1U)
  43891. /*! HIT - ECC multi error information Hit
  43892. */
  43893. #define FLEXSPI_MISCCR7_HIT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_HIT_SHIFT)) & FLEXSPI_MISCCR7_HIT_MASK)
  43894. #define FLEXSPI_MISCCR7_ADDRESS_MASK (0xFFFFFFFCU)
  43895. #define FLEXSPI_MISCCR7_ADDRESS_SHIFT (2U)
  43896. /*! ADDRESS - ECC multi error address
  43897. */
  43898. #define FLEXSPI_MISCCR7_ADDRESS(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_MISCCR7_ADDRESS_SHIFT)) & FLEXSPI_MISCCR7_ADDRESS_MASK)
  43899. /*! @} */
  43900. /*! @name STS0 - Status Register 0 */
  43901. /*! @{ */
  43902. #define FLEXSPI_STS0_SEQIDLE_MASK (0x1U)
  43903. #define FLEXSPI_STS0_SEQIDLE_SHIFT (0U)
  43904. /*! SEQIDLE - This status bit indicates the state machine in SEQ_CTL is idle and there is command
  43905. * sequence executing on FlexSPI interface.
  43906. */
  43907. #define FLEXSPI_STS0_SEQIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_SEQIDLE_SHIFT)) & FLEXSPI_STS0_SEQIDLE_MASK)
  43908. #define FLEXSPI_STS0_ARBIDLE_MASK (0x2U)
  43909. #define FLEXSPI_STS0_ARBIDLE_SHIFT (1U)
  43910. /*! ARBIDLE - This status bit indicates the state machine in ARB_CTL is busy and there is command
  43911. * sequence granted by arbitrator and not finished yet on FlexSPI interface. When ARB_CTL state
  43912. * (ARBIDLE=0x1) is idle, there will be no transaction on FlexSPI interface also (SEQIDLE=0x1). So
  43913. * this bit should be polled to wait for FlexSPI controller become idle instead of SEQIDLE.
  43914. */
  43915. #define FLEXSPI_STS0_ARBIDLE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBIDLE_SHIFT)) & FLEXSPI_STS0_ARBIDLE_MASK)
  43916. #define FLEXSPI_STS0_ARBCMDSRC_MASK (0xCU)
  43917. #define FLEXSPI_STS0_ARBCMDSRC_SHIFT (2U)
  43918. /*! ARBCMDSRC - This status field indicates the trigger source of current command sequence granted
  43919. * by arbitrator. This field value is meaningless when ARB_CTL is not busy (STS0[ARBIDLE]=0x1).
  43920. * 0b00..Triggered by AHB read command (triggered by AHB read).
  43921. * 0b01..Triggered by AHB write command (triggered by AHB Write).
  43922. * 0b10..Triggered by IP command (triggered by setting register bit IPCMD.TRG).
  43923. * 0b11..Triggered by suspended command (resumed).
  43924. */
  43925. #define FLEXSPI_STS0_ARBCMDSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS0_ARBCMDSRC_SHIFT)) & FLEXSPI_STS0_ARBCMDSRC_MASK)
  43926. /*! @} */
  43927. /*! @name STS1 - Status Register 1 */
  43928. /*! @{ */
  43929. #define FLEXSPI_STS1_AHBCMDERRID_MASK (0xFU)
  43930. #define FLEXSPI_STS1_AHBCMDERRID_SHIFT (0U)
  43931. /*! AHBCMDERRID - Indicates the sequence index when an AHB command error is detected. This field
  43932. * will be cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  43933. */
  43934. #define FLEXSPI_STS1_AHBCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRID_SHIFT)) & FLEXSPI_STS1_AHBCMDERRID_MASK)
  43935. #define FLEXSPI_STS1_AHBCMDERRCODE_MASK (0xF00U)
  43936. #define FLEXSPI_STS1_AHBCMDERRCODE_SHIFT (8U)
  43937. /*! AHBCMDERRCODE - Indicates the Error Code when AHB command Error detected. This field will be
  43938. * cleared when INTR[AHBCMDERR] is write-1-clear(w1c).
  43939. * 0b0000..No error.
  43940. * 0b0010..AHB Write command with JMP_ON_CS instruction used in the sequence.
  43941. * 0b0011..There is unknown instruction opcode in the sequence.
  43942. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  43943. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  43944. * 0b1110..Sequence execution timeout.
  43945. */
  43946. #define FLEXSPI_STS1_AHBCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_AHBCMDERRCODE_SHIFT)) & FLEXSPI_STS1_AHBCMDERRCODE_MASK)
  43947. #define FLEXSPI_STS1_IPCMDERRID_MASK (0xF0000U)
  43948. #define FLEXSPI_STS1_IPCMDERRID_SHIFT (16U)
  43949. /*! IPCMDERRID - Indicates the sequence Index when IP command error detected. This field will be
  43950. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  43951. */
  43952. #define FLEXSPI_STS1_IPCMDERRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRID_SHIFT)) & FLEXSPI_STS1_IPCMDERRID_MASK)
  43953. #define FLEXSPI_STS1_IPCMDERRCODE_MASK (0xF000000U)
  43954. #define FLEXSPI_STS1_IPCMDERRCODE_SHIFT (24U)
  43955. /*! IPCMDERRCODE - Indicates the Error Code when IP command Error detected. This field will be
  43956. * cleared when INTR[IPCMDERR] is write-1-clear(w1c).
  43957. * 0b0000..No error.
  43958. * 0b0010..IP command with JMP_ON_CS instruction used in the sequence.
  43959. * 0b0011..There is unknown instruction opcode in the sequence.
  43960. * 0b0100..Instruction DUMMY_SDR/DUMMY_RWDS_SDR used in DDR sequence.
  43961. * 0b0101..Instruction DUMMY_DDR/DUMMY_RWDS_DDR used in SDR sequence.
  43962. * 0b0110..Flash access start address exceed the whole flash address range (A1/A2/B1/B2).
  43963. * 0b1110..Sequence execution timeout.
  43964. * 0b1111..Flash boundary crossed.
  43965. */
  43966. #define FLEXSPI_STS1_IPCMDERRCODE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS1_IPCMDERRCODE_SHIFT)) & FLEXSPI_STS1_IPCMDERRCODE_MASK)
  43967. /*! @} */
  43968. /*! @name STS2 - Status Register 2 */
  43969. /*! @{ */
  43970. #define FLEXSPI_STS2_ASLVLOCK_MASK (0x1U)
  43971. #define FLEXSPI_STS2_ASLVLOCK_SHIFT (0U)
  43972. /*! ASLVLOCK - Flash A sample clock slave delay line locked.
  43973. */
  43974. #define FLEXSPI_STS2_ASLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVLOCK_SHIFT)) & FLEXSPI_STS2_ASLVLOCK_MASK)
  43975. #define FLEXSPI_STS2_AREFLOCK_MASK (0x2U)
  43976. #define FLEXSPI_STS2_AREFLOCK_SHIFT (1U)
  43977. /*! AREFLOCK - Flash A sample clock reference delay line locked.
  43978. */
  43979. #define FLEXSPI_STS2_AREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFLOCK_SHIFT)) & FLEXSPI_STS2_AREFLOCK_MASK)
  43980. #define FLEXSPI_STS2_ASLVSEL_MASK (0xFCU)
  43981. #define FLEXSPI_STS2_ASLVSEL_SHIFT (2U)
  43982. /*! ASLVSEL - Flash A sample clock slave delay line delay cell number selection .
  43983. */
  43984. #define FLEXSPI_STS2_ASLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_ASLVSEL_SHIFT)) & FLEXSPI_STS2_ASLVSEL_MASK)
  43985. #define FLEXSPI_STS2_AREFSEL_MASK (0x3F00U)
  43986. #define FLEXSPI_STS2_AREFSEL_SHIFT (8U)
  43987. /*! AREFSEL - Flash A sample clock reference delay line delay cell number selection.
  43988. */
  43989. #define FLEXSPI_STS2_AREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_AREFSEL_SHIFT)) & FLEXSPI_STS2_AREFSEL_MASK)
  43990. #define FLEXSPI_STS2_BSLVLOCK_MASK (0x10000U)
  43991. #define FLEXSPI_STS2_BSLVLOCK_SHIFT (16U)
  43992. /*! BSLVLOCK - Flash B sample clock slave delay line locked.
  43993. */
  43994. #define FLEXSPI_STS2_BSLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVLOCK_SHIFT)) & FLEXSPI_STS2_BSLVLOCK_MASK)
  43995. #define FLEXSPI_STS2_BREFLOCK_MASK (0x20000U)
  43996. #define FLEXSPI_STS2_BREFLOCK_SHIFT (17U)
  43997. /*! BREFLOCK - Flash B sample clock reference delay line locked.
  43998. */
  43999. #define FLEXSPI_STS2_BREFLOCK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFLOCK_SHIFT)) & FLEXSPI_STS2_BREFLOCK_MASK)
  44000. #define FLEXSPI_STS2_BSLVSEL_MASK (0xFC0000U)
  44001. #define FLEXSPI_STS2_BSLVSEL_SHIFT (18U)
  44002. /*! BSLVSEL - Flash B sample clock slave delay line delay cell number selection.
  44003. */
  44004. #define FLEXSPI_STS2_BSLVSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BSLVSEL_SHIFT)) & FLEXSPI_STS2_BSLVSEL_MASK)
  44005. #define FLEXSPI_STS2_BREFSEL_MASK (0x3F000000U)
  44006. #define FLEXSPI_STS2_BREFSEL_SHIFT (24U)
  44007. /*! BREFSEL - Flash B sample clock reference delay line delay cell number selection.
  44008. */
  44009. #define FLEXSPI_STS2_BREFSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_STS2_BREFSEL_SHIFT)) & FLEXSPI_STS2_BREFSEL_MASK)
  44010. /*! @} */
  44011. /*! @name AHBSPNDSTS - AHB Suspend Status Register */
  44012. /*! @{ */
  44013. #define FLEXSPI_AHBSPNDSTS_ACTIVE_MASK (0x1U)
  44014. #define FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT (0U)
  44015. /*! ACTIVE - Indicates if an AHB read prefetch command sequence has been suspended.
  44016. */
  44017. #define FLEXSPI_AHBSPNDSTS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_ACTIVE_SHIFT)) & FLEXSPI_AHBSPNDSTS_ACTIVE_MASK)
  44018. #define FLEXSPI_AHBSPNDSTS_BUFID_MASK (0xEU)
  44019. #define FLEXSPI_AHBSPNDSTS_BUFID_SHIFT (1U)
  44020. /*! BUFID - AHB RX BUF ID for suspended command sequence.
  44021. */
  44022. #define FLEXSPI_AHBSPNDSTS_BUFID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_BUFID_SHIFT)) & FLEXSPI_AHBSPNDSTS_BUFID_MASK)
  44023. #define FLEXSPI_AHBSPNDSTS_DATLFT_MASK (0xFFFF0000U)
  44024. #define FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT (16U)
  44025. /*! DATLFT - Left Data size for suspended command sequence (in byte).
  44026. */
  44027. #define FLEXSPI_AHBSPNDSTS_DATLFT(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBSPNDSTS_DATLFT_SHIFT)) & FLEXSPI_AHBSPNDSTS_DATLFT_MASK)
  44028. /*! @} */
  44029. /*! @name IPRXFSTS - IP RX FIFO Status Register */
  44030. /*! @{ */
  44031. #define FLEXSPI_IPRXFSTS_FILL_MASK (0xFFU)
  44032. #define FLEXSPI_IPRXFSTS_FILL_SHIFT (0U)
  44033. /*! FILL - Fill level of IP RX FIFO.
  44034. */
  44035. #define FLEXSPI_IPRXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_FILL_SHIFT)) & FLEXSPI_IPRXFSTS_FILL_MASK)
  44036. #define FLEXSPI_IPRXFSTS_RDCNTR_MASK (0xFFFF0000U)
  44037. #define FLEXSPI_IPRXFSTS_RDCNTR_SHIFT (16U)
  44038. /*! RDCNTR - Total Read Data Counter: RDCNTR * 64 Bits.
  44039. */
  44040. #define FLEXSPI_IPRXFSTS_RDCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPRXFSTS_RDCNTR_SHIFT)) & FLEXSPI_IPRXFSTS_RDCNTR_MASK)
  44041. /*! @} */
  44042. /*! @name IPTXFSTS - IP TX FIFO Status Register */
  44043. /*! @{ */
  44044. #define FLEXSPI_IPTXFSTS_FILL_MASK (0xFFU)
  44045. #define FLEXSPI_IPTXFSTS_FILL_SHIFT (0U)
  44046. /*! FILL - Fill level of IP TX FIFO.
  44047. */
  44048. #define FLEXSPI_IPTXFSTS_FILL(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_FILL_SHIFT)) & FLEXSPI_IPTXFSTS_FILL_MASK)
  44049. #define FLEXSPI_IPTXFSTS_WRCNTR_MASK (0xFFFF0000U)
  44050. #define FLEXSPI_IPTXFSTS_WRCNTR_SHIFT (16U)
  44051. /*! WRCNTR - Total Write Data Counter: WRCNTR * 64 Bits.
  44052. */
  44053. #define FLEXSPI_IPTXFSTS_WRCNTR(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPTXFSTS_WRCNTR_SHIFT)) & FLEXSPI_IPTXFSTS_WRCNTR_MASK)
  44054. /*! @} */
  44055. /*! @name RFDR - IP RX FIFO Data Register 0..IP RX FIFO Data Register 31 */
  44056. /*! @{ */
  44057. #define FLEXSPI_RFDR_RXDATA_MASK (0xFFFFFFFFU)
  44058. #define FLEXSPI_RFDR_RXDATA_SHIFT (0U)
  44059. /*! RXDATA - RX Data
  44060. */
  44061. #define FLEXSPI_RFDR_RXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_RFDR_RXDATA_SHIFT)) & FLEXSPI_RFDR_RXDATA_MASK)
  44062. /*! @} */
  44063. /* The count of FLEXSPI_RFDR */
  44064. #define FLEXSPI_RFDR_COUNT (32U)
  44065. /*! @name TFDR - IP TX FIFO Data Register 0..IP TX FIFO Data Register 31 */
  44066. /*! @{ */
  44067. #define FLEXSPI_TFDR_TXDATA_MASK (0xFFFFFFFFU)
  44068. #define FLEXSPI_TFDR_TXDATA_SHIFT (0U)
  44069. /*! TXDATA - TX Data
  44070. */
  44071. #define FLEXSPI_TFDR_TXDATA(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_TFDR_TXDATA_SHIFT)) & FLEXSPI_TFDR_TXDATA_MASK)
  44072. /*! @} */
  44073. /* The count of FLEXSPI_TFDR */
  44074. #define FLEXSPI_TFDR_COUNT (32U)
  44075. /*! @name LUT - LUT 0..LUT 63 */
  44076. /*! @{ */
  44077. #define FLEXSPI_LUT_OPERAND0_MASK (0xFFU)
  44078. #define FLEXSPI_LUT_OPERAND0_SHIFT (0U)
  44079. /*! OPERAND0 - OPERAND0
  44080. */
  44081. #define FLEXSPI_LUT_OPERAND0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND0_SHIFT)) & FLEXSPI_LUT_OPERAND0_MASK)
  44082. #define FLEXSPI_LUT_NUM_PADS0_MASK (0x300U)
  44083. #define FLEXSPI_LUT_NUM_PADS0_SHIFT (8U)
  44084. /*! NUM_PADS0 - NUM_PADS0
  44085. */
  44086. #define FLEXSPI_LUT_NUM_PADS0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS0_SHIFT)) & FLEXSPI_LUT_NUM_PADS0_MASK)
  44087. #define FLEXSPI_LUT_OPCODE0_MASK (0xFC00U)
  44088. #define FLEXSPI_LUT_OPCODE0_SHIFT (10U)
  44089. /*! OPCODE0 - OPCODE
  44090. */
  44091. #define FLEXSPI_LUT_OPCODE0(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE0_SHIFT)) & FLEXSPI_LUT_OPCODE0_MASK)
  44092. #define FLEXSPI_LUT_OPERAND1_MASK (0xFF0000U)
  44093. #define FLEXSPI_LUT_OPERAND1_SHIFT (16U)
  44094. /*! OPERAND1 - OPERAND1
  44095. */
  44096. #define FLEXSPI_LUT_OPERAND1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPERAND1_SHIFT)) & FLEXSPI_LUT_OPERAND1_MASK)
  44097. #define FLEXSPI_LUT_NUM_PADS1_MASK (0x3000000U)
  44098. #define FLEXSPI_LUT_NUM_PADS1_SHIFT (24U)
  44099. /*! NUM_PADS1 - NUM_PADS1
  44100. */
  44101. #define FLEXSPI_LUT_NUM_PADS1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_NUM_PADS1_SHIFT)) & FLEXSPI_LUT_NUM_PADS1_MASK)
  44102. #define FLEXSPI_LUT_OPCODE1_MASK (0xFC000000U)
  44103. #define FLEXSPI_LUT_OPCODE1_SHIFT (26U)
  44104. /*! OPCODE1 - OPCODE1
  44105. */
  44106. #define FLEXSPI_LUT_OPCODE1(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_LUT_OPCODE1_SHIFT)) & FLEXSPI_LUT_OPCODE1_MASK)
  44107. /*! @} */
  44108. /* The count of FLEXSPI_LUT */
  44109. #define FLEXSPI_LUT_COUNT (64U)
  44110. /*! @name HMSTRCR - AHB Master ID 0 Control Register..AHB Master ID 7 Control Register */
  44111. /*! @{ */
  44112. #define FLEXSPI_HMSTRCR_MASK_MASK (0xFFFFU)
  44113. #define FLEXSPI_HMSTRCR_MASK_SHIFT (0U)
  44114. /*! MASK - Mask bits for AHB master ID.
  44115. * 0b0000000000000000..Mask
  44116. * 0b0000000000000001..Unmask
  44117. */
  44118. #define FLEXSPI_HMSTRCR_MASK(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HMSTRCR_MASK_SHIFT)) & FLEXSPI_HMSTRCR_MASK_MASK)
  44119. #define FLEXSPI_HMSTRCR_MSTRID_MASK (0xFFFF0000U)
  44120. #define FLEXSPI_HMSTRCR_MSTRID_SHIFT (16U)
  44121. /*! MSTRID - This is expected Master ID.
  44122. */
  44123. #define FLEXSPI_HMSTRCR_MSTRID(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HMSTRCR_MSTRID_SHIFT)) & FLEXSPI_HMSTRCR_MSTRID_MASK)
  44124. /*! @} */
  44125. /* The count of FLEXSPI_HMSTRCR */
  44126. #define FLEXSPI_HMSTRCR_COUNT (8U)
  44127. /*! @name HADDRSTART - HADDR REMAP START ADDR */
  44128. /*! @{ */
  44129. #define FLEXSPI_HADDRSTART_REMAPEN_MASK (0x1U)
  44130. #define FLEXSPI_HADDRSTART_REMAPEN_SHIFT (0U)
  44131. /*! REMAPEN
  44132. * 0b0..HADDR REMAP Disabled
  44133. * 0b1..HADDR REMAP Enabled
  44134. */
  44135. #define FLEXSPI_HADDRSTART_REMAPEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_REMAPEN_SHIFT)) & FLEXSPI_HADDRSTART_REMAPEN_MASK)
  44136. #define FLEXSPI_HADDRSTART_KBINECC_MASK (0x2U)
  44137. #define FLEXSPI_HADDRSTART_KBINECC_SHIFT (1U)
  44138. /*! KBINECC
  44139. * 0b0..If key blob is in remap region, FlexSPI will fetch keyblob at base address + offset
  44140. * 0b1..If key blob is in remap region, FlexSPI will fetch keyblob at base address + offset*2
  44141. */
  44142. #define FLEXSPI_HADDRSTART_KBINECC(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_KBINECC_SHIFT)) & FLEXSPI_HADDRSTART_KBINECC_MASK)
  44143. #define FLEXSPI_HADDRSTART_ADDRSTART_MASK (0xFFFFF000U)
  44144. #define FLEXSPI_HADDRSTART_ADDRSTART_SHIFT (12U)
  44145. #define FLEXSPI_HADDRSTART_ADDRSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDRSTART_ADDRSTART_SHIFT)) & FLEXSPI_HADDRSTART_ADDRSTART_MASK)
  44146. /*! @} */
  44147. /*! @name HADDREND - HADDR REMAP END ADDR */
  44148. /*! @{ */
  44149. #define FLEXSPI_HADDREND_ENDSTART_MASK (0xFFFFF000U)
  44150. #define FLEXSPI_HADDREND_ENDSTART_SHIFT (12U)
  44151. #define FLEXSPI_HADDREND_ENDSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDREND_ENDSTART_SHIFT)) & FLEXSPI_HADDREND_ENDSTART_MASK)
  44152. /*! @} */
  44153. /*! @name HADDROFFSET - HADDR REMAP OFFSET */
  44154. /*! @{ */
  44155. #define FLEXSPI_HADDROFFSET_ADDROFFSET_MASK (0xFFFFF000U)
  44156. #define FLEXSPI_HADDROFFSET_ADDROFFSET_SHIFT (12U)
  44157. #define FLEXSPI_HADDROFFSET_ADDROFFSET(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_HADDROFFSET_ADDROFFSET_SHIFT)) & FLEXSPI_HADDROFFSET_ADDROFFSET_MASK)
  44158. /*! @} */
  44159. /*! @name IPSNSZSTART0 - IPS nonsecure region Start address of region 0 */
  44160. /*! @{ */
  44161. #define FLEXSPI_IPSNSZSTART0_start_address_MASK (0xFFFFF000U)
  44162. #define FLEXSPI_IPSNSZSTART0_start_address_SHIFT (12U)
  44163. /*! start_address - Start address of region 0. Minimal 4K Bytes aligned. It is flash address.
  44164. */
  44165. #define FLEXSPI_IPSNSZSTART0_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZSTART0_start_address_SHIFT)) & FLEXSPI_IPSNSZSTART0_start_address_MASK)
  44166. /*! @} */
  44167. /*! @name IPSNSZEND0 - IPS nonsecure region End address of region 0 */
  44168. /*! @{ */
  44169. #define FLEXSPI_IPSNSZEND0_end_address_MASK (0xFFFFF000U)
  44170. #define FLEXSPI_IPSNSZEND0_end_address_SHIFT (12U)
  44171. /*! end_address - End address of region 0. Minimal 4K Bytes aligned. It is flash address.
  44172. */
  44173. #define FLEXSPI_IPSNSZEND0_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZEND0_end_address_SHIFT)) & FLEXSPI_IPSNSZEND0_end_address_MASK)
  44174. /*! @} */
  44175. /*! @name IPSNSZSTART1 - IPS nonsecure region Start address of region 1 */
  44176. /*! @{ */
  44177. #define FLEXSPI_IPSNSZSTART1_start_address_MASK (0xFFFFF000U)
  44178. #define FLEXSPI_IPSNSZSTART1_start_address_SHIFT (12U)
  44179. /*! start_address - Start address of region 1. Minimal 4K Bytes aligned. It is flash address.
  44180. */
  44181. #define FLEXSPI_IPSNSZSTART1_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZSTART1_start_address_SHIFT)) & FLEXSPI_IPSNSZSTART1_start_address_MASK)
  44182. /*! @} */
  44183. /*! @name IPSNSZEND1 - IPS nonsecure region End address of region 1 */
  44184. /*! @{ */
  44185. #define FLEXSPI_IPSNSZEND1_end_address_MASK (0xFFFFF000U)
  44186. #define FLEXSPI_IPSNSZEND1_end_address_SHIFT (12U)
  44187. /*! end_address - End address of region 1. Minimal 4K Bytes aligned. It is flash address.
  44188. */
  44189. #define FLEXSPI_IPSNSZEND1_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_IPSNSZEND1_end_address_SHIFT)) & FLEXSPI_IPSNSZEND1_end_address_MASK)
  44190. /*! @} */
  44191. /*! @name AHBBUFREGIONSTART0 - RX BUF Start address of region 0 */
  44192. /*! @{ */
  44193. #define FLEXSPI_AHBBUFREGIONSTART0_start_address_MASK (0xFFFFF000U)
  44194. #define FLEXSPI_AHBBUFREGIONSTART0_start_address_SHIFT (12U)
  44195. /*! start_address - Start address of region 0. Minimal 4K Bytes aligned. It is system address.
  44196. */
  44197. #define FLEXSPI_AHBBUFREGIONSTART0_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART0_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART0_start_address_MASK)
  44198. /*! @} */
  44199. /*! @name AHBBUFREGIONEND0 - RX BUF region End address of region 0 */
  44200. /*! @{ */
  44201. #define FLEXSPI_AHBBUFREGIONEND0_end_address_MASK (0xFFFFF000U)
  44202. #define FLEXSPI_AHBBUFREGIONEND0_end_address_SHIFT (12U)
  44203. /*! end_address - End address of region 0. Minimal 4K Bytes aligned. It is system address.
  44204. */
  44205. #define FLEXSPI_AHBBUFREGIONEND0_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND0_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND0_end_address_MASK)
  44206. /*! @} */
  44207. /*! @name AHBBUFREGIONSTART1 - RX BUF Start address of region 1 */
  44208. /*! @{ */
  44209. #define FLEXSPI_AHBBUFREGIONSTART1_start_address_MASK (0xFFFFF000U)
  44210. #define FLEXSPI_AHBBUFREGIONSTART1_start_address_SHIFT (12U)
  44211. /*! start_address - Start address of region 1. Minimal 4K Bytes aligned. It is system address.
  44212. */
  44213. #define FLEXSPI_AHBBUFREGIONSTART1_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART1_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART1_start_address_MASK)
  44214. /*! @} */
  44215. /*! @name AHBBUFREGIONEND1 - RX BUF region End address of region 1 */
  44216. /*! @{ */
  44217. #define FLEXSPI_AHBBUFREGIONEND1_end_address_MASK (0xFFFFF000U)
  44218. #define FLEXSPI_AHBBUFREGIONEND1_end_address_SHIFT (12U)
  44219. /*! end_address - End address of region 1. Minimal 4K Bytes aligned. It is system address.
  44220. */
  44221. #define FLEXSPI_AHBBUFREGIONEND1_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND1_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND1_end_address_MASK)
  44222. /*! @} */
  44223. /*! @name AHBBUFREGIONSTART2 - RX BUF Start address of region 2 */
  44224. /*! @{ */
  44225. #define FLEXSPI_AHBBUFREGIONSTART2_start_address_MASK (0xFFFFF000U)
  44226. #define FLEXSPI_AHBBUFREGIONSTART2_start_address_SHIFT (12U)
  44227. /*! start_address - Start address of region 2. Minimal 4K Bytes aligned. It is system address.
  44228. */
  44229. #define FLEXSPI_AHBBUFREGIONSTART2_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART2_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART2_start_address_MASK)
  44230. /*! @} */
  44231. /*! @name AHBBUFREGIONEND2 - RX BUF region End address of region 2 */
  44232. /*! @{ */
  44233. #define FLEXSPI_AHBBUFREGIONEND2_end_address_MASK (0xFFFFF000U)
  44234. #define FLEXSPI_AHBBUFREGIONEND2_end_address_SHIFT (12U)
  44235. /*! end_address - End address of region 2. Minimal 4K Bytes aligned. It is system address.
  44236. */
  44237. #define FLEXSPI_AHBBUFREGIONEND2_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND2_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND2_end_address_MASK)
  44238. /*! @} */
  44239. /*! @name AHBBUFREGIONSTART3 - RX BUF Start address of region 3 */
  44240. /*! @{ */
  44241. #define FLEXSPI_AHBBUFREGIONSTART3_start_address_MASK (0xFFFFF000U)
  44242. #define FLEXSPI_AHBBUFREGIONSTART3_start_address_SHIFT (12U)
  44243. /*! start_address - Start address of region 3. Minimal 4K Bytes aligned. It is system address.
  44244. */
  44245. #define FLEXSPI_AHBBUFREGIONSTART3_start_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONSTART3_start_address_SHIFT)) & FLEXSPI_AHBBUFREGIONSTART3_start_address_MASK)
  44246. /*! @} */
  44247. /*! @name AHBBUFREGIONEND3 - RX BUF region End address of region 3 */
  44248. /*! @{ */
  44249. #define FLEXSPI_AHBBUFREGIONEND3_end_address_MASK (0xFFFFF000U)
  44250. #define FLEXSPI_AHBBUFREGIONEND3_end_address_SHIFT (12U)
  44251. /*! end_address - End address of region 3. Minimal 4K Bytes aligned. It is system address.
  44252. */
  44253. #define FLEXSPI_AHBBUFREGIONEND3_end_address(x) (((uint32_t)(((uint32_t)(x)) << FLEXSPI_AHBBUFREGIONEND3_end_address_SHIFT)) & FLEXSPI_AHBBUFREGIONEND3_end_address_MASK)
  44254. /*! @} */
  44255. /*!
  44256. * @}
  44257. */ /* end of group FLEXSPI_Register_Masks */
  44258. /* FLEXSPI - Peripheral instance base addresses */
  44259. /** Peripheral FLEXSPI1 base address */
  44260. #define FLEXSPI1_BASE (0x400CC000u)
  44261. /** Peripheral FLEXSPI1 base pointer */
  44262. #define FLEXSPI1 ((FLEXSPI_Type *)FLEXSPI1_BASE)
  44263. /** Peripheral FLEXSPI2 base address */
  44264. #define FLEXSPI2_BASE (0x400D0000u)
  44265. /** Peripheral FLEXSPI2 base pointer */
  44266. #define FLEXSPI2 ((FLEXSPI_Type *)FLEXSPI2_BASE)
  44267. /** Array initializer of FLEXSPI peripheral base addresses */
  44268. #define FLEXSPI_BASE_ADDRS { 0u, FLEXSPI1_BASE, FLEXSPI2_BASE }
  44269. /** Array initializer of FLEXSPI peripheral base pointers */
  44270. #define FLEXSPI_BASE_PTRS { (FLEXSPI_Type *)0u, FLEXSPI1, FLEXSPI2 }
  44271. /** Interrupt vectors for the FLEXSPI peripheral type */
  44272. #define FLEXSPI_IRQS { NotAvail_IRQn, FLEXSPI1_IRQn, FLEXSPI2_IRQn }
  44273. /* FlexSPI1 AMBA address. */
  44274. #define FlexSPI1_AMBA_BASE (0x30000000U)
  44275. /* FlexSPI1 ASFM address. */
  44276. #define FlexSPI1_ASFM_BASE (0x30000000U)
  44277. /* Base Address of AHB address space mapped to IP RX FIFO. */
  44278. #define FlexSPI1_ARDF_BASE (0x2FC00000U)
  44279. /* Base Address of AHB address space mapped to IP TX FIFO. */
  44280. #define FlexSPI1_ATDF_BASE (0x2F800000U)
  44281. /* FlexSPI1 alias base address. */
  44282. #define FlexSPI1_ALIAS_BASE (0x8000000U)
  44283. /* FlexSPI2 AMBA address. */
  44284. #define FlexSPI2_AMBA_BASE (0x60000000U)
  44285. /* FlexSPI ASFM address. */
  44286. #define FlexSPI2_ASFM_BASE (0x60000000U)
  44287. /* Base Address of AHB address space mapped to IP RX FIFO. */
  44288. #define FlexSPI2_ARDF_BASE (0x7FC00000U)
  44289. /* Base Address of AHB address space mapped to IP TX FIFO. */
  44290. #define FlexSPI2_ATDF_BASE (0x7F800000U)
  44291. /*!
  44292. * @}
  44293. */ /* end of group FLEXSPI_Peripheral_Access_Layer */
  44294. /* ----------------------------------------------------------------------------
  44295. -- GPC_CPU_MODE_CTRL Peripheral Access Layer
  44296. ---------------------------------------------------------------------------- */
  44297. /*!
  44298. * @addtogroup GPC_CPU_MODE_CTRL_Peripheral_Access_Layer GPC_CPU_MODE_CTRL Peripheral Access Layer
  44299. * @{
  44300. */
  44301. /** GPC_CPU_MODE_CTRL - Register Layout Typedef */
  44302. typedef struct {
  44303. uint8_t RESERVED_0[4];
  44304. __IO uint32_t CM_AUTHEN_CTRL; /**< CM Authentication Control, offset: 0x4 */
  44305. __IO uint32_t CM_INT_CTRL; /**< CM Interrupt Control, offset: 0x8 */
  44306. __IO uint32_t CM_MISC; /**< Miscellaneous, offset: 0xC */
  44307. __IO uint32_t CM_MODE_CTRL; /**< CPU mode control, offset: 0x10 */
  44308. __I uint32_t CM_MODE_STAT; /**< CM CPU mode Status, offset: 0x14 */
  44309. uint8_t RESERVED_1[232];
  44310. __IO uint32_t CM_IRQ_WAKEUP_MASK[8]; /**< CM IRQ0~31 wakeup mask..CM IRQ224~255 wakeup mask, array offset: 0x100, array step: 0x4 */
  44311. uint8_t RESERVED_2[32];
  44312. __IO uint32_t CM_NON_IRQ_WAKEUP_MASK; /**< CM non-irq wakeup mask, offset: 0x140 */
  44313. uint8_t RESERVED_3[12];
  44314. __I uint32_t CM_IRQ_WAKEUP_STAT[8]; /**< CM IRQ0~31 wakeup status..CM IRQ224~255 wakeup status, array offset: 0x150, array step: 0x4 */
  44315. uint8_t RESERVED_4[32];
  44316. __I uint32_t CM_NON_IRQ_WAKEUP_STAT; /**< CM non-irq wakeup status, offset: 0x190 */
  44317. uint8_t RESERVED_5[108];
  44318. __IO uint32_t CM_SLEEP_SSAR_CTRL; /**< CM sleep SSAR control, offset: 0x200 */
  44319. uint8_t RESERVED_6[4];
  44320. __IO uint32_t CM_SLEEP_LPCG_CTRL; /**< CM sleep LPCG control, offset: 0x208 */
  44321. uint8_t RESERVED_7[4];
  44322. __IO uint32_t CM_SLEEP_PLL_CTRL; /**< CM sleep PLL control, offset: 0x210 */
  44323. uint8_t RESERVED_8[4];
  44324. __IO uint32_t CM_SLEEP_ISO_CTRL; /**< CM sleep isolation control, offset: 0x218 */
  44325. uint8_t RESERVED_9[4];
  44326. __IO uint32_t CM_SLEEP_RESET_CTRL; /**< CM sleep reset control, offset: 0x220 */
  44327. uint8_t RESERVED_10[4];
  44328. __IO uint32_t CM_SLEEP_POWER_CTRL; /**< CM sleep power control, offset: 0x228 */
  44329. uint8_t RESERVED_11[100];
  44330. __IO uint32_t CM_WAKEUP_POWER_CTRL; /**< CM wakeup power control, offset: 0x290 */
  44331. uint8_t RESERVED_12[4];
  44332. __IO uint32_t CM_WAKEUP_RESET_CTRL; /**< CM wakeup reset control, offset: 0x298 */
  44333. uint8_t RESERVED_13[4];
  44334. __IO uint32_t CM_WAKEUP_ISO_CTRL; /**< CM wakeup isolation control, offset: 0x2A0 */
  44335. uint8_t RESERVED_14[4];
  44336. __IO uint32_t CM_WAKEUP_PLL_CTRL; /**< CM wakeup PLL control, offset: 0x2A8 */
  44337. uint8_t RESERVED_15[4];
  44338. __IO uint32_t CM_WAKEUP_LPCG_CTRL; /**< CM wakeup LPCG control, offset: 0x2B0 */
  44339. uint8_t RESERVED_16[4];
  44340. __IO uint32_t CM_WAKEUP_SSAR_CTRL; /**< CM wakeup SSAR control, offset: 0x2B8 */
  44341. uint8_t RESERVED_17[68];
  44342. __IO uint32_t CM_SP_CTRL; /**< CM Setpoint Control, offset: 0x300 */
  44343. __I uint32_t CM_SP_STAT; /**< CM Setpoint Status, offset: 0x304 */
  44344. uint8_t RESERVED_18[8];
  44345. __IO uint32_t CM_RUN_MODE_MAPPING; /**< CM Run Mode Setpoint Allowed, offset: 0x310 */
  44346. __IO uint32_t CM_WAIT_MODE_MAPPING; /**< CM Wait Mode Setpoint Allowed, offset: 0x314 */
  44347. __IO uint32_t CM_STOP_MODE_MAPPING; /**< CM Stop Mode Setpoint Allowed, offset: 0x318 */
  44348. __IO uint32_t CM_SUSPEND_MODE_MAPPING; /**< CM Suspend Mode Setpoint Allowed, offset: 0x31C */
  44349. __IO uint32_t CM_SP_MAPPING[16]; /**< CM Setpoint 0 Mapping..CM Setpoint 15 Mapping, array offset: 0x320, array step: 0x4 */
  44350. uint8_t RESERVED_19[32];
  44351. __IO uint32_t CM_STBY_CTRL; /**< CM standby control, offset: 0x380 */
  44352. } GPC_CPU_MODE_CTRL_Type;
  44353. /* ----------------------------------------------------------------------------
  44354. -- GPC_CPU_MODE_CTRL Register Masks
  44355. ---------------------------------------------------------------------------- */
  44356. /*!
  44357. * @addtogroup GPC_CPU_MODE_CTRL_Register_Masks GPC_CPU_MODE_CTRL Register Masks
  44358. * @{
  44359. */
  44360. /*! @name CM_AUTHEN_CTRL - CM Authentication Control */
  44361. /*! @{ */
  44362. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_MASK (0x1U)
  44363. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_SHIFT (0U)
  44364. /*! USER - Allow user mode access
  44365. * 0b0..Allow only privilege mode to access CPU mode control registers
  44366. * 0b1..Allow both privilege and user mode to access CPU mode control registers
  44367. */
  44368. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_USER_MASK)
  44369. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  44370. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  44371. /*! NONSECURE - Allow non-secure mode access
  44372. * 0b0..Allow only secure mode to access CPU mode control registers
  44373. * 0b1..Allow both secure and non-secure mode to access CPU mode control registers
  44374. */
  44375. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_NONSECURE_MASK)
  44376. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  44377. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  44378. /*! LOCK_SETTING - Lock NONSECURE and USER
  44379. */
  44380. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_SETTING_MASK)
  44381. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  44382. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  44383. /*! WHITE_LIST - Domain ID white list
  44384. */
  44385. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_WHITE_LIST_MASK)
  44386. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  44387. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  44388. /*! LOCK_LIST - White list lock
  44389. */
  44390. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_LIST_MASK)
  44391. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  44392. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  44393. /*! LOCK_CFG - Configuration lock
  44394. */
  44395. #define GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & GPC_CPU_MODE_CTRL_CM_AUTHEN_CTRL_LOCK_CFG_MASK)
  44396. /*! @} */
  44397. /*! @name CM_INT_CTRL - CM Interrupt Control */
  44398. /*! @{ */
  44399. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_MASK (0x1U)
  44400. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_SHIFT (0U)
  44401. /*! SP_REQ_NOT_ALLOWED_SLEEP_INT_EN - sp_req_not_allowed_for_sleep interrupt enable
  44402. * 0b0..Interrupt disable
  44403. * 0b1..Interrupt enable
  44404. */
  44405. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_EN_MASK)
  44406. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_MASK (0x2U)
  44407. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_SHIFT (1U)
  44408. /*! SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN - sp_req_not_allowed_for_wakeup interrupt enable
  44409. * 0b0..Interrupt disable
  44410. * 0b1..Interrupt enable
  44411. */
  44412. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_EN_MASK)
  44413. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_MASK (0x4U)
  44414. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_SHIFT (2U)
  44415. /*! SP_REQ_NOT_ALLOWED_SOFT_INT_EN - sp_req_not_allowed_for_soft interrupt enable
  44416. * 0b0..Interrupt disable
  44417. * 0b1..Interrupt enable
  44418. */
  44419. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_EN_MASK)
  44420. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_MASK (0x10000U)
  44421. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_SHIFT (16U)
  44422. /*! SP_REQ_NOT_ALLOWED_SLEEP_INT - sp_req_not_allowed_for_sleep interrupt status and clear register
  44423. */
  44424. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SLEEP_INT_MASK)
  44425. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_MASK (0x20000U)
  44426. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_SHIFT (17U)
  44427. /*! SP_REQ_NOT_ALLOWED_WAKEUP_INT - sp_req_not_allowed_for_wakeup interrupt status and clear register
  44428. */
  44429. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_WAKEUP_INT_MASK)
  44430. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_MASK (0x40000U)
  44431. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_SHIFT (18U)
  44432. /*! SP_REQ_NOT_ALLOWED_SOFT_INT - sp_req_not_allowed_for_soft interrupt status and clear register
  44433. */
  44434. #define GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_INT_CTRL_SP_REQ_NOT_ALLOWED_SOFT_INT_MASK)
  44435. /*! @} */
  44436. /*! @name CM_MISC - Miscellaneous */
  44437. /*! @{ */
  44438. #define GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_MASK (0x1U)
  44439. #define GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_SHIFT (0U)
  44440. /*! NMI_STAT - Non-masked interrupt status
  44441. * 0b0..NMI is not asserting
  44442. * 0b1..NMI is asserting
  44443. */
  44444. #define GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MISC_NMI_STAT_MASK)
  44445. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_MASK (0x2U)
  44446. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_SHIFT (1U)
  44447. /*! SLEEP_HOLD_EN - Allow cpu_sleep_hold_req assert during CPU low power status
  44448. * 0b0..Disable cpu_sleep_hold_req
  44449. * 0b1..Allow cpu_sleep_hold_req assert during CPU low power status
  44450. */
  44451. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_EN_MASK)
  44452. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_MASK (0x4U)
  44453. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_SHIFT (2U)
  44454. /*! SLEEP_HOLD_STAT - Status of cpu_sleep_hold_ack_b
  44455. */
  44456. #define GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MISC_SLEEP_HOLD_STAT_MASK)
  44457. #define GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_MASK (0x10U)
  44458. #define GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_SHIFT (4U)
  44459. /*! MASTER_CPU - Master CPU
  44460. */
  44461. #define GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MISC_MASTER_CPU_MASK)
  44462. /*! @} */
  44463. /*! @name CM_MODE_CTRL - CPU mode control */
  44464. /*! @{ */
  44465. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_MASK (0x3U)
  44466. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_SHIFT (0U)
  44467. /*! CPU_MODE_TARGET - The CPU mode the CPU platform should transit to on next sleep event
  44468. * 0b00..Stay in RUN mode
  44469. * 0b01..Transit to WAIT mode
  44470. * 0b10..Transit to STOP mode
  44471. * 0b11..Transit to SUSPEND mode
  44472. */
  44473. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MODE_CTRL_CPU_MODE_TARGET_MASK)
  44474. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_MASK (0x10U)
  44475. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_SHIFT (4U)
  44476. /*! WFE_EN - WFE assertion can be sleep event
  44477. * 0b0..WFE assertion can not trigger low power
  44478. * 0b1..WFE assertion can trigger low power
  44479. */
  44480. #define GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MODE_CTRL_WFE_EN_MASK)
  44481. /*! @} */
  44482. /*! @name CM_MODE_STAT - CM CPU mode Status */
  44483. /*! @{ */
  44484. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_MASK (0x3U)
  44485. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_SHIFT (0U)
  44486. /*! CPU_MODE_CURRENT - Current CPU mode
  44487. * 0b00..CPU is currently in RUN mode
  44488. * 0b01..CPU is currently in WAIT mode
  44489. * 0b10..CPU is currently in STOP mode
  44490. * 0b11..CPU is currently in SUSPEND mode
  44491. */
  44492. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_CURRENT_MASK)
  44493. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_MASK (0xCU)
  44494. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_SHIFT (2U)
  44495. /*! CPU_MODE_PREVIOUS - Previous CPU mode
  44496. * 0b00..CPU was previously in RUN mode
  44497. * 0b01..CPU was previously in WAIT mode
  44498. * 0b10..CPU was previously in STOP mode
  44499. * 0b11..CPU was previously in SUSPEND mode
  44500. */
  44501. #define GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_SHIFT)) & GPC_CPU_MODE_CTRL_CM_MODE_STAT_CPU_MODE_PREVIOUS_MASK)
  44502. /*! @} */
  44503. /*! @name CM_IRQ_WAKEUP_MASK - CM IRQ0~31 wakeup mask..CM IRQ224~255 wakeup mask */
  44504. /*! @{ */
  44505. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_MASK (0xFFFFFFFFU)
  44506. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_SHIFT (0U)
  44507. /*! IRQ_WAKEUP_MASK_0_31 - "1" means the IRQ cannot wakeup CPU platform
  44508. */
  44509. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_0_31_MASK)
  44510. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_MASK (0xFFFFFFFFU)
  44511. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_SHIFT (0U)
  44512. /*! IRQ_WAKEUP_MASK_32_63 - "1" means the IRQ cannot wakeup CPU platform
  44513. */
  44514. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_32_63_MASK)
  44515. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_MASK (0xFFFFFFFFU)
  44516. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_SHIFT (0U)
  44517. /*! IRQ_WAKEUP_MASK_64_95 - "1" means the IRQ cannot wakeup CPU platform
  44518. */
  44519. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_64_95_MASK)
  44520. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_MASK (0xFFFFFFFFU)
  44521. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_SHIFT (0U)
  44522. /*! IRQ_WAKEUP_MASK_96_127 - "1" means the IRQ cannot wakeup CPU platform
  44523. */
  44524. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_96_127_MASK)
  44525. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_MASK (0xFFFFFFFFU)
  44526. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_SHIFT (0U)
  44527. /*! IRQ_WAKEUP_MASK_128_159 - "1" means the IRQ cannot wakeup CPU platform
  44528. */
  44529. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_128_159_MASK)
  44530. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_MASK (0xFFFFFFFFU)
  44531. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_SHIFT (0U)
  44532. /*! IRQ_WAKEUP_MASK_160_191 - "1" means the IRQ cannot wakeup CPU platform
  44533. */
  44534. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_160_191_MASK)
  44535. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_MASK (0xFFFFFFFFU)
  44536. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_SHIFT (0U)
  44537. /*! IRQ_WAKEUP_MASK_192_223 - "1" means the IRQ cannot wakeup CPU platform
  44538. */
  44539. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_192_223_MASK)
  44540. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU)
  44541. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_SHIFT (0U)
  44542. /*! IRQ_WAKEUP_MASK_224_255 - "1" means the IRQ cannot wakeup CPU platform
  44543. */
  44544. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_IRQ_WAKEUP_MASK_224_255_MASK)
  44545. /*! @} */
  44546. /* The count of GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK */
  44547. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_MASK_COUNT (8U)
  44548. /*! @name CM_NON_IRQ_WAKEUP_MASK - CM non-irq wakeup mask */
  44549. /*! @{ */
  44550. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_MASK (0x1U)
  44551. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_SHIFT (0U)
  44552. /*! EVENT_WAKEUP_MASK - There are 256 interrupts and 1 event as a wakeup source for GPC. This field masks the 1 event wakeup source.
  44553. * 0b1..The event cannot wakeup CPU platform
  44554. */
  44555. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_SHIFT)) & GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_EVENT_WAKEUP_MASK_MASK)
  44556. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_MASK (0x2U)
  44557. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_SHIFT (1U)
  44558. /*! DEBUG_WAKEUP_MASK - "1" means the debug_wakeup_request cannot wakeup CPU platform
  44559. */
  44560. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_SHIFT)) & GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_MASK_DEBUG_WAKEUP_MASK_MASK)
  44561. /*! @} */
  44562. /*! @name CM_IRQ_WAKEUP_STAT - CM IRQ0~31 wakeup status..CM IRQ224~255 wakeup status */
  44563. /*! @{ */
  44564. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_MASK (0xFFFFFFFFU)
  44565. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_SHIFT (0U)
  44566. /*! IRQ_WAKEUP_MASK_224_255 - IRQ status
  44567. * 0b00000000000000000000000000000000..None
  44568. * 0b00000000000000000000000000000001..Valid
  44569. */
  44570. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_MASK_224_255_MASK)
  44571. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_MASK (0xFFFFFFFFU)
  44572. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_SHIFT (0U)
  44573. /*! IRQ_WAKEUP_STAT_0_31 - IRQ status
  44574. * 0b00000000000000000000000000000000..None
  44575. * 0b00000000000000000000000000000001..Valid
  44576. */
  44577. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_0_31_MASK)
  44578. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_MASK (0xFFFFFFFFU)
  44579. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_SHIFT (0U)
  44580. /*! IRQ_WAKEUP_STAT_32_63 - IRQ status
  44581. * 0b00000000000000000000000000000000..None
  44582. * 0b00000000000000000000000000000001..Valid
  44583. */
  44584. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_32_63_MASK)
  44585. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_MASK (0xFFFFFFFFU)
  44586. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_SHIFT (0U)
  44587. /*! IRQ_WAKEUP_STAT_64_95 - IRQ status
  44588. * 0b00000000000000000000000000000000..None
  44589. * 0b00000000000000000000000000000001..Valid
  44590. */
  44591. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_64_95_MASK)
  44592. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_MASK (0xFFFFFFFFU)
  44593. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_SHIFT (0U)
  44594. /*! IRQ_WAKEUP_STAT_96_127 - IRQ status
  44595. * 0b00000000000000000000000000000000..None
  44596. * 0b00000000000000000000000000000001..Valid
  44597. */
  44598. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_96_127_MASK)
  44599. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_MASK (0xFFFFFFFFU)
  44600. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_SHIFT (0U)
  44601. /*! IRQ_WAKEUP_STAT_128_159 - IRQ status
  44602. * 0b00000000000000000000000000000000..None
  44603. * 0b00000000000000000000000000000001..Valid
  44604. */
  44605. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_128_159_MASK)
  44606. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_MASK (0xFFFFFFFFU)
  44607. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_SHIFT (0U)
  44608. /*! IRQ_WAKEUP_STAT_160_191 - IRQ status
  44609. * 0b00000000000000000000000000000000..None
  44610. * 0b00000000000000000000000000000001..Valid
  44611. */
  44612. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_160_191_MASK)
  44613. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_MASK (0xFFFFFFFFU)
  44614. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_SHIFT (0U)
  44615. /*! IRQ_WAKEUP_STAT_192_223 - IRQ status
  44616. * 0b00000000000000000000000000000000..None
  44617. * 0b00000000000000000000000000000001..Valid
  44618. */
  44619. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_SHIFT)) & GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_IRQ_WAKEUP_STAT_192_223_MASK)
  44620. /*! @} */
  44621. /* The count of GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT */
  44622. #define GPC_CPU_MODE_CTRL_CM_IRQ_WAKEUP_STAT_COUNT (8U)
  44623. /*! @name CM_NON_IRQ_WAKEUP_STAT - CM non-irq wakeup status */
  44624. /*! @{ */
  44625. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_MASK (0x1U)
  44626. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_SHIFT (0U)
  44627. /*! EVENT_WAKEUP_STAT - Event wakeup status
  44628. * 0b1..Interrupt is asserting (pending)
  44629. */
  44630. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_EVENT_WAKEUP_STAT_MASK)
  44631. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_MASK (0x2U)
  44632. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_SHIFT (1U)
  44633. /*! DEBUG_WAKEUP_STAT - Debug wakeup status
  44634. */
  44635. #define GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_NON_IRQ_WAKEUP_STAT_DEBUG_WAKEUP_STAT_MASK)
  44636. /*! @} */
  44637. /*! @name CM_SLEEP_SSAR_CTRL - CM sleep SSAR control */
  44638. /*! @{ */
  44639. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFU)
  44640. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_SHIFT (0U)
  44641. /*! STEP_CNT - Step count, useage is depending on CNT_MODE.
  44642. */
  44643. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_STEP_CNT_MASK)
  44644. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U)
  44645. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_SHIFT (28U)
  44646. /*! CNT_MODE - Count mode
  44647. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44648. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44649. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44650. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44651. */
  44652. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_CNT_MODE_MASK)
  44653. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_MASK (0x80000000U)
  44654. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_SHIFT (31U)
  44655. /*! DISABLE - Disable this step
  44656. */
  44657. #define GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_SSAR_CTRL_DISABLE_MASK)
  44658. /*! @} */
  44659. /*! @name CM_SLEEP_LPCG_CTRL - CM sleep LPCG control */
  44660. /*! @{ */
  44661. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFU)
  44662. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_SHIFT (0U)
  44663. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44664. */
  44665. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_STEP_CNT_MASK)
  44666. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U)
  44667. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_SHIFT (28U)
  44668. /*! CNT_MODE - Count mode
  44669. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44670. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44671. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44672. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44673. */
  44674. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_CNT_MODE_MASK)
  44675. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_MASK (0x80000000U)
  44676. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_SHIFT (31U)
  44677. /*! DISABLE - Disable this step
  44678. */
  44679. #define GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_LPCG_CTRL_DISABLE_MASK)
  44680. /*! @} */
  44681. /*! @name CM_SLEEP_PLL_CTRL - CM sleep PLL control */
  44682. /*! @{ */
  44683. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_MASK (0xFFFFU)
  44684. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_SHIFT (0U)
  44685. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44686. */
  44687. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_STEP_CNT_MASK)
  44688. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_MASK (0x30000000U)
  44689. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_SHIFT (28U)
  44690. /*! CNT_MODE - Count mode
  44691. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44692. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44693. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44694. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44695. */
  44696. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_CNT_MODE_MASK)
  44697. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_MASK (0x80000000U)
  44698. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_SHIFT (31U)
  44699. /*! DISABLE - Disable this step
  44700. */
  44701. #define GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_PLL_CTRL_DISABLE_MASK)
  44702. /*! @} */
  44703. /*! @name CM_SLEEP_ISO_CTRL - CM sleep isolation control */
  44704. /*! @{ */
  44705. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_MASK (0xFFFFU)
  44706. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_SHIFT (0U)
  44707. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44708. */
  44709. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_STEP_CNT_MASK)
  44710. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_MASK (0x30000000U)
  44711. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_SHIFT (28U)
  44712. /*! CNT_MODE - Count mode
  44713. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44714. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44715. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44716. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44717. */
  44718. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_CNT_MODE_MASK)
  44719. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_MASK (0x80000000U)
  44720. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_SHIFT (31U)
  44721. /*! DISABLE - Disable this step
  44722. */
  44723. #define GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_ISO_CTRL_DISABLE_MASK)
  44724. /*! @} */
  44725. /*! @name CM_SLEEP_RESET_CTRL - CM sleep reset control */
  44726. /*! @{ */
  44727. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_MASK (0xFFFFU)
  44728. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_SHIFT (0U)
  44729. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44730. */
  44731. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_STEP_CNT_MASK)
  44732. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_MASK (0x30000000U)
  44733. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_SHIFT (28U)
  44734. /*! CNT_MODE - Count mode
  44735. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44736. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44737. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44738. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44739. */
  44740. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_CNT_MODE_MASK)
  44741. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_MASK (0x80000000U)
  44742. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_SHIFT (31U)
  44743. /*! DISABLE - Disable this step
  44744. */
  44745. #define GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_RESET_CTRL_DISABLE_MASK)
  44746. /*! @} */
  44747. /*! @name CM_SLEEP_POWER_CTRL - CM sleep power control */
  44748. /*! @{ */
  44749. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_MASK (0xFFFFU)
  44750. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_SHIFT (0U)
  44751. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44752. */
  44753. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_STEP_CNT_MASK)
  44754. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_MASK (0x30000000U)
  44755. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_SHIFT (28U)
  44756. /*! CNT_MODE - Count mode
  44757. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44758. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44759. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44760. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44761. */
  44762. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_CNT_MODE_MASK)
  44763. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_MASK (0x80000000U)
  44764. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_SHIFT (31U)
  44765. /*! DISABLE - Disable this step
  44766. */
  44767. #define GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SLEEP_POWER_CTRL_DISABLE_MASK)
  44768. /*! @} */
  44769. /*! @name CM_WAKEUP_POWER_CTRL - CM wakeup power control */
  44770. /*! @{ */
  44771. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_MASK (0xFFFFU)
  44772. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_SHIFT (0U)
  44773. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44774. */
  44775. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_STEP_CNT_MASK)
  44776. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_MASK (0x30000000U)
  44777. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_SHIFT (28U)
  44778. /*! CNT_MODE - Count mode
  44779. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44780. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44781. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44782. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44783. */
  44784. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_CNT_MODE_MASK)
  44785. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_MASK (0x80000000U)
  44786. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_SHIFT (31U)
  44787. /*! DISABLE - Disable this step
  44788. */
  44789. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_POWER_CTRL_DISABLE_MASK)
  44790. /*! @} */
  44791. /*! @name CM_WAKEUP_RESET_CTRL - CM wakeup reset control */
  44792. /*! @{ */
  44793. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_MASK (0xFFFFU)
  44794. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_SHIFT (0U)
  44795. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44796. */
  44797. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_STEP_CNT_MASK)
  44798. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_MASK (0x30000000U)
  44799. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_SHIFT (28U)
  44800. /*! CNT_MODE - Count mode
  44801. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44802. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44803. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44804. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44805. */
  44806. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_CNT_MODE_MASK)
  44807. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_MASK (0x80000000U)
  44808. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_SHIFT (31U)
  44809. /*! DISABLE - Disable this step
  44810. */
  44811. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_RESET_CTRL_DISABLE_MASK)
  44812. /*! @} */
  44813. /*! @name CM_WAKEUP_ISO_CTRL - CM wakeup isolation control */
  44814. /*! @{ */
  44815. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_MASK (0xFFFFU)
  44816. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_SHIFT (0U)
  44817. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44818. */
  44819. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_STEP_CNT_MASK)
  44820. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_MASK (0x30000000U)
  44821. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_SHIFT (28U)
  44822. /*! CNT_MODE - Count mode
  44823. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44824. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44825. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44826. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44827. */
  44828. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_CNT_MODE_MASK)
  44829. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_MASK (0x80000000U)
  44830. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_SHIFT (31U)
  44831. /*! DISABLE - Disable this step
  44832. */
  44833. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_ISO_CTRL_DISABLE_MASK)
  44834. /*! @} */
  44835. /*! @name CM_WAKEUP_PLL_CTRL - CM wakeup PLL control */
  44836. /*! @{ */
  44837. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_MASK (0xFFFFU)
  44838. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_SHIFT (0U)
  44839. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44840. */
  44841. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_STEP_CNT_MASK)
  44842. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_MASK (0x30000000U)
  44843. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_SHIFT (28U)
  44844. /*! CNT_MODE - Count mode
  44845. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44846. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44847. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44848. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44849. */
  44850. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_CNT_MODE_MASK)
  44851. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_MASK (0x80000000U)
  44852. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_SHIFT (31U)
  44853. /*! DISABLE - Disable this step
  44854. */
  44855. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_PLL_CTRL_DISABLE_MASK)
  44856. /*! @} */
  44857. /*! @name CM_WAKEUP_LPCG_CTRL - CM wakeup LPCG control */
  44858. /*! @{ */
  44859. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_MASK (0xFFFFU)
  44860. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_SHIFT (0U)
  44861. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44862. */
  44863. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_STEP_CNT_MASK)
  44864. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_MASK (0x30000000U)
  44865. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_SHIFT (28U)
  44866. /*! CNT_MODE - Count mode
  44867. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44868. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44869. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44870. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44871. */
  44872. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_CNT_MODE_MASK)
  44873. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_MASK (0x80000000U)
  44874. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_SHIFT (31U)
  44875. /*! DISABLE - Disable this step
  44876. */
  44877. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_LPCG_CTRL_DISABLE_MASK)
  44878. /*! @} */
  44879. /*! @name CM_WAKEUP_SSAR_CTRL - CM wakeup SSAR control */
  44880. /*! @{ */
  44881. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_MASK (0xFFFFU)
  44882. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_SHIFT (0U)
  44883. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  44884. */
  44885. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_STEP_CNT_MASK)
  44886. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_MASK (0x30000000U)
  44887. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_SHIFT (28U)
  44888. /*! CNT_MODE - Count mode
  44889. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  44890. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  44891. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  44892. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  44893. */
  44894. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_CNT_MODE_MASK)
  44895. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_MASK (0x80000000U)
  44896. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_SHIFT (31U)
  44897. /*! DISABLE - Disable this step
  44898. */
  44899. #define GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAKEUP_SSAR_CTRL_DISABLE_MASK)
  44900. /*! @} */
  44901. /*! @name CM_SP_CTRL - CM Setpoint Control */
  44902. /*! @{ */
  44903. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_MASK (0x1U)
  44904. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_SHIFT (0U)
  44905. /*! CPU_SP_RUN_EN - Request a Setpoint transition when this bit is set
  44906. */
  44907. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_EN_MASK)
  44908. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_MASK (0x1EU)
  44909. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_SHIFT (1U)
  44910. /*! CPU_SP_RUN - The Setpoint that CPU want the system to transit to when CPU_SP_RUN_EN is set
  44911. */
  44912. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_RUN_MASK)
  44913. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_MASK (0x20U)
  44914. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_SHIFT (5U)
  44915. /*! CPU_SP_SLEEP_EN - 1 means enable Setpoint transition on next CPU platform sleep sequence
  44916. */
  44917. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_EN_MASK)
  44918. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_MASK (0x3C0U)
  44919. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_SHIFT (6U)
  44920. /*! CPU_SP_SLEEP - The Setpoint that CPU want the system to transit to on next CPU platform sleep sequence
  44921. */
  44922. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_SLEEP_MASK)
  44923. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_MASK (0x400U)
  44924. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_SHIFT (10U)
  44925. /*! CPU_SP_WAKEUP_EN - 1 means enable Setpoint transition on next CPU platform wakeup sequence
  44926. */
  44927. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_EN_MASK)
  44928. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_MASK (0x7800U)
  44929. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SHIFT (11U)
  44930. /*! CPU_SP_WAKEUP - The Setpoint that CPU want the system to transit to on next CPU platform wakeup sequence
  44931. */
  44932. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_MASK)
  44933. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_MASK (0x8000U)
  44934. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_SHIFT (15U)
  44935. /*! CPU_SP_WAKEUP_SEL - Select the Setpoint transiton on the next CPU platform wakeup sequence
  44936. * 0b0..Request SP transition to CPU_SP_WAKEUP
  44937. * 0b1..Request SP transition to the Setpoint when the sleep event happens, which is captured in CPU_SP_PREVIOUS
  44938. */
  44939. #define GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_CTRL_CPU_SP_WAKEUP_SEL_MASK)
  44940. /*! @} */
  44941. /*! @name CM_SP_STAT - CM Setpoint Status */
  44942. /*! @{ */
  44943. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_MASK (0xFU)
  44944. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_SHIFT (0U)
  44945. /*! CPU_SP_CURRENT - The current Setpoint of the system
  44946. */
  44947. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_CURRENT_MASK)
  44948. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_MASK (0xF0U)
  44949. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_SHIFT (4U)
  44950. /*! CPU_SP_PREVIOUS - The previous Setpoint of the system
  44951. */
  44952. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_PREVIOUS_MASK)
  44953. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_MASK (0xF00U)
  44954. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_SHIFT (8U)
  44955. /*! CPU_SP_TARGET - The requested Setpoint from the CPU platform
  44956. */
  44957. #define GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_STAT_CPU_SP_TARGET_MASK)
  44958. /*! @} */
  44959. /*! @name CM_RUN_MODE_MAPPING - CM Run Mode Setpoint Allowed */
  44960. /*! @{ */
  44961. #define GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_MASK (0xFFFFU)
  44962. #define GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_SHIFT (0U)
  44963. /*! CPU_RUN_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters RUN mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG field
  44964. */
  44965. #define GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_RUN_MODE_MAPPING_CPU_RUN_MODE_MAPPING_MASK)
  44966. /*! @} */
  44967. /*! @name CM_WAIT_MODE_MAPPING - CM Wait Mode Setpoint Allowed */
  44968. /*! @{ */
  44969. #define GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_MASK (0xFFFFU)
  44970. #define GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_SHIFT (0U)
  44971. /*! CPU_WAIT_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters WAIT mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44972. */
  44973. #define GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_WAIT_MODE_MAPPING_CPU_WAIT_MODE_MAPPING_MASK)
  44974. /*! @} */
  44975. /*! @name CM_STOP_MODE_MAPPING - CM Stop Mode Setpoint Allowed */
  44976. /*! @{ */
  44977. #define GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_MASK (0xFFFFU)
  44978. #define GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_SHIFT (0U)
  44979. /*! CPU_STOP_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters STOP mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44980. */
  44981. #define GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STOP_MODE_MAPPING_CPU_STOP_MODE_MAPPING_MASK)
  44982. /*! @} */
  44983. /*! @name CM_SUSPEND_MODE_MAPPING - CM Suspend Mode Setpoint Allowed */
  44984. /*! @{ */
  44985. #define GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_MASK (0xFFFFU)
  44986. #define GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_SHIFT (0U)
  44987. /*! CPU_SUSPEND_MODE_MAPPING - Defines which Setpoint is allowed when CPU enters SUSPEND mode. Each bit stands for 1 Setpoint, locked by LOCK_CFG
  44988. */
  44989. #define GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SUSPEND_MODE_MAPPING_CPU_SUSPEND_MODE_MAPPING_MASK)
  44990. /*! @} */
  44991. /*! @name CM_SP_MAPPING - CM Setpoint 0 Mapping..CM Setpoint 15 Mapping */
  44992. /*! @{ */
  44993. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_MASK (0xFFFFU)
  44994. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_SHIFT (0U)
  44995. /*! CPU_SP0_MAPPING - Defines when SP0 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  44996. */
  44997. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP0_MAPPING_MASK)
  44998. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_MASK (0xFFFFU)
  44999. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_SHIFT (0U)
  45000. /*! CPU_SP1_MAPPING - Defines when SP1 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45001. */
  45002. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP1_MAPPING_MASK)
  45003. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_MASK (0xFFFFU)
  45004. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_SHIFT (0U)
  45005. /*! CPU_SP2_MAPPING - Defines when SP2 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45006. */
  45007. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP2_MAPPING_MASK)
  45008. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_MASK (0xFFFFU)
  45009. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_SHIFT (0U)
  45010. /*! CPU_SP3_MAPPING - Defines when SP3 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45011. */
  45012. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP3_MAPPING_MASK)
  45013. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_MASK (0xFFFFU)
  45014. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_SHIFT (0U)
  45015. /*! CPU_SP4_MAPPING - Defines when SP4 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45016. */
  45017. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP4_MAPPING_MASK)
  45018. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_MASK (0xFFFFU)
  45019. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_SHIFT (0U)
  45020. /*! CPU_SP5_MAPPING - Defines when SP5 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45021. */
  45022. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP5_MAPPING_MASK)
  45023. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_MASK (0xFFFFU)
  45024. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_SHIFT (0U)
  45025. /*! CPU_SP6_MAPPING - Defines when SP6 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45026. */
  45027. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP6_MAPPING_MASK)
  45028. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_MASK (0xFFFFU)
  45029. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_SHIFT (0U)
  45030. /*! CPU_SP7_MAPPING - Defines when SP7 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45031. */
  45032. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP7_MAPPING_MASK)
  45033. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_MASK (0xFFFFU)
  45034. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_SHIFT (0U)
  45035. /*! CPU_SP8_MAPPING - Defines when SP8 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45036. */
  45037. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP8_MAPPING_MASK)
  45038. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_MASK (0xFFFFU)
  45039. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_SHIFT (0U)
  45040. /*! CPU_SP9_MAPPING - Defines when SP9 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45041. */
  45042. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP9_MAPPING_MASK)
  45043. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_MASK (0xFFFFU)
  45044. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_SHIFT (0U)
  45045. /*! CPU_SP10_MAPPING - Defines when SP10 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45046. */
  45047. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP10_MAPPING_MASK)
  45048. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_MASK (0xFFFFU)
  45049. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_SHIFT (0U)
  45050. /*! CPU_SP11_MAPPING - Defines when SP11 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45051. */
  45052. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP11_MAPPING_MASK)
  45053. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_MASK (0xFFFFU)
  45054. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_SHIFT (0U)
  45055. /*! CPU_SP12_MAPPING - Defines when SP12 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45056. */
  45057. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP12_MAPPING_MASK)
  45058. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_MASK (0xFFFFU)
  45059. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_SHIFT (0U)
  45060. /*! CPU_SP13_MAPPING - Defines when SP13 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45061. */
  45062. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP13_MAPPING_MASK)
  45063. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_MASK (0xFFFFU)
  45064. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_SHIFT (0U)
  45065. /*! CPU_SP14_MAPPING - Defines when SP14 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45066. */
  45067. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP14_MAPPING_MASK)
  45068. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_MASK (0xFFFFU)
  45069. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_SHIFT (0U)
  45070. /*! CPU_SP15_MAPPING - Defines when SP15 is set as the CPU_SP_TARGET, which SP is allowed, locked by LOCK_CFG field
  45071. */
  45072. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_SHIFT)) & GPC_CPU_MODE_CTRL_CM_SP_MAPPING_CPU_SP15_MAPPING_MASK)
  45073. /*! @} */
  45074. /* The count of GPC_CPU_MODE_CTRL_CM_SP_MAPPING */
  45075. #define GPC_CPU_MODE_CTRL_CM_SP_MAPPING_COUNT (16U)
  45076. /*! @name CM_STBY_CTRL - CM standby control */
  45077. /*! @{ */
  45078. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_MASK (0x1U)
  45079. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_SHIFT (0U)
  45080. /*! STBY_WAIT - 0x1: Request the chip into standby mode when CPU entering WAIT mode, locked by LOCK_CFG field.
  45081. */
  45082. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAIT_MASK)
  45083. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_MASK (0x2U)
  45084. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_SHIFT (1U)
  45085. /*! STBY_STOP - 0x1: Request the chip into standby mode when CPU entering STOP mode, locked by LOCK_CFG field.
  45086. */
  45087. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_STOP_MASK)
  45088. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_MASK (0x4U)
  45089. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_SHIFT (2U)
  45090. /*! STBY_SUSPEND - 0x1: Request the chip into standby mode when CPU entering SUSPEND mode, locked by LOCK_CFG field.
  45091. */
  45092. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SUSPEND_MASK)
  45093. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_MASK (0x10000U)
  45094. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_SHIFT (16U)
  45095. /*! STBY_SLEEP_BUSY - Indicate the CPU is busy entering standby mode.
  45096. */
  45097. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_SLEEP_BUSY_MASK)
  45098. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_MASK (0x20000U)
  45099. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_SHIFT (17U)
  45100. /*! STBY_WAKEUP_BUSY - Indicate the CPU is busy exiting standby mode.
  45101. */
  45102. #define GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_SHIFT)) & GPC_CPU_MODE_CTRL_CM_STBY_CTRL_STBY_WAKEUP_BUSY_MASK)
  45103. /*! @} */
  45104. /*!
  45105. * @}
  45106. */ /* end of group GPC_CPU_MODE_CTRL_Register_Masks */
  45107. /* GPC_CPU_MODE_CTRL - Peripheral instance base addresses */
  45108. /** Peripheral GPC_CPU_MODE_CTRL_0 base address */
  45109. #define GPC_CPU_MODE_CTRL_0_BASE (0x40C00000u)
  45110. /** Peripheral GPC_CPU_MODE_CTRL_0 base pointer */
  45111. #define GPC_CPU_MODE_CTRL_0 ((GPC_CPU_MODE_CTRL_Type *)GPC_CPU_MODE_CTRL_0_BASE)
  45112. /** Peripheral GPC_CPU_MODE_CTRL_1 base address */
  45113. #define GPC_CPU_MODE_CTRL_1_BASE (0x40C00800u)
  45114. /** Peripheral GPC_CPU_MODE_CTRL_1 base pointer */
  45115. #define GPC_CPU_MODE_CTRL_1 ((GPC_CPU_MODE_CTRL_Type *)GPC_CPU_MODE_CTRL_1_BASE)
  45116. /** Array initializer of GPC_CPU_MODE_CTRL peripheral base addresses */
  45117. #define GPC_CPU_MODE_CTRL_BASE_ADDRS { GPC_CPU_MODE_CTRL_0_BASE, GPC_CPU_MODE_CTRL_1_BASE }
  45118. /** Array initializer of GPC_CPU_MODE_CTRL peripheral base pointers */
  45119. #define GPC_CPU_MODE_CTRL_BASE_PTRS { GPC_CPU_MODE_CTRL_0, GPC_CPU_MODE_CTRL_1 }
  45120. /*!
  45121. * @}
  45122. */ /* end of group GPC_CPU_MODE_CTRL_Peripheral_Access_Layer */
  45123. /* ----------------------------------------------------------------------------
  45124. -- GPC_SET_POINT_CTRL Peripheral Access Layer
  45125. ---------------------------------------------------------------------------- */
  45126. /*!
  45127. * @addtogroup GPC_SET_POINT_CTRL_Peripheral_Access_Layer GPC_SET_POINT_CTRL Peripheral Access Layer
  45128. * @{
  45129. */
  45130. /** GPC_SET_POINT_CTRL - Register Layout Typedef */
  45131. typedef struct {
  45132. uint8_t RESERVED_0[4];
  45133. __IO uint32_t SP_AUTHEN_CTRL; /**< SP Authentication Control, offset: 0x4 */
  45134. __IO uint32_t SP_INT_CTRL; /**< SP Interrupt Control, offset: 0x8 */
  45135. uint8_t RESERVED_1[4];
  45136. __I uint32_t SP_CPU_REQ; /**< CPU SP Request, offset: 0x10 */
  45137. __I uint32_t SP_SYS_STAT; /**< SP System Status, offset: 0x14 */
  45138. uint8_t RESERVED_2[4];
  45139. __IO uint32_t SP_ROSC_CTRL; /**< SP ROSC Control, offset: 0x1C */
  45140. uint8_t RESERVED_3[32];
  45141. __IO uint32_t SP_PRIORITY_0_7; /**< SP0~7 Priority, offset: 0x40 */
  45142. __IO uint32_t SP_PRIORITY_8_15; /**< SP8~15 Priority, offset: 0x44 */
  45143. uint8_t RESERVED_4[184];
  45144. __IO uint32_t SP_SSAR_SAVE_CTRL; /**< SP SSAR save control, offset: 0x100 */
  45145. uint8_t RESERVED_5[12];
  45146. __IO uint32_t SP_LPCG_OFF_CTRL; /**< SP LPCG off control, offset: 0x110 */
  45147. uint8_t RESERVED_6[12];
  45148. __IO uint32_t SP_GROUP_DOWN_CTRL; /**< SP group down control, offset: 0x120 */
  45149. uint8_t RESERVED_7[12];
  45150. __IO uint32_t SP_ROOT_DOWN_CTRL; /**< SP root down control, offset: 0x130 */
  45151. uint8_t RESERVED_8[12];
  45152. __IO uint32_t SP_PLL_OFF_CTRL; /**< SP PLL off control, offset: 0x140 */
  45153. uint8_t RESERVED_9[12];
  45154. __IO uint32_t SP_ISO_ON_CTRL; /**< SP ISO on control, offset: 0x150 */
  45155. uint8_t RESERVED_10[12];
  45156. __IO uint32_t SP_RESET_EARLY_CTRL; /**< SP reset early control, offset: 0x160 */
  45157. uint8_t RESERVED_11[12];
  45158. __IO uint32_t SP_POWER_OFF_CTRL; /**< SP power off control, offset: 0x170 */
  45159. uint8_t RESERVED_12[12];
  45160. __IO uint32_t SP_BIAS_OFF_CTRL; /**< SP bias off control, offset: 0x180 */
  45161. uint8_t RESERVED_13[12];
  45162. __IO uint32_t SP_BG_PLDO_OFF_CTRL; /**< SP bandgap and PLL_LDO off control, offset: 0x190 */
  45163. uint8_t RESERVED_14[12];
  45164. __IO uint32_t SP_LDO_PRE_CTRL; /**< SP LDO pre control, offset: 0x1A0 */
  45165. uint8_t RESERVED_15[12];
  45166. __IO uint32_t SP_DCDC_DOWN_CTRL; /**< SP DCDC down control, offset: 0x1B0 */
  45167. uint8_t RESERVED_16[76];
  45168. __IO uint32_t SP_DCDC_UP_CTRL; /**< SP DCDC up control, offset: 0x200 */
  45169. uint8_t RESERVED_17[12];
  45170. __IO uint32_t SP_LDO_POST_CTRL; /**< SP LDO post control, offset: 0x210 */
  45171. uint8_t RESERVED_18[12];
  45172. __IO uint32_t SP_BG_PLDO_ON_CTRL; /**< SP bandgap and PLL_LDO on control, offset: 0x220 */
  45173. uint8_t RESERVED_19[12];
  45174. __IO uint32_t SP_BIAS_ON_CTRL; /**< SP bias on control, offset: 0x230 */
  45175. uint8_t RESERVED_20[12];
  45176. __IO uint32_t SP_POWER_ON_CTRL; /**< SP power on control, offset: 0x240 */
  45177. uint8_t RESERVED_21[12];
  45178. __IO uint32_t SP_RESET_LATE_CTRL; /**< SP reset late control, offset: 0x250 */
  45179. uint8_t RESERVED_22[12];
  45180. __IO uint32_t SP_ISO_OFF_CTRL; /**< SP ISO off control, offset: 0x260 */
  45181. uint8_t RESERVED_23[12];
  45182. __IO uint32_t SP_PLL_ON_CTRL; /**< SP PLL on control, offset: 0x270 */
  45183. uint8_t RESERVED_24[12];
  45184. __IO uint32_t SP_ROOT_UP_CTRL; /**< SP root up control, offset: 0x280 */
  45185. uint8_t RESERVED_25[12];
  45186. __IO uint32_t SP_GROUP_UP_CTRL; /**< SP group up control, offset: 0x290 */
  45187. uint8_t RESERVED_26[12];
  45188. __IO uint32_t SP_LPCG_ON_CTRL; /**< SP LPCG on control, offset: 0x2A0 */
  45189. uint8_t RESERVED_27[12];
  45190. __IO uint32_t SP_SSAR_RESTORE_CTRL; /**< SP SSAR restore control, offset: 0x2B0 */
  45191. } GPC_SET_POINT_CTRL_Type;
  45192. /* ----------------------------------------------------------------------------
  45193. -- GPC_SET_POINT_CTRL Register Masks
  45194. ---------------------------------------------------------------------------- */
  45195. /*!
  45196. * @addtogroup GPC_SET_POINT_CTRL_Register_Masks GPC_SET_POINT_CTRL Register Masks
  45197. * @{
  45198. */
  45199. /*! @name SP_AUTHEN_CTRL - SP Authentication Control */
  45200. /*! @{ */
  45201. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_MASK (0x1U)
  45202. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_SHIFT (0U)
  45203. /*! USER - Allow user mode access
  45204. * 0b0..Allow only privilege mode to access setpoint control registers
  45205. * 0b1..Allow both privilege and user mode to access setpoint control registers
  45206. */
  45207. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_USER_MASK)
  45208. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  45209. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  45210. /*! NONSECURE - Allow non-secure mode access
  45211. * 0b0..Allow only secure mode to access setpoint control registers
  45212. * 0b1..Allow both secure and non-secure mode to access setpoint control registers
  45213. */
  45214. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_NONSECURE_MASK)
  45215. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  45216. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  45217. /*! LOCK_SETTING - Lock NONSECURE and USER
  45218. */
  45219. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_SETTING_MASK)
  45220. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  45221. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  45222. /*! WHITE_LIST - Domain ID white list
  45223. */
  45224. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_WHITE_LIST_MASK)
  45225. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  45226. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  45227. /*! LOCK_LIST - White list lock
  45228. */
  45229. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_LIST_MASK)
  45230. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  45231. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  45232. /*! LOCK_CFG - Configuration lock
  45233. */
  45234. #define GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & GPC_SET_POINT_CTRL_SP_AUTHEN_CTRL_LOCK_CFG_MASK)
  45235. /*! @} */
  45236. /*! @name SP_INT_CTRL - SP Interrupt Control */
  45237. /*! @{ */
  45238. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_MASK (0x1U)
  45239. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_SHIFT (0U)
  45240. /*! NO_ALLOWED_SP_INT_EN - no_allowed_set_point interrupt enable
  45241. */
  45242. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_SHIFT)) & GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_EN_MASK)
  45243. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_MASK (0x2U)
  45244. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_SHIFT (1U)
  45245. /*! NO_ALLOWED_SP_INT - no_allowed_set_point interrupt
  45246. */
  45247. #define GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_SHIFT)) & GPC_SET_POINT_CTRL_SP_INT_CTRL_NO_ALLOWED_SP_INT_MASK)
  45248. /*! @} */
  45249. /*! @name SP_CPU_REQ - CPU SP Request */
  45250. /*! @{ */
  45251. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_MASK (0xFU)
  45252. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_SHIFT (0U)
  45253. /*! SP_REQ_CPU0 - Setpoint requested by CPU0
  45254. */
  45255. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU0_MASK)
  45256. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_MASK (0xF0U)
  45257. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_SHIFT (4U)
  45258. /*! SP_REQ_CPU1 - Setpoint requested by CPU1
  45259. */
  45260. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU1_MASK)
  45261. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_MASK (0xF00U)
  45262. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_SHIFT (8U)
  45263. /*! SP_REQ_CPU2 - Setpoint requested by CPU2
  45264. */
  45265. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU2_MASK)
  45266. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_MASK (0xF000U)
  45267. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_SHIFT (12U)
  45268. /*! SP_REQ_CPU3 - Setpoint requested by CPU3
  45269. */
  45270. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_REQ_CPU3_MASK)
  45271. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_MASK (0xF0000U)
  45272. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_SHIFT (16U)
  45273. /*! SP_ACCEPTED_CPU0 - CPU0 Setpoint accepted by SP controller
  45274. */
  45275. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU0_MASK)
  45276. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_MASK (0xF00000U)
  45277. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_SHIFT (20U)
  45278. /*! SP_ACCEPTED_CPU1 - CPU1 Setpoint accepted by SP controller
  45279. */
  45280. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU1_MASK)
  45281. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_MASK (0xF000000U)
  45282. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_SHIFT (24U)
  45283. /*! SP_ACCEPTED_CPU2 - CPU2 Setpoint accepted by SP controller
  45284. */
  45285. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU2_MASK)
  45286. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_MASK (0xF0000000U)
  45287. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_SHIFT (28U)
  45288. /*! SP_ACCEPTED_CPU3 - CPU3 Setpoint accepted by SP controller
  45289. */
  45290. #define GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_SHIFT)) & GPC_SET_POINT_CTRL_SP_CPU_REQ_SP_ACCEPTED_CPU3_MASK)
  45291. /*! @} */
  45292. /*! @name SP_SYS_STAT - SP System Status */
  45293. /*! @{ */
  45294. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_MASK (0xFFFFU)
  45295. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_SHIFT (0U)
  45296. /*! SYS_SP_ALLOWED - Allowed Setpoints by all current CPU Setpoint requests
  45297. */
  45298. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_SHIFT)) & GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_ALLOWED_MASK)
  45299. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_MASK (0xF0000U)
  45300. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_SHIFT (16U)
  45301. /*! SYS_SP_TARGET - The Setpoint chosen as the target setpoint
  45302. */
  45303. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_SHIFT)) & GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_TARGET_MASK)
  45304. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_MASK (0xF00000U)
  45305. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_SHIFT (20U)
  45306. /*! SYS_SP_CURRENT - Current Setpoint, only valid when not SP trans busy
  45307. */
  45308. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_SHIFT)) & GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_CURRENT_MASK)
  45309. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_MASK (0xF000000U)
  45310. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_SHIFT (24U)
  45311. /*! SYS_SP_PREVIOUS - Previous Setpoint, only valid when not SP trans busy
  45312. */
  45313. #define GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_SHIFT)) & GPC_SET_POINT_CTRL_SP_SYS_STAT_SYS_SP_PREVIOUS_MASK)
  45314. /*! @} */
  45315. /*! @name SP_ROSC_CTRL - SP ROSC Control */
  45316. /*! @{ */
  45317. #define GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_MASK (0xFFFFU)
  45318. #define GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_SHIFT (0U)
  45319. /*! SP_ALLOW_ROSC_OFF - Allow shutting off the ROSC
  45320. */
  45321. #define GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROSC_CTRL_SP_ALLOW_ROSC_OFF_MASK)
  45322. /*! @} */
  45323. /*! @name SP_PRIORITY_0_7 - SP0~7 Priority */
  45324. /*! @{ */
  45325. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_MASK (0xFU)
  45326. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_SHIFT (0U)
  45327. /*! SYS_SP0_PRIORITY - priority of Setpoint 0
  45328. */
  45329. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP0_PRIORITY_MASK)
  45330. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_MASK (0xF0U)
  45331. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_SHIFT (4U)
  45332. /*! SYS_SP1_PRIORITY - priority of Setpoint 1
  45333. */
  45334. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP1_PRIORITY_MASK)
  45335. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_MASK (0xF00U)
  45336. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_SHIFT (8U)
  45337. /*! SYS_SP2_PRIORITY - priority of Setpoint 2
  45338. */
  45339. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP2_PRIORITY_MASK)
  45340. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_MASK (0xF000U)
  45341. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_SHIFT (12U)
  45342. /*! SYS_SP3_PRIORITY - priority of Setpoint 3
  45343. */
  45344. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP3_PRIORITY_MASK)
  45345. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_MASK (0xF0000U)
  45346. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_SHIFT (16U)
  45347. /*! SYS_SP4_PRIORITY - priority of Setpoint 4
  45348. */
  45349. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP4_PRIORITY_MASK)
  45350. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_MASK (0xF00000U)
  45351. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_SHIFT (20U)
  45352. /*! SYS_SP5_PRIORITY - priority of Setpoint 5
  45353. */
  45354. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP5_PRIORITY_MASK)
  45355. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_MASK (0xF000000U)
  45356. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_SHIFT (24U)
  45357. /*! SYS_SP6_PRIORITY - priority of Setpoint 6
  45358. */
  45359. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP6_PRIORITY_MASK)
  45360. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_MASK (0xF0000000U)
  45361. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_SHIFT (28U)
  45362. /*! SYS_SP7_PRIORITY - priority of Setpoint 7
  45363. */
  45364. #define GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_0_7_SYS_SP7_PRIORITY_MASK)
  45365. /*! @} */
  45366. /*! @name SP_PRIORITY_8_15 - SP8~15 Priority */
  45367. /*! @{ */
  45368. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_MASK (0xFU)
  45369. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_SHIFT (0U)
  45370. /*! SYS_SP8_PRIORITY - priority of Setpoint 8
  45371. */
  45372. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP8_PRIORITY_MASK)
  45373. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_MASK (0xF0U)
  45374. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_SHIFT (4U)
  45375. /*! SYS_SP9_PRIORITY - priority of Setpoint 9
  45376. */
  45377. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP9_PRIORITY_MASK)
  45378. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_MASK (0xF00U)
  45379. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_SHIFT (8U)
  45380. /*! SYS_SP10_PRIORITY - priority of Setpoint 10
  45381. */
  45382. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP10_PRIORITY_MASK)
  45383. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_MASK (0xF000U)
  45384. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_SHIFT (12U)
  45385. /*! SYS_SP11_PRIORITY - priority of Setpoint 11
  45386. */
  45387. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP11_PRIORITY_MASK)
  45388. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_MASK (0xF0000U)
  45389. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_SHIFT (16U)
  45390. /*! SYS_SP12_PRIORITY - priority of Setpoint 12
  45391. */
  45392. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP12_PRIORITY_MASK)
  45393. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_MASK (0xF00000U)
  45394. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_SHIFT (20U)
  45395. /*! SYS_SP13_PRIORITY - priority of Setpoint 13
  45396. */
  45397. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP13_PRIORITY_MASK)
  45398. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_MASK (0xF000000U)
  45399. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_SHIFT (24U)
  45400. /*! SYS_SP14_PRIORITY - priority of Setpoint 14
  45401. */
  45402. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP14_PRIORITY_MASK)
  45403. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_MASK (0xF0000000U)
  45404. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_SHIFT (28U)
  45405. /*! SYS_SP15_PRIORITY - priority of Setpoint 15
  45406. */
  45407. #define GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_SHIFT)) & GPC_SET_POINT_CTRL_SP_PRIORITY_8_15_SYS_SP15_PRIORITY_MASK)
  45408. /*! @} */
  45409. /*! @name SP_SSAR_SAVE_CTRL - SP SSAR save control */
  45410. /*! @{ */
  45411. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45412. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_SHIFT (0U)
  45413. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45414. */
  45415. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_STEP_CNT_MASK)
  45416. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_MASK (0x30000000U)
  45417. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_SHIFT (28U)
  45418. /*! CNT_MODE - Count mode
  45419. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45420. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45421. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45422. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45423. */
  45424. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_CNT_MODE_MASK)
  45425. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_MASK (0x80000000U)
  45426. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_SHIFT (31U)
  45427. /*! DISABLE - Disable this step
  45428. */
  45429. #define GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_SAVE_CTRL_DISABLE_MASK)
  45430. /*! @} */
  45431. /*! @name SP_LPCG_OFF_CTRL - SP LPCG off control */
  45432. /*! @{ */
  45433. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45434. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45435. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45436. */
  45437. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_STEP_CNT_MASK)
  45438. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45439. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45440. /*! CNT_MODE - Count mode
  45441. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45442. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45443. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45444. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45445. */
  45446. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_CNT_MODE_MASK)
  45447. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45448. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_SHIFT (31U)
  45449. /*! DISABLE - Disable this step
  45450. */
  45451. #define GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_OFF_CTRL_DISABLE_MASK)
  45452. /*! @} */
  45453. /*! @name SP_GROUP_DOWN_CTRL - SP group down control */
  45454. /*! @{ */
  45455. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45456. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45457. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45458. */
  45459. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_STEP_CNT_MASK)
  45460. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45461. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45462. /*! CNT_MODE - Count mode
  45463. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45464. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45465. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45466. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45467. */
  45468. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_CNT_MODE_MASK)
  45469. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45470. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_SHIFT (31U)
  45471. /*! DISABLE - Disable this step
  45472. */
  45473. #define GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_DOWN_CTRL_DISABLE_MASK)
  45474. /*! @} */
  45475. /*! @name SP_ROOT_DOWN_CTRL - SP root down control */
  45476. /*! @{ */
  45477. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45478. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45479. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45480. */
  45481. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_STEP_CNT_MASK)
  45482. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45483. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45484. /*! CNT_MODE - Count mode
  45485. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45486. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45487. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45488. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45489. */
  45490. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_CNT_MODE_MASK)
  45491. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45492. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_SHIFT (31U)
  45493. /*! DISABLE - Disable this step
  45494. */
  45495. #define GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_DOWN_CTRL_DISABLE_MASK)
  45496. /*! @} */
  45497. /*! @name SP_PLL_OFF_CTRL - SP PLL off control */
  45498. /*! @{ */
  45499. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45500. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45501. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45502. */
  45503. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_STEP_CNT_MASK)
  45504. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45505. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45506. /*! CNT_MODE - Count mode
  45507. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45508. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45509. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45510. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45511. */
  45512. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_CNT_MODE_MASK)
  45513. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45514. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_SHIFT (31U)
  45515. /*! DISABLE - Disable this step
  45516. */
  45517. #define GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_OFF_CTRL_DISABLE_MASK)
  45518. /*! @} */
  45519. /*! @name SP_ISO_ON_CTRL - SP ISO on control */
  45520. /*! @{ */
  45521. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45522. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_SHIFT (0U)
  45523. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45524. */
  45525. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_STEP_CNT_MASK)
  45526. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45527. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_SHIFT (28U)
  45528. /*! CNT_MODE - Count mode
  45529. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45530. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45531. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45532. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45533. */
  45534. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_CNT_MODE_MASK)
  45535. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_MASK (0x80000000U)
  45536. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_SHIFT (31U)
  45537. /*! DISABLE - Disable this step
  45538. */
  45539. #define GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_ON_CTRL_DISABLE_MASK)
  45540. /*! @} */
  45541. /*! @name SP_RESET_EARLY_CTRL - SP reset early control */
  45542. /*! @{ */
  45543. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_MASK (0xFFFFU)
  45544. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_SHIFT (0U)
  45545. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45546. */
  45547. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_STEP_CNT_MASK)
  45548. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_MASK (0x30000000U)
  45549. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_SHIFT (28U)
  45550. /*! CNT_MODE - Count mode
  45551. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45552. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45553. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45554. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45555. */
  45556. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_CNT_MODE_MASK)
  45557. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_MASK (0x80000000U)
  45558. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_SHIFT (31U)
  45559. /*! DISABLE - Disable this step
  45560. */
  45561. #define GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_EARLY_CTRL_DISABLE_MASK)
  45562. /*! @} */
  45563. /*! @name SP_POWER_OFF_CTRL - SP power off control */
  45564. /*! @{ */
  45565. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45566. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45567. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45568. */
  45569. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_STEP_CNT_MASK)
  45570. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45571. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45572. /*! CNT_MODE - Count mode
  45573. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45574. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45575. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45576. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45577. */
  45578. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_CNT_MODE_MASK)
  45579. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45580. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_SHIFT (31U)
  45581. /*! DISABLE - Disable this step
  45582. */
  45583. #define GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_OFF_CTRL_DISABLE_MASK)
  45584. /*! @} */
  45585. /*! @name SP_BIAS_OFF_CTRL - SP bias off control */
  45586. /*! @{ */
  45587. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45588. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45589. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45590. */
  45591. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_STEP_CNT_MASK)
  45592. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45593. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45594. /*! CNT_MODE - Count mode
  45595. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45596. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45597. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45598. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45599. */
  45600. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_CNT_MODE_MASK)
  45601. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45602. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_SHIFT (31U)
  45603. /*! DISABLE - Disable this step
  45604. */
  45605. #define GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_OFF_CTRL_DISABLE_MASK)
  45606. /*! @} */
  45607. /*! @name SP_BG_PLDO_OFF_CTRL - SP bandgap and PLL_LDO off control */
  45608. /*! @{ */
  45609. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45610. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45611. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45612. */
  45613. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_STEP_CNT_MASK)
  45614. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45615. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45616. /*! CNT_MODE - Count mode
  45617. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45618. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45619. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45620. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45621. */
  45622. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_CNT_MODE_MASK)
  45623. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45624. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_SHIFT (31U)
  45625. /*! DISABLE - Disable this step
  45626. */
  45627. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_OFF_CTRL_DISABLE_MASK)
  45628. /*! @} */
  45629. /*! @name SP_LDO_PRE_CTRL - SP LDO pre control */
  45630. /*! @{ */
  45631. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45632. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_SHIFT (0U)
  45633. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45634. */
  45635. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_STEP_CNT_MASK)
  45636. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_MASK (0x30000000U)
  45637. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_SHIFT (28U)
  45638. /*! CNT_MODE - Count mode
  45639. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45640. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45641. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45642. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45643. */
  45644. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_CNT_MODE_MASK)
  45645. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_MASK (0x80000000U)
  45646. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_SHIFT (31U)
  45647. /*! DISABLE - Disable this step
  45648. */
  45649. #define GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_PRE_CTRL_DISABLE_MASK)
  45650. /*! @} */
  45651. /*! @name SP_DCDC_DOWN_CTRL - SP DCDC down control */
  45652. /*! @{ */
  45653. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_MASK (0xFFFFU)
  45654. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_SHIFT (0U)
  45655. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45656. */
  45657. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_STEP_CNT_MASK)
  45658. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_MASK (0x30000000U)
  45659. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_SHIFT (28U)
  45660. /*! CNT_MODE - Count mode
  45661. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45662. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45663. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45664. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45665. */
  45666. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_CNT_MODE_MASK)
  45667. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_MASK (0x80000000U)
  45668. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_SHIFT (31U)
  45669. /*! DISABLE - Disable this step
  45670. */
  45671. #define GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_DOWN_CTRL_DISABLE_MASK)
  45672. /*! @} */
  45673. /*! @name SP_DCDC_UP_CTRL - SP DCDC up control */
  45674. /*! @{ */
  45675. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45676. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_SHIFT (0U)
  45677. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45678. */
  45679. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_STEP_CNT_MASK)
  45680. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45681. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_SHIFT (28U)
  45682. /*! CNT_MODE - Count mode
  45683. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45684. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45685. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45686. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45687. */
  45688. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_CNT_MODE_MASK)
  45689. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_MASK (0x80000000U)
  45690. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_SHIFT (31U)
  45691. /*! DISABLE - Disable this step
  45692. */
  45693. #define GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_DCDC_UP_CTRL_DISABLE_MASK)
  45694. /*! @} */
  45695. /*! @name SP_LDO_POST_CTRL - SP LDO post control */
  45696. /*! @{ */
  45697. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_MASK (0xFFFFU)
  45698. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_SHIFT (0U)
  45699. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45700. */
  45701. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_STEP_CNT_MASK)
  45702. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_MASK (0x30000000U)
  45703. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_SHIFT (28U)
  45704. /*! CNT_MODE - Count mode
  45705. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45706. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45707. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45708. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45709. */
  45710. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_CNT_MODE_MASK)
  45711. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_MASK (0x80000000U)
  45712. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_SHIFT (31U)
  45713. /*! DISABLE - Disable this step
  45714. */
  45715. #define GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LDO_POST_CTRL_DISABLE_MASK)
  45716. /*! @} */
  45717. /*! @name SP_BG_PLDO_ON_CTRL - SP bandgap and PLL_LDO on control */
  45718. /*! @{ */
  45719. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45720. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_SHIFT (0U)
  45721. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45722. */
  45723. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_STEP_CNT_MASK)
  45724. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45725. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_SHIFT (28U)
  45726. /*! CNT_MODE - Count mode
  45727. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45728. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45729. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45730. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45731. */
  45732. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_CNT_MODE_MASK)
  45733. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_MASK (0x80000000U)
  45734. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_SHIFT (31U)
  45735. /*! DISABLE - Disable this step
  45736. */
  45737. #define GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BG_PLDO_ON_CTRL_DISABLE_MASK)
  45738. /*! @} */
  45739. /*! @name SP_BIAS_ON_CTRL - SP bias on control */
  45740. /*! @{ */
  45741. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45742. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_SHIFT (0U)
  45743. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45744. */
  45745. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_STEP_CNT_MASK)
  45746. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45747. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_SHIFT (28U)
  45748. /*! CNT_MODE - Count mode
  45749. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45750. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45751. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45752. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45753. */
  45754. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_CNT_MODE_MASK)
  45755. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_MASK (0x80000000U)
  45756. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_SHIFT (31U)
  45757. /*! DISABLE - Disable this step
  45758. */
  45759. #define GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_BIAS_ON_CTRL_DISABLE_MASK)
  45760. /*! @} */
  45761. /*! @name SP_POWER_ON_CTRL - SP power on control */
  45762. /*! @{ */
  45763. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45764. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_SHIFT (0U)
  45765. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45766. */
  45767. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_STEP_CNT_MASK)
  45768. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45769. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_SHIFT (28U)
  45770. /*! CNT_MODE - Count mode
  45771. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45772. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45773. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45774. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45775. */
  45776. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_CNT_MODE_MASK)
  45777. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_MASK (0x80000000U)
  45778. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_SHIFT (31U)
  45779. /*! DISABLE - Disable this step
  45780. */
  45781. #define GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_POWER_ON_CTRL_DISABLE_MASK)
  45782. /*! @} */
  45783. /*! @name SP_RESET_LATE_CTRL - SP reset late control */
  45784. /*! @{ */
  45785. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45786. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_SHIFT (0U)
  45787. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45788. */
  45789. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_STEP_CNT_MASK)
  45790. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_MASK (0x30000000U)
  45791. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_SHIFT (28U)
  45792. /*! CNT_MODE - Count mode
  45793. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45794. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45795. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45796. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45797. */
  45798. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_CNT_MODE_MASK)
  45799. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_MASK (0x80000000U)
  45800. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_SHIFT (31U)
  45801. /*! DISABLE - Disable this step
  45802. */
  45803. #define GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_RESET_LATE_CTRL_DISABLE_MASK)
  45804. /*! @} */
  45805. /*! @name SP_ISO_OFF_CTRL - SP ISO off control */
  45806. /*! @{ */
  45807. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_MASK (0xFFFFU)
  45808. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_SHIFT (0U)
  45809. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45810. */
  45811. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_STEP_CNT_MASK)
  45812. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_MASK (0x30000000U)
  45813. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_SHIFT (28U)
  45814. /*! CNT_MODE - Count mode
  45815. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45816. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45817. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45818. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45819. */
  45820. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_CNT_MODE_MASK)
  45821. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_MASK (0x80000000U)
  45822. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_SHIFT (31U)
  45823. /*! DISABLE - Disable this step
  45824. */
  45825. #define GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ISO_OFF_CTRL_DISABLE_MASK)
  45826. /*! @} */
  45827. /*! @name SP_PLL_ON_CTRL - SP PLL on control */
  45828. /*! @{ */
  45829. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45830. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_SHIFT (0U)
  45831. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45832. */
  45833. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_STEP_CNT_MASK)
  45834. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45835. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_SHIFT (28U)
  45836. /*! CNT_MODE - Count mode
  45837. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45838. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45839. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45840. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45841. */
  45842. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_CNT_MODE_MASK)
  45843. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_MASK (0x80000000U)
  45844. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_SHIFT (31U)
  45845. /*! DISABLE - Disable this step
  45846. */
  45847. #define GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_PLL_ON_CTRL_DISABLE_MASK)
  45848. /*! @} */
  45849. /*! @name SP_ROOT_UP_CTRL - SP root up control */
  45850. /*! @{ */
  45851. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45852. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_SHIFT (0U)
  45853. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45854. */
  45855. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_STEP_CNT_MASK)
  45856. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45857. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_SHIFT (28U)
  45858. /*! CNT_MODE - Count mode
  45859. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45860. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45861. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45862. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45863. */
  45864. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_CNT_MODE_MASK)
  45865. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_MASK (0x80000000U)
  45866. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_SHIFT (31U)
  45867. /*! DISABLE - Disable this step
  45868. */
  45869. #define GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_ROOT_UP_CTRL_DISABLE_MASK)
  45870. /*! @} */
  45871. /*! @name SP_GROUP_UP_CTRL - SP group up control */
  45872. /*! @{ */
  45873. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_MASK (0xFFFFU)
  45874. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_SHIFT (0U)
  45875. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45876. */
  45877. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_STEP_CNT_MASK)
  45878. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_MASK (0x30000000U)
  45879. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_SHIFT (28U)
  45880. /*! CNT_MODE - Count mode
  45881. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45882. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45883. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45884. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45885. */
  45886. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_CNT_MODE_MASK)
  45887. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_MASK (0x80000000U)
  45888. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_SHIFT (31U)
  45889. /*! DISABLE - Disable this step
  45890. */
  45891. #define GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_GROUP_UP_CTRL_DISABLE_MASK)
  45892. /*! @} */
  45893. /*! @name SP_LPCG_ON_CTRL - SP LPCG on control */
  45894. /*! @{ */
  45895. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_MASK (0xFFFFU)
  45896. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_SHIFT (0U)
  45897. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45898. */
  45899. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_STEP_CNT_MASK)
  45900. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_MASK (0x30000000U)
  45901. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_SHIFT (28U)
  45902. /*! CNT_MODE - Count mode
  45903. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45904. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45905. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45906. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45907. */
  45908. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_CNT_MODE_MASK)
  45909. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_MASK (0x80000000U)
  45910. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_SHIFT (31U)
  45911. /*! DISABLE - Disable this step
  45912. */
  45913. #define GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_LPCG_ON_CTRL_DISABLE_MASK)
  45914. /*! @} */
  45915. /*! @name SP_SSAR_RESTORE_CTRL - SP SSAR restore control */
  45916. /*! @{ */
  45917. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_MASK (0xFFFFU)
  45918. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_SHIFT (0U)
  45919. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  45920. */
  45921. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_STEP_CNT_MASK)
  45922. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_MASK (0x30000000U)
  45923. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_SHIFT (28U)
  45924. /*! CNT_MODE - Count mode
  45925. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  45926. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  45927. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  45928. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  45929. */
  45930. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_CNT_MODE_MASK)
  45931. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_MASK (0x80000000U)
  45932. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_SHIFT (31U)
  45933. /*! DISABLE - Disable this step
  45934. */
  45935. #define GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_SHIFT)) & GPC_SET_POINT_CTRL_SP_SSAR_RESTORE_CTRL_DISABLE_MASK)
  45936. /*! @} */
  45937. /*!
  45938. * @}
  45939. */ /* end of group GPC_SET_POINT_CTRL_Register_Masks */
  45940. /* GPC_SET_POINT_CTRL - Peripheral instance base addresses */
  45941. /** Peripheral GPC_SET_POINT_CTRL base address */
  45942. #define GPC_SET_POINT_CTRL_BASE (0x40C02000u)
  45943. /** Peripheral GPC_SET_POINT_CTRL base pointer */
  45944. #define GPC_SET_POINT_CTRL ((GPC_SET_POINT_CTRL_Type *)GPC_SET_POINT_CTRL_BASE)
  45945. /** Array initializer of GPC_SET_POINT_CTRL peripheral base addresses */
  45946. #define GPC_SET_POINT_CTRL_BASE_ADDRS { GPC_SET_POINT_CTRL_BASE }
  45947. /** Array initializer of GPC_SET_POINT_CTRL peripheral base pointers */
  45948. #define GPC_SET_POINT_CTRL_BASE_PTRS { GPC_SET_POINT_CTRL }
  45949. /*!
  45950. * @}
  45951. */ /* end of group GPC_SET_POINT_CTRL_Peripheral_Access_Layer */
  45952. /* ----------------------------------------------------------------------------
  45953. -- GPC_STBY_CTRL Peripheral Access Layer
  45954. ---------------------------------------------------------------------------- */
  45955. /*!
  45956. * @addtogroup GPC_STBY_CTRL_Peripheral_Access_Layer GPC_STBY_CTRL Peripheral Access Layer
  45957. * @{
  45958. */
  45959. /** GPC_STBY_CTRL - Register Layout Typedef */
  45960. typedef struct {
  45961. uint8_t RESERVED_0[4];
  45962. __IO uint32_t STBY_AUTHEN_CTRL; /**< Standby Authentication Control, offset: 0x4 */
  45963. uint8_t RESERVED_1[4];
  45964. __IO uint32_t STBY_MISC; /**< STBY Misc, offset: 0xC */
  45965. uint8_t RESERVED_2[224];
  45966. __IO uint32_t STBY_LPCG_IN_CTRL; /**< STBY lpcg_in control, offset: 0xF0 */
  45967. uint8_t RESERVED_3[12];
  45968. __IO uint32_t STBY_PLL_IN_CTRL; /**< STBY pll_in control, offset: 0x100 */
  45969. uint8_t RESERVED_4[12];
  45970. __IO uint32_t STBY_BIAS_IN_CTRL; /**< STBY bias_in control, offset: 0x110 */
  45971. uint8_t RESERVED_5[12];
  45972. __IO uint32_t STBY_PLDO_IN_CTRL; /**< STBY pldo_in control, offset: 0x120 */
  45973. uint8_t RESERVED_6[4];
  45974. __IO uint32_t STBY_BANDGAP_IN_CTRL; /**< STBY bandgap_in control, offset: 0x128 */
  45975. uint8_t RESERVED_7[4];
  45976. __IO uint32_t STBY_LDO_IN_CTRL; /**< STBY ldo_in control, offset: 0x130 */
  45977. uint8_t RESERVED_8[12];
  45978. __IO uint32_t STBY_DCDC_IN_CTRL; /**< STBY dcdc_in control, offset: 0x140 */
  45979. uint8_t RESERVED_9[12];
  45980. __IO uint32_t STBY_PMIC_IN_CTRL; /**< STBY PMIC in control, offset: 0x150 */
  45981. uint8_t RESERVED_10[172];
  45982. __IO uint32_t STBY_PMIC_OUT_CTRL; /**< STBY PMIC out control, offset: 0x200 */
  45983. uint8_t RESERVED_11[12];
  45984. __IO uint32_t STBY_DCDC_OUT_CTRL; /**< STBY DCDC out control, offset: 0x210 */
  45985. uint8_t RESERVED_12[12];
  45986. __IO uint32_t STBY_LDO_OUT_CTRL; /**< STBY LDO out control, offset: 0x220 */
  45987. uint8_t RESERVED_13[12];
  45988. __IO uint32_t STBY_BANDGAP_OUT_CTRL; /**< STBY bandgap out control, offset: 0x230 */
  45989. uint8_t RESERVED_14[4];
  45990. __IO uint32_t STBY_PLDO_OUT_CTRL; /**< STBY pldo out control, offset: 0x238 */
  45991. uint8_t RESERVED_15[4];
  45992. __IO uint32_t STBY_BIAS_OUT_CTRL; /**< STBY bias out control, offset: 0x240 */
  45993. uint8_t RESERVED_16[12];
  45994. __IO uint32_t STBY_PLL_OUT_CTRL; /**< STBY PLL out control, offset: 0x250 */
  45995. uint8_t RESERVED_17[12];
  45996. __IO uint32_t STBY_LPCG_OUT_CTRL; /**< STBY LPCG out control, offset: 0x260 */
  45997. } GPC_STBY_CTRL_Type;
  45998. /* ----------------------------------------------------------------------------
  45999. -- GPC_STBY_CTRL Register Masks
  46000. ---------------------------------------------------------------------------- */
  46001. /*!
  46002. * @addtogroup GPC_STBY_CTRL_Register_Masks GPC_STBY_CTRL Register Masks
  46003. * @{
  46004. */
  46005. /*! @name STBY_AUTHEN_CTRL - Standby Authentication Control */
  46006. /*! @{ */
  46007. #define GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  46008. #define GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  46009. /*! LOCK_CFG - Configuration lock
  46010. */
  46011. #define GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & GPC_STBY_CTRL_STBY_AUTHEN_CTRL_LOCK_CFG_MASK)
  46012. /*! @} */
  46013. /*! @name STBY_MISC - STBY Misc */
  46014. /*! @{ */
  46015. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_MASK (0x1U)
  46016. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_SHIFT (0U)
  46017. /*! FORCE_CPU0_STBY - Force CPU0 requesting standby mode
  46018. */
  46019. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_SHIFT)) & GPC_STBY_CTRL_STBY_MISC_FORCE_CPU0_STBY_MASK)
  46020. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_MASK (0x2U)
  46021. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_SHIFT (1U)
  46022. /*! FORCE_CPU1_STBY - Force CPU0 requesting standby mode
  46023. */
  46024. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_SHIFT)) & GPC_STBY_CTRL_STBY_MISC_FORCE_CPU1_STBY_MASK)
  46025. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_MASK (0x4U)
  46026. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_SHIFT (2U)
  46027. /*! FORCE_CPU2_STBY - Force CPU2 requesting standby mode
  46028. */
  46029. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_SHIFT)) & GPC_STBY_CTRL_STBY_MISC_FORCE_CPU2_STBY_MASK)
  46030. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_MASK (0x8U)
  46031. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_SHIFT (3U)
  46032. /*! FORCE_CPU3_STBY - Force CPU3 requesting standby mode
  46033. */
  46034. #define GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_SHIFT)) & GPC_STBY_CTRL_STBY_MISC_FORCE_CPU3_STBY_MASK)
  46035. /*! @} */
  46036. /*! @name STBY_LPCG_IN_CTRL - STBY lpcg_in control */
  46037. /*! @{ */
  46038. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46039. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_SHIFT (0U)
  46040. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46041. */
  46042. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_STEP_CNT_MASK)
  46043. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46044. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_SHIFT (28U)
  46045. /*! CNT_MODE - Count mode
  46046. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46047. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46048. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46049. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46050. */
  46051. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_CNT_MODE_MASK)
  46052. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_MASK (0x80000000U)
  46053. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_SHIFT (31U)
  46054. /*! DISABLE - Disable this step
  46055. */
  46056. #define GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_IN_CTRL_DISABLE_MASK)
  46057. /*! @} */
  46058. /*! @name STBY_PLL_IN_CTRL - STBY pll_in control */
  46059. /*! @{ */
  46060. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46061. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_SHIFT (0U)
  46062. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46063. */
  46064. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_IN_CTRL_STEP_CNT_MASK)
  46065. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46066. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_SHIFT (28U)
  46067. /*! CNT_MODE - Count mode
  46068. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46069. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46070. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46071. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46072. */
  46073. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_IN_CTRL_CNT_MODE_MASK)
  46074. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_MASK (0x80000000U)
  46075. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_SHIFT (31U)
  46076. /*! DISABLE - Disable this step
  46077. */
  46078. #define GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_IN_CTRL_DISABLE_MASK)
  46079. /*! @} */
  46080. /*! @name STBY_BIAS_IN_CTRL - STBY bias_in control */
  46081. /*! @{ */
  46082. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46083. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_SHIFT (0U)
  46084. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46085. */
  46086. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_STEP_CNT_MASK)
  46087. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46088. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_SHIFT (28U)
  46089. /*! CNT_MODE - Count mode
  46090. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46091. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46092. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46093. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46094. */
  46095. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_CNT_MODE_MASK)
  46096. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_MASK (0x80000000U)
  46097. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_SHIFT (31U)
  46098. /*! DISABLE - Disable this step
  46099. */
  46100. #define GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_IN_CTRL_DISABLE_MASK)
  46101. /*! @} */
  46102. /*! @name STBY_PLDO_IN_CTRL - STBY pldo_in control */
  46103. /*! @{ */
  46104. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46105. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_SHIFT (0U)
  46106. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46107. */
  46108. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_STEP_CNT_MASK)
  46109. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46110. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_SHIFT (28U)
  46111. /*! CNT_MODE - Count mode
  46112. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46113. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46114. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46115. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46116. */
  46117. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_CNT_MODE_MASK)
  46118. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_MASK (0x80000000U)
  46119. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_SHIFT (31U)
  46120. /*! DISABLE - Disable this step
  46121. */
  46122. #define GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_IN_CTRL_DISABLE_MASK)
  46123. /*! @} */
  46124. /*! @name STBY_BANDGAP_IN_CTRL - STBY bandgap_in control */
  46125. /*! @{ */
  46126. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46127. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_SHIFT (0U)
  46128. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46129. */
  46130. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_STEP_CNT_MASK)
  46131. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46132. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_SHIFT (28U)
  46133. /*! CNT_MODE - Count mode
  46134. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46135. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46136. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46137. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46138. */
  46139. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_CNT_MODE_MASK)
  46140. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_MASK (0x80000000U)
  46141. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_SHIFT (31U)
  46142. /*! DISABLE - Disable this step
  46143. */
  46144. #define GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_IN_CTRL_DISABLE_MASK)
  46145. /*! @} */
  46146. /*! @name STBY_LDO_IN_CTRL - STBY ldo_in control */
  46147. /*! @{ */
  46148. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46149. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_SHIFT (0U)
  46150. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46151. */
  46152. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_IN_CTRL_STEP_CNT_MASK)
  46153. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46154. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_SHIFT (28U)
  46155. /*! CNT_MODE - Count mode
  46156. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46157. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46158. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46159. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46160. */
  46161. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_IN_CTRL_CNT_MODE_MASK)
  46162. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_MASK (0x80000000U)
  46163. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_SHIFT (31U)
  46164. /*! DISABLE - Disable this step
  46165. */
  46166. #define GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_IN_CTRL_DISABLE_MASK)
  46167. /*! @} */
  46168. /*! @name STBY_DCDC_IN_CTRL - STBY dcdc_in control */
  46169. /*! @{ */
  46170. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46171. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_SHIFT (0U)
  46172. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46173. */
  46174. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_STEP_CNT_MASK)
  46175. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46176. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_SHIFT (28U)
  46177. /*! CNT_MODE - Count mode
  46178. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46179. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46180. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46181. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46182. */
  46183. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_CNT_MODE_MASK)
  46184. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_MASK (0x80000000U)
  46185. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_SHIFT (31U)
  46186. /*! DISABLE - Disable this step
  46187. */
  46188. #define GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_IN_CTRL_DISABLE_MASK)
  46189. /*! @} */
  46190. /*! @name STBY_PMIC_IN_CTRL - STBY PMIC in control */
  46191. /*! @{ */
  46192. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_MASK (0xFFFFU)
  46193. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_SHIFT (0U)
  46194. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46195. */
  46196. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_STEP_CNT_MASK)
  46197. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_MASK (0x30000000U)
  46198. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_SHIFT (28U)
  46199. /*! CNT_MODE - Count mode
  46200. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46201. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46202. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46203. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46204. */
  46205. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_CNT_MODE_MASK)
  46206. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_MASK (0x80000000U)
  46207. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_SHIFT (31U)
  46208. /*! DISABLE - Disable this step
  46209. */
  46210. #define GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_IN_CTRL_DISABLE_MASK)
  46211. /*! @} */
  46212. /*! @name STBY_PMIC_OUT_CTRL - STBY PMIC out control */
  46213. /*! @{ */
  46214. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46215. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46216. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46217. */
  46218. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_STEP_CNT_MASK)
  46219. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46220. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46221. /*! CNT_MODE - Count mode
  46222. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46223. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46224. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46225. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46226. */
  46227. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_CNT_MODE_MASK)
  46228. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46229. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_SHIFT (31U)
  46230. /*! DISABLE - Disable this step
  46231. */
  46232. #define GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PMIC_OUT_CTRL_DISABLE_MASK)
  46233. /*! @} */
  46234. /*! @name STBY_DCDC_OUT_CTRL - STBY DCDC out control */
  46235. /*! @{ */
  46236. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46237. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46238. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46239. */
  46240. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_STEP_CNT_MASK)
  46241. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46242. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46243. /*! CNT_MODE - Count mode
  46244. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46245. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46246. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46247. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46248. */
  46249. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_CNT_MODE_MASK)
  46250. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46251. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_SHIFT (31U)
  46252. /*! DISABLE - Disable this step
  46253. */
  46254. #define GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_DCDC_OUT_CTRL_DISABLE_MASK)
  46255. /*! @} */
  46256. /*! @name STBY_LDO_OUT_CTRL - STBY LDO out control */
  46257. /*! @{ */
  46258. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46259. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46260. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46261. */
  46262. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_STEP_CNT_MASK)
  46263. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46264. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46265. /*! CNT_MODE - Count mode
  46266. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46267. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46268. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46269. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46270. */
  46271. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_CNT_MODE_MASK)
  46272. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46273. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_SHIFT (31U)
  46274. /*! DISABLE - Disable this step
  46275. */
  46276. #define GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_LDO_OUT_CTRL_DISABLE_MASK)
  46277. /*! @} */
  46278. /*! @name STBY_BANDGAP_OUT_CTRL - STBY bandgap out control */
  46279. /*! @{ */
  46280. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46281. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46282. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46283. */
  46284. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_STEP_CNT_MASK)
  46285. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46286. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46287. /*! CNT_MODE - Count mode
  46288. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46289. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46290. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46291. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46292. */
  46293. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_CNT_MODE_MASK)
  46294. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46295. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_SHIFT (31U)
  46296. /*! DISABLE - Disable this step
  46297. */
  46298. #define GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_BANDGAP_OUT_CTRL_DISABLE_MASK)
  46299. /*! @} */
  46300. /*! @name STBY_PLDO_OUT_CTRL - STBY pldo out control */
  46301. /*! @{ */
  46302. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46303. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46304. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46305. */
  46306. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_STEP_CNT_MASK)
  46307. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46308. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46309. /*! CNT_MODE - Count mode
  46310. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46311. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46312. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46313. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46314. */
  46315. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_CNT_MODE_MASK)
  46316. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46317. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_SHIFT (31U)
  46318. /*! DISABLE - Disable this step
  46319. */
  46320. #define GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PLDO_OUT_CTRL_DISABLE_MASK)
  46321. /*! @} */
  46322. /*! @name STBY_BIAS_OUT_CTRL - STBY bias out control */
  46323. /*! @{ */
  46324. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46325. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46326. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46327. */
  46328. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_STEP_CNT_MASK)
  46329. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46330. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46331. /*! CNT_MODE - Count mode
  46332. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46333. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46334. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46335. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46336. */
  46337. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_CNT_MODE_MASK)
  46338. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46339. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_SHIFT (31U)
  46340. /*! DISABLE - Disable this step
  46341. */
  46342. #define GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_BIAS_OUT_CTRL_DISABLE_MASK)
  46343. /*! @} */
  46344. /*! @name STBY_PLL_OUT_CTRL - STBY PLL out control */
  46345. /*! @{ */
  46346. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46347. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46348. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46349. */
  46350. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_STEP_CNT_MASK)
  46351. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46352. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46353. /*! CNT_MODE - Count mode
  46354. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46355. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46356. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46357. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46358. */
  46359. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_CNT_MODE_MASK)
  46360. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46361. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_SHIFT (31U)
  46362. /*! DISABLE - Disable this step
  46363. */
  46364. #define GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_PLL_OUT_CTRL_DISABLE_MASK)
  46365. /*! @} */
  46366. /*! @name STBY_LPCG_OUT_CTRL - STBY LPCG out control */
  46367. /*! @{ */
  46368. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_MASK (0xFFFFU)
  46369. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_SHIFT (0U)
  46370. /*! STEP_CNT - Step count, useage is depending on CNT_MODE
  46371. */
  46372. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_STEP_CNT_MASK)
  46373. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_MASK (0x30000000U)
  46374. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_SHIFT (28U)
  46375. /*! CNT_MODE - Count mode
  46376. * 0b00..Counter disable mode: not use step counter, step completes once receiving step_done
  46377. * 0b01..Counter delay mode: delay after receiving step_done, delay cycle number is STEP_CNT
  46378. * 0b10..Ignore step_done response, the counter starts to count once step begins, when counter reaches STEP_CNT value, the step completes
  46379. * 0b11..Time out mode, the counter starts to count once step begins, the step completes when either step_done received or counting to STEP_CNT value
  46380. */
  46381. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_CNT_MODE_MASK)
  46382. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_MASK (0x80000000U)
  46383. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_SHIFT (31U)
  46384. /*! DISABLE - Disable this step
  46385. */
  46386. #define GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_SHIFT)) & GPC_STBY_CTRL_STBY_LPCG_OUT_CTRL_DISABLE_MASK)
  46387. /*! @} */
  46388. /*!
  46389. * @}
  46390. */ /* end of group GPC_STBY_CTRL_Register_Masks */
  46391. /* GPC_STBY_CTRL - Peripheral instance base addresses */
  46392. /** Peripheral GPC_STBY_CTRL base address */
  46393. #define GPC_STBY_CTRL_BASE (0x40C02800u)
  46394. /** Peripheral GPC_STBY_CTRL base pointer */
  46395. #define GPC_STBY_CTRL ((GPC_STBY_CTRL_Type *)GPC_STBY_CTRL_BASE)
  46396. /** Array initializer of GPC_STBY_CTRL peripheral base addresses */
  46397. #define GPC_STBY_CTRL_BASE_ADDRS { GPC_STBY_CTRL_BASE }
  46398. /** Array initializer of GPC_STBY_CTRL peripheral base pointers */
  46399. #define GPC_STBY_CTRL_BASE_PTRS { GPC_STBY_CTRL }
  46400. /*!
  46401. * @}
  46402. */ /* end of group GPC_STBY_CTRL_Peripheral_Access_Layer */
  46403. /* ----------------------------------------------------------------------------
  46404. -- GPIO Peripheral Access Layer
  46405. ---------------------------------------------------------------------------- */
  46406. /*!
  46407. * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
  46408. * @{
  46409. */
  46410. /** GPIO - Register Layout Typedef */
  46411. typedef struct {
  46412. __IO uint32_t DR; /**< GPIO data register, offset: 0x0 */
  46413. __IO uint32_t GDIR; /**< GPIO direction register, offset: 0x4 */
  46414. __I uint32_t PSR; /**< GPIO pad status register, offset: 0x8 */
  46415. __IO uint32_t ICR1; /**< GPIO interrupt configuration register1, offset: 0xC */
  46416. __IO uint32_t ICR2; /**< GPIO interrupt configuration register2, offset: 0x10 */
  46417. __IO uint32_t IMR; /**< GPIO interrupt mask register, offset: 0x14 */
  46418. __IO uint32_t ISR; /**< GPIO interrupt status register, offset: 0x18 */
  46419. __IO uint32_t EDGE_SEL; /**< GPIO edge select register, offset: 0x1C */
  46420. uint8_t RESERVED_0[100];
  46421. __O uint32_t DR_SET; /**< GPIO data register SET, offset: 0x84 */
  46422. __O uint32_t DR_CLEAR; /**< GPIO data register CLEAR, offset: 0x88 */
  46423. __O uint32_t DR_TOGGLE; /**< GPIO data register TOGGLE, offset: 0x8C */
  46424. } GPIO_Type;
  46425. /* ----------------------------------------------------------------------------
  46426. -- GPIO Register Masks
  46427. ---------------------------------------------------------------------------- */
  46428. /*!
  46429. * @addtogroup GPIO_Register_Masks GPIO Register Masks
  46430. * @{
  46431. */
  46432. /*! @name DR - GPIO data register */
  46433. /*! @{ */
  46434. #define GPIO_DR_DR_MASK (0xFFFFFFFFU)
  46435. #define GPIO_DR_DR_SHIFT (0U)
  46436. /*! DR - DR data bits
  46437. */
  46438. #define GPIO_DR_DR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_DR_SHIFT)) & GPIO_DR_DR_MASK)
  46439. /*! @} */
  46440. /*! @name GDIR - GPIO direction register */
  46441. /*! @{ */
  46442. #define GPIO_GDIR_GDIR_MASK (0xFFFFFFFFU)
  46443. #define GPIO_GDIR_GDIR_SHIFT (0U)
  46444. /*! GDIR - GPIO direction bits
  46445. */
  46446. #define GPIO_GDIR_GDIR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_GDIR_GDIR_SHIFT)) & GPIO_GDIR_GDIR_MASK)
  46447. /*! @} */
  46448. /*! @name PSR - GPIO pad status register */
  46449. /*! @{ */
  46450. #define GPIO_PSR_PSR_MASK (0xFFFFFFFFU)
  46451. #define GPIO_PSR_PSR_SHIFT (0U)
  46452. /*! PSR - GPIO pad status bits
  46453. */
  46454. #define GPIO_PSR_PSR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSR_PSR_SHIFT)) & GPIO_PSR_PSR_MASK)
  46455. /*! @} */
  46456. /*! @name ICR1 - GPIO interrupt configuration register1 */
  46457. /*! @{ */
  46458. #define GPIO_ICR1_ICR0_MASK (0x3U)
  46459. #define GPIO_ICR1_ICR0_SHIFT (0U)
  46460. /*! ICR0 - Interrupt configuration field for GPIO interrupt 0
  46461. * 0b00..Interrupt 0 is low-level sensitive.
  46462. * 0b01..Interrupt 0 is high-level sensitive.
  46463. * 0b10..Interrupt 0 is rising-edge sensitive.
  46464. * 0b11..Interrupt 0 is falling-edge sensitive.
  46465. */
  46466. #define GPIO_ICR1_ICR0(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR0_SHIFT)) & GPIO_ICR1_ICR0_MASK)
  46467. #define GPIO_ICR1_ICR1_MASK (0xCU)
  46468. #define GPIO_ICR1_ICR1_SHIFT (2U)
  46469. /*! ICR1 - Interrupt configuration field for GPIO interrupt 1
  46470. * 0b00..Interrupt 1 is low-level sensitive.
  46471. * 0b01..Interrupt 1 is high-level sensitive.
  46472. * 0b10..Interrupt 1 is rising-edge sensitive.
  46473. * 0b11..Interrupt 1 is falling-edge sensitive.
  46474. */
  46475. #define GPIO_ICR1_ICR1(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR1_SHIFT)) & GPIO_ICR1_ICR1_MASK)
  46476. #define GPIO_ICR1_ICR2_MASK (0x30U)
  46477. #define GPIO_ICR1_ICR2_SHIFT (4U)
  46478. /*! ICR2 - Interrupt configuration field for GPIO interrupt 2
  46479. * 0b00..Interrupt 2 is low-level sensitive.
  46480. * 0b01..Interrupt 2 is high-level sensitive.
  46481. * 0b10..Interrupt 2 is rising-edge sensitive.
  46482. * 0b11..Interrupt 2 is falling-edge sensitive.
  46483. */
  46484. #define GPIO_ICR1_ICR2(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR2_SHIFT)) & GPIO_ICR1_ICR2_MASK)
  46485. #define GPIO_ICR1_ICR3_MASK (0xC0U)
  46486. #define GPIO_ICR1_ICR3_SHIFT (6U)
  46487. /*! ICR3 - Interrupt configuration field for GPIO interrupt 3
  46488. * 0b00..Interrupt 3 is low-level sensitive.
  46489. * 0b01..Interrupt 3 is high-level sensitive.
  46490. * 0b10..Interrupt 3 is rising-edge sensitive.
  46491. * 0b11..Interrupt 3 is falling-edge sensitive.
  46492. */
  46493. #define GPIO_ICR1_ICR3(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR3_SHIFT)) & GPIO_ICR1_ICR3_MASK)
  46494. #define GPIO_ICR1_ICR4_MASK (0x300U)
  46495. #define GPIO_ICR1_ICR4_SHIFT (8U)
  46496. /*! ICR4 - Interrupt configuration field for GPIO interrupt 4
  46497. * 0b00..Interrupt 4 is low-level sensitive.
  46498. * 0b01..Interrupt 4 is high-level sensitive.
  46499. * 0b10..Interrupt 4 is rising-edge sensitive.
  46500. * 0b11..Interrupt 4 is falling-edge sensitive.
  46501. */
  46502. #define GPIO_ICR1_ICR4(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR4_SHIFT)) & GPIO_ICR1_ICR4_MASK)
  46503. #define GPIO_ICR1_ICR5_MASK (0xC00U)
  46504. #define GPIO_ICR1_ICR5_SHIFT (10U)
  46505. /*! ICR5 - Interrupt configuration field for GPIO interrupt 5
  46506. * 0b00..Interrupt 5 is low-level sensitive.
  46507. * 0b01..Interrupt 5 is high-level sensitive.
  46508. * 0b10..Interrupt 5 is rising-edge sensitive.
  46509. * 0b11..Interrupt 5 is falling-edge sensitive.
  46510. */
  46511. #define GPIO_ICR1_ICR5(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR5_SHIFT)) & GPIO_ICR1_ICR5_MASK)
  46512. #define GPIO_ICR1_ICR6_MASK (0x3000U)
  46513. #define GPIO_ICR1_ICR6_SHIFT (12U)
  46514. /*! ICR6 - Interrupt configuration field for GPIO interrupt 6
  46515. * 0b00..Interrupt 6 is low-level sensitive.
  46516. * 0b01..Interrupt 6 is high-level sensitive.
  46517. * 0b10..Interrupt 6 is rising-edge sensitive.
  46518. * 0b11..Interrupt 6 is falling-edge sensitive.
  46519. */
  46520. #define GPIO_ICR1_ICR6(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR6_SHIFT)) & GPIO_ICR1_ICR6_MASK)
  46521. #define GPIO_ICR1_ICR7_MASK (0xC000U)
  46522. #define GPIO_ICR1_ICR7_SHIFT (14U)
  46523. /*! ICR7 - Interrupt configuration field for GPIO interrupt 7
  46524. * 0b00..Interrupt 7 is low-level sensitive.
  46525. * 0b01..Interrupt 7 is high-level sensitive.
  46526. * 0b10..Interrupt 7 is rising-edge sensitive.
  46527. * 0b11..Interrupt 7 is falling-edge sensitive.
  46528. */
  46529. #define GPIO_ICR1_ICR7(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR7_SHIFT)) & GPIO_ICR1_ICR7_MASK)
  46530. #define GPIO_ICR1_ICR8_MASK (0x30000U)
  46531. #define GPIO_ICR1_ICR8_SHIFT (16U)
  46532. /*! ICR8 - Interrupt configuration field for GPIO interrupt 8
  46533. * 0b00..Interrupt 8 is low-level sensitive.
  46534. * 0b01..Interrupt 8 is high-level sensitive.
  46535. * 0b10..Interrupt 8 is rising-edge sensitive.
  46536. * 0b11..Interrupt 8 is falling-edge sensitive.
  46537. */
  46538. #define GPIO_ICR1_ICR8(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR8_SHIFT)) & GPIO_ICR1_ICR8_MASK)
  46539. #define GPIO_ICR1_ICR9_MASK (0xC0000U)
  46540. #define GPIO_ICR1_ICR9_SHIFT (18U)
  46541. /*! ICR9 - Interrupt configuration field for GPIO interrupt 9
  46542. * 0b00..Interrupt 9 is low-level sensitive.
  46543. * 0b01..Interrupt 9 is high-level sensitive.
  46544. * 0b10..Interrupt 9 is rising-edge sensitive.
  46545. * 0b11..Interrupt 9 is falling-edge sensitive.
  46546. */
  46547. #define GPIO_ICR1_ICR9(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR9_SHIFT)) & GPIO_ICR1_ICR9_MASK)
  46548. #define GPIO_ICR1_ICR10_MASK (0x300000U)
  46549. #define GPIO_ICR1_ICR10_SHIFT (20U)
  46550. /*! ICR10 - Interrupt configuration field for GPIO interrupt 10
  46551. * 0b00..Interrupt 10 is low-level sensitive.
  46552. * 0b01..Interrupt 10 is high-level sensitive.
  46553. * 0b10..Interrupt 10 is rising-edge sensitive.
  46554. * 0b11..Interrupt 10 is falling-edge sensitive.
  46555. */
  46556. #define GPIO_ICR1_ICR10(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR10_SHIFT)) & GPIO_ICR1_ICR10_MASK)
  46557. #define GPIO_ICR1_ICR11_MASK (0xC00000U)
  46558. #define GPIO_ICR1_ICR11_SHIFT (22U)
  46559. /*! ICR11 - Interrupt configuration field for GPIO interrupt 11
  46560. * 0b00..Interrupt 11 is low-level sensitive.
  46561. * 0b01..Interrupt 11 is high-level sensitive.
  46562. * 0b10..Interrupt 11 is rising-edge sensitive.
  46563. * 0b11..Interrupt 11 is falling-edge sensitive.
  46564. */
  46565. #define GPIO_ICR1_ICR11(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR11_SHIFT)) & GPIO_ICR1_ICR11_MASK)
  46566. #define GPIO_ICR1_ICR12_MASK (0x3000000U)
  46567. #define GPIO_ICR1_ICR12_SHIFT (24U)
  46568. /*! ICR12 - Interrupt configuration field for GPIO interrupt 12
  46569. * 0b00..Interrupt 12 is low-level sensitive.
  46570. * 0b01..Interrupt 12 is high-level sensitive.
  46571. * 0b10..Interrupt 12 is rising-edge sensitive.
  46572. * 0b11..Interrupt 12 is falling-edge sensitive.
  46573. */
  46574. #define GPIO_ICR1_ICR12(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR12_SHIFT)) & GPIO_ICR1_ICR12_MASK)
  46575. #define GPIO_ICR1_ICR13_MASK (0xC000000U)
  46576. #define GPIO_ICR1_ICR13_SHIFT (26U)
  46577. /*! ICR13 - Interrupt configuration field for GPIO interrupt 13
  46578. * 0b00..Interrupt 13 is low-level sensitive.
  46579. * 0b01..Interrupt 13 is high-level sensitive.
  46580. * 0b10..Interrupt 13 is rising-edge sensitive.
  46581. * 0b11..Interrupt 13 is falling-edge sensitive.
  46582. */
  46583. #define GPIO_ICR1_ICR13(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR13_SHIFT)) & GPIO_ICR1_ICR13_MASK)
  46584. #define GPIO_ICR1_ICR14_MASK (0x30000000U)
  46585. #define GPIO_ICR1_ICR14_SHIFT (28U)
  46586. /*! ICR14 - Interrupt configuration field for GPIO interrupt 14
  46587. * 0b00..Interrupt 14 is low-level sensitive.
  46588. * 0b01..Interrupt 14 is high-level sensitive.
  46589. * 0b10..Interrupt 14 is rising-edge sensitive.
  46590. * 0b11..Interrupt 14 is falling-edge sensitive.
  46591. */
  46592. #define GPIO_ICR1_ICR14(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR14_SHIFT)) & GPIO_ICR1_ICR14_MASK)
  46593. #define GPIO_ICR1_ICR15_MASK (0xC0000000U)
  46594. #define GPIO_ICR1_ICR15_SHIFT (30U)
  46595. /*! ICR15 - Interrupt configuration field for GPIO interrupt 15
  46596. * 0b00..Interrupt 15 is low-level sensitive.
  46597. * 0b01..Interrupt 15 is high-level sensitive.
  46598. * 0b10..Interrupt 15 is rising-edge sensitive.
  46599. * 0b11..Interrupt 15 is falling-edge sensitive.
  46600. */
  46601. #define GPIO_ICR1_ICR15(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR1_ICR15_SHIFT)) & GPIO_ICR1_ICR15_MASK)
  46602. /*! @} */
  46603. /*! @name ICR2 - GPIO interrupt configuration register2 */
  46604. /*! @{ */
  46605. #define GPIO_ICR2_ICR16_MASK (0x3U)
  46606. #define GPIO_ICR2_ICR16_SHIFT (0U)
  46607. /*! ICR16 - Interrupt configuration field for GPIO interrupt 16
  46608. * 0b00..Interrupt 16 is low-level sensitive.
  46609. * 0b01..Interrupt 16 is high-level sensitive.
  46610. * 0b10..Interrupt 16 is rising-edge sensitive.
  46611. * 0b11..Interrupt 16 is falling-edge sensitive.
  46612. */
  46613. #define GPIO_ICR2_ICR16(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR16_SHIFT)) & GPIO_ICR2_ICR16_MASK)
  46614. #define GPIO_ICR2_ICR17_MASK (0xCU)
  46615. #define GPIO_ICR2_ICR17_SHIFT (2U)
  46616. /*! ICR17 - Interrupt configuration field for GPIO interrupt 17
  46617. * 0b00..Interrupt 17 is low-level sensitive.
  46618. * 0b01..Interrupt 17 is high-level sensitive.
  46619. * 0b10..Interrupt 17 is rising-edge sensitive.
  46620. * 0b11..Interrupt 17 is falling-edge sensitive.
  46621. */
  46622. #define GPIO_ICR2_ICR17(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR17_SHIFT)) & GPIO_ICR2_ICR17_MASK)
  46623. #define GPIO_ICR2_ICR18_MASK (0x30U)
  46624. #define GPIO_ICR2_ICR18_SHIFT (4U)
  46625. /*! ICR18 - Interrupt configuration field for GPIO interrupt 18
  46626. * 0b00..Interrupt 18 is low-level sensitive.
  46627. * 0b01..Interrupt 18 is high-level sensitive.
  46628. * 0b10..Interrupt 18 is rising-edge sensitive.
  46629. * 0b11..Interrupt 18 is falling-edge sensitive.
  46630. */
  46631. #define GPIO_ICR2_ICR18(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR18_SHIFT)) & GPIO_ICR2_ICR18_MASK)
  46632. #define GPIO_ICR2_ICR19_MASK (0xC0U)
  46633. #define GPIO_ICR2_ICR19_SHIFT (6U)
  46634. /*! ICR19 - Interrupt configuration field for GPIO interrupt 19
  46635. * 0b00..Interrupt 19 is low-level sensitive.
  46636. * 0b01..Interrupt 19 is high-level sensitive.
  46637. * 0b10..Interrupt 19 is rising-edge sensitive.
  46638. * 0b11..Interrupt 19 is falling-edge sensitive.
  46639. */
  46640. #define GPIO_ICR2_ICR19(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR19_SHIFT)) & GPIO_ICR2_ICR19_MASK)
  46641. #define GPIO_ICR2_ICR20_MASK (0x300U)
  46642. #define GPIO_ICR2_ICR20_SHIFT (8U)
  46643. /*! ICR20 - Interrupt configuration field for GPIO interrupt 20
  46644. * 0b00..Interrupt 20 is low-level sensitive.
  46645. * 0b01..Interrupt 20 is high-level sensitive.
  46646. * 0b10..Interrupt 20 is rising-edge sensitive.
  46647. * 0b11..Interrupt 20 is falling-edge sensitive.
  46648. */
  46649. #define GPIO_ICR2_ICR20(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR20_SHIFT)) & GPIO_ICR2_ICR20_MASK)
  46650. #define GPIO_ICR2_ICR21_MASK (0xC00U)
  46651. #define GPIO_ICR2_ICR21_SHIFT (10U)
  46652. /*! ICR21 - Interrupt configuration field for GPIO interrupt 21
  46653. * 0b00..Interrupt 21 is low-level sensitive.
  46654. * 0b01..Interrupt 21 is high-level sensitive.
  46655. * 0b10..Interrupt 21 is rising-edge sensitive.
  46656. * 0b11..Interrupt 21 is falling-edge sensitive.
  46657. */
  46658. #define GPIO_ICR2_ICR21(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR21_SHIFT)) & GPIO_ICR2_ICR21_MASK)
  46659. #define GPIO_ICR2_ICR22_MASK (0x3000U)
  46660. #define GPIO_ICR2_ICR22_SHIFT (12U)
  46661. /*! ICR22 - Interrupt configuration field for GPIO interrupt 22
  46662. * 0b00..Interrupt 22 is low-level sensitive.
  46663. * 0b01..Interrupt 22 is high-level sensitive.
  46664. * 0b10..Interrupt 22 is rising-edge sensitive.
  46665. * 0b11..Interrupt 22 is falling-edge sensitive.
  46666. */
  46667. #define GPIO_ICR2_ICR22(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR22_SHIFT)) & GPIO_ICR2_ICR22_MASK)
  46668. #define GPIO_ICR2_ICR23_MASK (0xC000U)
  46669. #define GPIO_ICR2_ICR23_SHIFT (14U)
  46670. /*! ICR23 - Interrupt configuration field for GPIO interrupt 23
  46671. * 0b00..Interrupt 23 is low-level sensitive.
  46672. * 0b01..Interrupt 23 is high-level sensitive.
  46673. * 0b10..Interrupt 23 is rising-edge sensitive.
  46674. * 0b11..Interrupt 23 is falling-edge sensitive.
  46675. */
  46676. #define GPIO_ICR2_ICR23(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR23_SHIFT)) & GPIO_ICR2_ICR23_MASK)
  46677. #define GPIO_ICR2_ICR24_MASK (0x30000U)
  46678. #define GPIO_ICR2_ICR24_SHIFT (16U)
  46679. /*! ICR24 - Interrupt configuration field for GPIO interrupt 24
  46680. * 0b00..Interrupt 24 is low-level sensitive.
  46681. * 0b01..Interrupt 24 is high-level sensitive.
  46682. * 0b10..Interrupt 24 is rising-edge sensitive.
  46683. * 0b11..Interrupt 24 is falling-edge sensitive.
  46684. */
  46685. #define GPIO_ICR2_ICR24(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR24_SHIFT)) & GPIO_ICR2_ICR24_MASK)
  46686. #define GPIO_ICR2_ICR25_MASK (0xC0000U)
  46687. #define GPIO_ICR2_ICR25_SHIFT (18U)
  46688. /*! ICR25 - Interrupt configuration field for GPIO interrupt 25
  46689. * 0b00..Interrupt 25 is low-level sensitive.
  46690. * 0b01..Interrupt 25 is high-level sensitive.
  46691. * 0b10..Interrupt 25 is rising-edge sensitive.
  46692. * 0b11..Interrupt 25 is falling-edge sensitive.
  46693. */
  46694. #define GPIO_ICR2_ICR25(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR25_SHIFT)) & GPIO_ICR2_ICR25_MASK)
  46695. #define GPIO_ICR2_ICR26_MASK (0x300000U)
  46696. #define GPIO_ICR2_ICR26_SHIFT (20U)
  46697. /*! ICR26 - Interrupt configuration field for GPIO interrupt 26
  46698. * 0b00..Interrupt 26 is low-level sensitive.
  46699. * 0b01..Interrupt 26 is high-level sensitive.
  46700. * 0b10..Interrupt 26 is rising-edge sensitive.
  46701. * 0b11..Interrupt 26 is falling-edge sensitive.
  46702. */
  46703. #define GPIO_ICR2_ICR26(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR26_SHIFT)) & GPIO_ICR2_ICR26_MASK)
  46704. #define GPIO_ICR2_ICR27_MASK (0xC00000U)
  46705. #define GPIO_ICR2_ICR27_SHIFT (22U)
  46706. /*! ICR27 - Interrupt configuration field for GPIO interrupt 27
  46707. * 0b00..Interrupt 27 is low-level sensitive.
  46708. * 0b01..Interrupt 27 is high-level sensitive.
  46709. * 0b10..Interrupt 27 is rising-edge sensitive.
  46710. * 0b11..Interrupt 27 is falling-edge sensitive.
  46711. */
  46712. #define GPIO_ICR2_ICR27(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR27_SHIFT)) & GPIO_ICR2_ICR27_MASK)
  46713. #define GPIO_ICR2_ICR28_MASK (0x3000000U)
  46714. #define GPIO_ICR2_ICR28_SHIFT (24U)
  46715. /*! ICR28 - Interrupt configuration field for GPIO interrupt 28
  46716. * 0b00..Interrupt 28 is low-level sensitive.
  46717. * 0b01..Interrupt 28 is high-level sensitive.
  46718. * 0b10..Interrupt 28 is rising-edge sensitive.
  46719. * 0b11..Interrupt 28 is falling-edge sensitive.
  46720. */
  46721. #define GPIO_ICR2_ICR28(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR28_SHIFT)) & GPIO_ICR2_ICR28_MASK)
  46722. #define GPIO_ICR2_ICR29_MASK (0xC000000U)
  46723. #define GPIO_ICR2_ICR29_SHIFT (26U)
  46724. /*! ICR29 - Interrupt configuration field for GPIO interrupt 29
  46725. * 0b00..Interrupt 29 is low-level sensitive.
  46726. * 0b01..Interrupt 29 is high-level sensitive.
  46727. * 0b10..Interrupt 29 is rising-edge sensitive.
  46728. * 0b11..Interrupt 29 is falling-edge sensitive.
  46729. */
  46730. #define GPIO_ICR2_ICR29(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR29_SHIFT)) & GPIO_ICR2_ICR29_MASK)
  46731. #define GPIO_ICR2_ICR30_MASK (0x30000000U)
  46732. #define GPIO_ICR2_ICR30_SHIFT (28U)
  46733. /*! ICR30 - Interrupt configuration field for GPIO interrupt 30
  46734. * 0b00..Interrupt 30 is low-level sensitive.
  46735. * 0b01..Interrupt 30 is high-level sensitive.
  46736. * 0b10..Interrupt 30 is rising-edge sensitive.
  46737. * 0b11..Interrupt 30 is falling-edge sensitive.
  46738. */
  46739. #define GPIO_ICR2_ICR30(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR30_SHIFT)) & GPIO_ICR2_ICR30_MASK)
  46740. #define GPIO_ICR2_ICR31_MASK (0xC0000000U)
  46741. #define GPIO_ICR2_ICR31_SHIFT (30U)
  46742. /*! ICR31 - Interrupt configuration field for GPIO interrupt 31
  46743. * 0b00..Interrupt 31 is low-level sensitive.
  46744. * 0b01..Interrupt 31 is high-level sensitive.
  46745. * 0b10..Interrupt 31 is rising-edge sensitive.
  46746. * 0b11..Interrupt 31 is falling-edge sensitive.
  46747. */
  46748. #define GPIO_ICR2_ICR31(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ICR2_ICR31_SHIFT)) & GPIO_ICR2_ICR31_MASK)
  46749. /*! @} */
  46750. /*! @name IMR - GPIO interrupt mask register */
  46751. /*! @{ */
  46752. #define GPIO_IMR_IMR_MASK (0xFFFFFFFFU)
  46753. #define GPIO_IMR_IMR_SHIFT (0U)
  46754. /*! IMR - Interrupt Mask bits
  46755. */
  46756. #define GPIO_IMR_IMR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_IMR_IMR_SHIFT)) & GPIO_IMR_IMR_MASK)
  46757. /*! @} */
  46758. /*! @name ISR - GPIO interrupt status register */
  46759. /*! @{ */
  46760. #define GPIO_ISR_ISR_MASK (0xFFFFFFFFU)
  46761. #define GPIO_ISR_ISR_SHIFT (0U)
  46762. /*! ISR - Interrupt status bits
  46763. */
  46764. #define GPIO_ISR_ISR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_ISR_ISR_SHIFT)) & GPIO_ISR_ISR_MASK)
  46765. /*! @} */
  46766. /*! @name EDGE_SEL - GPIO edge select register */
  46767. /*! @{ */
  46768. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_MASK (0xFFFFFFFFU)
  46769. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL_SHIFT (0U)
  46770. /*! GPIO_EDGE_SEL - Edge select
  46771. */
  46772. #define GPIO_EDGE_SEL_GPIO_EDGE_SEL(x) (((uint32_t)(((uint32_t)(x)) << GPIO_EDGE_SEL_GPIO_EDGE_SEL_SHIFT)) & GPIO_EDGE_SEL_GPIO_EDGE_SEL_MASK)
  46773. /*! @} */
  46774. /*! @name DR_SET - GPIO data register SET */
  46775. /*! @{ */
  46776. #define GPIO_DR_SET_DR_SET_MASK (0xFFFFFFFFU)
  46777. #define GPIO_DR_SET_DR_SET_SHIFT (0U)
  46778. /*! DR_SET - Set
  46779. */
  46780. #define GPIO_DR_SET_DR_SET(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_SET_DR_SET_SHIFT)) & GPIO_DR_SET_DR_SET_MASK)
  46781. /*! @} */
  46782. /*! @name DR_CLEAR - GPIO data register CLEAR */
  46783. /*! @{ */
  46784. #define GPIO_DR_CLEAR_DR_CLEAR_MASK (0xFFFFFFFFU)
  46785. #define GPIO_DR_CLEAR_DR_CLEAR_SHIFT (0U)
  46786. /*! DR_CLEAR - Clear
  46787. */
  46788. #define GPIO_DR_CLEAR_DR_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_CLEAR_DR_CLEAR_SHIFT)) & GPIO_DR_CLEAR_DR_CLEAR_MASK)
  46789. /*! @} */
  46790. /*! @name DR_TOGGLE - GPIO data register TOGGLE */
  46791. /*! @{ */
  46792. #define GPIO_DR_TOGGLE_DR_TOGGLE_MASK (0xFFFFFFFFU)
  46793. #define GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT (0U)
  46794. /*! DR_TOGGLE - Toggle
  46795. */
  46796. #define GPIO_DR_TOGGLE_DR_TOGGLE(x) (((uint32_t)(((uint32_t)(x)) << GPIO_DR_TOGGLE_DR_TOGGLE_SHIFT)) & GPIO_DR_TOGGLE_DR_TOGGLE_MASK)
  46797. /*! @} */
  46798. /*!
  46799. * @}
  46800. */ /* end of group GPIO_Register_Masks */
  46801. /* GPIO - Peripheral instance base addresses */
  46802. /** Peripheral GPIO1 base address */
  46803. #define GPIO1_BASE (0x4012C000u)
  46804. /** Peripheral GPIO1 base pointer */
  46805. #define GPIO1 ((GPIO_Type *)GPIO1_BASE)
  46806. /** Peripheral GPIO2 base address */
  46807. #define GPIO2_BASE (0x40130000u)
  46808. /** Peripheral GPIO2 base pointer */
  46809. #define GPIO2 ((GPIO_Type *)GPIO2_BASE)
  46810. /** Peripheral GPIO3 base address */
  46811. #define GPIO3_BASE (0x40134000u)
  46812. /** Peripheral GPIO3 base pointer */
  46813. #define GPIO3 ((GPIO_Type *)GPIO3_BASE)
  46814. /** Peripheral GPIO4 base address */
  46815. #define GPIO4_BASE (0x40138000u)
  46816. /** Peripheral GPIO4 base pointer */
  46817. #define GPIO4 ((GPIO_Type *)GPIO4_BASE)
  46818. /** Peripheral GPIO5 base address */
  46819. #define GPIO5_BASE (0x4013C000u)
  46820. /** Peripheral GPIO5 base pointer */
  46821. #define GPIO5 ((GPIO_Type *)GPIO5_BASE)
  46822. /** Peripheral GPIO6 base address */
  46823. #define GPIO6_BASE (0x40140000u)
  46824. /** Peripheral GPIO6 base pointer */
  46825. #define GPIO6 ((GPIO_Type *)GPIO6_BASE)
  46826. /** Peripheral GPIO7 base address */
  46827. #define GPIO7_BASE (0x40C5C000u)
  46828. /** Peripheral GPIO7 base pointer */
  46829. #define GPIO7 ((GPIO_Type *)GPIO7_BASE)
  46830. /** Peripheral GPIO8 base address */
  46831. #define GPIO8_BASE (0x40C60000u)
  46832. /** Peripheral GPIO8 base pointer */
  46833. #define GPIO8 ((GPIO_Type *)GPIO8_BASE)
  46834. /** Peripheral GPIO9 base address */
  46835. #define GPIO9_BASE (0x40C64000u)
  46836. /** Peripheral GPIO9 base pointer */
  46837. #define GPIO9 ((GPIO_Type *)GPIO9_BASE)
  46838. /** Peripheral GPIO10 base address */
  46839. #define GPIO10_BASE (0x40C68000u)
  46840. /** Peripheral GPIO10 base pointer */
  46841. #define GPIO10 ((GPIO_Type *)GPIO10_BASE)
  46842. /** Peripheral GPIO11 base address */
  46843. #define GPIO11_BASE (0x40C6C000u)
  46844. /** Peripheral GPIO11 base pointer */
  46845. #define GPIO11 ((GPIO_Type *)GPIO11_BASE)
  46846. /** Peripheral GPIO12 base address */
  46847. #define GPIO12_BASE (0x40C70000u)
  46848. /** Peripheral GPIO12 base pointer */
  46849. #define GPIO12 ((GPIO_Type *)GPIO12_BASE)
  46850. /** Peripheral GPIO13 base address */
  46851. #define GPIO13_BASE (0x40CA0000u)
  46852. /** Peripheral GPIO13 base pointer */
  46853. #define GPIO13 ((GPIO_Type *)GPIO13_BASE)
  46854. /** Peripheral CM7_GPIO2 base address */
  46855. #define CM7_GPIO2_BASE (0x42008000u)
  46856. /** Peripheral CM7_GPIO2 base pointer */
  46857. #define CM7_GPIO2 ((GPIO_Type *)CM7_GPIO2_BASE)
  46858. /** Peripheral CM7_GPIO3 base address */
  46859. #define CM7_GPIO3_BASE (0x4200C000u)
  46860. /** Peripheral CM7_GPIO3 base pointer */
  46861. #define CM7_GPIO3 ((GPIO_Type *)CM7_GPIO3_BASE)
  46862. /** Array initializer of GPIO peripheral base addresses */
  46863. #define GPIO_BASE_ADDRS { 0u, GPIO1_BASE, GPIO2_BASE, GPIO3_BASE, GPIO4_BASE, GPIO5_BASE, GPIO6_BASE, GPIO7_BASE, GPIO8_BASE, GPIO9_BASE, GPIO10_BASE, GPIO11_BASE, GPIO12_BASE, GPIO13_BASE, CM7_GPIO2_BASE, CM7_GPIO3_BASE }
  46864. /** Array initializer of GPIO peripheral base pointers */
  46865. #define GPIO_BASE_PTRS { (GPIO_Type *)0u, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, CM7_GPIO2, CM7_GPIO3 }
  46866. /** Interrupt vectors for the GPIO peripheral type */
  46867. #define GPIO_COMBINED_LOW_IRQS { NotAvail_IRQn, GPIO1_Combined_0_15_IRQn, GPIO2_Combined_0_15_IRQn, GPIO3_Combined_0_15_IRQn, GPIO4_Combined_0_15_IRQn, GPIO5_Combined_0_15_IRQn, GPIO6_Combined_0_15_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, GPIO13_Combined_0_31_IRQn, CM7_GPIO2_3_IRQn, CM7_GPIO2_3_IRQn }
  46868. #define GPIO_COMBINED_HIGH_IRQS { NotAvail_IRQn, GPIO1_Combined_16_31_IRQn, GPIO2_Combined_16_31_IRQn, GPIO3_Combined_16_31_IRQn, GPIO4_Combined_16_31_IRQn, GPIO5_Combined_16_31_IRQn, GPIO6_Combined_16_31_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, GPIO13_Combined_0_31_IRQn, CM7_GPIO2_3_IRQn, CM7_GPIO2_3_IRQn }
  46869. /*!
  46870. * @}
  46871. */ /* end of group GPIO_Peripheral_Access_Layer */
  46872. /* ----------------------------------------------------------------------------
  46873. -- GPT Peripheral Access Layer
  46874. ---------------------------------------------------------------------------- */
  46875. /*!
  46876. * @addtogroup GPT_Peripheral_Access_Layer GPT Peripheral Access Layer
  46877. * @{
  46878. */
  46879. /** GPT - Register Layout Typedef */
  46880. typedef struct {
  46881. __IO uint32_t CR; /**< GPT Control Register, offset: 0x0 */
  46882. __IO uint32_t PR; /**< GPT Prescaler Register, offset: 0x4 */
  46883. __IO uint32_t SR; /**< GPT Status Register, offset: 0x8 */
  46884. __IO uint32_t IR; /**< GPT Interrupt Register, offset: 0xC */
  46885. __IO uint32_t OCR[3]; /**< GPT Output Compare Register, array offset: 0x10, array step: 0x4 */
  46886. __I uint32_t ICR[2]; /**< GPT Input Capture Register, array offset: 0x1C, array step: 0x4 */
  46887. __I uint32_t CNT; /**< GPT Counter Register, offset: 0x24 */
  46888. } GPT_Type;
  46889. /* ----------------------------------------------------------------------------
  46890. -- GPT Register Masks
  46891. ---------------------------------------------------------------------------- */
  46892. /*!
  46893. * @addtogroup GPT_Register_Masks GPT Register Masks
  46894. * @{
  46895. */
  46896. /*! @name CR - GPT Control Register */
  46897. /*! @{ */
  46898. #define GPT_CR_EN_MASK (0x1U)
  46899. #define GPT_CR_EN_SHIFT (0U)
  46900. /*! EN - GPT Enable
  46901. * 0b0..Disable
  46902. * 0b1..Enable
  46903. */
  46904. #define GPT_CR_EN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_SHIFT)) & GPT_CR_EN_MASK)
  46905. #define GPT_CR_ENMOD_MASK (0x2U)
  46906. #define GPT_CR_ENMOD_SHIFT (1U)
  46907. /*! ENMOD - GPT Enable Mode
  46908. * 0b0..Restart counting from their frozen values after GPT is enabled (EN=1).
  46909. * 0b1..Reset counting from 0 after GPT is enabled (EN=1).
  46910. */
  46911. #define GPT_CR_ENMOD(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_ENMOD_SHIFT)) & GPT_CR_ENMOD_MASK)
  46912. #define GPT_CR_DBGEN_MASK (0x4U)
  46913. #define GPT_CR_DBGEN_SHIFT (2U)
  46914. /*! DBGEN - GPT Debug Mode Enable
  46915. * 0b0..Disable in Debug mode
  46916. * 0b1..Enable in Debug mode
  46917. */
  46918. #define GPT_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DBGEN_SHIFT)) & GPT_CR_DBGEN_MASK)
  46919. #define GPT_CR_WAITEN_MASK (0x8U)
  46920. #define GPT_CR_WAITEN_SHIFT (3U)
  46921. /*! WAITEN - GPT Wait Mode Enable
  46922. * 0b0..Disable in Wait mode
  46923. * 0b1..Enable in Wait mode
  46924. */
  46925. #define GPT_CR_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_WAITEN_SHIFT)) & GPT_CR_WAITEN_MASK)
  46926. #define GPT_CR_DOZEEN_MASK (0x10U)
  46927. #define GPT_CR_DOZEEN_SHIFT (4U)
  46928. /*! DOZEEN - GPT Doze Mode Enable
  46929. * 0b0..Disable in Doze mode
  46930. * 0b1..Enable in Doze mode
  46931. */
  46932. #define GPT_CR_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_DOZEEN_SHIFT)) & GPT_CR_DOZEEN_MASK)
  46933. #define GPT_CR_STOPEN_MASK (0x20U)
  46934. #define GPT_CR_STOPEN_SHIFT (5U)
  46935. /*! STOPEN - GPT Stop Mode Enable
  46936. * 0b0..Disable in Stop mode
  46937. * 0b1..Enable in Stop mode
  46938. */
  46939. #define GPT_CR_STOPEN(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_STOPEN_SHIFT)) & GPT_CR_STOPEN_MASK)
  46940. #define GPT_CR_CLKSRC_MASK (0x1C0U)
  46941. #define GPT_CR_CLKSRC_SHIFT (6U)
  46942. /*! CLKSRC - Clock Source Select
  46943. * 0b000..No clock
  46944. * 0b001..Peripheral Clock (ipg_clk)
  46945. * 0b010..High Frequency Reference Clock (ipg_clk_highfreq)
  46946. * 0b011..External Clock
  46947. * 0b100..Low Frequency Reference Clock (ipg_clk_32k)
  46948. * 0b101..Oscillator as Reference Clock (ipg_clk_16M)
  46949. */
  46950. #define GPT_CR_CLKSRC(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_CLKSRC_SHIFT)) & GPT_CR_CLKSRC_MASK)
  46951. #define GPT_CR_FRR_MASK (0x200U)
  46952. #define GPT_CR_FRR_SHIFT (9U)
  46953. /*! FRR - Free-Run or Restart Mode
  46954. * 0b0..Restart mode. After a compare event, the counter resets to 0x0000_0000 and resumes counting.
  46955. * 0b1..Free-Run mode. After a compare event, the counter continues counting until 0xFFFF_FFFF and then rolls over to 0.
  46956. */
  46957. #define GPT_CR_FRR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FRR_SHIFT)) & GPT_CR_FRR_MASK)
  46958. #define GPT_CR_EN_24M_MASK (0x400U)
  46959. #define GPT_CR_EN_24M_SHIFT (10U)
  46960. /*! EN_24M - Enable Oscillator Clock Input
  46961. * 0b0..Disable
  46962. * 0b1..Enable
  46963. */
  46964. #define GPT_CR_EN_24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_EN_24M_SHIFT)) & GPT_CR_EN_24M_MASK)
  46965. #define GPT_CR_SWR_MASK (0x8000U)
  46966. #define GPT_CR_SWR_SHIFT (15U)
  46967. /*! SWR - Software Reset
  46968. * 0b0..GPT is not in software reset state
  46969. * 0b1..GPT is in software reset state
  46970. */
  46971. #define GPT_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_SWR_SHIFT)) & GPT_CR_SWR_MASK)
  46972. #define GPT_CR_IM1_MASK (0x30000U)
  46973. #define GPT_CR_IM1_SHIFT (16U)
  46974. /*! IM1 - Input Capture Operating Mode for Channel 1
  46975. * 0b00..Capture disabled
  46976. * 0b01..Capture on rising edge only
  46977. * 0b10..Capture on falling edge only
  46978. * 0b11..Capture on both edges
  46979. */
  46980. #define GPT_CR_IM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM1_SHIFT)) & GPT_CR_IM1_MASK)
  46981. #define GPT_CR_IM2_MASK (0xC0000U)
  46982. #define GPT_CR_IM2_SHIFT (18U)
  46983. /*! IM2 - Input Capture Operating Mode for Channel 2
  46984. * 0b00..Capture disabled
  46985. * 0b01..Capture on rising edge only
  46986. * 0b10..Capture on falling edge only
  46987. * 0b11..Capture on both edges
  46988. */
  46989. #define GPT_CR_IM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_IM2_SHIFT)) & GPT_CR_IM2_MASK)
  46990. #define GPT_CR_OM1_MASK (0x700000U)
  46991. #define GPT_CR_OM1_SHIFT (20U)
  46992. /*! OM1 - Output Compare Operating Mode for Channel 1
  46993. * 0b000..Output disabled. No response on pin.
  46994. * 0b001..Toggle output pin
  46995. * 0b010..Clear output pin
  46996. * 0b011..Set output pin
  46997. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  46998. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  46999. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  47000. */
  47001. #define GPT_CR_OM1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM1_SHIFT)) & GPT_CR_OM1_MASK)
  47002. #define GPT_CR_OM2_MASK (0x3800000U)
  47003. #define GPT_CR_OM2_SHIFT (23U)
  47004. /*! OM2 - Output Compare Operating Mode for Channel 2
  47005. * 0b000..Output disabled. No response on pin.
  47006. * 0b001..Toggle output pin
  47007. * 0b010..Clear output pin
  47008. * 0b011..Set output pin
  47009. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  47010. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  47011. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  47012. */
  47013. #define GPT_CR_OM2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM2_SHIFT)) & GPT_CR_OM2_MASK)
  47014. #define GPT_CR_OM3_MASK (0x1C000000U)
  47015. #define GPT_CR_OM3_SHIFT (26U)
  47016. /*! OM3 - Output Compare Operating Mode for Channel 3
  47017. * 0b000..Output disabled. No response on pin.
  47018. * 0b001..Toggle output pin
  47019. * 0b010..Clear output pin
  47020. * 0b011..Set output pin
  47021. * 0b1xx..Generate a low pulse that is one input clock cycle wide on the output pin. When OMn is first programmed
  47022. * as 1xx, the output pin is set to one immediately on the next input clock (if it was not one already).
  47023. * "Input clock" here refers to the clock selected by the CLKSRC field of this register.
  47024. */
  47025. #define GPT_CR_OM3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_OM3_SHIFT)) & GPT_CR_OM3_MASK)
  47026. #define GPT_CR_FO1_MASK (0x20000000U)
  47027. #define GPT_CR_FO1_SHIFT (29U)
  47028. /*! FO1 - Force Output Compare for Channel 1
  47029. * 0b0..No effect
  47030. * 0b1..Trigger the programmed response on the pin
  47031. */
  47032. #define GPT_CR_FO1(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO1_SHIFT)) & GPT_CR_FO1_MASK)
  47033. #define GPT_CR_FO2_MASK (0x40000000U)
  47034. #define GPT_CR_FO2_SHIFT (30U)
  47035. /*! FO2 - Force Output Compare for Channel 2
  47036. * 0b0..No effect
  47037. * 0b1..Trigger the programmed response on the pin
  47038. */
  47039. #define GPT_CR_FO2(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO2_SHIFT)) & GPT_CR_FO2_MASK)
  47040. #define GPT_CR_FO3_MASK (0x80000000U)
  47041. #define GPT_CR_FO3_SHIFT (31U)
  47042. /*! FO3 - Force Output Compare for Channel 3
  47043. * 0b0..No effect
  47044. * 0b1..Trigger the programmed response on the pin
  47045. */
  47046. #define GPT_CR_FO3(x) (((uint32_t)(((uint32_t)(x)) << GPT_CR_FO3_SHIFT)) & GPT_CR_FO3_MASK)
  47047. /*! @} */
  47048. /*! @name PR - GPT Prescaler Register */
  47049. /*! @{ */
  47050. #define GPT_PR_PRESCALER_MASK (0xFFFU)
  47051. #define GPT_PR_PRESCALER_SHIFT (0U)
  47052. /*! PRESCALER - Prescaler divide value
  47053. * 0b000000000000..Divide by 1
  47054. * 0b000000000001..Divide by 2
  47055. * 0b111111111111..Divide by 4096
  47056. */
  47057. #define GPT_PR_PRESCALER(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER_SHIFT)) & GPT_PR_PRESCALER_MASK)
  47058. #define GPT_PR_PRESCALER24M_MASK (0xF000U)
  47059. #define GPT_PR_PRESCALER24M_SHIFT (12U)
  47060. /*! PRESCALER24M - Prescaler divide value for the oscillator clock
  47061. * 0b0000..Divide by 1
  47062. * 0b0001..Divide by 2
  47063. * 0b1111..Divide by 16
  47064. */
  47065. #define GPT_PR_PRESCALER24M(x) (((uint32_t)(((uint32_t)(x)) << GPT_PR_PRESCALER24M_SHIFT)) & GPT_PR_PRESCALER24M_MASK)
  47066. /*! @} */
  47067. /*! @name SR - GPT Status Register */
  47068. /*! @{ */
  47069. #define GPT_SR_OF1_MASK (0x1U)
  47070. #define GPT_SR_OF1_SHIFT (0U)
  47071. /*! OF1 - Output Compare Flag for Channel 1
  47072. * 0b0..Compare event has not occurred.
  47073. * 0b1..Compare event has occurred.
  47074. */
  47075. #define GPT_SR_OF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF1_SHIFT)) & GPT_SR_OF1_MASK)
  47076. #define GPT_SR_OF2_MASK (0x2U)
  47077. #define GPT_SR_OF2_SHIFT (1U)
  47078. /*! OF2 - Output Compare Flag for Channel 2
  47079. * 0b0..Compare event has not occurred.
  47080. * 0b1..Compare event has occurred.
  47081. */
  47082. #define GPT_SR_OF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF2_SHIFT)) & GPT_SR_OF2_MASK)
  47083. #define GPT_SR_OF3_MASK (0x4U)
  47084. #define GPT_SR_OF3_SHIFT (2U)
  47085. /*! OF3 - Output Compare Flag for Channel 3
  47086. * 0b0..Compare event has not occurred.
  47087. * 0b1..Compare event has occurred.
  47088. */
  47089. #define GPT_SR_OF3(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_OF3_SHIFT)) & GPT_SR_OF3_MASK)
  47090. #define GPT_SR_IF1_MASK (0x8U)
  47091. #define GPT_SR_IF1_SHIFT (3U)
  47092. /*! IF1 - Input Capture Flag for Channel 1
  47093. * 0b0..Capture event has not occurred.
  47094. * 0b1..Capture event has occurred.
  47095. */
  47096. #define GPT_SR_IF1(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF1_SHIFT)) & GPT_SR_IF1_MASK)
  47097. #define GPT_SR_IF2_MASK (0x10U)
  47098. #define GPT_SR_IF2_SHIFT (4U)
  47099. /*! IF2 - Input Capture Flag for Channel 2
  47100. * 0b0..Capture event has not occurred.
  47101. * 0b1..Capture event has occurred.
  47102. */
  47103. #define GPT_SR_IF2(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_IF2_SHIFT)) & GPT_SR_IF2_MASK)
  47104. #define GPT_SR_ROV_MASK (0x20U)
  47105. #define GPT_SR_ROV_SHIFT (5U)
  47106. /*! ROV - Rollover Flag
  47107. * 0b0..Rollover has not occurred.
  47108. * 0b1..Rollover has occurred.
  47109. */
  47110. #define GPT_SR_ROV(x) (((uint32_t)(((uint32_t)(x)) << GPT_SR_ROV_SHIFT)) & GPT_SR_ROV_MASK)
  47111. /*! @} */
  47112. /*! @name IR - GPT Interrupt Register */
  47113. /*! @{ */
  47114. #define GPT_IR_OF1IE_MASK (0x1U)
  47115. #define GPT_IR_OF1IE_SHIFT (0U)
  47116. /*! OF1IE - Output Compare Flag for Channel 1 Interrupt Enable
  47117. * 0b0..Disable
  47118. * 0b1..Enable
  47119. */
  47120. #define GPT_IR_OF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF1IE_SHIFT)) & GPT_IR_OF1IE_MASK)
  47121. #define GPT_IR_OF2IE_MASK (0x2U)
  47122. #define GPT_IR_OF2IE_SHIFT (1U)
  47123. /*! OF2IE - Output Compare Flag for Channel 2 Interrupt Enable
  47124. * 0b0..Disable
  47125. * 0b1..Enable
  47126. */
  47127. #define GPT_IR_OF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF2IE_SHIFT)) & GPT_IR_OF2IE_MASK)
  47128. #define GPT_IR_OF3IE_MASK (0x4U)
  47129. #define GPT_IR_OF3IE_SHIFT (2U)
  47130. /*! OF3IE - Output Compare Flag for Channel 3 Interrupt Enable
  47131. * 0b0..Disable
  47132. * 0b1..Enable
  47133. */
  47134. #define GPT_IR_OF3IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_OF3IE_SHIFT)) & GPT_IR_OF3IE_MASK)
  47135. #define GPT_IR_IF1IE_MASK (0x8U)
  47136. #define GPT_IR_IF1IE_SHIFT (3U)
  47137. /*! IF1IE - Input Capture Flag for Channel 1 Interrupt Enable
  47138. * 0b0..Disable
  47139. * 0b1..Enable
  47140. */
  47141. #define GPT_IR_IF1IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF1IE_SHIFT)) & GPT_IR_IF1IE_MASK)
  47142. #define GPT_IR_IF2IE_MASK (0x10U)
  47143. #define GPT_IR_IF2IE_SHIFT (4U)
  47144. /*! IF2IE - Input Capture Flag for Channel 2 Interrupt Enable
  47145. * 0b0..Disable
  47146. * 0b1..Enable
  47147. */
  47148. #define GPT_IR_IF2IE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_IF2IE_SHIFT)) & GPT_IR_IF2IE_MASK)
  47149. #define GPT_IR_ROVIE_MASK (0x20U)
  47150. #define GPT_IR_ROVIE_SHIFT (5U)
  47151. /*! ROVIE - Rollover Interrupt Enable
  47152. * 0b0..Disable
  47153. * 0b1..Enable
  47154. */
  47155. #define GPT_IR_ROVIE(x) (((uint32_t)(((uint32_t)(x)) << GPT_IR_ROVIE_SHIFT)) & GPT_IR_ROVIE_MASK)
  47156. /*! @} */
  47157. /*! @name OCR - GPT Output Compare Register */
  47158. /*! @{ */
  47159. #define GPT_OCR_COMP_MASK (0xFFFFFFFFU)
  47160. #define GPT_OCR_COMP_SHIFT (0U)
  47161. /*! COMP - Compare Value
  47162. */
  47163. #define GPT_OCR_COMP(x) (((uint32_t)(((uint32_t)(x)) << GPT_OCR_COMP_SHIFT)) & GPT_OCR_COMP_MASK)
  47164. /*! @} */
  47165. /* The count of GPT_OCR */
  47166. #define GPT_OCR_COUNT (3U)
  47167. /*! @name ICR - GPT Input Capture Register */
  47168. /*! @{ */
  47169. #define GPT_ICR_CAPT_MASK (0xFFFFFFFFU)
  47170. #define GPT_ICR_CAPT_SHIFT (0U)
  47171. /*! CAPT - Capture Value
  47172. */
  47173. #define GPT_ICR_CAPT(x) (((uint32_t)(((uint32_t)(x)) << GPT_ICR_CAPT_SHIFT)) & GPT_ICR_CAPT_MASK)
  47174. /*! @} */
  47175. /* The count of GPT_ICR */
  47176. #define GPT_ICR_COUNT (2U)
  47177. /*! @name CNT - GPT Counter Register */
  47178. /*! @{ */
  47179. #define GPT_CNT_COUNT_MASK (0xFFFFFFFFU)
  47180. #define GPT_CNT_COUNT_SHIFT (0U)
  47181. /*! COUNT - Counter Value
  47182. */
  47183. #define GPT_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << GPT_CNT_COUNT_SHIFT)) & GPT_CNT_COUNT_MASK)
  47184. /*! @} */
  47185. /*!
  47186. * @}
  47187. */ /* end of group GPT_Register_Masks */
  47188. /* GPT - Peripheral instance base addresses */
  47189. /** Peripheral GPT1 base address */
  47190. #define GPT1_BASE (0x400EC000u)
  47191. /** Peripheral GPT1 base pointer */
  47192. #define GPT1 ((GPT_Type *)GPT1_BASE)
  47193. /** Peripheral GPT2 base address */
  47194. #define GPT2_BASE (0x400F0000u)
  47195. /** Peripheral GPT2 base pointer */
  47196. #define GPT2 ((GPT_Type *)GPT2_BASE)
  47197. /** Peripheral GPT3 base address */
  47198. #define GPT3_BASE (0x400F4000u)
  47199. /** Peripheral GPT3 base pointer */
  47200. #define GPT3 ((GPT_Type *)GPT3_BASE)
  47201. /** Peripheral GPT4 base address */
  47202. #define GPT4_BASE (0x400F8000u)
  47203. /** Peripheral GPT4 base pointer */
  47204. #define GPT4 ((GPT_Type *)GPT4_BASE)
  47205. /** Peripheral GPT5 base address */
  47206. #define GPT5_BASE (0x400FC000u)
  47207. /** Peripheral GPT5 base pointer */
  47208. #define GPT5 ((GPT_Type *)GPT5_BASE)
  47209. /** Peripheral GPT6 base address */
  47210. #define GPT6_BASE (0x40100000u)
  47211. /** Peripheral GPT6 base pointer */
  47212. #define GPT6 ((GPT_Type *)GPT6_BASE)
  47213. /** Array initializer of GPT peripheral base addresses */
  47214. #define GPT_BASE_ADDRS { 0u, GPT1_BASE, GPT2_BASE, GPT3_BASE, GPT4_BASE, GPT5_BASE, GPT6_BASE }
  47215. /** Array initializer of GPT peripheral base pointers */
  47216. #define GPT_BASE_PTRS { (GPT_Type *)0u, GPT1, GPT2, GPT3, GPT4, GPT5, GPT6 }
  47217. /** Interrupt vectors for the GPT peripheral type */
  47218. #define GPT_IRQS { NotAvail_IRQn, GPT1_IRQn, GPT2_IRQn, GPT3_IRQn, GPT4_IRQn, GPT5_IRQn, GPT6_IRQn }
  47219. /*!
  47220. * @}
  47221. */ /* end of group GPT_Peripheral_Access_Layer */
  47222. /* ----------------------------------------------------------------------------
  47223. -- I2S Peripheral Access Layer
  47224. ---------------------------------------------------------------------------- */
  47225. /*!
  47226. * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
  47227. * @{
  47228. */
  47229. /** I2S - Register Layout Typedef */
  47230. typedef struct {
  47231. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  47232. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  47233. __IO uint32_t TCSR; /**< Transmit Control, offset: 0x8 */
  47234. __IO uint32_t TCR1; /**< Transmit Configuration 1, offset: 0xC */
  47235. __IO uint32_t TCR2; /**< Transmit Configuration 2, offset: 0x10 */
  47236. __IO uint32_t TCR3; /**< Transmit Configuration 3, offset: 0x14 */
  47237. __IO uint32_t TCR4; /**< Transmit Configuration 4, offset: 0x18 */
  47238. __IO uint32_t TCR5; /**< Transmit Configuration 5, offset: 0x1C */
  47239. __O uint32_t TDR[4]; /**< Transmit Data, array offset: 0x20, array step: 0x4 */
  47240. uint8_t RESERVED_0[16];
  47241. __I uint32_t TFR[4]; /**< Transmit FIFO, array offset: 0x40, array step: 0x4 */
  47242. uint8_t RESERVED_1[16];
  47243. __IO uint32_t TMR; /**< Transmit Mask, offset: 0x60 */
  47244. uint8_t RESERVED_2[36];
  47245. __IO uint32_t RCSR; /**< Receive Control, offset: 0x88 */
  47246. __IO uint32_t RCR1; /**< Receive Configuration 1, offset: 0x8C */
  47247. __IO uint32_t RCR2; /**< Receive Configuration 2, offset: 0x90 */
  47248. __IO uint32_t RCR3; /**< Receive Configuration 3, offset: 0x94 */
  47249. __IO uint32_t RCR4; /**< Receive Configuration 4, offset: 0x98 */
  47250. __IO uint32_t RCR5; /**< Receive Configuration 5, offset: 0x9C */
  47251. __I uint32_t RDR[4]; /**< Receive Data, array offset: 0xA0, array step: 0x4 */
  47252. uint8_t RESERVED_3[16];
  47253. __I uint32_t RFR[4]; /**< Receive FIFO, array offset: 0xC0, array step: 0x4 */
  47254. uint8_t RESERVED_4[16];
  47255. __IO uint32_t RMR; /**< Receive Mask, offset: 0xE0 */
  47256. } I2S_Type;
  47257. /* ----------------------------------------------------------------------------
  47258. -- I2S Register Masks
  47259. ---------------------------------------------------------------------------- */
  47260. /*!
  47261. * @addtogroup I2S_Register_Masks I2S Register Masks
  47262. * @{
  47263. */
  47264. /*! @name VERID - Version ID */
  47265. /*! @{ */
  47266. #define I2S_VERID_FEATURE_MASK (0xFFFFU)
  47267. #define I2S_VERID_FEATURE_SHIFT (0U)
  47268. /*! FEATURE - Feature Specification Number
  47269. * 0b0000000000000000..Standard feature set.
  47270. */
  47271. #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK)
  47272. #define I2S_VERID_MINOR_MASK (0xFF0000U)
  47273. #define I2S_VERID_MINOR_SHIFT (16U)
  47274. /*! MINOR - Minor Version Number
  47275. */
  47276. #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK)
  47277. #define I2S_VERID_MAJOR_MASK (0xFF000000U)
  47278. #define I2S_VERID_MAJOR_SHIFT (24U)
  47279. /*! MAJOR - Major Version Number
  47280. */
  47281. #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK)
  47282. /*! @} */
  47283. /*! @name PARAM - Parameter */
  47284. /*! @{ */
  47285. #define I2S_PARAM_DATALINE_MASK (0xFU)
  47286. #define I2S_PARAM_DATALINE_SHIFT (0U)
  47287. /*! DATALINE - Number of Datalines
  47288. */
  47289. #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK)
  47290. #define I2S_PARAM_FIFO_MASK (0xF00U)
  47291. #define I2S_PARAM_FIFO_SHIFT (8U)
  47292. /*! FIFO - FIFO Size
  47293. */
  47294. #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK)
  47295. #define I2S_PARAM_FRAME_MASK (0xF0000U)
  47296. #define I2S_PARAM_FRAME_SHIFT (16U)
  47297. /*! FRAME - Frame Size
  47298. */
  47299. #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK)
  47300. /*! @} */
  47301. /*! @name TCSR - Transmit Control */
  47302. /*! @{ */
  47303. #define I2S_TCSR_FRDE_MASK (0x1U)
  47304. #define I2S_TCSR_FRDE_SHIFT (0U)
  47305. /*! FRDE - FIFO Request DMA Enable
  47306. * 0b0..Disables the DMA request.
  47307. * 0b1..Enables the DMA request.
  47308. */
  47309. #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK)
  47310. #define I2S_TCSR_FWDE_MASK (0x2U)
  47311. #define I2S_TCSR_FWDE_SHIFT (1U)
  47312. /*! FWDE - FIFO Warning DMA Enable
  47313. * 0b0..Disables the DMA request.
  47314. * 0b1..Enables the DMA request.
  47315. */
  47316. #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK)
  47317. #define I2S_TCSR_FRIE_MASK (0x100U)
  47318. #define I2S_TCSR_FRIE_SHIFT (8U)
  47319. /*! FRIE - FIFO Request Interrupt Enable
  47320. * 0b0..Disables the interrupt.
  47321. * 0b1..Enables the interrupt.
  47322. */
  47323. #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK)
  47324. #define I2S_TCSR_FWIE_MASK (0x200U)
  47325. #define I2S_TCSR_FWIE_SHIFT (9U)
  47326. /*! FWIE - FIFO Warning Interrupt Enable
  47327. * 0b0..Disables the interrupt.
  47328. * 0b1..Enables the interrupt.
  47329. */
  47330. #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK)
  47331. #define I2S_TCSR_FEIE_MASK (0x400U)
  47332. #define I2S_TCSR_FEIE_SHIFT (10U)
  47333. /*! FEIE - FIFO Error Interrupt Enable
  47334. * 0b0..Disables the interrupt.
  47335. * 0b1..Enables the interrupt.
  47336. */
  47337. #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK)
  47338. #define I2S_TCSR_SEIE_MASK (0x800U)
  47339. #define I2S_TCSR_SEIE_SHIFT (11U)
  47340. /*! SEIE - Sync Error Interrupt Enable
  47341. * 0b0..Disables interrupt.
  47342. * 0b1..Enables interrupt.
  47343. */
  47344. #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK)
  47345. #define I2S_TCSR_WSIE_MASK (0x1000U)
  47346. #define I2S_TCSR_WSIE_SHIFT (12U)
  47347. /*! WSIE - Word Start Interrupt Enable
  47348. * 0b0..Disables interrupt.
  47349. * 0b1..Enables interrupt.
  47350. */
  47351. #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK)
  47352. #define I2S_TCSR_FRF_MASK (0x10000U)
  47353. #define I2S_TCSR_FRF_SHIFT (16U)
  47354. /*! FRF - FIFO Request Flag
  47355. * 0b0..Transmit FIFO watermark has not been reached.
  47356. * 0b1..Transmit FIFO watermark has been reached.
  47357. */
  47358. #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK)
  47359. #define I2S_TCSR_FWF_MASK (0x20000U)
  47360. #define I2S_TCSR_FWF_SHIFT (17U)
  47361. /*! FWF - FIFO Warning Flag
  47362. * 0b0..No enabled transmit FIFO is empty.
  47363. * 0b1..Enabled transmit FIFO is empty.
  47364. */
  47365. #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK)
  47366. #define I2S_TCSR_FEF_MASK (0x40000U)
  47367. #define I2S_TCSR_FEF_SHIFT (18U)
  47368. /*! FEF - FIFO Error Flag
  47369. * 0b0..Transmit underrun not detected.
  47370. * 0b1..Transmit underrun detected.
  47371. */
  47372. #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK)
  47373. #define I2S_TCSR_SEF_MASK (0x80000U)
  47374. #define I2S_TCSR_SEF_SHIFT (19U)
  47375. /*! SEF - Sync Error Flag
  47376. * 0b0..Sync error not detected.
  47377. * 0b1..Frame sync error detected.
  47378. */
  47379. #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK)
  47380. #define I2S_TCSR_WSF_MASK (0x100000U)
  47381. #define I2S_TCSR_WSF_SHIFT (20U)
  47382. /*! WSF - Word Start Flag
  47383. * 0b0..Start of word not detected.
  47384. * 0b1..Start of word detected.
  47385. */
  47386. #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK)
  47387. #define I2S_TCSR_SR_MASK (0x1000000U)
  47388. #define I2S_TCSR_SR_SHIFT (24U)
  47389. /*! SR - Software Reset
  47390. * 0b0..No effect.
  47391. * 0b1..Software reset.
  47392. */
  47393. #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK)
  47394. #define I2S_TCSR_FR_MASK (0x2000000U)
  47395. #define I2S_TCSR_FR_SHIFT (25U)
  47396. /*! FR - FIFO Reset
  47397. * 0b0..No effect.
  47398. * 0b1..FIFO reset.
  47399. */
  47400. #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK)
  47401. #define I2S_TCSR_BCE_MASK (0x10000000U)
  47402. #define I2S_TCSR_BCE_SHIFT (28U)
  47403. /*! BCE - Bit Clock Enable
  47404. * 0b0..Transmit bit clock is disabled.
  47405. * 0b1..Transmit bit clock is enabled.
  47406. */
  47407. #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK)
  47408. #define I2S_TCSR_DBGE_MASK (0x20000000U)
  47409. #define I2S_TCSR_DBGE_SHIFT (29U)
  47410. /*! DBGE - Debug Enable
  47411. * 0b0..Transmitter is disabled in Debug mode, after completing the current frame.
  47412. * 0b1..Transmitter is enabled in Debug mode.
  47413. */
  47414. #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK)
  47415. #define I2S_TCSR_STOPE_MASK (0x40000000U)
  47416. #define I2S_TCSR_STOPE_SHIFT (30U)
  47417. /*! STOPE - Stop Enable
  47418. * 0b0..Transmitter disabled in Stop mode.
  47419. * 0b1..Transmitter enabled in Stop mode.
  47420. */
  47421. #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK)
  47422. #define I2S_TCSR_TE_MASK (0x80000000U)
  47423. #define I2S_TCSR_TE_SHIFT (31U)
  47424. /*! TE - Transmitter Enable
  47425. * 0b0..Transmitter is disabled.
  47426. * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame.
  47427. */
  47428. #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK)
  47429. /*! @} */
  47430. /*! @name TCR1 - Transmit Configuration 1 */
  47431. /*! @{ */
  47432. #define I2S_TCR1_TFW_MASK (0x1FU)
  47433. #define I2S_TCR1_TFW_SHIFT (0U)
  47434. /*! TFW - Transmit FIFO Watermark
  47435. */
  47436. #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK)
  47437. /*! @} */
  47438. /*! @name TCR2 - Transmit Configuration 2 */
  47439. /*! @{ */
  47440. #define I2S_TCR2_DIV_MASK (0xFFU)
  47441. #define I2S_TCR2_DIV_SHIFT (0U)
  47442. /*! DIV - Bit Clock Divide
  47443. */
  47444. #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK)
  47445. #define I2S_TCR2_BYP_MASK (0x800000U)
  47446. #define I2S_TCR2_BYP_SHIFT (23U)
  47447. /*! BYP - Bit Clock Bypass
  47448. * 0b0..Internal bit clock is generated from bit clock divider.
  47449. * 0b1..Internal bit clock is divide by one of the audio master clock.
  47450. */
  47451. #define I2S_TCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BYP_SHIFT)) & I2S_TCR2_BYP_MASK)
  47452. #define I2S_TCR2_BCD_MASK (0x1000000U)
  47453. #define I2S_TCR2_BCD_SHIFT (24U)
  47454. /*! BCD - Bit Clock Direction
  47455. * 0b0..Bit clock is generated externally in Slave mode.
  47456. * 0b1..Bit clock is generated internally in Master mode.
  47457. */
  47458. #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK)
  47459. #define I2S_TCR2_BCP_MASK (0x2000000U)
  47460. #define I2S_TCR2_BCP_SHIFT (25U)
  47461. /*! BCP - Bit Clock Polarity
  47462. * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  47463. * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  47464. */
  47465. #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK)
  47466. #define I2S_TCR2_MSEL_MASK (0xC000000U)
  47467. #define I2S_TCR2_MSEL_SHIFT (26U)
  47468. /*! MSEL - MCLK Select
  47469. * 0b00..Bus Clock selected.
  47470. * 0b01..Master Clock (MCLK) 1 option selected.
  47471. * 0b10..Master Clock (MCLK) 2 option selected.
  47472. * 0b11..Master Clock (MCLK) 3 option selected.
  47473. */
  47474. #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK)
  47475. #define I2S_TCR2_BCI_MASK (0x10000000U)
  47476. #define I2S_TCR2_BCI_SHIFT (28U)
  47477. /*! BCI - Bit Clock Input
  47478. * 0b0..No effect.
  47479. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  47480. */
  47481. #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK)
  47482. #define I2S_TCR2_BCS_MASK (0x20000000U)
  47483. #define I2S_TCR2_BCS_SHIFT (29U)
  47484. /*! BCS - Bit Clock Swap
  47485. * 0b0..Use the normal bit clock source.
  47486. * 0b1..Swap the bit clock source.
  47487. */
  47488. #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK)
  47489. #define I2S_TCR2_SYNC_MASK (0x40000000U)
  47490. #define I2S_TCR2_SYNC_SHIFT (30U)
  47491. /*! SYNC - Synchronous Mode
  47492. * 0b0..Asynchronous mode.
  47493. * 0b1..Synchronous with receiver.
  47494. */
  47495. #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK)
  47496. /*! @} */
  47497. /*! @name TCR3 - Transmit Configuration 3 */
  47498. /*! @{ */
  47499. #define I2S_TCR3_WDFL_MASK (0x1FU)
  47500. #define I2S_TCR3_WDFL_SHIFT (0U)
  47501. /*! WDFL - Word Flag Configuration
  47502. */
  47503. #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK)
  47504. #define I2S_TCR3_TCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47505. #define I2S_TCR3_TCE_SHIFT (16U)
  47506. /*! TCE - Transmit Channel Enable
  47507. */
  47508. #define I2S_TCR3_TCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_TCE_SHIFT)) & I2S_TCR3_TCE_MASK) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47509. #define I2S_TCR3_CFR_MASK (0xF000000U)
  47510. #define I2S_TCR3_CFR_SHIFT (24U)
  47511. /*! CFR - Channel FIFO Reset
  47512. */
  47513. #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK)
  47514. /*! @} */
  47515. /*! @name TCR4 - Transmit Configuration 4 */
  47516. /*! @{ */
  47517. #define I2S_TCR4_FSD_MASK (0x1U)
  47518. #define I2S_TCR4_FSD_SHIFT (0U)
  47519. /*! FSD - Frame Sync Direction
  47520. * 0b0..Frame sync is generated externally in Slave mode.
  47521. * 0b1..Frame sync is generated internally in Master mode.
  47522. */
  47523. #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK)
  47524. #define I2S_TCR4_FSP_MASK (0x2U)
  47525. #define I2S_TCR4_FSP_SHIFT (1U)
  47526. /*! FSP - Frame Sync Polarity
  47527. * 0b0..Frame sync is active high.
  47528. * 0b1..Frame sync is active low.
  47529. */
  47530. #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK)
  47531. #define I2S_TCR4_ONDEM_MASK (0x4U)
  47532. #define I2S_TCR4_ONDEM_SHIFT (2U)
  47533. /*! ONDEM - On Demand Mode
  47534. * 0b0..Internal frame sync is generated continuously.
  47535. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  47536. */
  47537. #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK)
  47538. #define I2S_TCR4_FSE_MASK (0x8U)
  47539. #define I2S_TCR4_FSE_SHIFT (3U)
  47540. /*! FSE - Frame Sync Early
  47541. * 0b0..Frame sync asserts with the first bit of the frame.
  47542. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  47543. */
  47544. #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK)
  47545. #define I2S_TCR4_MF_MASK (0x10U)
  47546. #define I2S_TCR4_MF_SHIFT (4U)
  47547. /*! MF - MSB First
  47548. * 0b0..LSB is transmitted first.
  47549. * 0b1..MSB is transmitted first.
  47550. */
  47551. #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK)
  47552. #define I2S_TCR4_CHMOD_MASK (0x20U)
  47553. #define I2S_TCR4_CHMOD_SHIFT (5U)
  47554. /*! CHMOD - Channel Mode
  47555. * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled.
  47556. * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled.
  47557. */
  47558. #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK)
  47559. #define I2S_TCR4_SYWD_MASK (0x1F00U)
  47560. #define I2S_TCR4_SYWD_SHIFT (8U)
  47561. /*! SYWD - Sync Width
  47562. */
  47563. #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK)
  47564. #define I2S_TCR4_FRSZ_MASK (0x1F0000U)
  47565. #define I2S_TCR4_FRSZ_SHIFT (16U)
  47566. /*! FRSZ - Frame size
  47567. */
  47568. #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK)
  47569. #define I2S_TCR4_FPACK_MASK (0x3000000U)
  47570. #define I2S_TCR4_FPACK_SHIFT (24U)
  47571. /*! FPACK - FIFO Packing Mode
  47572. * 0b00..FIFO packing is disabled.
  47573. * 0b01..Reserved
  47574. * 0b10..8-bit FIFO packing is enabled.
  47575. * 0b11..16-bit FIFO packing is enabled.
  47576. */
  47577. #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK)
  47578. #define I2S_TCR4_FCOMB_MASK (0xC000000U)
  47579. #define I2S_TCR4_FCOMB_SHIFT (26U)
  47580. /*! FCOMB - FIFO Combine Mode
  47581. * 0b00..FIFO combine mode disabled.
  47582. * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers).
  47583. * 0b10..FIFO combine mode enabled on FIFO writes (by software).
  47584. * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software).
  47585. */
  47586. #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK)
  47587. #define I2S_TCR4_FCONT_MASK (0x10000000U)
  47588. #define I2S_TCR4_FCONT_SHIFT (28U)
  47589. /*! FCONT - FIFO Continue on Error
  47590. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  47591. * 0b1..On FIFO error, the SAI will continue from the same word that caused the FIFO error to set after the FIFO warning flag has been cleared.
  47592. */
  47593. #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK)
  47594. /*! @} */
  47595. /*! @name TCR5 - Transmit Configuration 5 */
  47596. /*! @{ */
  47597. #define I2S_TCR5_FBT_MASK (0x1F00U)
  47598. #define I2S_TCR5_FBT_SHIFT (8U)
  47599. /*! FBT - First Bit Shifted
  47600. */
  47601. #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK)
  47602. #define I2S_TCR5_W0W_MASK (0x1F0000U)
  47603. #define I2S_TCR5_W0W_SHIFT (16U)
  47604. /*! W0W - Word 0 Width
  47605. */
  47606. #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK)
  47607. #define I2S_TCR5_WNW_MASK (0x1F000000U)
  47608. #define I2S_TCR5_WNW_SHIFT (24U)
  47609. /*! WNW - Word N Width
  47610. */
  47611. #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK)
  47612. /*! @} */
  47613. /*! @name TDR - Transmit Data */
  47614. /*! @{ */
  47615. #define I2S_TDR_TDR_MASK (0xFFFFFFFFU)
  47616. #define I2S_TDR_TDR_SHIFT (0U)
  47617. /*! TDR - Transmit Data Register
  47618. */
  47619. #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK)
  47620. /*! @} */
  47621. /* The count of I2S_TDR */
  47622. #define I2S_TDR_COUNT (4U)
  47623. /*! @name TFR - Transmit FIFO */
  47624. /*! @{ */
  47625. #define I2S_TFR_RFP_MASK (0x3FU)
  47626. #define I2S_TFR_RFP_SHIFT (0U)
  47627. /*! RFP - Read FIFO Pointer
  47628. */
  47629. #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK)
  47630. #define I2S_TFR_WFP_MASK (0x3F0000U)
  47631. #define I2S_TFR_WFP_SHIFT (16U)
  47632. /*! WFP - Write FIFO Pointer
  47633. */
  47634. #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK)
  47635. #define I2S_TFR_WCP_MASK (0x80000000U)
  47636. #define I2S_TFR_WCP_SHIFT (31U)
  47637. /*! WCP - Write Channel Pointer
  47638. * 0b0..No effect.
  47639. * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write.
  47640. */
  47641. #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK)
  47642. /*! @} */
  47643. /* The count of I2S_TFR */
  47644. #define I2S_TFR_COUNT (4U)
  47645. /*! @name TMR - Transmit Mask */
  47646. /*! @{ */
  47647. #define I2S_TMR_TWM_MASK (0xFFFFFFFFU)
  47648. #define I2S_TMR_TWM_SHIFT (0U)
  47649. /*! TWM - Transmit Word Mask
  47650. * 0b00000000000000000000000000000000..Word N is enabled.
  47651. * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked.
  47652. */
  47653. #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK)
  47654. /*! @} */
  47655. /*! @name RCSR - Receive Control */
  47656. /*! @{ */
  47657. #define I2S_RCSR_FRDE_MASK (0x1U)
  47658. #define I2S_RCSR_FRDE_SHIFT (0U)
  47659. /*! FRDE - FIFO Request DMA Enable
  47660. * 0b0..Disables the DMA request.
  47661. * 0b1..Enables the DMA request.
  47662. */
  47663. #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK)
  47664. #define I2S_RCSR_FWDE_MASK (0x2U)
  47665. #define I2S_RCSR_FWDE_SHIFT (1U)
  47666. /*! FWDE - FIFO Warning DMA Enable
  47667. * 0b0..Disables the DMA request.
  47668. * 0b1..Enables the DMA request.
  47669. */
  47670. #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK)
  47671. #define I2S_RCSR_FRIE_MASK (0x100U)
  47672. #define I2S_RCSR_FRIE_SHIFT (8U)
  47673. /*! FRIE - FIFO Request Interrupt Enable
  47674. * 0b0..Disables the interrupt.
  47675. * 0b1..Enables the interrupt.
  47676. */
  47677. #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK)
  47678. #define I2S_RCSR_FWIE_MASK (0x200U)
  47679. #define I2S_RCSR_FWIE_SHIFT (9U)
  47680. /*! FWIE - FIFO Warning Interrupt Enable
  47681. * 0b0..Disables the interrupt.
  47682. * 0b1..Enables the interrupt.
  47683. */
  47684. #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK)
  47685. #define I2S_RCSR_FEIE_MASK (0x400U)
  47686. #define I2S_RCSR_FEIE_SHIFT (10U)
  47687. /*! FEIE - FIFO Error Interrupt Enable
  47688. * 0b0..Disables the interrupt.
  47689. * 0b1..Enables the interrupt.
  47690. */
  47691. #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK)
  47692. #define I2S_RCSR_SEIE_MASK (0x800U)
  47693. #define I2S_RCSR_SEIE_SHIFT (11U)
  47694. /*! SEIE - Sync Error Interrupt Enable
  47695. * 0b0..Disables interrupt.
  47696. * 0b1..Enables interrupt.
  47697. */
  47698. #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK)
  47699. #define I2S_RCSR_WSIE_MASK (0x1000U)
  47700. #define I2S_RCSR_WSIE_SHIFT (12U)
  47701. /*! WSIE - Word Start Interrupt Enable
  47702. * 0b0..Disables interrupt.
  47703. * 0b1..Enables interrupt.
  47704. */
  47705. #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK)
  47706. #define I2S_RCSR_FRF_MASK (0x10000U)
  47707. #define I2S_RCSR_FRF_SHIFT (16U)
  47708. /*! FRF - FIFO Request Flag
  47709. * 0b0..Receive FIFO watermark not reached.
  47710. * 0b1..Receive FIFO watermark has been reached.
  47711. */
  47712. #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK)
  47713. #define I2S_RCSR_FWF_MASK (0x20000U)
  47714. #define I2S_RCSR_FWF_SHIFT (17U)
  47715. /*! FWF - FIFO Warning Flag
  47716. * 0b0..No enabled receive FIFO is full.
  47717. * 0b1..Enabled receive FIFO is full.
  47718. */
  47719. #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK)
  47720. #define I2S_RCSR_FEF_MASK (0x40000U)
  47721. #define I2S_RCSR_FEF_SHIFT (18U)
  47722. /*! FEF - FIFO Error Flag
  47723. * 0b0..Receive overflow not detected.
  47724. * 0b1..Receive overflow detected.
  47725. */
  47726. #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK)
  47727. #define I2S_RCSR_SEF_MASK (0x80000U)
  47728. #define I2S_RCSR_SEF_SHIFT (19U)
  47729. /*! SEF - Sync Error Flag
  47730. * 0b0..Sync error not detected.
  47731. * 0b1..Frame sync error detected.
  47732. */
  47733. #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK)
  47734. #define I2S_RCSR_WSF_MASK (0x100000U)
  47735. #define I2S_RCSR_WSF_SHIFT (20U)
  47736. /*! WSF - Word Start Flag
  47737. * 0b0..Start of word not detected.
  47738. * 0b1..Start of word detected.
  47739. */
  47740. #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK)
  47741. #define I2S_RCSR_SR_MASK (0x1000000U)
  47742. #define I2S_RCSR_SR_SHIFT (24U)
  47743. /*! SR - Software Reset
  47744. * 0b0..No effect.
  47745. * 0b1..Software reset.
  47746. */
  47747. #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK)
  47748. #define I2S_RCSR_FR_MASK (0x2000000U)
  47749. #define I2S_RCSR_FR_SHIFT (25U)
  47750. /*! FR - FIFO Reset
  47751. * 0b0..No effect.
  47752. * 0b1..FIFO reset.
  47753. */
  47754. #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK)
  47755. #define I2S_RCSR_BCE_MASK (0x10000000U)
  47756. #define I2S_RCSR_BCE_SHIFT (28U)
  47757. /*! BCE - Bit Clock Enable
  47758. * 0b0..Receive bit clock is disabled.
  47759. * 0b1..Receive bit clock is enabled.
  47760. */
  47761. #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK)
  47762. #define I2S_RCSR_DBGE_MASK (0x20000000U)
  47763. #define I2S_RCSR_DBGE_SHIFT (29U)
  47764. /*! DBGE - Debug Enable
  47765. * 0b0..Receiver is disabled in Debug mode, after completing the current frame.
  47766. * 0b1..Receiver is enabled in Debug mode.
  47767. */
  47768. #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK)
  47769. #define I2S_RCSR_STOPE_MASK (0x40000000U)
  47770. #define I2S_RCSR_STOPE_SHIFT (30U)
  47771. /*! STOPE - Stop Enable
  47772. * 0b0..Receiver disabled in Stop mode.
  47773. * 0b1..Receiver enabled in Stop mode.
  47774. */
  47775. #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK)
  47776. #define I2S_RCSR_RE_MASK (0x80000000U)
  47777. #define I2S_RCSR_RE_SHIFT (31U)
  47778. /*! RE - Receiver Enable
  47779. * 0b0..Receiver is disabled.
  47780. * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame.
  47781. */
  47782. #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK)
  47783. /*! @} */
  47784. /*! @name RCR1 - Receive Configuration 1 */
  47785. /*! @{ */
  47786. #define I2S_RCR1_RFW_MASK (0x1FU)
  47787. #define I2S_RCR1_RFW_SHIFT (0U)
  47788. /*! RFW - Receive FIFO Watermark
  47789. */
  47790. #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK)
  47791. /*! @} */
  47792. /*! @name RCR2 - Receive Configuration 2 */
  47793. /*! @{ */
  47794. #define I2S_RCR2_DIV_MASK (0xFFU)
  47795. #define I2S_RCR2_DIV_SHIFT (0U)
  47796. /*! DIV - Bit Clock Divide
  47797. */
  47798. #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK)
  47799. #define I2S_RCR2_BYP_MASK (0x800000U)
  47800. #define I2S_RCR2_BYP_SHIFT (23U)
  47801. /*! BYP - Bit Clock Bypass
  47802. * 0b0..Internal bit clock is generated from bit clock divider.
  47803. * 0b1..Internal bit clock is divide by one of the audio master clock.
  47804. */
  47805. #define I2S_RCR2_BYP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BYP_SHIFT)) & I2S_RCR2_BYP_MASK)
  47806. #define I2S_RCR2_BCD_MASK (0x1000000U)
  47807. #define I2S_RCR2_BCD_SHIFT (24U)
  47808. /*! BCD - Bit Clock Direction
  47809. * 0b0..Bit clock is generated externally in Slave mode.
  47810. * 0b1..Bit clock is generated internally in Master mode.
  47811. */
  47812. #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK)
  47813. #define I2S_RCR2_BCP_MASK (0x2000000U)
  47814. #define I2S_RCR2_BCP_SHIFT (25U)
  47815. /*! BCP - Bit Clock Polarity
  47816. * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge.
  47817. * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge.
  47818. */
  47819. #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK)
  47820. #define I2S_RCR2_MSEL_MASK (0xC000000U)
  47821. #define I2S_RCR2_MSEL_SHIFT (26U)
  47822. /*! MSEL - MCLK Select
  47823. * 0b00..Bus Clock selected.
  47824. * 0b01..Master Clock (MCLK) 1 option selected.
  47825. * 0b10..Master Clock (MCLK) 2 option selected.
  47826. * 0b11..Master Clock (MCLK) 3 option selected.
  47827. */
  47828. #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK)
  47829. #define I2S_RCR2_BCI_MASK (0x10000000U)
  47830. #define I2S_RCR2_BCI_SHIFT (28U)
  47831. /*! BCI - Bit Clock Input
  47832. * 0b0..No effect.
  47833. * 0b1..Internal logic is clocked as if bit clock was externally generated.
  47834. */
  47835. #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK)
  47836. #define I2S_RCR2_BCS_MASK (0x20000000U)
  47837. #define I2S_RCR2_BCS_SHIFT (29U)
  47838. /*! BCS - Bit Clock Swap
  47839. * 0b0..Use the normal bit clock source.
  47840. * 0b1..Swap the bit clock source.
  47841. */
  47842. #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK)
  47843. #define I2S_RCR2_SYNC_MASK (0x40000000U)
  47844. #define I2S_RCR2_SYNC_SHIFT (30U)
  47845. /*! SYNC - Synchronous Mode
  47846. * 0b0..Asynchronous mode.
  47847. * 0b1..Synchronous with transmitter.
  47848. */
  47849. #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK)
  47850. /*! @} */
  47851. /*! @name RCR3 - Receive Configuration 3 */
  47852. /*! @{ */
  47853. #define I2S_RCR3_WDFL_MASK (0x1FU)
  47854. #define I2S_RCR3_WDFL_SHIFT (0U)
  47855. /*! WDFL - Word Flag Configuration
  47856. */
  47857. #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK)
  47858. #define I2S_RCR3_RCE_MASK (0xF0000U) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47859. #define I2S_RCR3_RCE_SHIFT (16U)
  47860. /*! RCE - Receive Channel Enable
  47861. */
  47862. #define I2S_RCR3_RCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_RCE_SHIFT)) & I2S_RCR3_RCE_MASK) /* Merged from fields with different position or width, of widths (1, 4), largest definition used */
  47863. #define I2S_RCR3_CFR_MASK (0xF000000U)
  47864. #define I2S_RCR3_CFR_SHIFT (24U)
  47865. /*! CFR - Channel FIFO Reset
  47866. */
  47867. #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK)
  47868. /*! @} */
  47869. /*! @name RCR4 - Receive Configuration 4 */
  47870. /*! @{ */
  47871. #define I2S_RCR4_FSD_MASK (0x1U)
  47872. #define I2S_RCR4_FSD_SHIFT (0U)
  47873. /*! FSD - Frame Sync Direction
  47874. * 0b0..Frame Sync is generated externally in Slave mode.
  47875. * 0b1..Frame Sync is generated internally in Master mode.
  47876. */
  47877. #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK)
  47878. #define I2S_RCR4_FSP_MASK (0x2U)
  47879. #define I2S_RCR4_FSP_SHIFT (1U)
  47880. /*! FSP - Frame Sync Polarity
  47881. * 0b0..Frame sync is active high.
  47882. * 0b1..Frame sync is active low.
  47883. */
  47884. #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK)
  47885. #define I2S_RCR4_ONDEM_MASK (0x4U)
  47886. #define I2S_RCR4_ONDEM_SHIFT (2U)
  47887. /*! ONDEM - On Demand Mode
  47888. * 0b0..Internal frame sync is generated continuously.
  47889. * 0b1..Internal frame sync is generated when the FIFO warning flag is clear.
  47890. */
  47891. #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK)
  47892. #define I2S_RCR4_FSE_MASK (0x8U)
  47893. #define I2S_RCR4_FSE_SHIFT (3U)
  47894. /*! FSE - Frame Sync Early
  47895. * 0b0..Frame sync asserts with the first bit of the frame.
  47896. * 0b1..Frame sync asserts one bit before the first bit of the frame.
  47897. */
  47898. #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK)
  47899. #define I2S_RCR4_MF_MASK (0x10U)
  47900. #define I2S_RCR4_MF_SHIFT (4U)
  47901. /*! MF - MSB First
  47902. * 0b0..LSB is received first.
  47903. * 0b1..MSB is received first.
  47904. */
  47905. #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK)
  47906. #define I2S_RCR4_SYWD_MASK (0x1F00U)
  47907. #define I2S_RCR4_SYWD_SHIFT (8U)
  47908. /*! SYWD - Sync Width
  47909. */
  47910. #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK)
  47911. #define I2S_RCR4_FRSZ_MASK (0x1F0000U)
  47912. #define I2S_RCR4_FRSZ_SHIFT (16U)
  47913. /*! FRSZ - Frame Size
  47914. */
  47915. #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK)
  47916. #define I2S_RCR4_FPACK_MASK (0x3000000U)
  47917. #define I2S_RCR4_FPACK_SHIFT (24U)
  47918. /*! FPACK - FIFO Packing Mode
  47919. * 0b00..FIFO packing is disabled
  47920. * 0b01..Reserved.
  47921. * 0b10..8-bit FIFO packing is enabled
  47922. * 0b11..16-bit FIFO packing is enabled
  47923. */
  47924. #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK)
  47925. #define I2S_RCR4_FCOMB_MASK (0xC000000U)
  47926. #define I2S_RCR4_FCOMB_SHIFT (26U)
  47927. /*! FCOMB - FIFO Combine Mode
  47928. * 0b00..FIFO combine mode disabled.
  47929. * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers).
  47930. * 0b10..FIFO combine mode enabled on FIFO reads (by software).
  47931. * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software).
  47932. */
  47933. #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK)
  47934. #define I2S_RCR4_FCONT_MASK (0x10000000U)
  47935. #define I2S_RCR4_FCONT_SHIFT (28U)
  47936. /*! FCONT - FIFO Continue on Error
  47937. * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared.
  47938. * 0b1..On FIFO error, the SAI will continue from the same word that caused the FIFO error to set after the FIFO warning flag has been cleared.
  47939. */
  47940. #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK)
  47941. /*! @} */
  47942. /*! @name RCR5 - Receive Configuration 5 */
  47943. /*! @{ */
  47944. #define I2S_RCR5_FBT_MASK (0x1F00U)
  47945. #define I2S_RCR5_FBT_SHIFT (8U)
  47946. /*! FBT - First Bit Shifted
  47947. */
  47948. #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK)
  47949. #define I2S_RCR5_W0W_MASK (0x1F0000U)
  47950. #define I2S_RCR5_W0W_SHIFT (16U)
  47951. /*! W0W - Word 0 Width
  47952. */
  47953. #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK)
  47954. #define I2S_RCR5_WNW_MASK (0x1F000000U)
  47955. #define I2S_RCR5_WNW_SHIFT (24U)
  47956. /*! WNW - Word N Width
  47957. */
  47958. #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK)
  47959. /*! @} */
  47960. /*! @name RDR - Receive Data */
  47961. /*! @{ */
  47962. #define I2S_RDR_RDR_MASK (0xFFFFFFFFU)
  47963. #define I2S_RDR_RDR_SHIFT (0U)
  47964. /*! RDR - Receive Data Register
  47965. */
  47966. #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK)
  47967. /*! @} */
  47968. /* The count of I2S_RDR */
  47969. #define I2S_RDR_COUNT (4U)
  47970. /*! @name RFR - Receive FIFO */
  47971. /*! @{ */
  47972. #define I2S_RFR_RFP_MASK (0x3FU)
  47973. #define I2S_RFR_RFP_SHIFT (0U)
  47974. /*! RFP - Read FIFO Pointer
  47975. */
  47976. #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK)
  47977. #define I2S_RFR_RCP_MASK (0x8000U)
  47978. #define I2S_RFR_RCP_SHIFT (15U)
  47979. /*! RCP - Receive Channel Pointer
  47980. * 0b0..No effect.
  47981. * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read.
  47982. */
  47983. #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK)
  47984. #define I2S_RFR_WFP_MASK (0x3F0000U)
  47985. #define I2S_RFR_WFP_SHIFT (16U)
  47986. /*! WFP - Write FIFO Pointer
  47987. */
  47988. #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK)
  47989. /*! @} */
  47990. /* The count of I2S_RFR */
  47991. #define I2S_RFR_COUNT (4U)
  47992. /*! @name RMR - Receive Mask */
  47993. /*! @{ */
  47994. #define I2S_RMR_RWM_MASK (0xFFFFFFFFU)
  47995. #define I2S_RMR_RWM_SHIFT (0U)
  47996. /*! RWM - Receive Word Mask
  47997. * 0b00000000000000000000000000000000..Word N is enabled.
  47998. * 0b00000000000000000000000000000001..Word N is masked.
  47999. */
  48000. #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK)
  48001. /*! @} */
  48002. /*!
  48003. * @}
  48004. */ /* end of group I2S_Register_Masks */
  48005. /* I2S - Peripheral instance base addresses */
  48006. /** Peripheral SAI1 base address */
  48007. #define SAI1_BASE (0x40404000u)
  48008. /** Peripheral SAI1 base pointer */
  48009. #define SAI1 ((I2S_Type *)SAI1_BASE)
  48010. /** Peripheral SAI2 base address */
  48011. #define SAI2_BASE (0x40408000u)
  48012. /** Peripheral SAI2 base pointer */
  48013. #define SAI2 ((I2S_Type *)SAI2_BASE)
  48014. /** Peripheral SAI3 base address */
  48015. #define SAI3_BASE (0x4040C000u)
  48016. /** Peripheral SAI3 base pointer */
  48017. #define SAI3 ((I2S_Type *)SAI3_BASE)
  48018. /** Peripheral SAI4 base address */
  48019. #define SAI4_BASE (0x40C40000u)
  48020. /** Peripheral SAI4 base pointer */
  48021. #define SAI4 ((I2S_Type *)SAI4_BASE)
  48022. /** Array initializer of I2S peripheral base addresses */
  48023. #define I2S_BASE_ADDRS { 0u, SAI1_BASE, SAI2_BASE, SAI3_BASE, SAI4_BASE }
  48024. /** Array initializer of I2S peripheral base pointers */
  48025. #define I2S_BASE_PTRS { (I2S_Type *)0u, SAI1, SAI2, SAI3, SAI4 }
  48026. /** Interrupt vectors for the I2S peripheral type */
  48027. #define I2S_RX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_RX_IRQn, SAI4_RX_IRQn }
  48028. #define I2S_TX_IRQS { NotAvail_IRQn, SAI1_IRQn, SAI2_IRQn, SAI3_TX_IRQn, SAI4_TX_IRQn }
  48029. /*!
  48030. * @}
  48031. */ /* end of group I2S_Peripheral_Access_Layer */
  48032. /* ----------------------------------------------------------------------------
  48033. -- IEE Peripheral Access Layer
  48034. ---------------------------------------------------------------------------- */
  48035. /*!
  48036. * @addtogroup IEE_Peripheral_Access_Layer IEE Peripheral Access Layer
  48037. * @{
  48038. */
  48039. /** IEE - Register Layout Typedef */
  48040. typedef struct {
  48041. __IO uint32_t GCFG; /**< IEE Global Configuration, offset: 0x0 */
  48042. __I uint32_t STA; /**< IEE Status, offset: 0x4 */
  48043. __IO uint32_t TSTMD; /**< IEE Test Mode Register, offset: 0x8 */
  48044. __O uint32_t DPAMS; /**< AES Mask Generation Seed, offset: 0xC */
  48045. uint8_t RESERVED_0[16];
  48046. __IO uint32_t PC_S_LT; /**< Performance Counter, AES Slave Latency Threshold Value, offset: 0x20 */
  48047. __IO uint32_t PC_M_LT; /**< Performance Counter, AES Master Latency Threshold, offset: 0x24 */
  48048. uint8_t RESERVED_1[24];
  48049. __IO uint32_t PC_BLK_ENC; /**< Performance Counter, Number of AES Block Encryptions, offset: 0x40 */
  48050. __IO uint32_t PC_BLK_DEC; /**< Performance Counter, Number of AES Block Decryptions, offset: 0x44 */
  48051. uint8_t RESERVED_2[8];
  48052. __IO uint32_t PC_SR_TRANS; /**< Performance Counter, Number of AXI Slave Read Transactions, offset: 0x50 */
  48053. __IO uint32_t PC_SW_TRANS; /**< Performance Counter, Number of AXI Slave Write Transactions, offset: 0x54 */
  48054. __IO uint32_t PC_MR_TRANS; /**< Performance Counter, Number of AXI Master Read Transactions, offset: 0x58 */
  48055. __IO uint32_t PC_MW_TRANS; /**< Performance Counter, Number of AXI Master Write Transactions, offset: 0x5C */
  48056. uint8_t RESERVED_3[4];
  48057. __IO uint32_t PC_M_MBR; /**< Performance Counter, Number of AXI Master Merge Buffer Read Transactions, offset: 0x64 */
  48058. uint8_t RESERVED_4[8];
  48059. __IO uint32_t PC_SR_TBC_U; /**< Performance Counter, Upper Slave Read Transactions Byte Count, offset: 0x70 */
  48060. __IO uint32_t PC_SR_TBC_L; /**< Performance Counter, Lower Slave Read Transactions Byte Count, offset: 0x74 */
  48061. __IO uint32_t PC_SW_TBC_U; /**< Performance Counter, Upper Slave Write Transactions Byte Count, offset: 0x78 */
  48062. __IO uint32_t PC_SW_TBC_L; /**< Performance Counter, Lower Slave Write Transactions Byte Count, offset: 0x7C */
  48063. __IO uint32_t PC_MR_TBC_U; /**< Performance Counter, Upper Master Read Transactions Byte Count, offset: 0x80 */
  48064. __IO uint32_t PC_MR_TBC_L; /**< Performance Counter, Lower Master Read Transactions Byte Count, offset: 0x84 */
  48065. __IO uint32_t PC_MW_TBC_U; /**< Performance Counter, Upper Master Write Transactions Byte Count, offset: 0x88 */
  48066. __IO uint32_t PC_MW_TBC_L; /**< Performance Counter, Lower Master Write Transactions Byte Count, offset: 0x8C */
  48067. __IO uint32_t PC_SR_TLGTT; /**< Performance Counter, Number of AXI Slave Read Transactions with Latency Greater than the Threshold, offset: 0x90 */
  48068. __IO uint32_t PC_SW_TLGTT; /**< Performance Counter, Number of AXI Slave Write Transactions with Latency Greater than the Threshold, offset: 0x94 */
  48069. __IO uint32_t PC_MR_TLGTT; /**< Performance Counter, Number of AXI Master Read Transactions with Latency Greater than the Threshold, offset: 0x98 */
  48070. __IO uint32_t PC_MW_TLGTT; /**< Performance Counter, Number of AXI Master Write Transactions with Latency Greater than the Threshold, offset: 0x9C */
  48071. __IO uint32_t PC_SR_TLAT_U; /**< Performance Counter, Upper Slave Read Latency Count, offset: 0xA0 */
  48072. __IO uint32_t PC_SR_TLAT_L; /**< Performance Counter, Lower Slave Read Latency Count, offset: 0xA4 */
  48073. __IO uint32_t PC_SW_TLAT_U; /**< Performance Counter, Upper Slave Write Latency Count, offset: 0xA8 */
  48074. __IO uint32_t PC_SW_TLAT_L; /**< Performance Counter, Lower Slave Write Latency Count, offset: 0xAC */
  48075. __IO uint32_t PC_MR_TLAT_U; /**< Performance Counter, Upper Master Read Latency Count, offset: 0xB0 */
  48076. __IO uint32_t PC_MR_TLAT_L; /**< Performance Counter, Lower Master Read Latency Count, offset: 0xB4 */
  48077. __IO uint32_t PC_MW_TLAT_U; /**< Performance Counter, Upper Master Write Latency Count, offset: 0xB8 */
  48078. __IO uint32_t PC_MW_TLAT_L; /**< Performance Counter, Lower Master Write Latency Count, offset: 0xBC */
  48079. __IO uint32_t PC_SR_TNRT_U; /**< Performance Counter, Upper Slave Read Total Non-Responding Time, offset: 0xC0 */
  48080. __IO uint32_t PC_SR_TNRT_L; /**< Performance Counter, Lower Slave Read Total Non-Responding Time, offset: 0xC4 */
  48081. __IO uint32_t PC_SW_TNRT_U; /**< Performance Counter, Upper Slave Write Total Non-Responding Time, offset: 0xC8 */
  48082. __IO uint32_t PC_SW_TNRT_L; /**< Performance Counter, Lower Slave Write Total Non-Responding Time, offset: 0xCC */
  48083. uint8_t RESERVED_5[32];
  48084. __I uint32_t VIDR1; /**< IEE Version ID Register 1, offset: 0xF0 */
  48085. uint8_t RESERVED_6[4];
  48086. __I uint32_t AESVID; /**< IEE AES Version ID Register, offset: 0xF8 */
  48087. uint8_t RESERVED_7[4];
  48088. struct { /* offset: 0x100, array step: 0x100 */
  48089. __IO uint32_t REGATTR; /**< IEE Region 0 Attribute Register...IEE Region 7 Attribute Register., array offset: 0x100, array step: 0x100 */
  48090. uint8_t RESERVED_0[4];
  48091. __IO uint32_t REGPO; /**< IEE Region 0 Page Offset Register..IEE Region 7 Page Offset Register, array offset: 0x108, array step: 0x100 */
  48092. uint8_t RESERVED_1[52];
  48093. __O uint32_t REGKEY1[8]; /**< IEE Region 0 Key 1 Register..IEE Region 7 Key 1 Register, array offset: 0x140, array step: index*0x100, index2*0x4 */
  48094. uint8_t RESERVED_2[32];
  48095. __O uint32_t REGKEY2[8]; /**< IEE Region 0 Key 2 Register..IEE Region 7 Key 2 Register, array offset: 0x180, array step: index*0x100, index2*0x4 */
  48096. uint8_t RESERVED_3[96];
  48097. } REGX[8];
  48098. uint8_t RESERVED_8[1536];
  48099. __IO uint32_t AES_TST_DB[32]; /**< IEE AES Test Mode Data Buffer, array offset: 0xF00, array step: 0x4 */
  48100. } IEE_Type;
  48101. /* ----------------------------------------------------------------------------
  48102. -- IEE Register Masks
  48103. ---------------------------------------------------------------------------- */
  48104. /*!
  48105. * @addtogroup IEE_Register_Masks IEE Register Masks
  48106. * @{
  48107. */
  48108. /*! @name GCFG - IEE Global Configuration */
  48109. /*! @{ */
  48110. #define IEE_GCFG_RL0_MASK (0x1U)
  48111. #define IEE_GCFG_RL0_SHIFT (0U)
  48112. /*! RL0
  48113. * 0b0..Unlocked.
  48114. * 0b1..Key, Offset and Attribute registers are locked.
  48115. */
  48116. #define IEE_GCFG_RL0(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL0_SHIFT)) & IEE_GCFG_RL0_MASK)
  48117. #define IEE_GCFG_RL1_MASK (0x2U)
  48118. #define IEE_GCFG_RL1_SHIFT (1U)
  48119. /*! RL1
  48120. * 0b0..Unlocked.
  48121. * 0b1..Key, Offset and Attribute registers are locked.
  48122. */
  48123. #define IEE_GCFG_RL1(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL1_SHIFT)) & IEE_GCFG_RL1_MASK)
  48124. #define IEE_GCFG_RL2_MASK (0x4U)
  48125. #define IEE_GCFG_RL2_SHIFT (2U)
  48126. /*! RL2
  48127. * 0b0..Unlocked.
  48128. * 0b1..Key, Offset and Attribute registers are locked.
  48129. */
  48130. #define IEE_GCFG_RL2(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL2_SHIFT)) & IEE_GCFG_RL2_MASK)
  48131. #define IEE_GCFG_RL3_MASK (0x8U)
  48132. #define IEE_GCFG_RL3_SHIFT (3U)
  48133. /*! RL3
  48134. * 0b0..Unlocked.
  48135. * 0b1..Key, Offset and Attribute registers are locked.
  48136. */
  48137. #define IEE_GCFG_RL3(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL3_SHIFT)) & IEE_GCFG_RL3_MASK)
  48138. #define IEE_GCFG_RL4_MASK (0x10U)
  48139. #define IEE_GCFG_RL4_SHIFT (4U)
  48140. /*! RL4
  48141. * 0b0..Unlocked.
  48142. * 0b1..Key, Offset and Attribute registers are locked.
  48143. */
  48144. #define IEE_GCFG_RL4(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL4_SHIFT)) & IEE_GCFG_RL4_MASK)
  48145. #define IEE_GCFG_RL5_MASK (0x20U)
  48146. #define IEE_GCFG_RL5_SHIFT (5U)
  48147. /*! RL5
  48148. * 0b0..Unlocked.
  48149. * 0b1..Key, Offset and Attribute registers are locked.
  48150. */
  48151. #define IEE_GCFG_RL5(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL5_SHIFT)) & IEE_GCFG_RL5_MASK)
  48152. #define IEE_GCFG_RL6_MASK (0x40U)
  48153. #define IEE_GCFG_RL6_SHIFT (6U)
  48154. /*! RL6
  48155. * 0b0..Unlocked.
  48156. * 0b1..Key, Offset and Attribute registers are locked.
  48157. */
  48158. #define IEE_GCFG_RL6(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL6_SHIFT)) & IEE_GCFG_RL6_MASK)
  48159. #define IEE_GCFG_RL7_MASK (0x80U)
  48160. #define IEE_GCFG_RL7_SHIFT (7U)
  48161. /*! RL7
  48162. * 0b0..Unlocked.
  48163. * 0b1..Key, Offset and Attribute registers are locked.
  48164. */
  48165. #define IEE_GCFG_RL7(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RL7_SHIFT)) & IEE_GCFG_RL7_MASK)
  48166. #define IEE_GCFG_TME_MASK (0x10000U)
  48167. #define IEE_GCFG_TME_SHIFT (16U)
  48168. /*! TME
  48169. * 0b0..Disabled.
  48170. * 0b1..Enabled.
  48171. */
  48172. #define IEE_GCFG_TME(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_TME_SHIFT)) & IEE_GCFG_TME_MASK)
  48173. #define IEE_GCFG_TMD_MASK (0x20000U)
  48174. #define IEE_GCFG_TMD_SHIFT (17U)
  48175. /*! TMD
  48176. * 0b0..Test mode is usable.
  48177. * 0b1..Test mode is disabled.
  48178. */
  48179. #define IEE_GCFG_TMD(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_TMD_SHIFT)) & IEE_GCFG_TMD_MASK)
  48180. #define IEE_GCFG_KEY_RD_DIS_MASK (0x2000000U)
  48181. #define IEE_GCFG_KEY_RD_DIS_SHIFT (25U)
  48182. /*! KEY_RD_DIS
  48183. * 0b0..Key read enabled. Reading the key registers is allowed.
  48184. * 0b1..Key read disabled. Reading the key registers is disabled.
  48185. */
  48186. #define IEE_GCFG_KEY_RD_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_KEY_RD_DIS_SHIFT)) & IEE_GCFG_KEY_RD_DIS_MASK)
  48187. #define IEE_GCFG_MON_EN_MASK (0x10000000U)
  48188. #define IEE_GCFG_MON_EN_SHIFT (28U)
  48189. /*! MON_EN
  48190. * 0b0..Performance monitoring disabled. Writing of the performance counter registers is enabled.
  48191. * 0b1..Performance monitoring enabled. Writing of the performance counter registers is disabled.
  48192. */
  48193. #define IEE_GCFG_MON_EN(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_MON_EN_SHIFT)) & IEE_GCFG_MON_EN_MASK)
  48194. #define IEE_GCFG_CLR_MON_MASK (0x20000000U)
  48195. #define IEE_GCFG_CLR_MON_SHIFT (29U)
  48196. /*! CLR_MON
  48197. * 0b0..Do not reset.
  48198. * 0b1..Reset performance counters.
  48199. */
  48200. #define IEE_GCFG_CLR_MON(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_CLR_MON_SHIFT)) & IEE_GCFG_CLR_MON_MASK)
  48201. #define IEE_GCFG_RST_MASK (0x80000000U)
  48202. #define IEE_GCFG_RST_SHIFT (31U)
  48203. /*! RST
  48204. * 0b0..Do Not Reset.
  48205. * 0b1..Reset IEE.
  48206. */
  48207. #define IEE_GCFG_RST(x) (((uint32_t)(((uint32_t)(x)) << IEE_GCFG_RST_SHIFT)) & IEE_GCFG_RST_MASK)
  48208. /*! @} */
  48209. /*! @name STA - IEE Status */
  48210. /*! @{ */
  48211. #define IEE_STA_DSR_MASK (0x1U)
  48212. #define IEE_STA_DSR_SHIFT (0U)
  48213. /*! DSR
  48214. * 0b0..No seed request present
  48215. * 0b1..Seed request present
  48216. */
  48217. #define IEE_STA_DSR(x) (((uint32_t)(((uint32_t)(x)) << IEE_STA_DSR_SHIFT)) & IEE_STA_DSR_MASK)
  48218. #define IEE_STA_AFD_MASK (0x10U)
  48219. #define IEE_STA_AFD_SHIFT (4U)
  48220. /*! AFD
  48221. * 0b0..No fault detected
  48222. * 0b1..Fault detected
  48223. */
  48224. #define IEE_STA_AFD(x) (((uint32_t)(((uint32_t)(x)) << IEE_STA_AFD_SHIFT)) & IEE_STA_AFD_MASK)
  48225. /*! @} */
  48226. /*! @name TSTMD - IEE Test Mode Register */
  48227. /*! @{ */
  48228. #define IEE_TSTMD_TMRDY_MASK (0x1U)
  48229. #define IEE_TSTMD_TMRDY_SHIFT (0U)
  48230. /*! TMRDY
  48231. * 0b0..Not Ready.
  48232. * 0b1..Ready.
  48233. */
  48234. #define IEE_TSTMD_TMRDY(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMRDY_SHIFT)) & IEE_TSTMD_TMRDY_MASK)
  48235. #define IEE_TSTMD_TMR_MASK (0x2U)
  48236. #define IEE_TSTMD_TMR_SHIFT (1U)
  48237. /*! TMR
  48238. * 0b0..Not running. May be written if IEE_GCFG[TME] = 1
  48239. * 0b1..Run AES Test until TMDONE is indicated.
  48240. */
  48241. #define IEE_TSTMD_TMR(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMR_SHIFT)) & IEE_TSTMD_TMR_MASK)
  48242. #define IEE_TSTMD_TMENCR_MASK (0x4U)
  48243. #define IEE_TSTMD_TMENCR_SHIFT (2U)
  48244. /*! TMENCR
  48245. * 0b0..AES Test mode will do decryption.
  48246. * 0b1..AES Test mode will do encryption.
  48247. */
  48248. #define IEE_TSTMD_TMENCR(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMENCR_SHIFT)) & IEE_TSTMD_TMENCR_MASK)
  48249. #define IEE_TSTMD_TMCONT_MASK (0x8U)
  48250. #define IEE_TSTMD_TMCONT_SHIFT (3U)
  48251. /*! TMCONT
  48252. * 0b0..Do not continue. This is the last block of data for AES.
  48253. * 0b1..Continue. Do not initialize AES after this block.
  48254. */
  48255. #define IEE_TSTMD_TMCONT(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMCONT_SHIFT)) & IEE_TSTMD_TMCONT_MASK)
  48256. #define IEE_TSTMD_TMDONE_MASK (0x10U)
  48257. #define IEE_TSTMD_TMDONE_SHIFT (4U)
  48258. /*! TMDONE
  48259. * 0b0..Not Done.
  48260. * 0b1..Test Done.
  48261. */
  48262. #define IEE_TSTMD_TMDONE(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMDONE_SHIFT)) & IEE_TSTMD_TMDONE_MASK)
  48263. #define IEE_TSTMD_TMLEN_MASK (0xF00U)
  48264. #define IEE_TSTMD_TMLEN_SHIFT (8U)
  48265. #define IEE_TSTMD_TMLEN(x) (((uint32_t)(((uint32_t)(x)) << IEE_TSTMD_TMLEN_SHIFT)) & IEE_TSTMD_TMLEN_MASK)
  48266. /*! @} */
  48267. /*! @name DPAMS - AES Mask Generation Seed */
  48268. /*! @{ */
  48269. #define IEE_DPAMS_DPAMS_MASK (0xFFFFFFFFU)
  48270. #define IEE_DPAMS_DPAMS_SHIFT (0U)
  48271. #define IEE_DPAMS_DPAMS(x) (((uint32_t)(((uint32_t)(x)) << IEE_DPAMS_DPAMS_SHIFT)) & IEE_DPAMS_DPAMS_MASK)
  48272. /*! @} */
  48273. /*! @name PC_S_LT - Performance Counter, AES Slave Latency Threshold Value */
  48274. /*! @{ */
  48275. #define IEE_PC_S_LT_SW_LT_MASK (0xFFFFU)
  48276. #define IEE_PC_S_LT_SW_LT_SHIFT (0U)
  48277. #define IEE_PC_S_LT_SW_LT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_S_LT_SW_LT_SHIFT)) & IEE_PC_S_LT_SW_LT_MASK)
  48278. #define IEE_PC_S_LT_SR_LT_MASK (0xFFFF0000U)
  48279. #define IEE_PC_S_LT_SR_LT_SHIFT (16U)
  48280. #define IEE_PC_S_LT_SR_LT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_S_LT_SR_LT_SHIFT)) & IEE_PC_S_LT_SR_LT_MASK)
  48281. /*! @} */
  48282. /*! @name PC_M_LT - Performance Counter, AES Master Latency Threshold */
  48283. /*! @{ */
  48284. #define IEE_PC_M_LT_MW_LT_MASK (0xFFFU)
  48285. #define IEE_PC_M_LT_MW_LT_SHIFT (0U)
  48286. #define IEE_PC_M_LT_MW_LT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_M_LT_MW_LT_SHIFT)) & IEE_PC_M_LT_MW_LT_MASK)
  48287. #define IEE_PC_M_LT_MR_LT_MASK (0xFFF0000U)
  48288. #define IEE_PC_M_LT_MR_LT_SHIFT (16U)
  48289. #define IEE_PC_M_LT_MR_LT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_M_LT_MR_LT_SHIFT)) & IEE_PC_M_LT_MR_LT_MASK)
  48290. /*! @} */
  48291. /*! @name PC_BLK_ENC - Performance Counter, Number of AES Block Encryptions */
  48292. /*! @{ */
  48293. #define IEE_PC_BLK_ENC_BLK_ENC_MASK (0xFFFFFFFFU)
  48294. #define IEE_PC_BLK_ENC_BLK_ENC_SHIFT (0U)
  48295. #define IEE_PC_BLK_ENC_BLK_ENC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_BLK_ENC_BLK_ENC_SHIFT)) & IEE_PC_BLK_ENC_BLK_ENC_MASK)
  48296. /*! @} */
  48297. /*! @name PC_BLK_DEC - Performance Counter, Number of AES Block Decryptions */
  48298. /*! @{ */
  48299. #define IEE_PC_BLK_DEC_BLK_DEC_MASK (0xFFFFFFFFU)
  48300. #define IEE_PC_BLK_DEC_BLK_DEC_SHIFT (0U)
  48301. #define IEE_PC_BLK_DEC_BLK_DEC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_BLK_DEC_BLK_DEC_SHIFT)) & IEE_PC_BLK_DEC_BLK_DEC_MASK)
  48302. /*! @} */
  48303. /*! @name PC_SR_TRANS - Performance Counter, Number of AXI Slave Read Transactions */
  48304. /*! @{ */
  48305. #define IEE_PC_SR_TRANS_SR_TRANS_MASK (0xFFFFFFFFU)
  48306. #define IEE_PC_SR_TRANS_SR_TRANS_SHIFT (0U)
  48307. #define IEE_PC_SR_TRANS_SR_TRANS(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TRANS_SR_TRANS_SHIFT)) & IEE_PC_SR_TRANS_SR_TRANS_MASK)
  48308. /*! @} */
  48309. /*! @name PC_SW_TRANS - Performance Counter, Number of AXI Slave Write Transactions */
  48310. /*! @{ */
  48311. #define IEE_PC_SW_TRANS_SW_TRANS_MASK (0xFFFFFFFFU)
  48312. #define IEE_PC_SW_TRANS_SW_TRANS_SHIFT (0U)
  48313. #define IEE_PC_SW_TRANS_SW_TRANS(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TRANS_SW_TRANS_SHIFT)) & IEE_PC_SW_TRANS_SW_TRANS_MASK)
  48314. /*! @} */
  48315. /*! @name PC_MR_TRANS - Performance Counter, Number of AXI Master Read Transactions */
  48316. /*! @{ */
  48317. #define IEE_PC_MR_TRANS_MR_TRANS_MASK (0xFFFFFFFFU)
  48318. #define IEE_PC_MR_TRANS_MR_TRANS_SHIFT (0U)
  48319. #define IEE_PC_MR_TRANS_MR_TRANS(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TRANS_MR_TRANS_SHIFT)) & IEE_PC_MR_TRANS_MR_TRANS_MASK)
  48320. /*! @} */
  48321. /*! @name PC_MW_TRANS - Performance Counter, Number of AXI Master Write Transactions */
  48322. /*! @{ */
  48323. #define IEE_PC_MW_TRANS_MW_TRANS_MASK (0xFFFFFFFFU)
  48324. #define IEE_PC_MW_TRANS_MW_TRANS_SHIFT (0U)
  48325. #define IEE_PC_MW_TRANS_MW_TRANS(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TRANS_MW_TRANS_SHIFT)) & IEE_PC_MW_TRANS_MW_TRANS_MASK)
  48326. /*! @} */
  48327. /*! @name PC_M_MBR - Performance Counter, Number of AXI Master Merge Buffer Read Transactions */
  48328. /*! @{ */
  48329. #define IEE_PC_M_MBR_M_MBR_MASK (0xFFFFFFFFU)
  48330. #define IEE_PC_M_MBR_M_MBR_SHIFT (0U)
  48331. #define IEE_PC_M_MBR_M_MBR(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_M_MBR_M_MBR_SHIFT)) & IEE_PC_M_MBR_M_MBR_MASK)
  48332. /*! @} */
  48333. /*! @name PC_SR_TBC_U - Performance Counter, Upper Slave Read Transactions Byte Count */
  48334. /*! @{ */
  48335. #define IEE_PC_SR_TBC_U_SR_TBC_MASK (0xFFFFU)
  48336. #define IEE_PC_SR_TBC_U_SR_TBC_SHIFT (0U)
  48337. #define IEE_PC_SR_TBC_U_SR_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TBC_U_SR_TBC_SHIFT)) & IEE_PC_SR_TBC_U_SR_TBC_MASK)
  48338. /*! @} */
  48339. /*! @name PC_SR_TBC_L - Performance Counter, Lower Slave Read Transactions Byte Count */
  48340. /*! @{ */
  48341. #define IEE_PC_SR_TBC_L_SR_TBC_MASK (0xFFFFFFFFU)
  48342. #define IEE_PC_SR_TBC_L_SR_TBC_SHIFT (0U)
  48343. #define IEE_PC_SR_TBC_L_SR_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TBC_L_SR_TBC_SHIFT)) & IEE_PC_SR_TBC_L_SR_TBC_MASK)
  48344. /*! @} */
  48345. /*! @name PC_SW_TBC_U - Performance Counter, Upper Slave Write Transactions Byte Count */
  48346. /*! @{ */
  48347. #define IEE_PC_SW_TBC_U_SW_TBC_MASK (0xFFFFU)
  48348. #define IEE_PC_SW_TBC_U_SW_TBC_SHIFT (0U)
  48349. #define IEE_PC_SW_TBC_U_SW_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TBC_U_SW_TBC_SHIFT)) & IEE_PC_SW_TBC_U_SW_TBC_MASK)
  48350. /*! @} */
  48351. /*! @name PC_SW_TBC_L - Performance Counter, Lower Slave Write Transactions Byte Count */
  48352. /*! @{ */
  48353. #define IEE_PC_SW_TBC_L_SW_TBC_MASK (0xFFFFFFFFU)
  48354. #define IEE_PC_SW_TBC_L_SW_TBC_SHIFT (0U)
  48355. #define IEE_PC_SW_TBC_L_SW_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TBC_L_SW_TBC_SHIFT)) & IEE_PC_SW_TBC_L_SW_TBC_MASK)
  48356. /*! @} */
  48357. /*! @name PC_MR_TBC_U - Performance Counter, Upper Master Read Transactions Byte Count */
  48358. /*! @{ */
  48359. #define IEE_PC_MR_TBC_U_MR_TBC_MASK (0xFFFFU)
  48360. #define IEE_PC_MR_TBC_U_MR_TBC_SHIFT (0U)
  48361. #define IEE_PC_MR_TBC_U_MR_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TBC_U_MR_TBC_SHIFT)) & IEE_PC_MR_TBC_U_MR_TBC_MASK)
  48362. /*! @} */
  48363. /*! @name PC_MR_TBC_L - Performance Counter, Lower Master Read Transactions Byte Count */
  48364. /*! @{ */
  48365. #define IEE_PC_MR_TBC_L_MR_TBC_LSB_MASK (0xFU)
  48366. #define IEE_PC_MR_TBC_L_MR_TBC_LSB_SHIFT (0U)
  48367. #define IEE_PC_MR_TBC_L_MR_TBC_LSB(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TBC_L_MR_TBC_LSB_SHIFT)) & IEE_PC_MR_TBC_L_MR_TBC_LSB_MASK)
  48368. #define IEE_PC_MR_TBC_L_MR_TBC_MASK (0xFFFFFFF0U)
  48369. #define IEE_PC_MR_TBC_L_MR_TBC_SHIFT (4U)
  48370. #define IEE_PC_MR_TBC_L_MR_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TBC_L_MR_TBC_SHIFT)) & IEE_PC_MR_TBC_L_MR_TBC_MASK)
  48371. /*! @} */
  48372. /*! @name PC_MW_TBC_U - Performance Counter, Upper Master Write Transactions Byte Count */
  48373. /*! @{ */
  48374. #define IEE_PC_MW_TBC_U_MW_TBC_MASK (0xFFFFU)
  48375. #define IEE_PC_MW_TBC_U_MW_TBC_SHIFT (0U)
  48376. #define IEE_PC_MW_TBC_U_MW_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TBC_U_MW_TBC_SHIFT)) & IEE_PC_MW_TBC_U_MW_TBC_MASK)
  48377. /*! @} */
  48378. /*! @name PC_MW_TBC_L - Performance Counter, Lower Master Write Transactions Byte Count */
  48379. /*! @{ */
  48380. #define IEE_PC_MW_TBC_L_MW_TBC_LSB_MASK (0xFU)
  48381. #define IEE_PC_MW_TBC_L_MW_TBC_LSB_SHIFT (0U)
  48382. #define IEE_PC_MW_TBC_L_MW_TBC_LSB(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TBC_L_MW_TBC_LSB_SHIFT)) & IEE_PC_MW_TBC_L_MW_TBC_LSB_MASK)
  48383. #define IEE_PC_MW_TBC_L_MW_TBC_MASK (0xFFFFFFF0U)
  48384. #define IEE_PC_MW_TBC_L_MW_TBC_SHIFT (4U)
  48385. #define IEE_PC_MW_TBC_L_MW_TBC(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TBC_L_MW_TBC_SHIFT)) & IEE_PC_MW_TBC_L_MW_TBC_MASK)
  48386. /*! @} */
  48387. /*! @name PC_SR_TLGTT - Performance Counter, Number of AXI Slave Read Transactions with Latency Greater than the Threshold */
  48388. /*! @{ */
  48389. #define IEE_PC_SR_TLGTT_SR_TLGTT_MASK (0xFFFFFFFFU)
  48390. #define IEE_PC_SR_TLGTT_SR_TLGTT_SHIFT (0U)
  48391. #define IEE_PC_SR_TLGTT_SR_TLGTT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TLGTT_SR_TLGTT_SHIFT)) & IEE_PC_SR_TLGTT_SR_TLGTT_MASK)
  48392. /*! @} */
  48393. /*! @name PC_SW_TLGTT - Performance Counter, Number of AXI Slave Write Transactions with Latency Greater than the Threshold */
  48394. /*! @{ */
  48395. #define IEE_PC_SW_TLGTT_SW_TLGTT_MASK (0xFFFFFFFFU)
  48396. #define IEE_PC_SW_TLGTT_SW_TLGTT_SHIFT (0U)
  48397. #define IEE_PC_SW_TLGTT_SW_TLGTT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TLGTT_SW_TLGTT_SHIFT)) & IEE_PC_SW_TLGTT_SW_TLGTT_MASK)
  48398. /*! @} */
  48399. /*! @name PC_MR_TLGTT - Performance Counter, Number of AXI Master Read Transactions with Latency Greater than the Threshold */
  48400. /*! @{ */
  48401. #define IEE_PC_MR_TLGTT_MR_TLGTT_MASK (0xFFFFFFFFU)
  48402. #define IEE_PC_MR_TLGTT_MR_TLGTT_SHIFT (0U)
  48403. #define IEE_PC_MR_TLGTT_MR_TLGTT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TLGTT_MR_TLGTT_SHIFT)) & IEE_PC_MR_TLGTT_MR_TLGTT_MASK)
  48404. /*! @} */
  48405. /*! @name PC_MW_TLGTT - Performance Counter, Number of AXI Master Write Transactions with Latency Greater than the Threshold */
  48406. /*! @{ */
  48407. #define IEE_PC_MW_TLGTT_MW_TGTT_MASK (0xFFFFFFFFU)
  48408. #define IEE_PC_MW_TLGTT_MW_TGTT_SHIFT (0U)
  48409. #define IEE_PC_MW_TLGTT_MW_TGTT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TLGTT_MW_TGTT_SHIFT)) & IEE_PC_MW_TLGTT_MW_TGTT_MASK)
  48410. /*! @} */
  48411. /*! @name PC_SR_TLAT_U - Performance Counter, Upper Slave Read Latency Count */
  48412. /*! @{ */
  48413. #define IEE_PC_SR_TLAT_U_SR_TLAT_MASK (0xFFFFU)
  48414. #define IEE_PC_SR_TLAT_U_SR_TLAT_SHIFT (0U)
  48415. #define IEE_PC_SR_TLAT_U_SR_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TLAT_U_SR_TLAT_SHIFT)) & IEE_PC_SR_TLAT_U_SR_TLAT_MASK)
  48416. /*! @} */
  48417. /*! @name PC_SR_TLAT_L - Performance Counter, Lower Slave Read Latency Count */
  48418. /*! @{ */
  48419. #define IEE_PC_SR_TLAT_L_SR_TLAT_MASK (0xFFFFFFFFU)
  48420. #define IEE_PC_SR_TLAT_L_SR_TLAT_SHIFT (0U)
  48421. #define IEE_PC_SR_TLAT_L_SR_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TLAT_L_SR_TLAT_SHIFT)) & IEE_PC_SR_TLAT_L_SR_TLAT_MASK)
  48422. /*! @} */
  48423. /*! @name PC_SW_TLAT_U - Performance Counter, Upper Slave Write Latency Count */
  48424. /*! @{ */
  48425. #define IEE_PC_SW_TLAT_U_SW_TLAT_MASK (0xFFFFU)
  48426. #define IEE_PC_SW_TLAT_U_SW_TLAT_SHIFT (0U)
  48427. #define IEE_PC_SW_TLAT_U_SW_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TLAT_U_SW_TLAT_SHIFT)) & IEE_PC_SW_TLAT_U_SW_TLAT_MASK)
  48428. /*! @} */
  48429. /*! @name PC_SW_TLAT_L - Performance Counter, Lower Slave Write Latency Count */
  48430. /*! @{ */
  48431. #define IEE_PC_SW_TLAT_L_SW_TLAT_MASK (0xFFFFFFFFU)
  48432. #define IEE_PC_SW_TLAT_L_SW_TLAT_SHIFT (0U)
  48433. #define IEE_PC_SW_TLAT_L_SW_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TLAT_L_SW_TLAT_SHIFT)) & IEE_PC_SW_TLAT_L_SW_TLAT_MASK)
  48434. /*! @} */
  48435. /*! @name PC_MR_TLAT_U - Performance Counter, Upper Master Read Latency Count */
  48436. /*! @{ */
  48437. #define IEE_PC_MR_TLAT_U_MR_TLAT_MASK (0xFFFFU)
  48438. #define IEE_PC_MR_TLAT_U_MR_TLAT_SHIFT (0U)
  48439. #define IEE_PC_MR_TLAT_U_MR_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TLAT_U_MR_TLAT_SHIFT)) & IEE_PC_MR_TLAT_U_MR_TLAT_MASK)
  48440. /*! @} */
  48441. /*! @name PC_MR_TLAT_L - Performance Counter, Lower Master Read Latency Count */
  48442. /*! @{ */
  48443. #define IEE_PC_MR_TLAT_L_MR_TLAT_MASK (0xFFFFFFFFU)
  48444. #define IEE_PC_MR_TLAT_L_MR_TLAT_SHIFT (0U)
  48445. #define IEE_PC_MR_TLAT_L_MR_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MR_TLAT_L_MR_TLAT_SHIFT)) & IEE_PC_MR_TLAT_L_MR_TLAT_MASK)
  48446. /*! @} */
  48447. /*! @name PC_MW_TLAT_U - Performance Counter, Upper Master Write Latency Count */
  48448. /*! @{ */
  48449. #define IEE_PC_MW_TLAT_U_MW_TLAT_MASK (0xFFFFU)
  48450. #define IEE_PC_MW_TLAT_U_MW_TLAT_SHIFT (0U)
  48451. #define IEE_PC_MW_TLAT_U_MW_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TLAT_U_MW_TLAT_SHIFT)) & IEE_PC_MW_TLAT_U_MW_TLAT_MASK)
  48452. /*! @} */
  48453. /*! @name PC_MW_TLAT_L - Performance Counter, Lower Master Write Latency Count */
  48454. /*! @{ */
  48455. #define IEE_PC_MW_TLAT_L_MW_TLAT_MASK (0xFFFFFFFFU)
  48456. #define IEE_PC_MW_TLAT_L_MW_TLAT_SHIFT (0U)
  48457. #define IEE_PC_MW_TLAT_L_MW_TLAT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_MW_TLAT_L_MW_TLAT_SHIFT)) & IEE_PC_MW_TLAT_L_MW_TLAT_MASK)
  48458. /*! @} */
  48459. /*! @name PC_SR_TNRT_U - Performance Counter, Upper Slave Read Total Non-Responding Time */
  48460. /*! @{ */
  48461. #define IEE_PC_SR_TNRT_U_SR_TNRT_MASK (0xFFFFU)
  48462. #define IEE_PC_SR_TNRT_U_SR_TNRT_SHIFT (0U)
  48463. #define IEE_PC_SR_TNRT_U_SR_TNRT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TNRT_U_SR_TNRT_SHIFT)) & IEE_PC_SR_TNRT_U_SR_TNRT_MASK)
  48464. /*! @} */
  48465. /*! @name PC_SR_TNRT_L - Performance Counter, Lower Slave Read Total Non-Responding Time */
  48466. /*! @{ */
  48467. #define IEE_PC_SR_TNRT_L_SR_TNRT_MASK (0xFFFFFFFFU)
  48468. #define IEE_PC_SR_TNRT_L_SR_TNRT_SHIFT (0U)
  48469. #define IEE_PC_SR_TNRT_L_SR_TNRT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SR_TNRT_L_SR_TNRT_SHIFT)) & IEE_PC_SR_TNRT_L_SR_TNRT_MASK)
  48470. /*! @} */
  48471. /*! @name PC_SW_TNRT_U - Performance Counter, Upper Slave Write Total Non-Responding Time */
  48472. /*! @{ */
  48473. #define IEE_PC_SW_TNRT_U_SW_TNRT_MASK (0xFFFFU)
  48474. #define IEE_PC_SW_TNRT_U_SW_TNRT_SHIFT (0U)
  48475. #define IEE_PC_SW_TNRT_U_SW_TNRT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TNRT_U_SW_TNRT_SHIFT)) & IEE_PC_SW_TNRT_U_SW_TNRT_MASK)
  48476. /*! @} */
  48477. /*! @name PC_SW_TNRT_L - Performance Counter, Lower Slave Write Total Non-Responding Time */
  48478. /*! @{ */
  48479. #define IEE_PC_SW_TNRT_L_SW_TNRT_MASK (0xFFFFFFFFU)
  48480. #define IEE_PC_SW_TNRT_L_SW_TNRT_SHIFT (0U)
  48481. #define IEE_PC_SW_TNRT_L_SW_TNRT(x) (((uint32_t)(((uint32_t)(x)) << IEE_PC_SW_TNRT_L_SW_TNRT_SHIFT)) & IEE_PC_SW_TNRT_L_SW_TNRT_MASK)
  48482. /*! @} */
  48483. /*! @name VIDR1 - IEE Version ID Register 1 */
  48484. /*! @{ */
  48485. #define IEE_VIDR1_MIN_REV_MASK (0xFFU)
  48486. #define IEE_VIDR1_MIN_REV_SHIFT (0U)
  48487. #define IEE_VIDR1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_MIN_REV_SHIFT)) & IEE_VIDR1_MIN_REV_MASK)
  48488. #define IEE_VIDR1_MAJ_REV_MASK (0xFF00U)
  48489. #define IEE_VIDR1_MAJ_REV_SHIFT (8U)
  48490. #define IEE_VIDR1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_MAJ_REV_SHIFT)) & IEE_VIDR1_MAJ_REV_MASK)
  48491. #define IEE_VIDR1_IP_ID_MASK (0xFFFF0000U)
  48492. #define IEE_VIDR1_IP_ID_SHIFT (16U)
  48493. #define IEE_VIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << IEE_VIDR1_IP_ID_SHIFT)) & IEE_VIDR1_IP_ID_MASK)
  48494. /*! @} */
  48495. /*! @name AESVID - IEE AES Version ID Register */
  48496. /*! @{ */
  48497. #define IEE_AESVID_AESRN_MASK (0xFU)
  48498. #define IEE_AESVID_AESRN_SHIFT (0U)
  48499. #define IEE_AESVID_AESRN(x) (((uint32_t)(((uint32_t)(x)) << IEE_AESVID_AESRN_SHIFT)) & IEE_AESVID_AESRN_MASK)
  48500. #define IEE_AESVID_AESVID_MASK (0xF0U)
  48501. #define IEE_AESVID_AESVID_SHIFT (4U)
  48502. #define IEE_AESVID_AESVID(x) (((uint32_t)(((uint32_t)(x)) << IEE_AESVID_AESVID_SHIFT)) & IEE_AESVID_AESVID_MASK)
  48503. /*! @} */
  48504. /*! @name REGATTR - IEE Region 0 Attribute Register...IEE Region 7 Attribute Register. */
  48505. /*! @{ */
  48506. #define IEE_REGATTR_KS_MASK (0x1U)
  48507. #define IEE_REGATTR_KS_SHIFT (0U)
  48508. /*! KS
  48509. * 0b0..128 bits (CTR), 256 bits (XTS).
  48510. * 0b1..256 bits (CTR), 512 bits (XTS).
  48511. */
  48512. #define IEE_REGATTR_KS(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_KS_SHIFT)) & IEE_REGATTR_KS_MASK)
  48513. #define IEE_REGATTR_MD_MASK (0x70U)
  48514. #define IEE_REGATTR_MD_SHIFT (4U)
  48515. /*! MD
  48516. * 0b000..None (AXI error if accessed)
  48517. * 0b001..XTS
  48518. * 0b010..CTR w/ address binding
  48519. * 0b011..CTR w/o address binding
  48520. * 0b100..CTR keystream only
  48521. * 0b101..Undefined, AXI error if used
  48522. * 0b110..Undefined, AXI error if used
  48523. * 0b111..Undefined, AXI error if used
  48524. */
  48525. #define IEE_REGATTR_MD(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_MD_SHIFT)) & IEE_REGATTR_MD_MASK)
  48526. #define IEE_REGATTR_BYP_MASK (0x80U)
  48527. #define IEE_REGATTR_BYP_SHIFT (7U)
  48528. /*! BYP
  48529. * 0b0..use MD field
  48530. * 0b1..Bypass AES, no encrypt/decrypt
  48531. */
  48532. #define IEE_REGATTR_BYP(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGATTR_BYP_SHIFT)) & IEE_REGATTR_BYP_MASK)
  48533. /*! @} */
  48534. /* The count of IEE_REGATTR */
  48535. #define IEE_REGATTR_COUNT (8U)
  48536. /*! @name REGPO - IEE Region 0 Page Offset Register..IEE Region 7 Page Offset Register */
  48537. /*! @{ */
  48538. #define IEE_REGPO_PGOFF_MASK (0xFFFFFFU)
  48539. #define IEE_REGPO_PGOFF_SHIFT (0U)
  48540. #define IEE_REGPO_PGOFF(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGPO_PGOFF_SHIFT)) & IEE_REGPO_PGOFF_MASK)
  48541. /*! @} */
  48542. /* The count of IEE_REGPO */
  48543. #define IEE_REGPO_COUNT (8U)
  48544. /*! @name REGKEY1 - IEE Region 0 Key 1 Register..IEE Region 7 Key 1 Register */
  48545. /*! @{ */
  48546. #define IEE_REGKEY1_KEY1_MASK (0xFFFFFFFFU)
  48547. #define IEE_REGKEY1_KEY1_SHIFT (0U)
  48548. #define IEE_REGKEY1_KEY1(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGKEY1_KEY1_SHIFT)) & IEE_REGKEY1_KEY1_MASK)
  48549. /*! @} */
  48550. /* The count of IEE_REGKEY1 */
  48551. #define IEE_REGKEY1_COUNT (8U)
  48552. /* The count of IEE_REGKEY1 */
  48553. #define IEE_REGKEY1_COUNT2 (8U)
  48554. /*! @name REGKEY2 - IEE Region 0 Key 2 Register..IEE Region 7 Key 2 Register */
  48555. /*! @{ */
  48556. #define IEE_REGKEY2_KEY2_MASK (0xFFFFFFFFU)
  48557. #define IEE_REGKEY2_KEY2_SHIFT (0U)
  48558. #define IEE_REGKEY2_KEY2(x) (((uint32_t)(((uint32_t)(x)) << IEE_REGKEY2_KEY2_SHIFT)) & IEE_REGKEY2_KEY2_MASK)
  48559. /*! @} */
  48560. /* The count of IEE_REGKEY2 */
  48561. #define IEE_REGKEY2_COUNT (8U)
  48562. /* The count of IEE_REGKEY2 */
  48563. #define IEE_REGKEY2_COUNT2 (8U)
  48564. /*! @name AES_TST_DB - IEE AES Test Mode Data Buffer */
  48565. /*! @{ */
  48566. #define IEE_AES_TST_DB_AES_TST_DB0_MASK (0xFFFFFFFFU)
  48567. #define IEE_AES_TST_DB_AES_TST_DB0_SHIFT (0U)
  48568. #define IEE_AES_TST_DB_AES_TST_DB0(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB0_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB0_MASK)
  48569. #define IEE_AES_TST_DB_AES_TST_DB1_MASK (0xFFFFFFFFU)
  48570. #define IEE_AES_TST_DB_AES_TST_DB1_SHIFT (0U)
  48571. #define IEE_AES_TST_DB_AES_TST_DB1(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB1_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB1_MASK)
  48572. #define IEE_AES_TST_DB_AES_TST_DB2_MASK (0xFFFFFFFFU)
  48573. #define IEE_AES_TST_DB_AES_TST_DB2_SHIFT (0U)
  48574. #define IEE_AES_TST_DB_AES_TST_DB2(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB2_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB2_MASK)
  48575. #define IEE_AES_TST_DB_AES_TST_DB3_MASK (0xFFFFFFFFU)
  48576. #define IEE_AES_TST_DB_AES_TST_DB3_SHIFT (0U)
  48577. #define IEE_AES_TST_DB_AES_TST_DB3(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB3_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB3_MASK)
  48578. #define IEE_AES_TST_DB_AES_TST_DB4_MASK (0xFFFFFFFFU)
  48579. #define IEE_AES_TST_DB_AES_TST_DB4_SHIFT (0U)
  48580. #define IEE_AES_TST_DB_AES_TST_DB4(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB4_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB4_MASK)
  48581. #define IEE_AES_TST_DB_AES_TST_DB5_MASK (0xFFFFFFFFU)
  48582. #define IEE_AES_TST_DB_AES_TST_DB5_SHIFT (0U)
  48583. #define IEE_AES_TST_DB_AES_TST_DB5(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB5_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB5_MASK)
  48584. #define IEE_AES_TST_DB_AES_TST_DB6_MASK (0xFFFFFFFFU)
  48585. #define IEE_AES_TST_DB_AES_TST_DB6_SHIFT (0U)
  48586. #define IEE_AES_TST_DB_AES_TST_DB6(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB6_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB6_MASK)
  48587. #define IEE_AES_TST_DB_AES_TST_DB7_MASK (0xFFFFFFFFU)
  48588. #define IEE_AES_TST_DB_AES_TST_DB7_SHIFT (0U)
  48589. #define IEE_AES_TST_DB_AES_TST_DB7(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB7_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB7_MASK)
  48590. #define IEE_AES_TST_DB_AES_TST_DB8_MASK (0xFFFFFFFFU)
  48591. #define IEE_AES_TST_DB_AES_TST_DB8_SHIFT (0U)
  48592. #define IEE_AES_TST_DB_AES_TST_DB8(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB8_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB8_MASK)
  48593. #define IEE_AES_TST_DB_AES_TST_DB9_MASK (0xFFFFFFFFU)
  48594. #define IEE_AES_TST_DB_AES_TST_DB9_SHIFT (0U)
  48595. #define IEE_AES_TST_DB_AES_TST_DB9(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB9_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB9_MASK)
  48596. #define IEE_AES_TST_DB_AES_TST_DB10_MASK (0xFFFFFFFFU)
  48597. #define IEE_AES_TST_DB_AES_TST_DB10_SHIFT (0U)
  48598. #define IEE_AES_TST_DB_AES_TST_DB10(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB10_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB10_MASK)
  48599. #define IEE_AES_TST_DB_AES_TST_DB11_MASK (0xFFFFFFFFU)
  48600. #define IEE_AES_TST_DB_AES_TST_DB11_SHIFT (0U)
  48601. #define IEE_AES_TST_DB_AES_TST_DB11(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB11_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB11_MASK)
  48602. #define IEE_AES_TST_DB_AES_TST_DB12_MASK (0xFFFFFFFFU)
  48603. #define IEE_AES_TST_DB_AES_TST_DB12_SHIFT (0U)
  48604. #define IEE_AES_TST_DB_AES_TST_DB12(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB12_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB12_MASK)
  48605. #define IEE_AES_TST_DB_AES_TST_DB13_MASK (0xFFFFFFFFU)
  48606. #define IEE_AES_TST_DB_AES_TST_DB13_SHIFT (0U)
  48607. #define IEE_AES_TST_DB_AES_TST_DB13(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB13_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB13_MASK)
  48608. #define IEE_AES_TST_DB_AES_TST_DB14_MASK (0xFFFFFFFFU)
  48609. #define IEE_AES_TST_DB_AES_TST_DB14_SHIFT (0U)
  48610. #define IEE_AES_TST_DB_AES_TST_DB14(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB14_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB14_MASK)
  48611. #define IEE_AES_TST_DB_AES_TST_DB15_MASK (0xFFFFFFFFU)
  48612. #define IEE_AES_TST_DB_AES_TST_DB15_SHIFT (0U)
  48613. #define IEE_AES_TST_DB_AES_TST_DB15(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB15_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB15_MASK)
  48614. #define IEE_AES_TST_DB_AES_TST_DB16_MASK (0xFFFFFFFFU)
  48615. #define IEE_AES_TST_DB_AES_TST_DB16_SHIFT (0U)
  48616. #define IEE_AES_TST_DB_AES_TST_DB16(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB16_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB16_MASK)
  48617. #define IEE_AES_TST_DB_AES_TST_DB17_MASK (0xFFFFFFFFU)
  48618. #define IEE_AES_TST_DB_AES_TST_DB17_SHIFT (0U)
  48619. #define IEE_AES_TST_DB_AES_TST_DB17(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB17_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB17_MASK)
  48620. #define IEE_AES_TST_DB_AES_TST_DB18_MASK (0xFFFFFFFFU)
  48621. #define IEE_AES_TST_DB_AES_TST_DB18_SHIFT (0U)
  48622. #define IEE_AES_TST_DB_AES_TST_DB18(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB18_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB18_MASK)
  48623. #define IEE_AES_TST_DB_AES_TST_DB19_MASK (0xFFFFFFFFU)
  48624. #define IEE_AES_TST_DB_AES_TST_DB19_SHIFT (0U)
  48625. #define IEE_AES_TST_DB_AES_TST_DB19(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB19_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB19_MASK)
  48626. #define IEE_AES_TST_DB_AES_TST_DB20_MASK (0xFFFFFFFFU)
  48627. #define IEE_AES_TST_DB_AES_TST_DB20_SHIFT (0U)
  48628. #define IEE_AES_TST_DB_AES_TST_DB20(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB20_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB20_MASK)
  48629. #define IEE_AES_TST_DB_AES_TST_DB21_MASK (0xFFFFFFFFU)
  48630. #define IEE_AES_TST_DB_AES_TST_DB21_SHIFT (0U)
  48631. #define IEE_AES_TST_DB_AES_TST_DB21(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB21_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB21_MASK)
  48632. #define IEE_AES_TST_DB_AES_TST_DB22_MASK (0xFFFFFFFFU)
  48633. #define IEE_AES_TST_DB_AES_TST_DB22_SHIFT (0U)
  48634. #define IEE_AES_TST_DB_AES_TST_DB22(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB22_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB22_MASK)
  48635. #define IEE_AES_TST_DB_AES_TST_DB23_MASK (0xFFFFFFFFU)
  48636. #define IEE_AES_TST_DB_AES_TST_DB23_SHIFT (0U)
  48637. #define IEE_AES_TST_DB_AES_TST_DB23(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB23_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB23_MASK)
  48638. #define IEE_AES_TST_DB_AES_TST_DB24_MASK (0xFFFFFFFFU)
  48639. #define IEE_AES_TST_DB_AES_TST_DB24_SHIFT (0U)
  48640. #define IEE_AES_TST_DB_AES_TST_DB24(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB24_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB24_MASK)
  48641. #define IEE_AES_TST_DB_AES_TST_DB25_MASK (0xFFFFFFFFU)
  48642. #define IEE_AES_TST_DB_AES_TST_DB25_SHIFT (0U)
  48643. #define IEE_AES_TST_DB_AES_TST_DB25(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB25_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB25_MASK)
  48644. #define IEE_AES_TST_DB_AES_TST_DB26_MASK (0xFFFFFFFFU)
  48645. #define IEE_AES_TST_DB_AES_TST_DB26_SHIFT (0U)
  48646. #define IEE_AES_TST_DB_AES_TST_DB26(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB26_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB26_MASK)
  48647. #define IEE_AES_TST_DB_AES_TST_DB27_MASK (0xFFFFFFFFU)
  48648. #define IEE_AES_TST_DB_AES_TST_DB27_SHIFT (0U)
  48649. #define IEE_AES_TST_DB_AES_TST_DB27(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB27_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB27_MASK)
  48650. #define IEE_AES_TST_DB_AES_TST_DB28_MASK (0xFFFFFFFFU)
  48651. #define IEE_AES_TST_DB_AES_TST_DB28_SHIFT (0U)
  48652. #define IEE_AES_TST_DB_AES_TST_DB28(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB28_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB28_MASK)
  48653. #define IEE_AES_TST_DB_AES_TST_DB29_MASK (0xFFFFFFFFU)
  48654. #define IEE_AES_TST_DB_AES_TST_DB29_SHIFT (0U)
  48655. #define IEE_AES_TST_DB_AES_TST_DB29(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB29_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB29_MASK)
  48656. #define IEE_AES_TST_DB_AES_TST_DB30_MASK (0xFFFFFFFFU)
  48657. #define IEE_AES_TST_DB_AES_TST_DB30_SHIFT (0U)
  48658. #define IEE_AES_TST_DB_AES_TST_DB30(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB30_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB30_MASK)
  48659. #define IEE_AES_TST_DB_AES_TST_DB31_MASK (0xFFFFFFFFU)
  48660. #define IEE_AES_TST_DB_AES_TST_DB31_SHIFT (0U)
  48661. #define IEE_AES_TST_DB_AES_TST_DB31(x) (((uint32_t)(((uint32_t)(x)) << IEE_AES_TST_DB_AES_TST_DB31_SHIFT)) & IEE_AES_TST_DB_AES_TST_DB31_MASK)
  48662. /*! @} */
  48663. /* The count of IEE_AES_TST_DB */
  48664. #define IEE_AES_TST_DB_COUNT (32U)
  48665. /*!
  48666. * @}
  48667. */ /* end of group IEE_Register_Masks */
  48668. /* IEE - Peripheral instance base addresses */
  48669. /** Peripheral IEE__IEE_RT1170 base address */
  48670. #define IEE__IEE_RT1170_BASE (0x4006C000u)
  48671. /** Peripheral IEE__IEE_RT1170 base pointer */
  48672. #define IEE__IEE_RT1170 ((IEE_Type *)IEE__IEE_RT1170_BASE)
  48673. /** Array initializer of IEE peripheral base addresses */
  48674. #define IEE_BASE_ADDRS { IEE__IEE_RT1170_BASE }
  48675. /** Array initializer of IEE peripheral base pointers */
  48676. #define IEE_BASE_PTRS { IEE__IEE_RT1170 }
  48677. /*!
  48678. * @}
  48679. */ /* end of group IEE_Peripheral_Access_Layer */
  48680. /* ----------------------------------------------------------------------------
  48681. -- IEE_APC Peripheral Access Layer
  48682. ---------------------------------------------------------------------------- */
  48683. /*!
  48684. * @addtogroup IEE_APC_Peripheral_Access_Layer IEE_APC Peripheral Access Layer
  48685. * @{
  48686. */
  48687. /** IEE_APC - Register Layout Typedef */
  48688. typedef struct {
  48689. __IO uint32_t REGION0_TOP_ADDR; /**< End address of IEE region (n), offset: 0x0 */
  48690. __IO uint32_t REGION0_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x4 */
  48691. __IO uint32_t REGION0_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x8 */
  48692. __IO uint32_t REGION0_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0xC */
  48693. __IO uint32_t REGION1_TOP_ADDR; /**< End address of IEE region (n), offset: 0x10 */
  48694. __IO uint32_t REGION1_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x14 */
  48695. __IO uint32_t REGION1_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x18 */
  48696. __IO uint32_t REGION1_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x1C */
  48697. __IO uint32_t REGION2_TOP_ADDR; /**< End address of IEE region (n), offset: 0x20 */
  48698. __IO uint32_t REGION2_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x24 */
  48699. __IO uint32_t REGION2_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x28 */
  48700. __IO uint32_t REGION2_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x2C */
  48701. __IO uint32_t REGION3_TOP_ADDR; /**< End address of IEE region (n), offset: 0x30 */
  48702. __IO uint32_t REGION3_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x34 */
  48703. __IO uint32_t REGION3_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x38 */
  48704. __IO uint32_t REGION3_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x3C */
  48705. __IO uint32_t REGION4_TOP_ADDR; /**< End address of IEE region (n), offset: 0x40 */
  48706. __IO uint32_t REGION4_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x44 */
  48707. __IO uint32_t REGION4_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x48 */
  48708. __IO uint32_t REGION4_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x4C */
  48709. __IO uint32_t REGION5_TOP_ADDR; /**< End address of IEE region (n), offset: 0x50 */
  48710. __IO uint32_t REGION5_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x54 */
  48711. __IO uint32_t REGION5_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x58 */
  48712. __IO uint32_t REGION5_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x5C */
  48713. __IO uint32_t REGION6_TOP_ADDR; /**< End address of IEE region (n), offset: 0x60 */
  48714. __IO uint32_t REGION6_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x64 */
  48715. __IO uint32_t REGION6_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x68 */
  48716. __IO uint32_t REGION6_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x6C */
  48717. __IO uint32_t REGION7_TOP_ADDR; /**< End address of IEE region (n), offset: 0x70 */
  48718. __IO uint32_t REGION7_BOT_ADDR; /**< Start address of IEE region (n), offset: 0x74 */
  48719. __IO uint32_t REGION7_RDC_D0; /**< Region control of core domain 0 for region (n), offset: 0x78 */
  48720. __IO uint32_t REGION7_RDC_D1; /**< Region control of core domain 1 for region (n), offset: 0x7C */
  48721. } IEE_APC_Type;
  48722. /* ----------------------------------------------------------------------------
  48723. -- IEE_APC Register Masks
  48724. ---------------------------------------------------------------------------- */
  48725. /*!
  48726. * @addtogroup IEE_APC_Register_Masks IEE_APC Register Masks
  48727. * @{
  48728. */
  48729. /*! @name REGION0_TOP_ADDR - End address of IEE region (n) */
  48730. /*! @{ */
  48731. #define IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48732. #define IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48733. /*! TOP_ADDR - End address of IEE region
  48734. */
  48735. #define IEE_APC_REGION0_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION0_TOP_ADDR_TOP_ADDR_MASK)
  48736. /*! @} */
  48737. /*! @name REGION0_BOT_ADDR - Start address of IEE region (n) */
  48738. /*! @{ */
  48739. #define IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48740. #define IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48741. /*! BOT_ADDR - Start address of IEE region
  48742. */
  48743. #define IEE_APC_REGION0_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION0_BOT_ADDR_BOT_ADDR_MASK)
  48744. /*! @} */
  48745. /*! @name REGION0_RDC_D0 - Region control of core domain 0 for region (n) */
  48746. /*! @{ */
  48747. #define IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48748. #define IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48749. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48750. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48751. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48752. */
  48753. #define IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION0_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  48754. #define IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48755. #define IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48756. /*! RDC_D0_LOCK - Lock bit for bit 0
  48757. * 0b0..Bit 0 is unlocked
  48758. * 0b1..Bit 0 is locked
  48759. */
  48760. #define IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION0_RDC_D0_RDC_D0_LOCK_MASK)
  48761. /*! @} */
  48762. /*! @name REGION0_RDC_D1 - Region control of core domain 1 for region (n) */
  48763. /*! @{ */
  48764. #define IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48765. #define IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48766. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48767. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48768. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48769. */
  48770. #define IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION0_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  48771. #define IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48772. #define IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48773. /*! RDC_D1_LOCK - Lock bit for bit 0
  48774. * 0b0..Bit 0 is unlocked
  48775. * 0b1..Bit 0 is locked
  48776. */
  48777. #define IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION0_RDC_D1_RDC_D1_LOCK_MASK)
  48778. /*! @} */
  48779. /*! @name REGION1_TOP_ADDR - End address of IEE region (n) */
  48780. /*! @{ */
  48781. #define IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48782. #define IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48783. /*! TOP_ADDR - End address of IEE region
  48784. */
  48785. #define IEE_APC_REGION1_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION1_TOP_ADDR_TOP_ADDR_MASK)
  48786. /*! @} */
  48787. /*! @name REGION1_BOT_ADDR - Start address of IEE region (n) */
  48788. /*! @{ */
  48789. #define IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48790. #define IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48791. /*! BOT_ADDR - Start address of IEE region
  48792. */
  48793. #define IEE_APC_REGION1_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION1_BOT_ADDR_BOT_ADDR_MASK)
  48794. /*! @} */
  48795. /*! @name REGION1_RDC_D0 - Region control of core domain 0 for region (n) */
  48796. /*! @{ */
  48797. #define IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48798. #define IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48799. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48800. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48801. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48802. */
  48803. #define IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION1_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  48804. #define IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48805. #define IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48806. /*! RDC_D0_LOCK - Lock bit for bit 0
  48807. * 0b0..Bit 0 is unlocked
  48808. * 0b1..Bit 0 is locked
  48809. */
  48810. #define IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION1_RDC_D0_RDC_D0_LOCK_MASK)
  48811. /*! @} */
  48812. /*! @name REGION1_RDC_D1 - Region control of core domain 1 for region (n) */
  48813. /*! @{ */
  48814. #define IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48815. #define IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48816. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48817. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48818. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48819. */
  48820. #define IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION1_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  48821. #define IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48822. #define IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48823. /*! RDC_D1_LOCK - Lock bit for bit 0
  48824. * 0b0..Bit 0 is unlocked
  48825. * 0b1..Bit 0 is locked
  48826. */
  48827. #define IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION1_RDC_D1_RDC_D1_LOCK_MASK)
  48828. /*! @} */
  48829. /*! @name REGION2_TOP_ADDR - End address of IEE region (n) */
  48830. /*! @{ */
  48831. #define IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48832. #define IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48833. /*! TOP_ADDR - End address of IEE region
  48834. */
  48835. #define IEE_APC_REGION2_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION2_TOP_ADDR_TOP_ADDR_MASK)
  48836. /*! @} */
  48837. /*! @name REGION2_BOT_ADDR - Start address of IEE region (n) */
  48838. /*! @{ */
  48839. #define IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48840. #define IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48841. /*! BOT_ADDR - Start address of IEE region
  48842. */
  48843. #define IEE_APC_REGION2_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION2_BOT_ADDR_BOT_ADDR_MASK)
  48844. /*! @} */
  48845. /*! @name REGION2_RDC_D0 - Region control of core domain 0 for region (n) */
  48846. /*! @{ */
  48847. #define IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48848. #define IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48849. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48850. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48851. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48852. */
  48853. #define IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION2_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  48854. #define IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48855. #define IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48856. /*! RDC_D0_LOCK - Lock bit for bit 0
  48857. * 0b0..Bit 0 is unlocked
  48858. * 0b1..Bit 0 is locked
  48859. */
  48860. #define IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION2_RDC_D0_RDC_D0_LOCK_MASK)
  48861. /*! @} */
  48862. /*! @name REGION2_RDC_D1 - Region control of core domain 1 for region (n) */
  48863. /*! @{ */
  48864. #define IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48865. #define IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48866. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48867. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48868. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48869. */
  48870. #define IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION2_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  48871. #define IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48872. #define IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48873. /*! RDC_D1_LOCK - Lock bit for bit 0
  48874. * 0b0..Bit 0 is unlocked
  48875. * 0b1..Bit 0 is locked
  48876. */
  48877. #define IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION2_RDC_D1_RDC_D1_LOCK_MASK)
  48878. /*! @} */
  48879. /*! @name REGION3_TOP_ADDR - End address of IEE region (n) */
  48880. /*! @{ */
  48881. #define IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48882. #define IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48883. /*! TOP_ADDR - End address of IEE region
  48884. */
  48885. #define IEE_APC_REGION3_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION3_TOP_ADDR_TOP_ADDR_MASK)
  48886. /*! @} */
  48887. /*! @name REGION3_BOT_ADDR - Start address of IEE region (n) */
  48888. /*! @{ */
  48889. #define IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48890. #define IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48891. /*! BOT_ADDR - Start address of IEE region
  48892. */
  48893. #define IEE_APC_REGION3_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION3_BOT_ADDR_BOT_ADDR_MASK)
  48894. /*! @} */
  48895. /*! @name REGION3_RDC_D0 - Region control of core domain 0 for region (n) */
  48896. /*! @{ */
  48897. #define IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48898. #define IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48899. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48900. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48901. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48902. */
  48903. #define IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION3_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  48904. #define IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48905. #define IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48906. /*! RDC_D0_LOCK - Lock bit for bit 0
  48907. * 0b0..Bit 0 is unlocked
  48908. * 0b1..Bit 0 is locked
  48909. */
  48910. #define IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION3_RDC_D0_RDC_D0_LOCK_MASK)
  48911. /*! @} */
  48912. /*! @name REGION3_RDC_D1 - Region control of core domain 1 for region (n) */
  48913. /*! @{ */
  48914. #define IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48915. #define IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48916. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48917. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48918. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48919. */
  48920. #define IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION3_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  48921. #define IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48922. #define IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48923. /*! RDC_D1_LOCK - Lock bit for bit 0
  48924. * 0b0..Bit 0 is unlocked
  48925. * 0b1..Bit 0 is locked
  48926. */
  48927. #define IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION3_RDC_D1_RDC_D1_LOCK_MASK)
  48928. /*! @} */
  48929. /*! @name REGION4_TOP_ADDR - End address of IEE region (n) */
  48930. /*! @{ */
  48931. #define IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48932. #define IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48933. /*! TOP_ADDR - End address of IEE region
  48934. */
  48935. #define IEE_APC_REGION4_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION4_TOP_ADDR_TOP_ADDR_MASK)
  48936. /*! @} */
  48937. /*! @name REGION4_BOT_ADDR - Start address of IEE region (n) */
  48938. /*! @{ */
  48939. #define IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48940. #define IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48941. /*! BOT_ADDR - Start address of IEE region
  48942. */
  48943. #define IEE_APC_REGION4_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION4_BOT_ADDR_BOT_ADDR_MASK)
  48944. /*! @} */
  48945. /*! @name REGION4_RDC_D0 - Region control of core domain 0 for region (n) */
  48946. /*! @{ */
  48947. #define IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48948. #define IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48949. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  48950. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48951. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48952. */
  48953. #define IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION4_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  48954. #define IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  48955. #define IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  48956. /*! RDC_D0_LOCK - Lock bit for bit 0
  48957. * 0b0..Bit 0 is unlocked
  48958. * 0b1..Bit 0 is locked
  48959. */
  48960. #define IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION4_RDC_D0_RDC_D0_LOCK_MASK)
  48961. /*! @} */
  48962. /*! @name REGION4_RDC_D1 - Region control of core domain 1 for region (n) */
  48963. /*! @{ */
  48964. #define IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  48965. #define IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  48966. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  48967. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  48968. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  48969. */
  48970. #define IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION4_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  48971. #define IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  48972. #define IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  48973. /*! RDC_D1_LOCK - Lock bit for bit 0
  48974. * 0b0..Bit 0 is unlocked
  48975. * 0b1..Bit 0 is locked
  48976. */
  48977. #define IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION4_RDC_D1_RDC_D1_LOCK_MASK)
  48978. /*! @} */
  48979. /*! @name REGION5_TOP_ADDR - End address of IEE region (n) */
  48980. /*! @{ */
  48981. #define IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  48982. #define IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  48983. /*! TOP_ADDR - End address of IEE region
  48984. */
  48985. #define IEE_APC_REGION5_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION5_TOP_ADDR_TOP_ADDR_MASK)
  48986. /*! @} */
  48987. /*! @name REGION5_BOT_ADDR - Start address of IEE region (n) */
  48988. /*! @{ */
  48989. #define IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  48990. #define IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  48991. /*! BOT_ADDR - Start address of IEE region
  48992. */
  48993. #define IEE_APC_REGION5_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION5_BOT_ADDR_BOT_ADDR_MASK)
  48994. /*! @} */
  48995. /*! @name REGION5_RDC_D0 - Region control of core domain 0 for region (n) */
  48996. /*! @{ */
  48997. #define IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  48998. #define IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  48999. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  49000. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49001. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49002. */
  49003. #define IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION5_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  49004. #define IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49005. #define IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49006. /*! RDC_D0_LOCK - Lock bit for bit 0
  49007. * 0b0..Bit 0 is unlocked
  49008. * 0b1..Bit 0 is locked
  49009. */
  49010. #define IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION5_RDC_D0_RDC_D0_LOCK_MASK)
  49011. /*! @} */
  49012. /*! @name REGION5_RDC_D1 - Region control of core domain 1 for region (n) */
  49013. /*! @{ */
  49014. #define IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49015. #define IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49016. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49017. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49018. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49019. */
  49020. #define IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION5_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  49021. #define IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49022. #define IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49023. /*! RDC_D1_LOCK - Lock bit for bit 0
  49024. * 0b0..Bit 0 is unlocked
  49025. * 0b1..Bit 0 is locked
  49026. */
  49027. #define IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION5_RDC_D1_RDC_D1_LOCK_MASK)
  49028. /*! @} */
  49029. /*! @name REGION6_TOP_ADDR - End address of IEE region (n) */
  49030. /*! @{ */
  49031. #define IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  49032. #define IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  49033. /*! TOP_ADDR - End address of IEE region
  49034. */
  49035. #define IEE_APC_REGION6_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION6_TOP_ADDR_TOP_ADDR_MASK)
  49036. /*! @} */
  49037. /*! @name REGION6_BOT_ADDR - Start address of IEE region (n) */
  49038. /*! @{ */
  49039. #define IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  49040. #define IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  49041. /*! BOT_ADDR - Start address of IEE region
  49042. */
  49043. #define IEE_APC_REGION6_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION6_BOT_ADDR_BOT_ADDR_MASK)
  49044. /*! @} */
  49045. /*! @name REGION6_RDC_D0 - Region control of core domain 0 for region (n) */
  49046. /*! @{ */
  49047. #define IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  49048. #define IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  49049. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  49050. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49051. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49052. */
  49053. #define IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION6_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  49054. #define IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49055. #define IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49056. /*! RDC_D0_LOCK - Lock bit for bit 0
  49057. * 0b0..Bit 0 is unlocked
  49058. * 0b1..Bit 0 is locked
  49059. */
  49060. #define IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION6_RDC_D0_RDC_D0_LOCK_MASK)
  49061. /*! @} */
  49062. /*! @name REGION6_RDC_D1 - Region control of core domain 1 for region (n) */
  49063. /*! @{ */
  49064. #define IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49065. #define IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49066. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49067. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49068. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49069. */
  49070. #define IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION6_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  49071. #define IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49072. #define IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49073. /*! RDC_D1_LOCK - Lock bit for bit 0
  49074. * 0b0..Bit 0 is unlocked
  49075. * 0b1..Bit 0 is locked
  49076. */
  49077. #define IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION6_RDC_D1_RDC_D1_LOCK_MASK)
  49078. /*! @} */
  49079. /*! @name REGION7_TOP_ADDR - End address of IEE region (n) */
  49080. /*! @{ */
  49081. #define IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_MASK (0x1FFFFFFFU)
  49082. #define IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_SHIFT (0U)
  49083. /*! TOP_ADDR - End address of IEE region
  49084. */
  49085. #define IEE_APC_REGION7_TOP_ADDR_TOP_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_SHIFT)) & IEE_APC_REGION7_TOP_ADDR_TOP_ADDR_MASK)
  49086. /*! @} */
  49087. /*! @name REGION7_BOT_ADDR - Start address of IEE region (n) */
  49088. /*! @{ */
  49089. #define IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_MASK (0x1FFFFFFFU)
  49090. #define IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_SHIFT (0U)
  49091. /*! BOT_ADDR - Start address of IEE region
  49092. */
  49093. #define IEE_APC_REGION7_BOT_ADDR_BOT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_SHIFT)) & IEE_APC_REGION7_BOT_ADDR_BOT_ADDR_MASK)
  49094. /*! @} */
  49095. /*! @name REGION7_RDC_D0 - Region control of core domain 0 for region (n) */
  49096. /*! @{ */
  49097. #define IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_MASK (0x1U)
  49098. #define IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_SHIFT (0U)
  49099. /*! RDC_D0_WRITE_DIS - Write disable of core domain 1
  49100. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49101. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49102. */
  49103. #define IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_SHIFT)) & IEE_APC_REGION7_RDC_D0_RDC_D0_WRITE_DIS_MASK)
  49104. #define IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_MASK (0x2U)
  49105. #define IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_SHIFT (1U)
  49106. /*! RDC_D0_LOCK - Lock bit for bit 0
  49107. * 0b0..Bit 0 is unlocked
  49108. * 0b1..Bit 0 is locked
  49109. */
  49110. #define IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_SHIFT)) & IEE_APC_REGION7_RDC_D0_RDC_D0_LOCK_MASK)
  49111. /*! @} */
  49112. /*! @name REGION7_RDC_D1 - Region control of core domain 1 for region (n) */
  49113. /*! @{ */
  49114. #define IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_MASK (0x1U)
  49115. #define IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_SHIFT (0U)
  49116. /*! RDC_D1_WRITE_DIS - Write disable of core domain 1
  49117. * 0b0..Write to TOP_ADDR and BOT_ADDR of this region enabled
  49118. * 0b1..Write to TOP_ADDR and BOT_ADDR of this region disabled
  49119. */
  49120. #define IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_SHIFT)) & IEE_APC_REGION7_RDC_D1_RDC_D1_WRITE_DIS_MASK)
  49121. #define IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_MASK (0x2U)
  49122. #define IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_SHIFT (1U)
  49123. /*! RDC_D1_LOCK - Lock bit for bit 0
  49124. * 0b0..Bit 0 is unlocked
  49125. * 0b1..Bit 0 is locked
  49126. */
  49127. #define IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_SHIFT)) & IEE_APC_REGION7_RDC_D1_RDC_D1_LOCK_MASK)
  49128. /*! @} */
  49129. /*!
  49130. * @}
  49131. */ /* end of group IEE_APC_Register_Masks */
  49132. /* IEE_APC - Peripheral instance base addresses */
  49133. /** Peripheral IEE_APC base address */
  49134. #define IEE_APC_BASE (0x40068000u)
  49135. /** Peripheral IEE_APC base pointer */
  49136. #define IEE_APC ((IEE_APC_Type *)IEE_APC_BASE)
  49137. /** Array initializer of IEE_APC peripheral base addresses */
  49138. #define IEE_APC_BASE_ADDRS { IEE_APC_BASE }
  49139. /** Array initializer of IEE_APC peripheral base pointers */
  49140. #define IEE_APC_BASE_PTRS { IEE_APC }
  49141. /*!
  49142. * @}
  49143. */ /* end of group IEE_APC_Peripheral_Access_Layer */
  49144. /* ----------------------------------------------------------------------------
  49145. -- IOMUXC Peripheral Access Layer
  49146. ---------------------------------------------------------------------------- */
  49147. /*!
  49148. * @addtogroup IOMUXC_Peripheral_Access_Layer IOMUXC Peripheral Access Layer
  49149. * @{
  49150. */
  49151. /** IOMUXC - Register Layout Typedef */
  49152. typedef struct {
  49153. uint8_t RESERVED_0[16];
  49154. __IO uint32_t SW_MUX_CTL_PAD[145]; /**< SW_MUX_CTL_PAD_GPIO_EMC_B1_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_DISP_B2_15 SW MUX Control Register, array offset: 0x10, array step: 0x4 */
  49155. __IO uint32_t SW_PAD_CTL_PAD[145]; /**< SW_PAD_CTL_PAD_GPIO_EMC_B1_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_DISP_B2_15 SW PAD Control Register, array offset: 0x254, array step: 0x4 */
  49156. __IO uint32_t SELECT_INPUT[160]; /**< FLEXCAN1_RX_SELECT_INPUT DAISY Register..XBAR1_IN_SELECT_INPUT_35 DAISY Register, array offset: 0x498, array step: 0x4 */
  49157. } IOMUXC_Type;
  49158. /* ----------------------------------------------------------------------------
  49159. -- IOMUXC Register Masks
  49160. ---------------------------------------------------------------------------- */
  49161. /*!
  49162. * @addtogroup IOMUXC_Register_Masks IOMUXC Register Masks
  49163. * @{
  49164. */
  49165. /*! @name SW_MUX_CTL_PAD - SW_MUX_CTL_PAD_GPIO_EMC_B1_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_DISP_B2_15 SW MUX Control Register */
  49166. /*! @{ */
  49167. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_MASK (0xFU)
  49168. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  49169. /*! MUX_MODE - MUX Mode Select Field.
  49170. * 0b0000..Select mux mode: ALT0 mux port: SEMC_DATA00 of instance: SEMC
  49171. * 0b0001..Select mux mode: ALT1 mux port: FLEXPWM4_PWM0_A of instance: FLEXPWM4
  49172. * 0b0101..Select mux mode: ALT5 mux port: GPIO_MUX1_IO00 of instance: GPIO_MUX1
  49173. * 0b1000..Select mux mode: ALT8 mux port: FLEXIO1_D00 of instance: FLEXIO1
  49174. * 0b1010..Select mux mode: ALT10 mux port: GPIO7_IO00 of instance: GPIO7
  49175. */
  49176. #define IOMUXC_SW_MUX_CTL_PAD_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_SHIFT)) & IOMUXC_SW_MUX_CTL_PAD_MUX_MODE_MASK)
  49177. #define IOMUXC_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  49178. #define IOMUXC_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  49179. /*! SION - Software Input On Field.
  49180. * 0b1..Force input path of pad GPIO_EMC_B1_00
  49181. * 0b0..Input Path is determined by functionality
  49182. */
  49183. #define IOMUXC_SW_MUX_CTL_PAD_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_MUX_CTL_PAD_SION_SHIFT)) & IOMUXC_SW_MUX_CTL_PAD_SION_MASK)
  49184. /*! @} */
  49185. /* The count of IOMUXC_SW_MUX_CTL_PAD */
  49186. #define IOMUXC_SW_MUX_CTL_PAD_COUNT (145U)
  49187. /*! @name SW_PAD_CTL_PAD - SW_PAD_CTL_PAD_GPIO_EMC_B1_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_DISP_B2_15 SW PAD Control Register */
  49188. /*! @{ */
  49189. #define IOMUXC_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  49190. #define IOMUXC_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  49191. /*! SRE - Slew Rate Field
  49192. * 0b0..Slow Slew Rate
  49193. * 0b1..Fast Slew Rate
  49194. */
  49195. #define IOMUXC_SW_PAD_CTL_PAD_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_SRE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_SRE_MASK)
  49196. #define IOMUXC_SW_PAD_CTL_PAD_DSE_MASK (0x2U)
  49197. #define IOMUXC_SW_PAD_CTL_PAD_DSE_SHIFT (1U)
  49198. /*! DSE - Drive Strength Field
  49199. * 0b0..normal drive strength
  49200. * 0b1..high drive strength
  49201. */
  49202. #define IOMUXC_SW_PAD_CTL_PAD_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_DSE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_DSE_MASK)
  49203. #define IOMUXC_SW_PAD_CTL_PAD_PDRV_MASK (0x2U)
  49204. #define IOMUXC_SW_PAD_CTL_PAD_PDRV_SHIFT (1U)
  49205. /*! PDRV - PDRV Field
  49206. * 0b0..high drive strength
  49207. * 0b1..normal drive strength
  49208. */
  49209. #define IOMUXC_SW_PAD_CTL_PAD_PDRV(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_PDRV_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_PDRV_MASK)
  49210. #define IOMUXC_SW_PAD_CTL_PAD_PUE_MASK (0x4U)
  49211. #define IOMUXC_SW_PAD_CTL_PAD_PUE_SHIFT (2U)
  49212. /*! PUE - Pull / Keep Select Field
  49213. * 0b0..Pull Disable, Highz
  49214. * 0b1..Pull Enable
  49215. */
  49216. #define IOMUXC_SW_PAD_CTL_PAD_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_PUE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_PUE_MASK)
  49217. #define IOMUXC_SW_PAD_CTL_PAD_PULL_MASK (0xCU)
  49218. #define IOMUXC_SW_PAD_CTL_PAD_PULL_SHIFT (2U)
  49219. /*! PULL - Pull Down Pull Up Field
  49220. * 0b00..Forbidden
  49221. * 0b01..Internal pullup resistor enabled
  49222. * 0b10..Internal pulldown resistor enabled
  49223. * 0b11..No Pull
  49224. */
  49225. #define IOMUXC_SW_PAD_CTL_PAD_PULL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_PULL_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_PULL_MASK)
  49226. #define IOMUXC_SW_PAD_CTL_PAD_PUS_MASK (0x8U)
  49227. #define IOMUXC_SW_PAD_CTL_PAD_PUS_SHIFT (3U)
  49228. /*! PUS - Pull Up / Down Config. Field
  49229. * 0b0..Weak pull down
  49230. * 0b1..Weak pull up
  49231. */
  49232. #define IOMUXC_SW_PAD_CTL_PAD_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_PUS_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_PUS_MASK)
  49233. #define IOMUXC_SW_PAD_CTL_PAD_ODE_MASK (0x10U)
  49234. #define IOMUXC_SW_PAD_CTL_PAD_ODE_SHIFT (4U)
  49235. /*! ODE - Open Drain Field
  49236. * 0b0..Disabled
  49237. * 0b1..Enabled
  49238. */
  49239. #define IOMUXC_SW_PAD_CTL_PAD_ODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_ODE_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_ODE_MASK)
  49240. #define IOMUXC_SW_PAD_CTL_PAD_DWP_MASK (0x30000000U)
  49241. #define IOMUXC_SW_PAD_CTL_PAD_DWP_SHIFT (28U)
  49242. /*! DWP - Domain write protection
  49243. * 0b00..Both cores are allowed
  49244. * 0b01..CM7 is forbidden
  49245. * 0b10..CM4 is forbidden
  49246. * 0b11..Both cores are forbidden
  49247. */
  49248. #define IOMUXC_SW_PAD_CTL_PAD_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_DWP_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_DWP_MASK)
  49249. #define IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_MASK (0xC0000000U)
  49250. #define IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT (30U)
  49251. /*! DWP_LOCK - Domain write protection lock
  49252. * 0b00..Neither of DWP bits is locked
  49253. * 0b01..The lower DWP bit is locked
  49254. * 0b10..The higher DWP bit is locked
  49255. * 0b11..Both DWP bits are locked
  49256. */
  49257. #define IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT)) & IOMUXC_SW_PAD_CTL_PAD_DWP_LOCK_MASK)
  49258. /*! @} */
  49259. /* The count of IOMUXC_SW_PAD_CTL_PAD */
  49260. #define IOMUXC_SW_PAD_CTL_PAD_COUNT (145U)
  49261. /*! @name SELECT_INPUT - FLEXCAN1_RX_SELECT_INPUT DAISY Register..XBAR1_IN_SELECT_INPUT_35 DAISY Register */
  49262. /*! @{ */
  49263. #define IOMUXC_SELECT_INPUT_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  49264. #define IOMUXC_SELECT_INPUT_DAISY_SHIFT (0U)
  49265. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  49266. * 0b00..Selecting Pad: GPIO_AD_07 for Mode: ALT1
  49267. * 0b01..Selecting Pad: GPIO_DISP_B2_13 for Mode: ALT2
  49268. * 0b10..Selecting Pad: GPIO_DISP_B2_15 for Mode: ALT6
  49269. */
  49270. #define IOMUXC_SELECT_INPUT_DAISY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SELECT_INPUT_DAISY_SHIFT)) & IOMUXC_SELECT_INPUT_DAISY_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  49271. /*! @} */
  49272. /* The count of IOMUXC_SELECT_INPUT */
  49273. #define IOMUXC_SELECT_INPUT_COUNT (160U)
  49274. /*!
  49275. * @}
  49276. */ /* end of group IOMUXC_Register_Masks */
  49277. /* IOMUXC - Peripheral instance base addresses */
  49278. /** Peripheral IOMUXC base address */
  49279. #define IOMUXC_BASE (0x400E8000u)
  49280. /** Peripheral IOMUXC base pointer */
  49281. #define IOMUXC ((IOMUXC_Type *)IOMUXC_BASE)
  49282. /** Array initializer of IOMUXC peripheral base addresses */
  49283. #define IOMUXC_BASE_ADDRS { IOMUXC_BASE }
  49284. /** Array initializer of IOMUXC peripheral base pointers */
  49285. #define IOMUXC_BASE_PTRS { IOMUXC }
  49286. /*!
  49287. * @}
  49288. */ /* end of group IOMUXC_Peripheral_Access_Layer */
  49289. /* ----------------------------------------------------------------------------
  49290. -- IOMUXC_GPR Peripheral Access Layer
  49291. ---------------------------------------------------------------------------- */
  49292. /*!
  49293. * @addtogroup IOMUXC_GPR_Peripheral_Access_Layer IOMUXC_GPR Peripheral Access Layer
  49294. * @{
  49295. */
  49296. /** IOMUXC_GPR - Register Layout Typedef */
  49297. typedef struct {
  49298. __IO uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  49299. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  49300. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  49301. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  49302. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  49303. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  49304. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  49305. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  49306. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  49307. __IO uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  49308. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  49309. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  49310. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  49311. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  49312. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  49313. __IO uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  49314. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  49315. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  49316. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  49317. uint8_t RESERVED_0[4];
  49318. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  49319. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  49320. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  49321. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  49322. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  49323. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  49324. __IO uint32_t GPR26; /**< GPR26 General Purpose Register, offset: 0x68 */
  49325. __IO uint32_t GPR27; /**< GPR27 General Purpose Register, offset: 0x6C */
  49326. __IO uint32_t GPR28; /**< GPR28 General Purpose Register, offset: 0x70 */
  49327. __IO uint32_t GPR29; /**< GPR29 General Purpose Register, offset: 0x74 */
  49328. __IO uint32_t GPR30; /**< GPR30 General Purpose Register, offset: 0x78 */
  49329. __IO uint32_t GPR31; /**< GPR31 General Purpose Register, offset: 0x7C */
  49330. __IO uint32_t GPR32; /**< GPR32 General Purpose Register, offset: 0x80 */
  49331. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  49332. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  49333. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  49334. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  49335. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  49336. __IO uint32_t GPR38; /**< GPR38 General Purpose Register, offset: 0x98 */
  49337. __IO uint32_t GPR39; /**< GPR39 General Purpose Register, offset: 0x9C */
  49338. __IO uint32_t GPR40; /**< GPR40 General Purpose Register, offset: 0xA0 */
  49339. __IO uint32_t GPR41; /**< GPR41 General Purpose Register, offset: 0xA4 */
  49340. __IO uint32_t GPR42; /**< GPR42 General Purpose Register, offset: 0xA8 */
  49341. __IO uint32_t GPR43; /**< GPR43 General Purpose Register, offset: 0xAC */
  49342. __IO uint32_t GPR44; /**< GPR44 General Purpose Register, offset: 0xB0 */
  49343. __IO uint32_t GPR45; /**< GPR45 General Purpose Register, offset: 0xB4 */
  49344. __IO uint32_t GPR46; /**< GPR46 General Purpose Register, offset: 0xB8 */
  49345. __IO uint32_t GPR47; /**< GPR47 General Purpose Register, offset: 0xBC */
  49346. __IO uint32_t GPR48; /**< GPR48 General Purpose Register, offset: 0xC0 */
  49347. __IO uint32_t GPR49; /**< GPR49 General Purpose Register, offset: 0xC4 */
  49348. __IO uint32_t GPR50; /**< GPR50 General Purpose Register, offset: 0xC8 */
  49349. __IO uint32_t GPR51; /**< GPR51 General Purpose Register, offset: 0xCC */
  49350. __IO uint32_t GPR52; /**< GPR52 General Purpose Register, offset: 0xD0 */
  49351. __IO uint32_t GPR53; /**< GPR53 General Purpose Register, offset: 0xD4 */
  49352. __IO uint32_t GPR54; /**< GPR54 General Purpose Register, offset: 0xD8 */
  49353. __IO uint32_t GPR55; /**< GPR55 General Purpose Register, offset: 0xDC */
  49354. uint8_t RESERVED_1[12];
  49355. __IO uint32_t GPR59; /**< GPR59 General Purpose Register, offset: 0xEC */
  49356. uint8_t RESERVED_2[8];
  49357. __IO uint32_t GPR62; /**< GPR62 General Purpose Register, offset: 0xF8 */
  49358. __I uint32_t GPR63; /**< GPR63 General Purpose Register, offset: 0xFC */
  49359. __IO uint32_t GPR64; /**< GPR64 General Purpose Register, offset: 0x100 */
  49360. __IO uint32_t GPR65; /**< GPR65 General Purpose Register, offset: 0x104 */
  49361. __IO uint32_t GPR66; /**< GPR66 General Purpose Register, offset: 0x108 */
  49362. __IO uint32_t GPR67; /**< GPR67 General Purpose Register, offset: 0x10C */
  49363. __IO uint32_t GPR68; /**< GPR68 General Purpose Register, offset: 0x110 */
  49364. __IO uint32_t GPR69; /**< GPR69 General Purpose Register, offset: 0x114 */
  49365. __IO uint32_t GPR70; /**< GPR70 General Purpose Register, offset: 0x118 */
  49366. __IO uint32_t GPR71; /**< GPR71 General Purpose Register, offset: 0x11C */
  49367. __IO uint32_t GPR72; /**< GPR72 General Purpose Register, offset: 0x120 */
  49368. __IO uint32_t GPR73; /**< GPR73 General Purpose Register, offset: 0x124 */
  49369. __IO uint32_t GPR74; /**< GPR74 General Purpose Register, offset: 0x128 */
  49370. __I uint32_t GPR75; /**< GPR75 General Purpose Register, offset: 0x12C */
  49371. __I uint32_t GPR76; /**< GPR76 General Purpose Register, offset: 0x130 */
  49372. } IOMUXC_GPR_Type;
  49373. /* ----------------------------------------------------------------------------
  49374. -- IOMUXC_GPR Register Masks
  49375. ---------------------------------------------------------------------------- */
  49376. /*!
  49377. * @addtogroup IOMUXC_GPR_Register_Masks IOMUXC_GPR Register Masks
  49378. * @{
  49379. */
  49380. /*! @name GPR0 - GPR0 General Purpose Register */
  49381. /*! @{ */
  49382. #define IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_MASK (0x7U)
  49383. #define IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_SHIFT (0U)
  49384. /*! SAI1_MCLK1_SEL - SAI1 MCLK1 source select
  49385. */
  49386. #define IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_SHIFT)) & IOMUXC_GPR_GPR0_SAI1_MCLK1_SEL_MASK)
  49387. #define IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_MASK (0x38U)
  49388. #define IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_SHIFT (3U)
  49389. /*! SAI1_MCLK2_SEL - SAI1 MCLK2 source select
  49390. */
  49391. #define IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_SHIFT)) & IOMUXC_GPR_GPR0_SAI1_MCLK2_SEL_MASK)
  49392. #define IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_MASK (0xC0U)
  49393. #define IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_SHIFT (6U)
  49394. /*! SAI1_MCLK3_SEL - SAI1 MCLK3 source select
  49395. */
  49396. #define IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_SHIFT)) & IOMUXC_GPR_GPR0_SAI1_MCLK3_SEL_MASK)
  49397. #define IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_MASK (0x100U)
  49398. #define IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_SHIFT (8U)
  49399. /*! SAI1_MCLK_DIR - SAI1_MCLK signal direction control
  49400. */
  49401. #define IOMUXC_GPR_GPR0_SAI1_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR0_SAI1_MCLK_DIR_MASK)
  49402. #define IOMUXC_GPR_GPR0_DWP_MASK (0x30000000U)
  49403. #define IOMUXC_GPR_GPR0_DWP_SHIFT (28U)
  49404. /*! DWP - Domain write protection
  49405. * 0b00..Both cores are allowed
  49406. * 0b01..CM7 is forbidden
  49407. * 0b10..CM4 is forbidden
  49408. * 0b11..Both cores are forbidden
  49409. */
  49410. #define IOMUXC_GPR_GPR0_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_DWP_SHIFT)) & IOMUXC_GPR_GPR0_DWP_MASK)
  49411. #define IOMUXC_GPR_GPR0_DWP_LOCK_MASK (0xC0000000U)
  49412. #define IOMUXC_GPR_GPR0_DWP_LOCK_SHIFT (30U)
  49413. /*! DWP_LOCK - Domain write protection lock
  49414. * 0b00..Neither of DWP bits is locked
  49415. * 0b01..The lower DWP bit is locked
  49416. * 0b10..The higher DWP bit is locked
  49417. * 0b11..Both DWP bits are locked
  49418. */
  49419. #define IOMUXC_GPR_GPR0_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR0_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR0_DWP_LOCK_MASK)
  49420. /*! @} */
  49421. /*! @name GPR1 - GPR1 General Purpose Register */
  49422. /*! @{ */
  49423. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK (0x3U)
  49424. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_SHIFT (0U)
  49425. /*! SAI2_MCLK3_SEL - SAI2 MCLK3 source select
  49426. */
  49427. #define IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_SHIFT)) & IOMUXC_GPR_GPR1_SAI2_MCLK3_SEL_MASK)
  49428. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_MASK (0x100U)
  49429. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_SHIFT (8U)
  49430. /*! SAI2_MCLK_DIR - SAI2_MCLK signal direction control
  49431. */
  49432. #define IOMUXC_GPR_GPR1_SAI2_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR1_SAI2_MCLK_DIR_MASK)
  49433. #define IOMUXC_GPR_GPR1_DWP_MASK (0x30000000U)
  49434. #define IOMUXC_GPR_GPR1_DWP_SHIFT (28U)
  49435. /*! DWP - Domain write protection
  49436. * 0b00..Both cores are allowed
  49437. * 0b01..CM7 is forbidden
  49438. * 0b10..CM4 is forbidden
  49439. * 0b11..Both cores are forbidden
  49440. */
  49441. #define IOMUXC_GPR_GPR1_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_DWP_SHIFT)) & IOMUXC_GPR_GPR1_DWP_MASK)
  49442. #define IOMUXC_GPR_GPR1_DWP_LOCK_MASK (0xC0000000U)
  49443. #define IOMUXC_GPR_GPR1_DWP_LOCK_SHIFT (30U)
  49444. /*! DWP_LOCK - Domain write protection lock
  49445. * 0b00..Neither of DWP bits is locked
  49446. * 0b01..The lower DWP bit is locked
  49447. * 0b10..The higher DWP bit is locked
  49448. * 0b11..Both DWP bits are locked
  49449. */
  49450. #define IOMUXC_GPR_GPR1_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR1_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR1_DWP_LOCK_MASK)
  49451. /*! @} */
  49452. /*! @name GPR2 - GPR2 General Purpose Register */
  49453. /*! @{ */
  49454. #define IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_MASK (0x3U)
  49455. #define IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_SHIFT (0U)
  49456. /*! SAI3_MCLK3_SEL - SAI3 MCLK3 source select
  49457. */
  49458. #define IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_SHIFT)) & IOMUXC_GPR_GPR2_SAI3_MCLK3_SEL_MASK)
  49459. #define IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_MASK (0x100U)
  49460. #define IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_SHIFT (8U)
  49461. /*! SAI3_MCLK_DIR - SAI3_MCLK signal direction control
  49462. */
  49463. #define IOMUXC_GPR_GPR2_SAI3_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR2_SAI3_MCLK_DIR_MASK)
  49464. #define IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_MASK (0x200U)
  49465. #define IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_SHIFT (9U)
  49466. /*! SAI4_MCLK_DIR - SAI4_MCLK signal direction control
  49467. */
  49468. #define IOMUXC_GPR_GPR2_SAI4_MCLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_SHIFT)) & IOMUXC_GPR_GPR2_SAI4_MCLK_DIR_MASK)
  49469. #define IOMUXC_GPR_GPR2_DWP_MASK (0x30000000U)
  49470. #define IOMUXC_GPR_GPR2_DWP_SHIFT (28U)
  49471. /*! DWP - Domain write protection
  49472. * 0b00..Both cores are allowed
  49473. * 0b01..CM7 is forbidden
  49474. * 0b10..CM4 is forbidden
  49475. * 0b11..Both cores are forbidden
  49476. */
  49477. #define IOMUXC_GPR_GPR2_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_DWP_SHIFT)) & IOMUXC_GPR_GPR2_DWP_MASK)
  49478. #define IOMUXC_GPR_GPR2_DWP_LOCK_MASK (0xC0000000U)
  49479. #define IOMUXC_GPR_GPR2_DWP_LOCK_SHIFT (30U)
  49480. /*! DWP_LOCK - Domain write protection lock
  49481. * 0b00..Neither of DWP bits is locked
  49482. * 0b01..The lower DWP bit is locked
  49483. * 0b10..The higher DWP bit is locked
  49484. * 0b11..Both DWP bits are locked
  49485. */
  49486. #define IOMUXC_GPR_GPR2_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR2_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR2_DWP_LOCK_MASK)
  49487. /*! @} */
  49488. /*! @name GPR3 - GPR3 General Purpose Register */
  49489. /*! @{ */
  49490. #define IOMUXC_GPR_GPR3_MQS_CLK_DIV_MASK (0xFFU)
  49491. #define IOMUXC_GPR_GPR3_MQS_CLK_DIV_SHIFT (0U)
  49492. /*! MQS_CLK_DIV - Divider ratio control for mclk from hmclk.
  49493. */
  49494. #define IOMUXC_GPR_GPR3_MQS_CLK_DIV(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_CLK_DIV_SHIFT)) & IOMUXC_GPR_GPR3_MQS_CLK_DIV_MASK)
  49495. #define IOMUXC_GPR_GPR3_MQS_SW_RST_MASK (0x100U)
  49496. #define IOMUXC_GPR_GPR3_MQS_SW_RST_SHIFT (8U)
  49497. /*! MQS_SW_RST - MQS software reset
  49498. */
  49499. #define IOMUXC_GPR_GPR3_MQS_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_SW_RST_SHIFT)) & IOMUXC_GPR_GPR3_MQS_SW_RST_MASK)
  49500. #define IOMUXC_GPR_GPR3_MQS_EN_MASK (0x200U)
  49501. #define IOMUXC_GPR_GPR3_MQS_EN_SHIFT (9U)
  49502. /*! MQS_EN - MQS enable
  49503. */
  49504. #define IOMUXC_GPR_GPR3_MQS_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_EN_SHIFT)) & IOMUXC_GPR_GPR3_MQS_EN_MASK)
  49505. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_MASK (0x400U)
  49506. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_SHIFT (10U)
  49507. /*! MQS_OVERSAMPLE - Medium Quality Sound (MQS) Oversample
  49508. */
  49509. #define IOMUXC_GPR_GPR3_MQS_OVERSAMPLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_SHIFT)) & IOMUXC_GPR_GPR3_MQS_OVERSAMPLE_MASK)
  49510. #define IOMUXC_GPR_GPR3_DWP_MASK (0x30000000U)
  49511. #define IOMUXC_GPR_GPR3_DWP_SHIFT (28U)
  49512. /*! DWP - Domain write protection
  49513. * 0b00..Both cores are allowed
  49514. * 0b01..CM7 is forbidden
  49515. * 0b10..CM4 is forbidden
  49516. * 0b11..Both cores are forbidden
  49517. */
  49518. #define IOMUXC_GPR_GPR3_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_DWP_SHIFT)) & IOMUXC_GPR_GPR3_DWP_MASK)
  49519. #define IOMUXC_GPR_GPR3_DWP_LOCK_MASK (0xC0000000U)
  49520. #define IOMUXC_GPR_GPR3_DWP_LOCK_SHIFT (30U)
  49521. /*! DWP_LOCK - Domain write protection lock
  49522. * 0b00..Neither of DWP bits is locked
  49523. * 0b01..The lower DWP bit is locked
  49524. * 0b10..The higher DWP bit is locked
  49525. * 0b11..Both DWP bits are locked
  49526. */
  49527. #define IOMUXC_GPR_GPR3_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR3_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR3_DWP_LOCK_MASK)
  49528. /*! @} */
  49529. /*! @name GPR4 - GPR4 General Purpose Register */
  49530. /*! @{ */
  49531. #define IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_MASK (0x1U)
  49532. #define IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_SHIFT (0U)
  49533. /*! ENET_TX_CLK_SEL - ENET TX_CLK select
  49534. */
  49535. #define IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_SHIFT)) & IOMUXC_GPR_GPR4_ENET_TX_CLK_SEL_MASK)
  49536. #define IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_MASK (0x2U)
  49537. #define IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_SHIFT (1U)
  49538. /*! ENET_REF_CLK_DIR - ENET_REF_CLK direction control
  49539. */
  49540. #define IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR4_ENET_REF_CLK_DIR_MASK)
  49541. #define IOMUXC_GPR_GPR4_ENET_TIME_SEL_MASK (0x4U)
  49542. #define IOMUXC_GPR_GPR4_ENET_TIME_SEL_SHIFT (2U)
  49543. /*! ENET_TIME_SEL - ENET master timer source select
  49544. */
  49545. #define IOMUXC_GPR_GPR4_ENET_TIME_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_TIME_SEL_SHIFT)) & IOMUXC_GPR_GPR4_ENET_TIME_SEL_MASK)
  49546. #define IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_MASK (0x8U)
  49547. #define IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_SHIFT (3U)
  49548. /*! ENET_EVENT0IN_SEL - ENET ENET_1588_EVENT0_IN source select
  49549. */
  49550. #define IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_SHIFT)) & IOMUXC_GPR_GPR4_ENET_EVENT0IN_SEL_MASK)
  49551. #define IOMUXC_GPR_GPR4_DWP_MASK (0x30000000U)
  49552. #define IOMUXC_GPR_GPR4_DWP_SHIFT (28U)
  49553. /*! DWP - Domain write protection
  49554. * 0b00..Both cores are allowed
  49555. * 0b01..CM7 is forbidden
  49556. * 0b10..CM4 is forbidden
  49557. * 0b11..Both cores are forbidden
  49558. */
  49559. #define IOMUXC_GPR_GPR4_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_DWP_SHIFT)) & IOMUXC_GPR_GPR4_DWP_MASK)
  49560. #define IOMUXC_GPR_GPR4_DWP_LOCK_MASK (0xC0000000U)
  49561. #define IOMUXC_GPR_GPR4_DWP_LOCK_SHIFT (30U)
  49562. /*! DWP_LOCK - Domain write protection lock
  49563. * 0b00..Neither of DWP bits is locked
  49564. * 0b01..The lower DWP bit is locked
  49565. * 0b10..The higher DWP bit is locked
  49566. * 0b11..Both DWP bits are locked
  49567. */
  49568. #define IOMUXC_GPR_GPR4_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR4_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR4_DWP_LOCK_MASK)
  49569. /*! @} */
  49570. /*! @name GPR5 - GPR5 General Purpose Register */
  49571. /*! @{ */
  49572. #define IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_MASK (0x1U)
  49573. #define IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_SHIFT (0U)
  49574. /*! ENET1G_TX_CLK_SEL - ENET1G TX_CLK select
  49575. */
  49576. #define IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_SHIFT)) & IOMUXC_GPR_GPR5_ENET1G_TX_CLK_SEL_MASK)
  49577. #define IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_MASK (0x2U)
  49578. #define IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_SHIFT (1U)
  49579. /*! ENET1G_REF_CLK_DIR - ENET1G_REF_CLK direction control
  49580. */
  49581. #define IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR5_ENET1G_REF_CLK_DIR_MASK)
  49582. #define IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_MASK (0x4U)
  49583. #define IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_SHIFT (2U)
  49584. /*! ENET1G_RGMII_EN - ENET1G RGMII TX clock output enable
  49585. */
  49586. #define IOMUXC_GPR_GPR5_ENET1G_RGMII_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_SHIFT)) & IOMUXC_GPR_GPR5_ENET1G_RGMII_EN_MASK)
  49587. #define IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_MASK (0x8U)
  49588. #define IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_SHIFT (3U)
  49589. /*! ENET1G_TIME_SEL - ENET1G master timer source select
  49590. */
  49591. #define IOMUXC_GPR_GPR5_ENET1G_TIME_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_SHIFT)) & IOMUXC_GPR_GPR5_ENET1G_TIME_SEL_MASK)
  49592. #define IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_MASK (0x10U)
  49593. #define IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_SHIFT (4U)
  49594. /*! ENET1G_EVENT0IN_SEL - ENET1G ENET_1588_EVENT0_IN source select
  49595. */
  49596. #define IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_SHIFT)) & IOMUXC_GPR_GPR5_ENET1G_EVENT0IN_SEL_MASK)
  49597. #define IOMUXC_GPR_GPR5_DWP_MASK (0x30000000U)
  49598. #define IOMUXC_GPR_GPR5_DWP_SHIFT (28U)
  49599. /*! DWP - Domain write protection
  49600. * 0b00..Both cores are allowed
  49601. * 0b01..CM7 is forbidden
  49602. * 0b10..CM4 is forbidden
  49603. * 0b11..Both cores are forbidden
  49604. */
  49605. #define IOMUXC_GPR_GPR5_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_DWP_SHIFT)) & IOMUXC_GPR_GPR5_DWP_MASK)
  49606. #define IOMUXC_GPR_GPR5_DWP_LOCK_MASK (0xC0000000U)
  49607. #define IOMUXC_GPR_GPR5_DWP_LOCK_SHIFT (30U)
  49608. /*! DWP_LOCK - Domain write protection lock
  49609. * 0b00..Neither of DWP bits is locked
  49610. * 0b01..The lower DWP bit is locked
  49611. * 0b10..The higher DWP bit is locked
  49612. * 0b11..Both DWP bits are locked
  49613. */
  49614. #define IOMUXC_GPR_GPR5_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR5_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR5_DWP_LOCK_MASK)
  49615. /*! @} */
  49616. /*! @name GPR6 - GPR6 General Purpose Register */
  49617. /*! @{ */
  49618. #define IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_MASK (0x1U)
  49619. #define IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_SHIFT (0U)
  49620. /*! ENET_QOS_REF_CLK_DIR - ENET_QOS_REF_CLK direction control
  49621. */
  49622. #define IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_REF_CLK_DIR_MASK)
  49623. #define IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_MASK (0x2U)
  49624. #define IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_SHIFT (1U)
  49625. /*! ENET_QOS_RGMII_EN - ENET_QOS RGMII TX clock output enable
  49626. */
  49627. #define IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_RGMII_EN_MASK)
  49628. #define IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_MASK (0x4U)
  49629. #define IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_SHIFT (2U)
  49630. /*! ENET_QOS_TIME_SEL - ENET_QOS master timer source select
  49631. */
  49632. #define IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_TIME_SEL_MASK)
  49633. #define IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_MASK (0x38U)
  49634. #define IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_SHIFT (3U)
  49635. /*! ENET_QOS_INTF_SEL - ENET_QOS PHY Interface Select
  49636. */
  49637. #define IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_INTF_SEL_MASK)
  49638. #define IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_MASK (0x40U)
  49639. #define IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_SHIFT (6U)
  49640. /*! ENET_QOS_CLKGEN_EN - ENET_QOS clock generator enable
  49641. */
  49642. #define IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_CLKGEN_EN_MASK)
  49643. #define IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_MASK (0x80U)
  49644. #define IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_SHIFT (7U)
  49645. /*! ENET_QOS_EVENT0IN_SEL - ENET_QOS ENET_1588_EVENT0_IN source select
  49646. */
  49647. #define IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_SHIFT)) & IOMUXC_GPR_GPR6_ENET_QOS_EVENT0IN_SEL_MASK)
  49648. #define IOMUXC_GPR_GPR6_DWP_MASK (0x30000000U)
  49649. #define IOMUXC_GPR_GPR6_DWP_SHIFT (28U)
  49650. /*! DWP - Domain write protection
  49651. * 0b00..Both cores are allowed
  49652. * 0b01..CM7 is forbidden
  49653. * 0b10..CM4 is forbidden
  49654. * 0b11..Both cores are forbidden
  49655. */
  49656. #define IOMUXC_GPR_GPR6_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_DWP_SHIFT)) & IOMUXC_GPR_GPR6_DWP_MASK)
  49657. #define IOMUXC_GPR_GPR6_DWP_LOCK_MASK (0xC0000000U)
  49658. #define IOMUXC_GPR_GPR6_DWP_LOCK_SHIFT (30U)
  49659. /*! DWP_LOCK - Domain write protection lock
  49660. * 0b00..Neither of DWP bits is locked
  49661. * 0b01..The lower DWP bit is locked
  49662. * 0b10..The higher DWP bit is locked
  49663. * 0b11..Both DWP bits are locked
  49664. */
  49665. #define IOMUXC_GPR_GPR6_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR6_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR6_DWP_LOCK_MASK)
  49666. /*! @} */
  49667. /*! @name GPR7 - GPR7 General Purpose Register */
  49668. /*! @{ */
  49669. #define IOMUXC_GPR_GPR7_GINT_MASK (0x1U)
  49670. #define IOMUXC_GPR_GPR7_GINT_SHIFT (0U)
  49671. /*! GINT - Global interrupt
  49672. */
  49673. #define IOMUXC_GPR_GPR7_GINT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_GINT_SHIFT)) & IOMUXC_GPR_GPR7_GINT_MASK)
  49674. #define IOMUXC_GPR_GPR7_DWP_MASK (0x30000000U)
  49675. #define IOMUXC_GPR_GPR7_DWP_SHIFT (28U)
  49676. /*! DWP - Domain write protection
  49677. * 0b00..Both cores are allowed
  49678. * 0b01..CM7 is forbidden
  49679. * 0b10..CM4 is forbidden
  49680. * 0b11..Both cores are forbidden
  49681. */
  49682. #define IOMUXC_GPR_GPR7_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_DWP_SHIFT)) & IOMUXC_GPR_GPR7_DWP_MASK)
  49683. #define IOMUXC_GPR_GPR7_DWP_LOCK_MASK (0xC0000000U)
  49684. #define IOMUXC_GPR_GPR7_DWP_LOCK_SHIFT (30U)
  49685. /*! DWP_LOCK - Domain write protection lock
  49686. * 0b00..Neither of DWP bits is locked
  49687. * 0b01..The lower DWP bit is locked
  49688. * 0b10..The higher DWP bit is locked
  49689. * 0b11..Both DWP bits are locked
  49690. */
  49691. #define IOMUXC_GPR_GPR7_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR7_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR7_DWP_LOCK_MASK)
  49692. /*! @} */
  49693. /*! @name GPR8 - GPR8 General Purpose Register */
  49694. /*! @{ */
  49695. #define IOMUXC_GPR_GPR8_WDOG1_MASK_MASK (0x1U)
  49696. #define IOMUXC_GPR_GPR8_WDOG1_MASK_SHIFT (0U)
  49697. /*! WDOG1_MASK - WDOG1 timeout mask for WDOG_ANY
  49698. */
  49699. #define IOMUXC_GPR_GPR8_WDOG1_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_WDOG1_MASK_SHIFT)) & IOMUXC_GPR_GPR8_WDOG1_MASK_MASK)
  49700. #define IOMUXC_GPR_GPR8_DWP_MASK (0x30000000U)
  49701. #define IOMUXC_GPR_GPR8_DWP_SHIFT (28U)
  49702. /*! DWP - Domain write protection
  49703. * 0b00..Both cores are allowed
  49704. * 0b01..CM7 is forbidden
  49705. * 0b10..CM4 is forbidden
  49706. * 0b11..Both cores are forbidden
  49707. */
  49708. #define IOMUXC_GPR_GPR8_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_DWP_SHIFT)) & IOMUXC_GPR_GPR8_DWP_MASK)
  49709. #define IOMUXC_GPR_GPR8_DWP_LOCK_MASK (0xC0000000U)
  49710. #define IOMUXC_GPR_GPR8_DWP_LOCK_SHIFT (30U)
  49711. /*! DWP_LOCK - Domain write protection lock
  49712. * 0b00..Neither of DWP bits is locked
  49713. * 0b01..The lower DWP bit is locked
  49714. * 0b10..The higher DWP bit is locked
  49715. * 0b11..Both DWP bits are locked
  49716. */
  49717. #define IOMUXC_GPR_GPR8_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR8_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR8_DWP_LOCK_MASK)
  49718. /*! @} */
  49719. /*! @name GPR9 - GPR9 General Purpose Register */
  49720. /*! @{ */
  49721. #define IOMUXC_GPR_GPR9_WDOG2_MASK_MASK (0x1U)
  49722. #define IOMUXC_GPR_GPR9_WDOG2_MASK_SHIFT (0U)
  49723. /*! WDOG2_MASK - WDOG2 timeout mask for WDOG_ANY
  49724. */
  49725. #define IOMUXC_GPR_GPR9_WDOG2_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_WDOG2_MASK_SHIFT)) & IOMUXC_GPR_GPR9_WDOG2_MASK_MASK)
  49726. #define IOMUXC_GPR_GPR9_DWP_MASK (0x30000000U)
  49727. #define IOMUXC_GPR_GPR9_DWP_SHIFT (28U)
  49728. /*! DWP - Domain write protection
  49729. * 0b00..Both cores are allowed
  49730. * 0b01..CM7 is forbidden
  49731. * 0b10..CM4 is forbidden
  49732. * 0b11..Both cores are forbidden
  49733. */
  49734. #define IOMUXC_GPR_GPR9_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_DWP_SHIFT)) & IOMUXC_GPR_GPR9_DWP_MASK)
  49735. #define IOMUXC_GPR_GPR9_DWP_LOCK_MASK (0xC0000000U)
  49736. #define IOMUXC_GPR_GPR9_DWP_LOCK_SHIFT (30U)
  49737. /*! DWP_LOCK - Domain write protection lock
  49738. * 0b00..Neither of DWP bits is locked
  49739. * 0b01..The lower DWP bit is locked
  49740. * 0b10..The higher DWP bit is locked
  49741. * 0b11..Both DWP bits are locked
  49742. */
  49743. #define IOMUXC_GPR_GPR9_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR9_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR9_DWP_LOCK_MASK)
  49744. /*! @} */
  49745. /*! @name GPR10 - GPR10 General Purpose Register */
  49746. /*! @{ */
  49747. #define IOMUXC_GPR_GPR10_DWP_MASK (0x30000000U)
  49748. #define IOMUXC_GPR_GPR10_DWP_SHIFT (28U)
  49749. /*! DWP - Domain write protection
  49750. * 0b00..Both cores are allowed
  49751. * 0b01..CM7 is forbidden
  49752. * 0b10..CM4 is forbidden
  49753. * 0b11..Both cores are forbidden
  49754. */
  49755. #define IOMUXC_GPR_GPR10_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DWP_SHIFT)) & IOMUXC_GPR_GPR10_DWP_MASK)
  49756. #define IOMUXC_GPR_GPR10_DWP_LOCK_MASK (0xC0000000U)
  49757. #define IOMUXC_GPR_GPR10_DWP_LOCK_SHIFT (30U)
  49758. /*! DWP_LOCK - Domain write protection lock
  49759. * 0b00..Neither of DWP bits is locked
  49760. * 0b01..The lower DWP bit is locked
  49761. * 0b10..The higher DWP bit is locked
  49762. * 0b11..Both DWP bits are locked
  49763. */
  49764. #define IOMUXC_GPR_GPR10_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR10_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR10_DWP_LOCK_MASK)
  49765. /*! @} */
  49766. /*! @name GPR11 - GPR11 General Purpose Register */
  49767. /*! @{ */
  49768. #define IOMUXC_GPR_GPR11_DWP_MASK (0x30000000U)
  49769. #define IOMUXC_GPR_GPR11_DWP_SHIFT (28U)
  49770. /*! DWP - Domain write protection
  49771. * 0b00..Both cores are allowed
  49772. * 0b01..CM7 is forbidden
  49773. * 0b10..CM4 is forbidden
  49774. * 0b11..Both cores are forbidden
  49775. */
  49776. #define IOMUXC_GPR_GPR11_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_DWP_SHIFT)) & IOMUXC_GPR_GPR11_DWP_MASK)
  49777. #define IOMUXC_GPR_GPR11_DWP_LOCK_MASK (0xC0000000U)
  49778. #define IOMUXC_GPR_GPR11_DWP_LOCK_SHIFT (30U)
  49779. /*! DWP_LOCK - Domain write protection lock
  49780. * 0b00..Neither of DWP bits is locked
  49781. * 0b01..The lower DWP bit is locked
  49782. * 0b10..The higher DWP bit is locked
  49783. * 0b11..Both DWP bits are locked
  49784. */
  49785. #define IOMUXC_GPR_GPR11_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR11_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR11_DWP_LOCK_MASK)
  49786. /*! @} */
  49787. /*! @name GPR12 - GPR12 General Purpose Register */
  49788. /*! @{ */
  49789. #define IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_MASK (0x1U)
  49790. #define IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_SHIFT (0U)
  49791. /*! QTIMER1_TMR_CNTS_FREEZE - QTIMER1 timer counter freeze
  49792. */
  49793. #define IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR12_QTIMER1_TMR_CNTS_FREEZE_MASK)
  49794. #define IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_MASK (0x100U)
  49795. #define IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_SHIFT (8U)
  49796. /*! QTIMER1_TRM0_INPUT_SEL - QTIMER1 TMR0 input select
  49797. */
  49798. #define IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR12_QTIMER1_TRM0_INPUT_SEL_MASK)
  49799. #define IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_MASK (0x200U)
  49800. #define IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_SHIFT (9U)
  49801. /*! QTIMER1_TRM1_INPUT_SEL - QTIMER1 TMR1 input select
  49802. */
  49803. #define IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR12_QTIMER1_TRM1_INPUT_SEL_MASK)
  49804. #define IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_MASK (0x400U)
  49805. #define IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_SHIFT (10U)
  49806. /*! QTIMER1_TRM2_INPUT_SEL - QTIMER1 TMR2 input select
  49807. */
  49808. #define IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR12_QTIMER1_TRM2_INPUT_SEL_MASK)
  49809. #define IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_MASK (0x800U)
  49810. #define IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_SHIFT (11U)
  49811. /*! QTIMER1_TRM3_INPUT_SEL - QTIMER1 TMR3 input select
  49812. */
  49813. #define IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR12_QTIMER1_TRM3_INPUT_SEL_MASK)
  49814. #define IOMUXC_GPR_GPR12_DWP_MASK (0x30000000U)
  49815. #define IOMUXC_GPR_GPR12_DWP_SHIFT (28U)
  49816. /*! DWP - Domain write protection
  49817. * 0b00..Both cores are allowed
  49818. * 0b01..CM7 is forbidden
  49819. * 0b10..CM4 is forbidden
  49820. * 0b11..Both cores are forbidden
  49821. */
  49822. #define IOMUXC_GPR_GPR12_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_DWP_SHIFT)) & IOMUXC_GPR_GPR12_DWP_MASK)
  49823. #define IOMUXC_GPR_GPR12_DWP_LOCK_MASK (0xC0000000U)
  49824. #define IOMUXC_GPR_GPR12_DWP_LOCK_SHIFT (30U)
  49825. /*! DWP_LOCK - Domain write protection lock
  49826. * 0b00..Neither of DWP bits is locked
  49827. * 0b01..The lower DWP bit is locked
  49828. * 0b10..The higher DWP bit is locked
  49829. * 0b11..Both DWP bits are locked
  49830. */
  49831. #define IOMUXC_GPR_GPR12_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR12_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR12_DWP_LOCK_MASK)
  49832. /*! @} */
  49833. /*! @name GPR13 - GPR13 General Purpose Register */
  49834. /*! @{ */
  49835. #define IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_MASK (0x1U)
  49836. #define IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_SHIFT (0U)
  49837. /*! QTIMER2_TMR_CNTS_FREEZE - QTIMER2 timer counter freeze
  49838. */
  49839. #define IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR13_QTIMER2_TMR_CNTS_FREEZE_MASK)
  49840. #define IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_MASK (0x100U)
  49841. #define IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_SHIFT (8U)
  49842. /*! QTIMER2_TRM0_INPUT_SEL - QTIMER2 TMR0 input select
  49843. */
  49844. #define IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR13_QTIMER2_TRM0_INPUT_SEL_MASK)
  49845. #define IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_MASK (0x200U)
  49846. #define IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_SHIFT (9U)
  49847. /*! QTIMER2_TRM1_INPUT_SEL - QTIMER2 TMR1 input select
  49848. */
  49849. #define IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR13_QTIMER2_TRM1_INPUT_SEL_MASK)
  49850. #define IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_MASK (0x400U)
  49851. #define IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_SHIFT (10U)
  49852. /*! QTIMER2_TRM2_INPUT_SEL - QTIMER2 TMR2 input select
  49853. */
  49854. #define IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR13_QTIMER2_TRM2_INPUT_SEL_MASK)
  49855. #define IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_MASK (0x800U)
  49856. #define IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_SHIFT (11U)
  49857. /*! QTIMER2_TRM3_INPUT_SEL - QTIMER2 TMR3 input select
  49858. */
  49859. #define IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR13_QTIMER2_TRM3_INPUT_SEL_MASK)
  49860. #define IOMUXC_GPR_GPR13_DWP_MASK (0x30000000U)
  49861. #define IOMUXC_GPR_GPR13_DWP_SHIFT (28U)
  49862. /*! DWP - Domain write protection
  49863. * 0b00..Both cores are allowed
  49864. * 0b01..CM7 is forbidden
  49865. * 0b10..CM4 is forbidden
  49866. * 0b11..Both cores are forbidden
  49867. */
  49868. #define IOMUXC_GPR_GPR13_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_DWP_SHIFT)) & IOMUXC_GPR_GPR13_DWP_MASK)
  49869. #define IOMUXC_GPR_GPR13_DWP_LOCK_MASK (0xC0000000U)
  49870. #define IOMUXC_GPR_GPR13_DWP_LOCK_SHIFT (30U)
  49871. /*! DWP_LOCK - Domain write protection lock
  49872. * 0b00..Neither of DWP bits is locked
  49873. * 0b01..The lower DWP bit is locked
  49874. * 0b10..The higher DWP bit is locked
  49875. * 0b11..Both DWP bits are locked
  49876. */
  49877. #define IOMUXC_GPR_GPR13_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR13_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR13_DWP_LOCK_MASK)
  49878. /*! @} */
  49879. /*! @name GPR14 - GPR14 General Purpose Register */
  49880. /*! @{ */
  49881. #define IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_MASK (0x1U)
  49882. #define IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_SHIFT (0U)
  49883. /*! QTIMER3_TMR_CNTS_FREEZE - QTIMER3 timer counter freeze
  49884. */
  49885. #define IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR14_QTIMER3_TMR_CNTS_FREEZE_MASK)
  49886. #define IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_MASK (0x100U)
  49887. #define IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_SHIFT (8U)
  49888. /*! QTIMER3_TRM0_INPUT_SEL - QTIMER3 TMR0 input select
  49889. */
  49890. #define IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR14_QTIMER3_TRM0_INPUT_SEL_MASK)
  49891. #define IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_MASK (0x200U)
  49892. #define IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_SHIFT (9U)
  49893. /*! QTIMER3_TRM1_INPUT_SEL - QTIMER3 TMR1 input select
  49894. */
  49895. #define IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR14_QTIMER3_TRM1_INPUT_SEL_MASK)
  49896. #define IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_MASK (0x400U)
  49897. #define IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_SHIFT (10U)
  49898. /*! QTIMER3_TRM2_INPUT_SEL - QTIMER3 TMR2 input select
  49899. */
  49900. #define IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR14_QTIMER3_TRM2_INPUT_SEL_MASK)
  49901. #define IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_MASK (0x800U)
  49902. #define IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_SHIFT (11U)
  49903. /*! QTIMER3_TRM3_INPUT_SEL - QTIMER3 TMR3 input select
  49904. */
  49905. #define IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR14_QTIMER3_TRM3_INPUT_SEL_MASK)
  49906. #define IOMUXC_GPR_GPR14_DWP_MASK (0x30000000U)
  49907. #define IOMUXC_GPR_GPR14_DWP_SHIFT (28U)
  49908. /*! DWP - Domain write protection
  49909. * 0b00..Both cores are allowed
  49910. * 0b01..CM7 is forbidden
  49911. * 0b10..CM4 is forbidden
  49912. * 0b11..Both cores are forbidden
  49913. */
  49914. #define IOMUXC_GPR_GPR14_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_DWP_SHIFT)) & IOMUXC_GPR_GPR14_DWP_MASK)
  49915. #define IOMUXC_GPR_GPR14_DWP_LOCK_MASK (0xC0000000U)
  49916. #define IOMUXC_GPR_GPR14_DWP_LOCK_SHIFT (30U)
  49917. /*! DWP_LOCK - Domain write protection lock
  49918. * 0b00..Neither of DWP bits is locked
  49919. * 0b01..The lower DWP bit is locked
  49920. * 0b10..The higher DWP bit is locked
  49921. * 0b11..Both DWP bits are locked
  49922. */
  49923. #define IOMUXC_GPR_GPR14_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR14_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR14_DWP_LOCK_MASK)
  49924. /*! @} */
  49925. /*! @name GPR15 - GPR15 General Purpose Register */
  49926. /*! @{ */
  49927. #define IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_MASK (0x1U)
  49928. #define IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_SHIFT (0U)
  49929. /*! QTIMER4_TMR_CNTS_FREEZE - QTIMER4 timer counter freeze
  49930. */
  49931. #define IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_SHIFT)) & IOMUXC_GPR_GPR15_QTIMER4_TMR_CNTS_FREEZE_MASK)
  49932. #define IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_MASK (0x100U)
  49933. #define IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_SHIFT (8U)
  49934. /*! QTIMER4_TRM0_INPUT_SEL - QTIMER4 TMR0 input select
  49935. */
  49936. #define IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR15_QTIMER4_TRM0_INPUT_SEL_MASK)
  49937. #define IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_MASK (0x200U)
  49938. #define IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_SHIFT (9U)
  49939. /*! QTIMER4_TRM1_INPUT_SEL - QTIMER4 TMR1 input select
  49940. */
  49941. #define IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR15_QTIMER4_TRM1_INPUT_SEL_MASK)
  49942. #define IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_MASK (0x400U)
  49943. #define IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_SHIFT (10U)
  49944. /*! QTIMER4_TRM2_INPUT_SEL - QTIMER4 TMR2 input select
  49945. */
  49946. #define IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR15_QTIMER4_TRM2_INPUT_SEL_MASK)
  49947. #define IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_MASK (0x800U)
  49948. #define IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_SHIFT (11U)
  49949. /*! QTIMER4_TRM3_INPUT_SEL - QTIMER4 TMR3 input select
  49950. */
  49951. #define IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_SHIFT)) & IOMUXC_GPR_GPR15_QTIMER4_TRM3_INPUT_SEL_MASK)
  49952. #define IOMUXC_GPR_GPR15_DWP_MASK (0x30000000U)
  49953. #define IOMUXC_GPR_GPR15_DWP_SHIFT (28U)
  49954. /*! DWP - Domain write protection
  49955. * 0b00..Both cores are allowed
  49956. * 0b01..CM7 is forbidden
  49957. * 0b10..CM4 is forbidden
  49958. * 0b11..Both cores are forbidden
  49959. */
  49960. #define IOMUXC_GPR_GPR15_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_DWP_SHIFT)) & IOMUXC_GPR_GPR15_DWP_MASK)
  49961. #define IOMUXC_GPR_GPR15_DWP_LOCK_MASK (0xC0000000U)
  49962. #define IOMUXC_GPR_GPR15_DWP_LOCK_SHIFT (30U)
  49963. /*! DWP_LOCK - Domain write protection lock
  49964. * 0b00..Neither of DWP bits is locked
  49965. * 0b01..The lower DWP bit is locked
  49966. * 0b10..The higher DWP bit is locked
  49967. * 0b11..Both DWP bits are locked
  49968. */
  49969. #define IOMUXC_GPR_GPR15_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR15_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR15_DWP_LOCK_MASK)
  49970. /*! @} */
  49971. /*! @name GPR16 - GPR16 General Purpose Register */
  49972. /*! @{ */
  49973. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_MASK (0x4U)
  49974. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_SHIFT (2U)
  49975. /*! FLEXRAM_BANK_CFG_SEL - FlexRAM bank config source select
  49976. */
  49977. #define IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_SHIFT)) & IOMUXC_GPR_GPR16_FLEXRAM_BANK_CFG_SEL_MASK)
  49978. #define IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_MASK (0x8U)
  49979. #define IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_SHIFT (3U)
  49980. /*! CM7_FORCE_HCLK_EN - CM7 platform AHB clock enable
  49981. */
  49982. #define IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_SHIFT)) & IOMUXC_GPR_GPR16_CM7_FORCE_HCLK_EN_MASK)
  49983. #define IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_MASK (0x20U)
  49984. #define IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_SHIFT (5U)
  49985. /*! M7_GPC_SLEEP_SEL - CM7 sleep request selection
  49986. */
  49987. #define IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_SHIFT)) & IOMUXC_GPR_GPR16_M7_GPC_SLEEP_SEL_MASK)
  49988. #define IOMUXC_GPR_GPR16_DWP_MASK (0x30000000U)
  49989. #define IOMUXC_GPR_GPR16_DWP_SHIFT (28U)
  49990. /*! DWP - Domain write protection
  49991. * 0b00..Both cores are allowed
  49992. * 0b01..CM7 is forbidden
  49993. * 0b10..CM4 is forbidden
  49994. * 0b11..Both cores are forbidden
  49995. */
  49996. #define IOMUXC_GPR_GPR16_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_DWP_SHIFT)) & IOMUXC_GPR_GPR16_DWP_MASK)
  49997. #define IOMUXC_GPR_GPR16_DWP_LOCK_MASK (0xC0000000U)
  49998. #define IOMUXC_GPR_GPR16_DWP_LOCK_SHIFT (30U)
  49999. /*! DWP_LOCK - Domain write protection lock
  50000. * 0b00..Neither of DWP bits is locked
  50001. * 0b01..The lower DWP bit is locked
  50002. * 0b10..The higher DWP bit is locked
  50003. * 0b11..Both DWP bits are locked
  50004. */
  50005. #define IOMUXC_GPR_GPR16_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR16_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR16_DWP_LOCK_MASK)
  50006. /*! @} */
  50007. /*! @name GPR17 - GPR17 General Purpose Register */
  50008. /*! @{ */
  50009. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_MASK (0xFFFFU)
  50010. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_SHIFT (0U)
  50011. /*! FLEXRAM_BANK_CFG_LOW - FlexRAM bank config value
  50012. */
  50013. #define IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_SHIFT)) & IOMUXC_GPR_GPR17_FLEXRAM_BANK_CFG_LOW_MASK)
  50014. #define IOMUXC_GPR_GPR17_DWP_MASK (0x30000000U)
  50015. #define IOMUXC_GPR_GPR17_DWP_SHIFT (28U)
  50016. /*! DWP - Domain write protection
  50017. * 0b00..Both cores are allowed
  50018. * 0b01..CM7 is forbidden
  50019. * 0b10..CM4 is forbidden
  50020. * 0b11..Both cores are forbidden
  50021. */
  50022. #define IOMUXC_GPR_GPR17_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_DWP_SHIFT)) & IOMUXC_GPR_GPR17_DWP_MASK)
  50023. #define IOMUXC_GPR_GPR17_DWP_LOCK_MASK (0xC0000000U)
  50024. #define IOMUXC_GPR_GPR17_DWP_LOCK_SHIFT (30U)
  50025. /*! DWP_LOCK - Domain write protection lock
  50026. * 0b00..Neither of DWP bits is locked
  50027. * 0b01..The lower DWP bit is locked
  50028. * 0b10..The higher DWP bit is locked
  50029. * 0b11..Both DWP bits are locked
  50030. */
  50031. #define IOMUXC_GPR_GPR17_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR17_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR17_DWP_LOCK_MASK)
  50032. /*! @} */
  50033. /*! @name GPR18 - GPR18 General Purpose Register */
  50034. /*! @{ */
  50035. #define IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_MASK (0xFFFFU)
  50036. #define IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_SHIFT (0U)
  50037. /*! FLEXRAM_BANK_CFG_HIGH - FlexRAM bank config value
  50038. */
  50039. #define IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_SHIFT)) & IOMUXC_GPR_GPR18_FLEXRAM_BANK_CFG_HIGH_MASK)
  50040. #define IOMUXC_GPR_GPR18_DWP_MASK (0x30000000U)
  50041. #define IOMUXC_GPR_GPR18_DWP_SHIFT (28U)
  50042. /*! DWP - Domain write protection
  50043. * 0b00..Both cores are allowed
  50044. * 0b01..CM7 is forbidden
  50045. * 0b10..CM4 is forbidden
  50046. * 0b11..Both cores are forbidden
  50047. */
  50048. #define IOMUXC_GPR_GPR18_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_DWP_SHIFT)) & IOMUXC_GPR_GPR18_DWP_MASK)
  50049. #define IOMUXC_GPR_GPR18_DWP_LOCK_MASK (0xC0000000U)
  50050. #define IOMUXC_GPR_GPR18_DWP_LOCK_SHIFT (30U)
  50051. /*! DWP_LOCK - Domain write protection lock
  50052. * 0b00..Neither of DWP bits is locked
  50053. * 0b01..The lower DWP bit is locked
  50054. * 0b10..The higher DWP bit is locked
  50055. * 0b11..Both DWP bits are locked
  50056. */
  50057. #define IOMUXC_GPR_GPR18_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR18_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR18_DWP_LOCK_MASK)
  50058. /*! @} */
  50059. /*! @name GPR20 - GPR20 General Purpose Register */
  50060. /*! @{ */
  50061. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_MASK (0x1U)
  50062. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_SHIFT (0U)
  50063. /*! IOMUXC_XBAR_DIR_SEL_4 - IOMUXC XBAR_INOUT4 function direction select
  50064. */
  50065. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_4_MASK)
  50066. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_MASK (0x2U)
  50067. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_SHIFT (1U)
  50068. /*! IOMUXC_XBAR_DIR_SEL_5 - IOMUXC XBAR_INOUT5 function direction select
  50069. */
  50070. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_5_MASK)
  50071. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_MASK (0x4U)
  50072. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_SHIFT (2U)
  50073. /*! IOMUXC_XBAR_DIR_SEL_6 - IOMUXC XBAR_INOUT6 function direction select
  50074. */
  50075. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_6_MASK)
  50076. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_MASK (0x8U)
  50077. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_SHIFT (3U)
  50078. /*! IOMUXC_XBAR_DIR_SEL_7 - IOMUXC XBAR_INOUT7 function direction select
  50079. */
  50080. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_7_MASK)
  50081. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_MASK (0x10U)
  50082. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_SHIFT (4U)
  50083. /*! IOMUXC_XBAR_DIR_SEL_8 - IOMUXC XBAR_INOUT8 function direction select
  50084. */
  50085. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_8_MASK)
  50086. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_MASK (0x20U)
  50087. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_SHIFT (5U)
  50088. /*! IOMUXC_XBAR_DIR_SEL_9 - IOMUXC XBAR_INOUT9 function direction select
  50089. */
  50090. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_9_MASK)
  50091. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_MASK (0x40U)
  50092. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_SHIFT (6U)
  50093. /*! IOMUXC_XBAR_DIR_SEL_10 - IOMUXC XBAR_INOUT10 function direction select
  50094. */
  50095. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_10_MASK)
  50096. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_MASK (0x80U)
  50097. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_SHIFT (7U)
  50098. /*! IOMUXC_XBAR_DIR_SEL_11 - IOMUXC XBAR_INOUT11 function direction select
  50099. */
  50100. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_11_MASK)
  50101. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_MASK (0x100U)
  50102. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_SHIFT (8U)
  50103. /*! IOMUXC_XBAR_DIR_SEL_12 - IOMUXC XBAR_INOUT12 function direction select
  50104. */
  50105. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_12_MASK)
  50106. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_MASK (0x200U)
  50107. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_SHIFT (9U)
  50108. /*! IOMUXC_XBAR_DIR_SEL_13 - IOMUXC XBAR_INOUT13 function direction select
  50109. */
  50110. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_13_MASK)
  50111. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_MASK (0x400U)
  50112. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_SHIFT (10U)
  50113. /*! IOMUXC_XBAR_DIR_SEL_14 - IOMUXC XBAR_INOUT14 function direction select
  50114. */
  50115. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_14_MASK)
  50116. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_MASK (0x800U)
  50117. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_SHIFT (11U)
  50118. /*! IOMUXC_XBAR_DIR_SEL_15 - IOMUXC XBAR_INOUT15 function direction select
  50119. */
  50120. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_15_MASK)
  50121. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_MASK (0x1000U)
  50122. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_SHIFT (12U)
  50123. /*! IOMUXC_XBAR_DIR_SEL_16 - IOMUXC XBAR_INOUT16 function direction select
  50124. */
  50125. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_16_MASK)
  50126. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_MASK (0x2000U)
  50127. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_SHIFT (13U)
  50128. /*! IOMUXC_XBAR_DIR_SEL_17 - IOMUXC XBAR_INOUT17 function direction select
  50129. */
  50130. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_17_MASK)
  50131. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_MASK (0x4000U)
  50132. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_SHIFT (14U)
  50133. /*! IOMUXC_XBAR_DIR_SEL_18 - IOMUXC XBAR_INOUT18 function direction select
  50134. */
  50135. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_18_MASK)
  50136. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_MASK (0x8000U)
  50137. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_SHIFT (15U)
  50138. /*! IOMUXC_XBAR_DIR_SEL_19 - IOMUXC XBAR_INOUT19 function direction select
  50139. */
  50140. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_19_MASK)
  50141. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_MASK (0x10000U)
  50142. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_SHIFT (16U)
  50143. /*! IOMUXC_XBAR_DIR_SEL_20 - IOMUXC XBAR_INOUT20 function direction select
  50144. */
  50145. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_20_MASK)
  50146. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_MASK (0x20000U)
  50147. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_SHIFT (17U)
  50148. /*! IOMUXC_XBAR_DIR_SEL_21 - IOMUXC XBAR_INOUT21 function direction select
  50149. */
  50150. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_21_MASK)
  50151. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_MASK (0x40000U)
  50152. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_SHIFT (18U)
  50153. /*! IOMUXC_XBAR_DIR_SEL_22 - IOMUXC XBAR_INOUT22 function direction select
  50154. */
  50155. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_22_MASK)
  50156. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_MASK (0x80000U)
  50157. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_SHIFT (19U)
  50158. /*! IOMUXC_XBAR_DIR_SEL_23 - IOMUXC XBAR_INOUT23 function direction select
  50159. */
  50160. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_23_MASK)
  50161. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_MASK (0x100000U)
  50162. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_SHIFT (20U)
  50163. /*! IOMUXC_XBAR_DIR_SEL_24 - IOMUXC XBAR_INOUT24 function direction select
  50164. */
  50165. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_24_MASK)
  50166. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_MASK (0x200000U)
  50167. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_SHIFT (21U)
  50168. /*! IOMUXC_XBAR_DIR_SEL_25 - IOMUXC XBAR_INOUT25 function direction select
  50169. */
  50170. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_25_MASK)
  50171. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_MASK (0x400000U)
  50172. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_SHIFT (22U)
  50173. /*! IOMUXC_XBAR_DIR_SEL_26 - IOMUXC XBAR_INOUT26 function direction select
  50174. */
  50175. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_26_MASK)
  50176. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_MASK (0x800000U)
  50177. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_SHIFT (23U)
  50178. /*! IOMUXC_XBAR_DIR_SEL_27 - IOMUXC XBAR_INOUT27 function direction select
  50179. */
  50180. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_27_MASK)
  50181. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_MASK (0x1000000U)
  50182. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_SHIFT (24U)
  50183. /*! IOMUXC_XBAR_DIR_SEL_28 - IOMUXC XBAR_INOUT28 function direction select
  50184. */
  50185. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_28_MASK)
  50186. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_MASK (0x2000000U)
  50187. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_SHIFT (25U)
  50188. /*! IOMUXC_XBAR_DIR_SEL_29 - IOMUXC XBAR_INOUT29 function direction select
  50189. */
  50190. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_29_MASK)
  50191. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_MASK (0x4000000U)
  50192. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_SHIFT (26U)
  50193. /*! IOMUXC_XBAR_DIR_SEL_30 - IOMUXC XBAR_INOUT30 function direction select
  50194. */
  50195. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_30_MASK)
  50196. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_MASK (0x8000000U)
  50197. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_SHIFT (27U)
  50198. /*! IOMUXC_XBAR_DIR_SEL_31 - IOMUXC XBAR_INOUT31 function direction select
  50199. */
  50200. #define IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_SHIFT)) & IOMUXC_GPR_GPR20_IOMUXC_XBAR_DIR_SEL_31_MASK)
  50201. #define IOMUXC_GPR_GPR20_DWP_MASK (0x30000000U)
  50202. #define IOMUXC_GPR_GPR20_DWP_SHIFT (28U)
  50203. /*! DWP - Domain write protection
  50204. * 0b00..Both cores are allowed
  50205. * 0b01..CM7 is forbidden
  50206. * 0b10..CM4 is forbidden
  50207. * 0b11..Both cores are forbidden
  50208. */
  50209. #define IOMUXC_GPR_GPR20_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_DWP_SHIFT)) & IOMUXC_GPR_GPR20_DWP_MASK)
  50210. #define IOMUXC_GPR_GPR20_DWP_LOCK_MASK (0xC0000000U)
  50211. #define IOMUXC_GPR_GPR20_DWP_LOCK_SHIFT (30U)
  50212. /*! DWP_LOCK - Domain write protection lock
  50213. * 0b00..Neither of DWP bits is locked
  50214. * 0b01..The lower DWP bit is locked
  50215. * 0b10..The higher DWP bit is locked
  50216. * 0b11..Both DWP bits are locked
  50217. */
  50218. #define IOMUXC_GPR_GPR20_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR20_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR20_DWP_LOCK_MASK)
  50219. /*! @} */
  50220. /*! @name GPR21 - GPR21 General Purpose Register */
  50221. /*! @{ */
  50222. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_MASK (0x1U)
  50223. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_SHIFT (0U)
  50224. /*! IOMUXC_XBAR_DIR_SEL_32 - IOMUXC XBAR_INOUT32 function direction select
  50225. */
  50226. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_32_MASK)
  50227. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_MASK (0x2U)
  50228. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_SHIFT (1U)
  50229. /*! IOMUXC_XBAR_DIR_SEL_33 - IOMUXC XBAR_INOUT33 function direction select
  50230. */
  50231. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_33_MASK)
  50232. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_MASK (0x4U)
  50233. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_SHIFT (2U)
  50234. /*! IOMUXC_XBAR_DIR_SEL_34 - IOMUXC XBAR_INOUT34 function direction select
  50235. */
  50236. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_34_MASK)
  50237. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_MASK (0x8U)
  50238. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_SHIFT (3U)
  50239. /*! IOMUXC_XBAR_DIR_SEL_35 - IOMUXC XBAR_INOUT35 function direction select
  50240. */
  50241. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_35_MASK)
  50242. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_MASK (0x10U)
  50243. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_SHIFT (4U)
  50244. /*! IOMUXC_XBAR_DIR_SEL_36 - IOMUXC XBAR_INOUT36 function direction select
  50245. */
  50246. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_36_MASK)
  50247. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_MASK (0x20U)
  50248. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_SHIFT (5U)
  50249. /*! IOMUXC_XBAR_DIR_SEL_37 - IOMUXC XBAR_INOUT37 function direction select
  50250. */
  50251. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_37_MASK)
  50252. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_MASK (0x40U)
  50253. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_SHIFT (6U)
  50254. /*! IOMUXC_XBAR_DIR_SEL_38 - IOMUXC XBAR_INOUT38 function direction select
  50255. */
  50256. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_38_MASK)
  50257. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_MASK (0x80U)
  50258. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_SHIFT (7U)
  50259. /*! IOMUXC_XBAR_DIR_SEL_39 - IOMUXC XBAR_INOUT39 function direction select
  50260. */
  50261. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_39_MASK)
  50262. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_MASK (0x100U)
  50263. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_SHIFT (8U)
  50264. /*! IOMUXC_XBAR_DIR_SEL_40 - IOMUXC XBAR_INOUT40 function direction select
  50265. */
  50266. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_40_MASK)
  50267. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_MASK (0x200U)
  50268. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_SHIFT (9U)
  50269. /*! IOMUXC_XBAR_DIR_SEL_41 - IOMUXC XBAR_INOUT41 function direction select
  50270. */
  50271. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_41_MASK)
  50272. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_MASK (0x400U)
  50273. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_SHIFT (10U)
  50274. /*! IOMUXC_XBAR_DIR_SEL_42 - IOMUXC XBAR_INOUT42 function direction select
  50275. */
  50276. #define IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_SHIFT)) & IOMUXC_GPR_GPR21_IOMUXC_XBAR_DIR_SEL_42_MASK)
  50277. #define IOMUXC_GPR_GPR21_DWP_MASK (0x30000000U)
  50278. #define IOMUXC_GPR_GPR21_DWP_SHIFT (28U)
  50279. /*! DWP - Domain write protection
  50280. * 0b00..Both cores are allowed
  50281. * 0b01..CM7 is forbidden
  50282. * 0b10..CM4 is forbidden
  50283. * 0b11..Both cores are forbidden
  50284. */
  50285. #define IOMUXC_GPR_GPR21_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_DWP_SHIFT)) & IOMUXC_GPR_GPR21_DWP_MASK)
  50286. #define IOMUXC_GPR_GPR21_DWP_LOCK_MASK (0xC0000000U)
  50287. #define IOMUXC_GPR_GPR21_DWP_LOCK_SHIFT (30U)
  50288. /*! DWP_LOCK - Domain write protection lock
  50289. * 0b00..Neither of DWP bits is locked
  50290. * 0b01..The lower DWP bit is locked
  50291. * 0b10..The higher DWP bit is locked
  50292. * 0b11..Both DWP bits are locked
  50293. */
  50294. #define IOMUXC_GPR_GPR21_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR21_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR21_DWP_LOCK_MASK)
  50295. /*! @} */
  50296. /*! @name GPR22 - GPR22 General Purpose Register */
  50297. /*! @{ */
  50298. #define IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_MASK (0x1U)
  50299. #define IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_SHIFT (0U)
  50300. /*! REF_1M_CLK_GPT1 - GPT1 1 MHz clock source select
  50301. */
  50302. #define IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_SHIFT)) & IOMUXC_GPR_GPR22_REF_1M_CLK_GPT1_MASK)
  50303. #define IOMUXC_GPR_GPR22_DWP_MASK (0x30000000U)
  50304. #define IOMUXC_GPR_GPR22_DWP_SHIFT (28U)
  50305. /*! DWP - Domain write protection
  50306. * 0b00..Both cores are allowed
  50307. * 0b01..CM7 is forbidden
  50308. * 0b10..CM4 is forbidden
  50309. * 0b11..Both cores are forbidden
  50310. */
  50311. #define IOMUXC_GPR_GPR22_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_DWP_SHIFT)) & IOMUXC_GPR_GPR22_DWP_MASK)
  50312. #define IOMUXC_GPR_GPR22_DWP_LOCK_MASK (0xC0000000U)
  50313. #define IOMUXC_GPR_GPR22_DWP_LOCK_SHIFT (30U)
  50314. /*! DWP_LOCK - Domain write protection lock
  50315. * 0b00..Neither of DWP bits is locked
  50316. * 0b01..The lower DWP bit is locked
  50317. * 0b10..The higher DWP bit is locked
  50318. * 0b11..Both DWP bits are locked
  50319. */
  50320. #define IOMUXC_GPR_GPR22_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR22_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR22_DWP_LOCK_MASK)
  50321. /*! @} */
  50322. /*! @name GPR23 - GPR23 General Purpose Register */
  50323. /*! @{ */
  50324. #define IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_MASK (0x1U)
  50325. #define IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_SHIFT (0U)
  50326. /*! REF_1M_CLK_GPT2 - GPT2 1 MHz clock source select
  50327. */
  50328. #define IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_SHIFT)) & IOMUXC_GPR_GPR23_REF_1M_CLK_GPT2_MASK)
  50329. #define IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_MASK (0x2U)
  50330. #define IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_SHIFT (1U)
  50331. /*! GPT2_CAPIN1_SEL - GPT2 input capture channel 1 source select
  50332. */
  50333. #define IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_SHIFT)) & IOMUXC_GPR_GPR23_GPT2_CAPIN1_SEL_MASK)
  50334. #define IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_MASK (0x4U)
  50335. #define IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_SHIFT (2U)
  50336. /*! GPT2_CAPIN2_SEL - GPT2 input capture channel 2 source select
  50337. */
  50338. #define IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_SHIFT)) & IOMUXC_GPR_GPR23_GPT2_CAPIN2_SEL_MASK)
  50339. #define IOMUXC_GPR_GPR23_DWP_MASK (0x30000000U)
  50340. #define IOMUXC_GPR_GPR23_DWP_SHIFT (28U)
  50341. /*! DWP - Domain write protection
  50342. * 0b00..Both cores are allowed
  50343. * 0b01..CM7 is forbidden
  50344. * 0b10..CM4 is forbidden
  50345. * 0b11..Both cores are forbidden
  50346. */
  50347. #define IOMUXC_GPR_GPR23_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_DWP_SHIFT)) & IOMUXC_GPR_GPR23_DWP_MASK)
  50348. #define IOMUXC_GPR_GPR23_DWP_LOCK_MASK (0xC0000000U)
  50349. #define IOMUXC_GPR_GPR23_DWP_LOCK_SHIFT (30U)
  50350. /*! DWP_LOCK - Domain write protection lock
  50351. * 0b00..Neither of DWP bits is locked
  50352. * 0b01..The lower DWP bit is locked
  50353. * 0b10..The higher DWP bit is locked
  50354. * 0b11..Both DWP bits are locked
  50355. */
  50356. #define IOMUXC_GPR_GPR23_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR23_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR23_DWP_LOCK_MASK)
  50357. /*! @} */
  50358. /*! @name GPR24 - GPR24 General Purpose Register */
  50359. /*! @{ */
  50360. #define IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_MASK (0x1U)
  50361. #define IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_SHIFT (0U)
  50362. /*! REF_1M_CLK_GPT3 - GPT3 1 MHz clock source select
  50363. */
  50364. #define IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_SHIFT)) & IOMUXC_GPR_GPR24_REF_1M_CLK_GPT3_MASK)
  50365. #define IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_MASK (0x2U)
  50366. #define IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_SHIFT (1U)
  50367. /*! GPT3_CAPIN1_SEL - GPT3 input capture channel 1 source select
  50368. */
  50369. #define IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_SHIFT)) & IOMUXC_GPR_GPR24_GPT3_CAPIN1_SEL_MASK)
  50370. #define IOMUXC_GPR_GPR24_DWP_MASK (0x30000000U)
  50371. #define IOMUXC_GPR_GPR24_DWP_SHIFT (28U)
  50372. /*! DWP - Domain write protection
  50373. * 0b00..Both cores are allowed
  50374. * 0b01..CM7 is forbidden
  50375. * 0b10..CM4 is forbidden
  50376. * 0b11..Both cores are forbidden
  50377. */
  50378. #define IOMUXC_GPR_GPR24_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_DWP_SHIFT)) & IOMUXC_GPR_GPR24_DWP_MASK)
  50379. #define IOMUXC_GPR_GPR24_DWP_LOCK_MASK (0xC0000000U)
  50380. #define IOMUXC_GPR_GPR24_DWP_LOCK_SHIFT (30U)
  50381. /*! DWP_LOCK - Domain write protection lock
  50382. * 0b00..Neither of DWP bits is locked
  50383. * 0b01..The lower DWP bit is locked
  50384. * 0b10..The higher DWP bit is locked
  50385. * 0b11..Both DWP bits are locked
  50386. */
  50387. #define IOMUXC_GPR_GPR24_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR24_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR24_DWP_LOCK_MASK)
  50388. /*! @} */
  50389. /*! @name GPR25 - GPR25 General Purpose Register */
  50390. /*! @{ */
  50391. #define IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_MASK (0x1U)
  50392. #define IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_SHIFT (0U)
  50393. /*! REF_1M_CLK_GPT4 - GPT4 1 MHz clock source select
  50394. */
  50395. #define IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_SHIFT)) & IOMUXC_GPR_GPR25_REF_1M_CLK_GPT4_MASK)
  50396. #define IOMUXC_GPR_GPR25_DWP_MASK (0x30000000U)
  50397. #define IOMUXC_GPR_GPR25_DWP_SHIFT (28U)
  50398. /*! DWP - Domain write protection
  50399. * 0b00..Both cores are allowed
  50400. * 0b01..CM7 is forbidden
  50401. * 0b10..CM4 is forbidden
  50402. * 0b11..Both cores are forbidden
  50403. */
  50404. #define IOMUXC_GPR_GPR25_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_DWP_SHIFT)) & IOMUXC_GPR_GPR25_DWP_MASK)
  50405. #define IOMUXC_GPR_GPR25_DWP_LOCK_MASK (0xC0000000U)
  50406. #define IOMUXC_GPR_GPR25_DWP_LOCK_SHIFT (30U)
  50407. /*! DWP_LOCK - Domain write protection lock
  50408. * 0b00..Neither of DWP bits is locked
  50409. * 0b01..The lower DWP bit is locked
  50410. * 0b10..The higher DWP bit is locked
  50411. * 0b11..Both DWP bits are locked
  50412. */
  50413. #define IOMUXC_GPR_GPR25_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR25_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR25_DWP_LOCK_MASK)
  50414. /*! @} */
  50415. /*! @name GPR26 - GPR26 General Purpose Register */
  50416. /*! @{ */
  50417. #define IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_MASK (0x1U)
  50418. #define IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_SHIFT (0U)
  50419. /*! REF_1M_CLK_GPT5 - GPT5 1 MHz clock source select
  50420. */
  50421. #define IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_SHIFT)) & IOMUXC_GPR_GPR26_REF_1M_CLK_GPT5_MASK)
  50422. #define IOMUXC_GPR_GPR26_DWP_MASK (0x30000000U)
  50423. #define IOMUXC_GPR_GPR26_DWP_SHIFT (28U)
  50424. /*! DWP - Domain write protection
  50425. * 0b00..Both cores are allowed
  50426. * 0b01..CM7 is forbidden
  50427. * 0b10..CM4 is forbidden
  50428. * 0b11..Both cores are forbidden
  50429. */
  50430. #define IOMUXC_GPR_GPR26_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_DWP_SHIFT)) & IOMUXC_GPR_GPR26_DWP_MASK)
  50431. #define IOMUXC_GPR_GPR26_DWP_LOCK_MASK (0xC0000000U)
  50432. #define IOMUXC_GPR_GPR26_DWP_LOCK_SHIFT (30U)
  50433. /*! DWP_LOCK - Domain write protection lock
  50434. * 0b00..Neither of DWP bits is locked
  50435. * 0b01..The lower DWP bit is locked
  50436. * 0b10..The higher DWP bit is locked
  50437. * 0b11..Both DWP bits are locked
  50438. */
  50439. #define IOMUXC_GPR_GPR26_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR26_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR26_DWP_LOCK_MASK)
  50440. /*! @} */
  50441. /*! @name GPR27 - GPR27 General Purpose Register */
  50442. /*! @{ */
  50443. #define IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_MASK (0x1U)
  50444. #define IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_SHIFT (0U)
  50445. /*! REF_1M_CLK_GPT6 - GPT6 1 MHz clock source select
  50446. */
  50447. #define IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_SHIFT)) & IOMUXC_GPR_GPR27_REF_1M_CLK_GPT6_MASK)
  50448. #define IOMUXC_GPR_GPR27_DWP_MASK (0x30000000U)
  50449. #define IOMUXC_GPR_GPR27_DWP_SHIFT (28U)
  50450. /*! DWP - Domain write protection
  50451. * 0b00..Both cores are allowed
  50452. * 0b01..CM7 is forbidden
  50453. * 0b10..CM4 is forbidden
  50454. * 0b11..Both cores are forbidden
  50455. */
  50456. #define IOMUXC_GPR_GPR27_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_DWP_SHIFT)) & IOMUXC_GPR_GPR27_DWP_MASK)
  50457. #define IOMUXC_GPR_GPR27_DWP_LOCK_MASK (0xC0000000U)
  50458. #define IOMUXC_GPR_GPR27_DWP_LOCK_SHIFT (30U)
  50459. /*! DWP_LOCK - Domain write protection lock
  50460. * 0b00..Neither of DWP bits is locked
  50461. * 0b01..The lower DWP bit is locked
  50462. * 0b10..The higher DWP bit is locked
  50463. * 0b11..Both DWP bits are locked
  50464. */
  50465. #define IOMUXC_GPR_GPR27_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR27_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR27_DWP_LOCK_MASK)
  50466. /*! @} */
  50467. /*! @name GPR28 - GPR28 General Purpose Register */
  50468. /*! @{ */
  50469. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC_MASK (0x1U)
  50470. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC_SHIFT (0U)
  50471. /*! ARCACHE_USDHC - uSDHC block cacheable attribute value of AXI read transactions
  50472. */
  50473. #define IOMUXC_GPR_GPR28_ARCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_ARCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR28_ARCACHE_USDHC_MASK)
  50474. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC_MASK (0x2U)
  50475. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC_SHIFT (1U)
  50476. /*! AWCACHE_USDHC - uSDHC block cacheable attribute value of AXI write transactions
  50477. */
  50478. #define IOMUXC_GPR_GPR28_AWCACHE_USDHC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_AWCACHE_USDHC_SHIFT)) & IOMUXC_GPR_GPR28_AWCACHE_USDHC_MASK)
  50479. #define IOMUXC_GPR_GPR28_CACHE_ENET1G_MASK (0x20U)
  50480. #define IOMUXC_GPR_GPR28_CACHE_ENET1G_SHIFT (5U)
  50481. #define IOMUXC_GPR_GPR28_CACHE_ENET1G(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_ENET1G_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_ENET1G_MASK)
  50482. #define IOMUXC_GPR_GPR28_CACHE_ENET_MASK (0x80U)
  50483. #define IOMUXC_GPR_GPR28_CACHE_ENET_SHIFT (7U)
  50484. /*! CACHE_ENET - ENET block cacheable attribute value of AXI transactions
  50485. */
  50486. #define IOMUXC_GPR_GPR28_CACHE_ENET(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_ENET_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_ENET_MASK)
  50487. #define IOMUXC_GPR_GPR28_CACHE_USB_MASK (0x2000U)
  50488. #define IOMUXC_GPR_GPR28_CACHE_USB_SHIFT (13U)
  50489. /*! CACHE_USB - USB block cacheable attribute value of AXI transactions
  50490. */
  50491. #define IOMUXC_GPR_GPR28_CACHE_USB(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_CACHE_USB_SHIFT)) & IOMUXC_GPR_GPR28_CACHE_USB_MASK)
  50492. #define IOMUXC_GPR_GPR28_DWP_MASK (0x30000000U)
  50493. #define IOMUXC_GPR_GPR28_DWP_SHIFT (28U)
  50494. /*! DWP - Domain write protection
  50495. * 0b00..Both cores are allowed
  50496. * 0b01..CM7 is forbidden
  50497. * 0b10..CM4 is forbidden
  50498. * 0b11..Both cores are forbidden
  50499. */
  50500. #define IOMUXC_GPR_GPR28_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_DWP_SHIFT)) & IOMUXC_GPR_GPR28_DWP_MASK)
  50501. #define IOMUXC_GPR_GPR28_DWP_LOCK_MASK (0xC0000000U)
  50502. #define IOMUXC_GPR_GPR28_DWP_LOCK_SHIFT (30U)
  50503. /*! DWP_LOCK - Domain write protection lock
  50504. * 0b00..Neither of DWP bits is locked
  50505. * 0b01..The lower DWP bit is locked
  50506. * 0b10..The higher DWP bit is locked
  50507. * 0b11..Both DWP bits are locked
  50508. */
  50509. #define IOMUXC_GPR_GPR28_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR28_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR28_DWP_LOCK_MASK)
  50510. /*! @} */
  50511. /*! @name GPR29 - GPR29 General Purpose Register */
  50512. /*! @{ */
  50513. #define IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_MASK (0x1U)
  50514. #define IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_SHIFT (0U)
  50515. /*! USBPHY1_IPG_CLK_ACTIVE - USBPHY1 register access clock enable
  50516. */
  50517. #define IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_SHIFT)) & IOMUXC_GPR_GPR29_USBPHY1_IPG_CLK_ACTIVE_MASK)
  50518. #define IOMUXC_GPR_GPR29_DWP_MASK (0x30000000U)
  50519. #define IOMUXC_GPR_GPR29_DWP_SHIFT (28U)
  50520. /*! DWP - Domain write protection
  50521. * 0b00..Both cores are allowed
  50522. * 0b01..CM7 is forbidden
  50523. * 0b10..CM4 is forbidden
  50524. * 0b11..Both cores are forbidden
  50525. */
  50526. #define IOMUXC_GPR_GPR29_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_DWP_SHIFT)) & IOMUXC_GPR_GPR29_DWP_MASK)
  50527. #define IOMUXC_GPR_GPR29_DWP_LOCK_MASK (0xC0000000U)
  50528. #define IOMUXC_GPR_GPR29_DWP_LOCK_SHIFT (30U)
  50529. /*! DWP_LOCK - Domain write protection lock
  50530. * 0b00..Neither of DWP bits is locked
  50531. * 0b01..The lower DWP bit is locked
  50532. * 0b10..The higher DWP bit is locked
  50533. * 0b11..Both DWP bits are locked
  50534. */
  50535. #define IOMUXC_GPR_GPR29_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR29_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR29_DWP_LOCK_MASK)
  50536. /*! @} */
  50537. /*! @name GPR30 - GPR30 General Purpose Register */
  50538. /*! @{ */
  50539. #define IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_MASK (0x1U)
  50540. #define IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_SHIFT (0U)
  50541. /*! USBPHY2_IPG_CLK_ACTIVE - USBPHY2 register access clock enable
  50542. */
  50543. #define IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_SHIFT)) & IOMUXC_GPR_GPR30_USBPHY2_IPG_CLK_ACTIVE_MASK)
  50544. #define IOMUXC_GPR_GPR30_DWP_MASK (0x30000000U)
  50545. #define IOMUXC_GPR_GPR30_DWP_SHIFT (28U)
  50546. /*! DWP - Domain write protection
  50547. * 0b00..Both cores are allowed
  50548. * 0b01..CM7 is forbidden
  50549. * 0b10..CM4 is forbidden
  50550. * 0b11..Both cores are forbidden
  50551. */
  50552. #define IOMUXC_GPR_GPR30_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_DWP_SHIFT)) & IOMUXC_GPR_GPR30_DWP_MASK)
  50553. #define IOMUXC_GPR_GPR30_DWP_LOCK_MASK (0xC0000000U)
  50554. #define IOMUXC_GPR_GPR30_DWP_LOCK_SHIFT (30U)
  50555. /*! DWP_LOCK - Domain write protection lock
  50556. * 0b00..Neither of DWP bits is locked
  50557. * 0b01..The lower DWP bit is locked
  50558. * 0b10..The higher DWP bit is locked
  50559. * 0b11..Both DWP bits are locked
  50560. */
  50561. #define IOMUXC_GPR_GPR30_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR30_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR30_DWP_LOCK_MASK)
  50562. /*! @} */
  50563. /*! @name GPR31 - GPR31 General Purpose Register */
  50564. /*! @{ */
  50565. #define IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_MASK (0x1U)
  50566. #define IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_SHIFT (0U)
  50567. /*! RMW2_WAIT_BVALID_CPL - OCRAM M7 RMW wait enable
  50568. */
  50569. #define IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR31_RMW2_WAIT_BVALID_CPL_MASK)
  50570. #define IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_MASK (0x4U)
  50571. #define IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_SHIFT (2U)
  50572. /*! OCRAM_M7_CLK_GATING - OCRAM M7 clock gating enable
  50573. */
  50574. #define IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_SHIFT)) & IOMUXC_GPR_GPR31_OCRAM_M7_CLK_GATING_MASK)
  50575. #define IOMUXC_GPR_GPR31_DWP_MASK (0x30000000U)
  50576. #define IOMUXC_GPR_GPR31_DWP_SHIFT (28U)
  50577. /*! DWP - Domain write protection
  50578. * 0b00..Both cores are allowed
  50579. * 0b01..CM7 is forbidden
  50580. * 0b10..CM4 is forbidden
  50581. * 0b11..Both cores are forbidden
  50582. */
  50583. #define IOMUXC_GPR_GPR31_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_DWP_SHIFT)) & IOMUXC_GPR_GPR31_DWP_MASK)
  50584. #define IOMUXC_GPR_GPR31_DWP_LOCK_MASK (0xC0000000U)
  50585. #define IOMUXC_GPR_GPR31_DWP_LOCK_SHIFT (30U)
  50586. /*! DWP_LOCK - Domain write protection lock
  50587. * 0b00..Neither of DWP bits is locked
  50588. * 0b01..The lower DWP bit is locked
  50589. * 0b10..The higher DWP bit is locked
  50590. * 0b11..Both DWP bits are locked
  50591. */
  50592. #define IOMUXC_GPR_GPR31_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR31_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR31_DWP_LOCK_MASK)
  50593. /*! @} */
  50594. /*! @name GPR32 - GPR32 General Purpose Register */
  50595. /*! @{ */
  50596. #define IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_MASK (0x1U)
  50597. #define IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_SHIFT (0U)
  50598. /*! RMW1_WAIT_BVALID_CPL - OCRAM1 RMW wait enable
  50599. */
  50600. #define IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR32_RMW1_WAIT_BVALID_CPL_MASK)
  50601. #define IOMUXC_GPR_GPR32_DWP_MASK (0x30000000U)
  50602. #define IOMUXC_GPR_GPR32_DWP_SHIFT (28U)
  50603. /*! DWP - Domain write protection
  50604. * 0b00..Both cores are allowed
  50605. * 0b01..CM7 is forbidden
  50606. * 0b10..CM4 is forbidden
  50607. * 0b11..Both cores are forbidden
  50608. */
  50609. #define IOMUXC_GPR_GPR32_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_DWP_SHIFT)) & IOMUXC_GPR_GPR32_DWP_MASK)
  50610. #define IOMUXC_GPR_GPR32_DWP_LOCK_MASK (0xC0000000U)
  50611. #define IOMUXC_GPR_GPR32_DWP_LOCK_SHIFT (30U)
  50612. /*! DWP_LOCK - Domain write protection lock
  50613. * 0b00..Neither of DWP bits is locked
  50614. * 0b01..The lower DWP bit is locked
  50615. * 0b10..The higher DWP bit is locked
  50616. * 0b11..Both DWP bits are locked
  50617. */
  50618. #define IOMUXC_GPR_GPR32_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR32_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR32_DWP_LOCK_MASK)
  50619. /*! @} */
  50620. /*! @name GPR33 - GPR33 General Purpose Register */
  50621. /*! @{ */
  50622. #define IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_MASK (0x1U)
  50623. #define IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_SHIFT (0U)
  50624. /*! RMW2_WAIT_BVALID_CPL - OCRAM2 RMW wait enable
  50625. */
  50626. #define IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR33_RMW2_WAIT_BVALID_CPL_MASK)
  50627. #define IOMUXC_GPR_GPR33_DWP_MASK (0x30000000U)
  50628. #define IOMUXC_GPR_GPR33_DWP_SHIFT (28U)
  50629. /*! DWP - Domain write protection
  50630. * 0b00..Both cores are allowed
  50631. * 0b01..CM7 is forbidden
  50632. * 0b10..CM4 is forbidden
  50633. * 0b11..Both cores are forbidden
  50634. */
  50635. #define IOMUXC_GPR_GPR33_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_DWP_SHIFT)) & IOMUXC_GPR_GPR33_DWP_MASK)
  50636. #define IOMUXC_GPR_GPR33_DWP_LOCK_MASK (0xC0000000U)
  50637. #define IOMUXC_GPR_GPR33_DWP_LOCK_SHIFT (30U)
  50638. /*! DWP_LOCK - Domain write protection lock
  50639. * 0b00..Neither of DWP bits is locked
  50640. * 0b01..The lower DWP bit is locked
  50641. * 0b10..The higher DWP bit is locked
  50642. * 0b11..Both DWP bits are locked
  50643. */
  50644. #define IOMUXC_GPR_GPR33_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR33_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR33_DWP_LOCK_MASK)
  50645. /*! @} */
  50646. /*! @name GPR34 - GPR34 General Purpose Register */
  50647. /*! @{ */
  50648. #define IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_MASK (0x1U)
  50649. #define IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_SHIFT (0U)
  50650. /*! XECC_FLEXSPI1_WAIT_BVALID_CPL - XECC_FLEXSPI1 RMW wait enable
  50651. */
  50652. #define IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR34_XECC_FLEXSPI1_WAIT_BVALID_CPL_MASK)
  50653. #define IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_MASK (0x2U)
  50654. #define IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_SHIFT (1U)
  50655. /*! FLEXSPI1_OTFAD_EN - FlexSPI1 OTFAD enable
  50656. */
  50657. #define IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_SHIFT)) & IOMUXC_GPR_GPR34_FLEXSPI1_OTFAD_EN_MASK)
  50658. #define IOMUXC_GPR_GPR34_DWP_MASK (0x30000000U)
  50659. #define IOMUXC_GPR_GPR34_DWP_SHIFT (28U)
  50660. /*! DWP - Domain write protection
  50661. * 0b00..Both cores are allowed
  50662. * 0b01..CM7 is forbidden
  50663. * 0b10..CM4 is forbidden
  50664. * 0b11..Both cores are forbidden
  50665. */
  50666. #define IOMUXC_GPR_GPR34_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_DWP_SHIFT)) & IOMUXC_GPR_GPR34_DWP_MASK)
  50667. #define IOMUXC_GPR_GPR34_DWP_LOCK_MASK (0xC0000000U)
  50668. #define IOMUXC_GPR_GPR34_DWP_LOCK_SHIFT (30U)
  50669. /*! DWP_LOCK - Domain write protection lock
  50670. * 0b00..Neither of DWP bits is locked
  50671. * 0b01..The lower DWP bit is locked
  50672. * 0b10..The higher DWP bit is locked
  50673. * 0b11..Both DWP bits are locked
  50674. */
  50675. #define IOMUXC_GPR_GPR34_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR34_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR34_DWP_LOCK_MASK)
  50676. /*! @} */
  50677. /*! @name GPR35 - GPR35 General Purpose Register */
  50678. /*! @{ */
  50679. #define IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_MASK (0x1U)
  50680. #define IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_SHIFT (0U)
  50681. /*! XECC_FLEXSPI2_WAIT_BVALID_CPL - XECC_FLEXSPI2 RMW wait enable
  50682. */
  50683. #define IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR35_XECC_FLEXSPI2_WAIT_BVALID_CPL_MASK)
  50684. #define IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_MASK (0x2U)
  50685. #define IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_SHIFT (1U)
  50686. /*! FLEXSPI2_OTFAD_EN - FlexSPI2 OTFAD enable
  50687. */
  50688. #define IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_SHIFT)) & IOMUXC_GPR_GPR35_FLEXSPI2_OTFAD_EN_MASK)
  50689. #define IOMUXC_GPR_GPR35_DWP_MASK (0x30000000U)
  50690. #define IOMUXC_GPR_GPR35_DWP_SHIFT (28U)
  50691. /*! DWP - Domain write protection
  50692. * 0b00..Both cores are allowed
  50693. * 0b01..CM7 is forbidden
  50694. * 0b10..CM4 is forbidden
  50695. * 0b11..Both cores are forbidden
  50696. */
  50697. #define IOMUXC_GPR_GPR35_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_DWP_SHIFT)) & IOMUXC_GPR_GPR35_DWP_MASK)
  50698. #define IOMUXC_GPR_GPR35_DWP_LOCK_MASK (0xC0000000U)
  50699. #define IOMUXC_GPR_GPR35_DWP_LOCK_SHIFT (30U)
  50700. /*! DWP_LOCK - Domain write protection lock
  50701. * 0b00..Neither of DWP bits is locked
  50702. * 0b01..The lower DWP bit is locked
  50703. * 0b10..The higher DWP bit is locked
  50704. * 0b11..Both DWP bits are locked
  50705. */
  50706. #define IOMUXC_GPR_GPR35_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR35_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR35_DWP_LOCK_MASK)
  50707. /*! @} */
  50708. /*! @name GPR36 - GPR36 General Purpose Register */
  50709. /*! @{ */
  50710. #define IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_MASK (0x1U)
  50711. #define IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_SHIFT (0U)
  50712. /*! XECC_SEMC_WAIT_BVALID_CPL - XECC_SEMC RMW wait enable
  50713. */
  50714. #define IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_SHIFT)) & IOMUXC_GPR_GPR36_XECC_SEMC_WAIT_BVALID_CPL_MASK)
  50715. #define IOMUXC_GPR_GPR36_DWP_MASK (0x30000000U)
  50716. #define IOMUXC_GPR_GPR36_DWP_SHIFT (28U)
  50717. /*! DWP - Domain write protection
  50718. * 0b00..Both cores are allowed
  50719. * 0b01..CM7 is forbidden
  50720. * 0b10..CM4 is forbidden
  50721. * 0b11..Both cores are forbidden
  50722. */
  50723. #define IOMUXC_GPR_GPR36_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR36_DWP_SHIFT)) & IOMUXC_GPR_GPR36_DWP_MASK)
  50724. #define IOMUXC_GPR_GPR36_DWP_LOCK_MASK (0xC0000000U)
  50725. #define IOMUXC_GPR_GPR36_DWP_LOCK_SHIFT (30U)
  50726. /*! DWP_LOCK - Domain write protection lock
  50727. * 0b00..Neither of DWP bits is locked
  50728. * 0b01..The lower DWP bit is locked
  50729. * 0b10..The higher DWP bit is locked
  50730. * 0b11..Both DWP bits are locked
  50731. */
  50732. #define IOMUXC_GPR_GPR36_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR36_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR36_DWP_LOCK_MASK)
  50733. /*! @} */
  50734. /*! @name GPR37 - GPR37 General Purpose Register */
  50735. /*! @{ */
  50736. #define IOMUXC_GPR_GPR37_NIDEN_MASK (0x1U)
  50737. #define IOMUXC_GPR_GPR37_NIDEN_SHIFT (0U)
  50738. /*! NIDEN - ARM non-secure (non-invasive) debug enable
  50739. */
  50740. #define IOMUXC_GPR_GPR37_NIDEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_NIDEN_SHIFT)) & IOMUXC_GPR_GPR37_NIDEN_MASK)
  50741. #define IOMUXC_GPR_GPR37_DBG_EN_MASK (0x2U)
  50742. #define IOMUXC_GPR_GPR37_DBG_EN_SHIFT (1U)
  50743. /*! DBG_EN - ARM invasive debug enable
  50744. */
  50745. #define IOMUXC_GPR_GPR37_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DBG_EN_SHIFT)) & IOMUXC_GPR_GPR37_DBG_EN_MASK)
  50746. #define IOMUXC_GPR_GPR37_EXC_MON_MASK (0x8U)
  50747. #define IOMUXC_GPR_GPR37_EXC_MON_SHIFT (3U)
  50748. /*! EXC_MON - Exclusive monitor response select of illegal command
  50749. */
  50750. #define IOMUXC_GPR_GPR37_EXC_MON(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_EXC_MON_SHIFT)) & IOMUXC_GPR_GPR37_EXC_MON_MASK)
  50751. #define IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_MASK (0x20U)
  50752. #define IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_SHIFT (5U)
  50753. /*! M7_DBG_ACK_MASK - CM7 debug halt mask
  50754. */
  50755. #define IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_SHIFT)) & IOMUXC_GPR_GPR37_M7_DBG_ACK_MASK_MASK)
  50756. #define IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_MASK (0x40U)
  50757. #define IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_SHIFT (6U)
  50758. /*! M4_DBG_ACK_MASK - CM4 debug halt mask
  50759. */
  50760. #define IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_SHIFT)) & IOMUXC_GPR_GPR37_M4_DBG_ACK_MASK_MASK)
  50761. #define IOMUXC_GPR_GPR37_DWP_MASK (0x30000000U)
  50762. #define IOMUXC_GPR_GPR37_DWP_SHIFT (28U)
  50763. /*! DWP - Domain write protection
  50764. * 0b00..Both cores are allowed
  50765. * 0b01..CM7 is forbidden
  50766. * 0b10..CM4 is forbidden
  50767. * 0b11..Both cores are forbidden
  50768. */
  50769. #define IOMUXC_GPR_GPR37_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DWP_SHIFT)) & IOMUXC_GPR_GPR37_DWP_MASK)
  50770. #define IOMUXC_GPR_GPR37_DWP_LOCK_MASK (0xC0000000U)
  50771. #define IOMUXC_GPR_GPR37_DWP_LOCK_SHIFT (30U)
  50772. /*! DWP_LOCK - Domain write protection lock
  50773. * 0b00..Neither of DWP bits is locked
  50774. * 0b01..The lower DWP bit is locked
  50775. * 0b10..The higher DWP bit is locked
  50776. * 0b11..Both DWP bits are locked
  50777. */
  50778. #define IOMUXC_GPR_GPR37_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR37_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR37_DWP_LOCK_MASK)
  50779. /*! @} */
  50780. /*! @name GPR38 - GPR38 General Purpose Register */
  50781. /*! @{ */
  50782. #define IOMUXC_GPR_GPR38_DWP_MASK (0x30000000U)
  50783. #define IOMUXC_GPR_GPR38_DWP_SHIFT (28U)
  50784. /*! DWP - Domain write protection
  50785. * 0b00..Both cores are allowed
  50786. * 0b01..CM7 is forbidden
  50787. * 0b10..CM4 is forbidden
  50788. * 0b11..Both cores are forbidden
  50789. */
  50790. #define IOMUXC_GPR_GPR38_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR38_DWP_SHIFT)) & IOMUXC_GPR_GPR38_DWP_MASK)
  50791. #define IOMUXC_GPR_GPR38_DWP_LOCK_MASK (0xC0000000U)
  50792. #define IOMUXC_GPR_GPR38_DWP_LOCK_SHIFT (30U)
  50793. /*! DWP_LOCK - Domain write protection lock
  50794. * 0b00..Neither of DWP bits is locked
  50795. * 0b01..The lower DWP bit is locked
  50796. * 0b10..The higher DWP bit is locked
  50797. * 0b11..Both DWP bits are locked
  50798. */
  50799. #define IOMUXC_GPR_GPR38_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR38_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR38_DWP_LOCK_MASK)
  50800. /*! @} */
  50801. /*! @name GPR39 - GPR39 General Purpose Register */
  50802. /*! @{ */
  50803. #define IOMUXC_GPR_GPR39_DWP_MASK (0x30000000U)
  50804. #define IOMUXC_GPR_GPR39_DWP_SHIFT (28U)
  50805. /*! DWP - Domain write protection
  50806. * 0b00..Both cores are allowed
  50807. * 0b01..CM7 is forbidden
  50808. * 0b10..CM4 is forbidden
  50809. * 0b11..Both cores are forbidden
  50810. */
  50811. #define IOMUXC_GPR_GPR39_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR39_DWP_SHIFT)) & IOMUXC_GPR_GPR39_DWP_MASK)
  50812. #define IOMUXC_GPR_GPR39_DWP_LOCK_MASK (0xC0000000U)
  50813. #define IOMUXC_GPR_GPR39_DWP_LOCK_SHIFT (30U)
  50814. /*! DWP_LOCK - Domain write protection lock
  50815. * 0b00..Neither of DWP bits is locked
  50816. * 0b01..The lower DWP bit is locked
  50817. * 0b10..The higher DWP bit is locked
  50818. * 0b11..Both DWP bits are locked
  50819. */
  50820. #define IOMUXC_GPR_GPR39_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR39_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR39_DWP_LOCK_MASK)
  50821. /*! @} */
  50822. /*! @name GPR40 - GPR40 General Purpose Register */
  50823. /*! @{ */
  50824. #define IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_MASK (0xFFFFU)
  50825. #define IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_SHIFT (0U)
  50826. /*! GPIO_MUX2_GPIO_SEL_LOW - GPIO2 and CM7_GPIO2 share same IO MUX function, GPIO_MUX2 selects one GPIO function.
  50827. */
  50828. #define IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_SHIFT)) & IOMUXC_GPR_GPR40_GPIO_MUX2_GPIO_SEL_LOW_MASK)
  50829. #define IOMUXC_GPR_GPR40_DWP_MASK (0x30000000U)
  50830. #define IOMUXC_GPR_GPR40_DWP_SHIFT (28U)
  50831. /*! DWP - Domain write protection
  50832. * 0b00..Both cores are allowed
  50833. * 0b01..CM7 is forbidden
  50834. * 0b10..CM4 is forbidden
  50835. * 0b11..Both cores are forbidden
  50836. */
  50837. #define IOMUXC_GPR_GPR40_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR40_DWP_SHIFT)) & IOMUXC_GPR_GPR40_DWP_MASK)
  50838. #define IOMUXC_GPR_GPR40_DWP_LOCK_MASK (0xC0000000U)
  50839. #define IOMUXC_GPR_GPR40_DWP_LOCK_SHIFT (30U)
  50840. /*! DWP_LOCK - Domain write protection lock
  50841. * 0b00..Neither of DWP bits is locked
  50842. * 0b01..The lower DWP bit is locked
  50843. * 0b10..The higher DWP bit is locked
  50844. * 0b11..Both DWP bits are locked
  50845. */
  50846. #define IOMUXC_GPR_GPR40_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR40_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR40_DWP_LOCK_MASK)
  50847. /*! @} */
  50848. /*! @name GPR41 - GPR41 General Purpose Register */
  50849. /*! @{ */
  50850. #define IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_MASK (0xFFFFU)
  50851. #define IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_SHIFT (0U)
  50852. /*! GPIO_MUX2_GPIO_SEL_HIGH - GPIO2 and CM7_GPIO2 share same IO MUX function, GPIO_MUX2 selects one GPIO function.
  50853. */
  50854. #define IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_SHIFT)) & IOMUXC_GPR_GPR41_GPIO_MUX2_GPIO_SEL_HIGH_MASK)
  50855. #define IOMUXC_GPR_GPR41_DWP_MASK (0x30000000U)
  50856. #define IOMUXC_GPR_GPR41_DWP_SHIFT (28U)
  50857. /*! DWP - Domain write protection
  50858. * 0b00..Both cores are allowed
  50859. * 0b01..CM7 is forbidden
  50860. * 0b10..CM4 is forbidden
  50861. * 0b11..Both cores are forbidden
  50862. */
  50863. #define IOMUXC_GPR_GPR41_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR41_DWP_SHIFT)) & IOMUXC_GPR_GPR41_DWP_MASK)
  50864. #define IOMUXC_GPR_GPR41_DWP_LOCK_MASK (0xC0000000U)
  50865. #define IOMUXC_GPR_GPR41_DWP_LOCK_SHIFT (30U)
  50866. /*! DWP_LOCK - Domain write protection lock
  50867. * 0b00..Neither of DWP bits is locked
  50868. * 0b01..The lower DWP bit is locked
  50869. * 0b10..The higher DWP bit is locked
  50870. * 0b11..Both DWP bits are locked
  50871. */
  50872. #define IOMUXC_GPR_GPR41_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR41_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR41_DWP_LOCK_MASK)
  50873. /*! @} */
  50874. /*! @name GPR42 - GPR42 General Purpose Register */
  50875. /*! @{ */
  50876. #define IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_MASK (0xFFFFU)
  50877. #define IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_SHIFT (0U)
  50878. /*! GPIO_MUX3_GPIO_SEL_LOW - GPIO3 and CM7_GPIO3 share same IO MUX function, GPIO_MUX3 selects one GPIO function.
  50879. */
  50880. #define IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_SHIFT)) & IOMUXC_GPR_GPR42_GPIO_MUX3_GPIO_SEL_LOW_MASK)
  50881. #define IOMUXC_GPR_GPR42_DWP_MASK (0x30000000U)
  50882. #define IOMUXC_GPR_GPR42_DWP_SHIFT (28U)
  50883. /*! DWP - Domain write protection
  50884. * 0b00..Both cores are allowed
  50885. * 0b01..CM7 is forbidden
  50886. * 0b10..CM4 is forbidden
  50887. * 0b11..Both cores are forbidden
  50888. */
  50889. #define IOMUXC_GPR_GPR42_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR42_DWP_SHIFT)) & IOMUXC_GPR_GPR42_DWP_MASK)
  50890. #define IOMUXC_GPR_GPR42_DWP_LOCK_MASK (0xC0000000U)
  50891. #define IOMUXC_GPR_GPR42_DWP_LOCK_SHIFT (30U)
  50892. /*! DWP_LOCK - Domain write protection lock
  50893. * 0b00..Neither of DWP bits is locked
  50894. * 0b01..The lower DWP bit is locked
  50895. * 0b10..The higher DWP bit is locked
  50896. * 0b11..Both DWP bits are locked
  50897. */
  50898. #define IOMUXC_GPR_GPR42_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR42_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR42_DWP_LOCK_MASK)
  50899. /*! @} */
  50900. /*! @name GPR43 - GPR43 General Purpose Register */
  50901. /*! @{ */
  50902. #define IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_MASK (0xFFFFU)
  50903. #define IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_SHIFT (0U)
  50904. /*! GPIO_MUX3_GPIO_SEL_HIGH - GPIO3 and CM7_GPIO3 share same IO MUX function, GPIO_MUX3 selects one GPIO function.
  50905. */
  50906. #define IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_SHIFT)) & IOMUXC_GPR_GPR43_GPIO_MUX3_GPIO_SEL_HIGH_MASK)
  50907. #define IOMUXC_GPR_GPR43_DWP_MASK (0x30000000U)
  50908. #define IOMUXC_GPR_GPR43_DWP_SHIFT (28U)
  50909. /*! DWP - Domain write protection
  50910. * 0b00..Both cores are allowed
  50911. * 0b01..CM7 is forbidden
  50912. * 0b10..CM4 is forbidden
  50913. * 0b11..Both cores are forbidden
  50914. */
  50915. #define IOMUXC_GPR_GPR43_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR43_DWP_SHIFT)) & IOMUXC_GPR_GPR43_DWP_MASK)
  50916. #define IOMUXC_GPR_GPR43_DWP_LOCK_MASK (0xC0000000U)
  50917. #define IOMUXC_GPR_GPR43_DWP_LOCK_SHIFT (30U)
  50918. /*! DWP_LOCK - Domain write protection lock
  50919. * 0b00..Neither of DWP bits is locked
  50920. * 0b01..The lower DWP bit is locked
  50921. * 0b10..The higher DWP bit is locked
  50922. * 0b11..Both DWP bits are locked
  50923. */
  50924. #define IOMUXC_GPR_GPR43_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR43_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR43_DWP_LOCK_MASK)
  50925. /*! @} */
  50926. /*! @name GPR44 - GPR44 General Purpose Register */
  50927. /*! @{ */
  50928. #define IOMUXC_GPR_GPR44_DWP_MASK (0x30000000U)
  50929. #define IOMUXC_GPR_GPR44_DWP_SHIFT (28U)
  50930. /*! DWP - Domain write protection
  50931. * 0b00..Both cores are allowed
  50932. * 0b01..CM7 is forbidden
  50933. * 0b10..CM4 is forbidden
  50934. * 0b11..Both cores are forbidden
  50935. */
  50936. #define IOMUXC_GPR_GPR44_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR44_DWP_SHIFT)) & IOMUXC_GPR_GPR44_DWP_MASK)
  50937. #define IOMUXC_GPR_GPR44_DWP_LOCK_MASK (0xC0000000U)
  50938. #define IOMUXC_GPR_GPR44_DWP_LOCK_SHIFT (30U)
  50939. /*! DWP_LOCK - Domain write protection lock
  50940. * 0b00..Neither of DWP bits is locked
  50941. * 0b01..The lower DWP bit is locked
  50942. * 0b10..The higher DWP bit is locked
  50943. * 0b11..Both DWP bits are locked
  50944. */
  50945. #define IOMUXC_GPR_GPR44_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR44_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR44_DWP_LOCK_MASK)
  50946. /*! @} */
  50947. /*! @name GPR45 - GPR45 General Purpose Register */
  50948. /*! @{ */
  50949. #define IOMUXC_GPR_GPR45_DWP_MASK (0x30000000U)
  50950. #define IOMUXC_GPR_GPR45_DWP_SHIFT (28U)
  50951. /*! DWP - Domain write protection
  50952. * 0b00..Both cores are allowed
  50953. * 0b01..CM7 is forbidden
  50954. * 0b10..CM4 is forbidden
  50955. * 0b11..Both cores are forbidden
  50956. */
  50957. #define IOMUXC_GPR_GPR45_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR45_DWP_SHIFT)) & IOMUXC_GPR_GPR45_DWP_MASK)
  50958. #define IOMUXC_GPR_GPR45_DWP_LOCK_MASK (0xC0000000U)
  50959. #define IOMUXC_GPR_GPR45_DWP_LOCK_SHIFT (30U)
  50960. /*! DWP_LOCK - Domain write protection lock
  50961. * 0b00..Neither of DWP bits is locked
  50962. * 0b01..The lower DWP bit is locked
  50963. * 0b10..The higher DWP bit is locked
  50964. * 0b11..Both DWP bits are locked
  50965. */
  50966. #define IOMUXC_GPR_GPR45_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR45_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR45_DWP_LOCK_MASK)
  50967. /*! @} */
  50968. /*! @name GPR46 - GPR46 General Purpose Register */
  50969. /*! @{ */
  50970. #define IOMUXC_GPR_GPR46_DWP_MASK (0x30000000U)
  50971. #define IOMUXC_GPR_GPR46_DWP_SHIFT (28U)
  50972. /*! DWP - Domain write protection
  50973. * 0b00..Both cores are allowed
  50974. * 0b01..CM7 is forbidden
  50975. * 0b10..CM4 is forbidden
  50976. * 0b11..Both cores are forbidden
  50977. */
  50978. #define IOMUXC_GPR_GPR46_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR46_DWP_SHIFT)) & IOMUXC_GPR_GPR46_DWP_MASK)
  50979. #define IOMUXC_GPR_GPR46_DWP_LOCK_MASK (0xC0000000U)
  50980. #define IOMUXC_GPR_GPR46_DWP_LOCK_SHIFT (30U)
  50981. /*! DWP_LOCK - Domain write protection lock
  50982. * 0b00..Neither of DWP bits is locked
  50983. * 0b01..The lower DWP bit is locked
  50984. * 0b10..The higher DWP bit is locked
  50985. * 0b11..Both DWP bits are locked
  50986. */
  50987. #define IOMUXC_GPR_GPR46_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR46_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR46_DWP_LOCK_MASK)
  50988. /*! @} */
  50989. /*! @name GPR47 - GPR47 General Purpose Register */
  50990. /*! @{ */
  50991. #define IOMUXC_GPR_GPR47_DWP_MASK (0x30000000U)
  50992. #define IOMUXC_GPR_GPR47_DWP_SHIFT (28U)
  50993. /*! DWP - Domain write protection
  50994. * 0b00..Both cores are allowed
  50995. * 0b01..CM7 is forbidden
  50996. * 0b10..CM4 is forbidden
  50997. * 0b11..Both cores are forbidden
  50998. */
  50999. #define IOMUXC_GPR_GPR47_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR47_DWP_SHIFT)) & IOMUXC_GPR_GPR47_DWP_MASK)
  51000. #define IOMUXC_GPR_GPR47_DWP_LOCK_MASK (0xC0000000U)
  51001. #define IOMUXC_GPR_GPR47_DWP_LOCK_SHIFT (30U)
  51002. /*! DWP_LOCK - Domain write protection lock
  51003. * 0b00..Neither of DWP bits is locked
  51004. * 0b01..The lower DWP bit is locked
  51005. * 0b10..The higher DWP bit is locked
  51006. * 0b11..Both DWP bits are locked
  51007. */
  51008. #define IOMUXC_GPR_GPR47_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR47_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR47_DWP_LOCK_MASK)
  51009. /*! @} */
  51010. /*! @name GPR48 - GPR48 General Purpose Register */
  51011. /*! @{ */
  51012. #define IOMUXC_GPR_GPR48_DWP_MASK (0x30000000U)
  51013. #define IOMUXC_GPR_GPR48_DWP_SHIFT (28U)
  51014. /*! DWP - Domain write protection
  51015. * 0b00..Both cores are allowed
  51016. * 0b01..CM7 is forbidden
  51017. * 0b10..CM4 is forbidden
  51018. * 0b11..Both cores are forbidden
  51019. */
  51020. #define IOMUXC_GPR_GPR48_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR48_DWP_SHIFT)) & IOMUXC_GPR_GPR48_DWP_MASK)
  51021. #define IOMUXC_GPR_GPR48_DWP_LOCK_MASK (0xC0000000U)
  51022. #define IOMUXC_GPR_GPR48_DWP_LOCK_SHIFT (30U)
  51023. /*! DWP_LOCK - Domain write protection lock
  51024. * 0b00..Neither of DWP bits is locked
  51025. * 0b01..The lower DWP bit is locked
  51026. * 0b10..The higher DWP bit is locked
  51027. * 0b11..Both DWP bits are locked
  51028. */
  51029. #define IOMUXC_GPR_GPR48_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR48_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR48_DWP_LOCK_MASK)
  51030. /*! @} */
  51031. /*! @name GPR49 - GPR49 General Purpose Register */
  51032. /*! @{ */
  51033. #define IOMUXC_GPR_GPR49_DWP_MASK (0x30000000U)
  51034. #define IOMUXC_GPR_GPR49_DWP_SHIFT (28U)
  51035. /*! DWP - Domain write protection
  51036. * 0b00..Both cores are allowed
  51037. * 0b01..CM7 is forbidden
  51038. * 0b10..CM4 is forbidden
  51039. * 0b11..Both cores are forbidden
  51040. */
  51041. #define IOMUXC_GPR_GPR49_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR49_DWP_SHIFT)) & IOMUXC_GPR_GPR49_DWP_MASK)
  51042. #define IOMUXC_GPR_GPR49_DWP_LOCK_MASK (0xC0000000U)
  51043. #define IOMUXC_GPR_GPR49_DWP_LOCK_SHIFT (30U)
  51044. /*! DWP_LOCK - Domain write protection lock
  51045. * 0b00..Neither of DWP bits is locked
  51046. * 0b01..The lower DWP bit is locked
  51047. * 0b10..The higher DWP bit is locked
  51048. * 0b11..Both DWP bits are locked
  51049. */
  51050. #define IOMUXC_GPR_GPR49_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR49_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR49_DWP_LOCK_MASK)
  51051. /*! @} */
  51052. /*! @name GPR50 - GPR50 General Purpose Register */
  51053. /*! @{ */
  51054. #define IOMUXC_GPR_GPR50_CAAM_IPS_MGR_MASK (0x1FU)
  51055. #define IOMUXC_GPR_GPR50_CAAM_IPS_MGR_SHIFT (0U)
  51056. /*! CAAM_IPS_MGR - CAAM manager processor identifier
  51057. */
  51058. #define IOMUXC_GPR_GPR50_CAAM_IPS_MGR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR50_CAAM_IPS_MGR_SHIFT)) & IOMUXC_GPR_GPR50_CAAM_IPS_MGR_MASK)
  51059. #define IOMUXC_GPR_GPR50_DWP_MASK (0x30000000U)
  51060. #define IOMUXC_GPR_GPR50_DWP_SHIFT (28U)
  51061. /*! DWP - Domain write protection
  51062. * 0b00..Both cores are allowed
  51063. * 0b01..CM7 is forbidden
  51064. * 0b10..CM4 is forbidden
  51065. * 0b11..Both cores are forbidden
  51066. */
  51067. #define IOMUXC_GPR_GPR50_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR50_DWP_SHIFT)) & IOMUXC_GPR_GPR50_DWP_MASK)
  51068. #define IOMUXC_GPR_GPR50_DWP_LOCK_MASK (0xC0000000U)
  51069. #define IOMUXC_GPR_GPR50_DWP_LOCK_SHIFT (30U)
  51070. /*! DWP_LOCK - Domain write protection lock
  51071. * 0b00..Neither of DWP bits is locked
  51072. * 0b01..The lower DWP bit is locked
  51073. * 0b10..The higher DWP bit is locked
  51074. * 0b11..Both DWP bits are locked
  51075. */
  51076. #define IOMUXC_GPR_GPR50_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR50_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR50_DWP_LOCK_MASK)
  51077. /*! @} */
  51078. /*! @name GPR51 - GPR51 General Purpose Register */
  51079. /*! @{ */
  51080. #define IOMUXC_GPR_GPR51_M7_NMI_CLEAR_MASK (0x1U)
  51081. #define IOMUXC_GPR_GPR51_M7_NMI_CLEAR_SHIFT (0U)
  51082. /*! M7_NMI_CLEAR - Clear CM7 NMI holding register
  51083. */
  51084. #define IOMUXC_GPR_GPR51_M7_NMI_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR51_M7_NMI_CLEAR_SHIFT)) & IOMUXC_GPR_GPR51_M7_NMI_CLEAR_MASK)
  51085. #define IOMUXC_GPR_GPR51_DWP_MASK (0x30000000U)
  51086. #define IOMUXC_GPR_GPR51_DWP_SHIFT (28U)
  51087. /*! DWP - Domain write protection
  51088. * 0b00..Both cores are allowed
  51089. * 0b01..CM7 is forbidden
  51090. * 0b10..CM4 is forbidden
  51091. * 0b11..Both cores are forbidden
  51092. */
  51093. #define IOMUXC_GPR_GPR51_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR51_DWP_SHIFT)) & IOMUXC_GPR_GPR51_DWP_MASK)
  51094. #define IOMUXC_GPR_GPR51_DWP_LOCK_MASK (0xC0000000U)
  51095. #define IOMUXC_GPR_GPR51_DWP_LOCK_SHIFT (30U)
  51096. /*! DWP_LOCK - Domain write protection lock
  51097. * 0b00..Neither of DWP bits is locked
  51098. * 0b01..The lower DWP bit is locked
  51099. * 0b10..The higher DWP bit is locked
  51100. * 0b11..Both DWP bits are locked
  51101. */
  51102. #define IOMUXC_GPR_GPR51_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR51_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR51_DWP_LOCK_MASK)
  51103. /*! @} */
  51104. /*! @name GPR52 - GPR52 General Purpose Register */
  51105. /*! @{ */
  51106. #define IOMUXC_GPR_GPR52_DWP_MASK (0x30000000U)
  51107. #define IOMUXC_GPR_GPR52_DWP_SHIFT (28U)
  51108. /*! DWP - Domain write protection
  51109. * 0b00..Both cores are allowed
  51110. * 0b01..CM7 is forbidden
  51111. * 0b10..CM4 is forbidden
  51112. * 0b11..Both cores are forbidden
  51113. */
  51114. #define IOMUXC_GPR_GPR52_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR52_DWP_SHIFT)) & IOMUXC_GPR_GPR52_DWP_MASK)
  51115. #define IOMUXC_GPR_GPR52_DWP_LOCK_MASK (0xC0000000U)
  51116. #define IOMUXC_GPR_GPR52_DWP_LOCK_SHIFT (30U)
  51117. /*! DWP_LOCK - Domain write protection lock
  51118. * 0b00..Neither of DWP bits is locked
  51119. * 0b01..The lower DWP bit is locked
  51120. * 0b10..The higher DWP bit is locked
  51121. * 0b11..Both DWP bits are locked
  51122. */
  51123. #define IOMUXC_GPR_GPR52_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR52_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR52_DWP_LOCK_MASK)
  51124. /*! @} */
  51125. /*! @name GPR53 - GPR53 General Purpose Register */
  51126. /*! @{ */
  51127. #define IOMUXC_GPR_GPR53_DWP_MASK (0x30000000U)
  51128. #define IOMUXC_GPR_GPR53_DWP_SHIFT (28U)
  51129. /*! DWP - Domain write protection
  51130. * 0b00..Both cores are allowed
  51131. * 0b01..CM7 is forbidden
  51132. * 0b10..CM4 is forbidden
  51133. * 0b11..Both cores are forbidden
  51134. */
  51135. #define IOMUXC_GPR_GPR53_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR53_DWP_SHIFT)) & IOMUXC_GPR_GPR53_DWP_MASK)
  51136. #define IOMUXC_GPR_GPR53_DWP_LOCK_MASK (0xC0000000U)
  51137. #define IOMUXC_GPR_GPR53_DWP_LOCK_SHIFT (30U)
  51138. /*! DWP_LOCK - Domain write protection lock
  51139. * 0b00..Neither of DWP bits is locked
  51140. * 0b01..The lower DWP bit is locked
  51141. * 0b10..The higher DWP bit is locked
  51142. * 0b11..Both DWP bits are locked
  51143. */
  51144. #define IOMUXC_GPR_GPR53_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR53_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR53_DWP_LOCK_MASK)
  51145. /*! @} */
  51146. /*! @name GPR54 - GPR54 General Purpose Register */
  51147. /*! @{ */
  51148. #define IOMUXC_GPR_GPR54_DWP_MASK (0x30000000U)
  51149. #define IOMUXC_GPR_GPR54_DWP_SHIFT (28U)
  51150. /*! DWP - Domain write protection
  51151. * 0b00..Both cores are allowed
  51152. * 0b01..CM7 is forbidden
  51153. * 0b10..CM4 is forbidden
  51154. * 0b11..Both cores are forbidden
  51155. */
  51156. #define IOMUXC_GPR_GPR54_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR54_DWP_SHIFT)) & IOMUXC_GPR_GPR54_DWP_MASK)
  51157. #define IOMUXC_GPR_GPR54_DWP_LOCK_MASK (0xC0000000U)
  51158. #define IOMUXC_GPR_GPR54_DWP_LOCK_SHIFT (30U)
  51159. /*! DWP_LOCK - Domain write protection lock
  51160. * 0b00..Neither of DWP bits is locked
  51161. * 0b01..The lower DWP bit is locked
  51162. * 0b10..The higher DWP bit is locked
  51163. * 0b11..Both DWP bits are locked
  51164. */
  51165. #define IOMUXC_GPR_GPR54_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR54_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR54_DWP_LOCK_MASK)
  51166. /*! @} */
  51167. /*! @name GPR55 - GPR55 General Purpose Register */
  51168. /*! @{ */
  51169. #define IOMUXC_GPR_GPR55_DWP_MASK (0x30000000U)
  51170. #define IOMUXC_GPR_GPR55_DWP_SHIFT (28U)
  51171. /*! DWP - Domain write protection
  51172. * 0b00..Both cores are allowed
  51173. * 0b01..CM7 is forbidden
  51174. * 0b10..CM4 is forbidden
  51175. * 0b11..Both cores are forbidden
  51176. */
  51177. #define IOMUXC_GPR_GPR55_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR55_DWP_SHIFT)) & IOMUXC_GPR_GPR55_DWP_MASK)
  51178. #define IOMUXC_GPR_GPR55_DWP_LOCK_MASK (0xC0000000U)
  51179. #define IOMUXC_GPR_GPR55_DWP_LOCK_SHIFT (30U)
  51180. /*! DWP_LOCK - Domain write protection lock
  51181. * 0b00..Neither of DWP bits is locked
  51182. * 0b01..The lower DWP bit is locked
  51183. * 0b10..The higher DWP bit is locked
  51184. * 0b11..Both DWP bits are locked
  51185. */
  51186. #define IOMUXC_GPR_GPR55_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR55_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR55_DWP_LOCK_MASK)
  51187. /*! @} */
  51188. /*! @name GPR59 - GPR59 General Purpose Register */
  51189. /*! @{ */
  51190. #define IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_MASK (0x1U)
  51191. #define IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_SHIFT (0U)
  51192. /*! MIPI_CSI_AUTO_PD_EN - Powers down inactive lanes reported by CSI2X_CFG_NUM_LANES.
  51193. */
  51194. #define IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_AUTO_PD_EN_MASK)
  51195. #define IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_MASK (0x2U)
  51196. #define IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_SHIFT (1U)
  51197. /*! MIPI_CSI_SOFT_RST_N - MIPI CSI APB clock domain and User interface clock domain software reset bit
  51198. * 0b0..Assert reset
  51199. * 0b1..De-assert reset
  51200. */
  51201. #define IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_SOFT_RST_N_MASK)
  51202. #define IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_MASK (0x4U)
  51203. #define IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_SHIFT (2U)
  51204. /*! MIPI_CSI_CONT_CLK_MODE - Enables the slave clock lane feature to maintain HS reception state
  51205. * during continuous clock mode operation, despite line glitches.
  51206. */
  51207. #define IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_CONT_CLK_MODE_MASK)
  51208. #define IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_MASK (0x8U)
  51209. #define IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_SHIFT (3U)
  51210. /*! MIPI_CSI_DDRCLK_EN - When high, enables received DDR clock on CLK_DRXHS
  51211. */
  51212. #define IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_DDRCLK_EN_MASK)
  51213. #define IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_MASK (0x10U)
  51214. #define IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_SHIFT (4U)
  51215. /*! MIPI_CSI_PD_RX - Power Down input for MIPI CSI PHY.
  51216. */
  51217. #define IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_PD_RX_MASK)
  51218. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_MASK (0x20U)
  51219. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_SHIFT (5U)
  51220. /*! MIPI_CSI_RX_ENABLE - Assert to enable MIPI CSI Receive Enable
  51221. */
  51222. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_RX_ENABLE_MASK)
  51223. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_MASK (0xC0U)
  51224. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_SHIFT (6U)
  51225. /*! MIPI_CSI_RX_RCAL - MIPI CSI PHY on-chip termination control bits
  51226. */
  51227. #define IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_RX_RCAL_MASK)
  51228. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_MASK (0x300U)
  51229. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_SHIFT (8U)
  51230. /*! MIPI_CSI_RXCDRP - Programming bits that adjust the threshold voltage of LP-CD, default setting 2'b01
  51231. * 0b00..344mV
  51232. * 0b01..325mV (Default)
  51233. * 0b10..307mV
  51234. * 0b11..Invalid
  51235. */
  51236. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_RXCDRP_MASK)
  51237. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_MASK (0xC00U)
  51238. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_SHIFT (10U)
  51239. /*! MIPI_CSI_RXLPRP - Programming bits that adjust the threshold voltage of LP-RX, default setting 2'b01
  51240. */
  51241. #define IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_RXLPRP_MASK)
  51242. #define IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_MASK (0x3F000U)
  51243. #define IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_SHIFT (12U)
  51244. /*! MIPI_CSI_S_PRG_RXHS_SETTLE - Bits used to program T_HS_SETTLE.
  51245. */
  51246. #define IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_SHIFT)) & IOMUXC_GPR_GPR59_MIPI_CSI_S_PRG_RXHS_SETTLE_MASK)
  51247. #define IOMUXC_GPR_GPR59_DWP_MASK (0x30000000U)
  51248. #define IOMUXC_GPR_GPR59_DWP_SHIFT (28U)
  51249. /*! DWP - Domain write protection
  51250. * 0b00..Both cores are allowed
  51251. * 0b01..CM7 is forbidden
  51252. * 0b10..CM4 is forbidden
  51253. * 0b11..Both cores are forbidden
  51254. */
  51255. #define IOMUXC_GPR_GPR59_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_DWP_SHIFT)) & IOMUXC_GPR_GPR59_DWP_MASK)
  51256. #define IOMUXC_GPR_GPR59_DWP_LOCK_MASK (0xC0000000U)
  51257. #define IOMUXC_GPR_GPR59_DWP_LOCK_SHIFT (30U)
  51258. /*! DWP_LOCK - Domain write protection lock
  51259. * 0b00..Neither of DWP bits is locked
  51260. * 0b01..The lower DWP bit is locked
  51261. * 0b10..The higher DWP bit is locked
  51262. * 0b11..Both DWP bits are locked
  51263. */
  51264. #define IOMUXC_GPR_GPR59_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR59_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR59_DWP_LOCK_MASK)
  51265. /*! @} */
  51266. /*! @name GPR62 - GPR62 General Purpose Register */
  51267. /*! @{ */
  51268. #define IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_MASK (0x7U)
  51269. #define IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_SHIFT (0U)
  51270. /*! MIPI_DSI_CLK_TM - MIPI DSI Clock Lane triming bits
  51271. */
  51272. #define IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_CLK_TM_MASK)
  51273. #define IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_MASK (0x38U)
  51274. #define IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_SHIFT (3U)
  51275. /*! MIPI_DSI_D0_TM - MIPI DSI Data Lane 0 triming bits
  51276. */
  51277. #define IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_D0_TM_MASK)
  51278. #define IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_MASK (0x1C0U)
  51279. #define IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_SHIFT (6U)
  51280. /*! MIPI_DSI_D1_TM - MIPI DSI Data Lane 1 triming bits
  51281. */
  51282. #define IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_D1_TM_MASK)
  51283. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_MASK (0x600U)
  51284. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_SHIFT (9U)
  51285. /*! MIPI_DSI_TX_RCAL - MIPI DSI PHY on-chip termination control bits
  51286. */
  51287. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_TX_RCAL_MASK)
  51288. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_MASK (0x3800U)
  51289. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_SHIFT (11U)
  51290. /*! MIPI_DSI_TX_ULPS_ENABLE - DSI transmit ULPS mode enable
  51291. */
  51292. #define IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_TX_ULPS_ENABLE_MASK)
  51293. #define IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_MASK (0x10000U)
  51294. #define IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_SHIFT (16U)
  51295. /*! MIPI_DSI_PCLK_SOFT_RESET_N - MIPI DSI APB clock domain software reset bit
  51296. * 0b0..Assert reset
  51297. * 0b1..De-assert reset
  51298. */
  51299. #define IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_PCLK_SOFT_RESET_N_MASK)
  51300. #define IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_MASK (0x20000U)
  51301. #define IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_SHIFT (17U)
  51302. /*! MIPI_DSI_BYTE_SOFT_RESET_N - MIPI DSI Byte clock domain software reset bit
  51303. * 0b0..Assert reset
  51304. * 0b1..De-assert reset
  51305. */
  51306. #define IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_BYTE_SOFT_RESET_N_MASK)
  51307. #define IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_MASK (0x40000U)
  51308. #define IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_SHIFT (18U)
  51309. /*! MIPI_DSI_DPI_SOFT_RESET_N - MIPI DSI Pixel clock domain software reset bit
  51310. * 0b0..Assert reset
  51311. * 0b1..De-assert reset
  51312. */
  51313. #define IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_DPI_SOFT_RESET_N_MASK)
  51314. #define IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_MASK (0x80000U)
  51315. #define IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_SHIFT (19U)
  51316. /*! MIPI_DSI_ESC_SOFT_RESET_N - MIPI DSI Escape clock domain software reset bit
  51317. * 0b0..Assert reset
  51318. * 0b1..De-assert reset
  51319. */
  51320. #define IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_SHIFT)) & IOMUXC_GPR_GPR62_MIPI_DSI_ESC_SOFT_RESET_N_MASK)
  51321. #define IOMUXC_GPR_GPR62_DWP_MASK (0x30000000U)
  51322. #define IOMUXC_GPR_GPR62_DWP_SHIFT (28U)
  51323. /*! DWP - Domain write protection
  51324. * 0b00..Both cores are allowed
  51325. * 0b01..CM7 is forbidden
  51326. * 0b10..CM4 is forbidden
  51327. * 0b11..Both cores are forbidden
  51328. */
  51329. #define IOMUXC_GPR_GPR62_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_DWP_SHIFT)) & IOMUXC_GPR_GPR62_DWP_MASK)
  51330. #define IOMUXC_GPR_GPR62_DWP_LOCK_MASK (0xC0000000U)
  51331. #define IOMUXC_GPR_GPR62_DWP_LOCK_SHIFT (30U)
  51332. /*! DWP_LOCK - Domain write protection lock
  51333. * 0b00..Neither of DWP bits is locked
  51334. * 0b01..The lower DWP bit is locked
  51335. * 0b10..The higher DWP bit is locked
  51336. * 0b11..Both DWP bits are locked
  51337. */
  51338. #define IOMUXC_GPR_GPR62_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR62_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR62_DWP_LOCK_MASK)
  51339. /*! @} */
  51340. /*! @name GPR63 - GPR63 General Purpose Register */
  51341. /*! @{ */
  51342. #define IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_MASK (0x7U)
  51343. #define IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_SHIFT (0U)
  51344. /*! MIPI_DSI_TX_ULPS_ACTIVE - DSI transmit ULPS mode active flag
  51345. */
  51346. #define IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_SHIFT)) & IOMUXC_GPR_GPR63_MIPI_DSI_TX_ULPS_ACTIVE_MASK)
  51347. /*! @} */
  51348. /*! @name GPR64 - GPR64 General Purpose Register */
  51349. /*! @{ */
  51350. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_MASK (0x1U)
  51351. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_SHIFT (0U)
  51352. /*! GPIO_DISP1_FREEZE - Compensation code freeze
  51353. */
  51354. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_FREEZE_MASK)
  51355. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_MASK (0x2U)
  51356. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_SHIFT (1U)
  51357. /*! GPIO_DISP1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51358. */
  51359. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_COMPTQ_MASK)
  51360. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_MASK (0x4U)
  51361. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_SHIFT (2U)
  51362. /*! GPIO_DISP1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51363. */
  51364. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_COMPEN_MASK)
  51365. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_MASK (0x8U)
  51366. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_SHIFT (3U)
  51367. /*! GPIO_DISP1_FASTFRZ_EN - Compensation code fast freeze
  51368. */
  51369. #define IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_FASTFRZ_EN_MASK)
  51370. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_MASK (0xF0U)
  51371. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_SHIFT (4U)
  51372. /*! GPIO_DISP1_RASRCP - GPIO_DISP_B1 IO bank's 4-bit PMOS compensation codes from core
  51373. */
  51374. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCP_MASK)
  51375. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_MASK (0xF00U)
  51376. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_SHIFT (8U)
  51377. /*! GPIO_DISP1_RASRCN - GPIO_DISP_B1 IO bank's 4-bit NMOS compensation codes from core
  51378. */
  51379. #define IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_RASRCN_MASK)
  51380. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_MASK (0x1000U)
  51381. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_SHIFT (12U)
  51382. /*! GPIO_DISP1_SELECT_NASRC - GPIO_DISP1_NASRC selection
  51383. */
  51384. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_SELECT_NASRC_MASK)
  51385. #define IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_MASK (0x2000U)
  51386. #define IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_SHIFT (13U)
  51387. /*! GPIO_DISP1_REFGEN_SLEEP - GPIO_DISP_B1 IO bank reference voltage generator cell sleep enable
  51388. */
  51389. #define IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_REFGEN_SLEEP_MASK)
  51390. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_MASK (0x4000U)
  51391. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_SHIFT (14U)
  51392. /*! GPIO_DISP1_SUPLYDET_LATCH - GPIO_DISP_B1 IO bank power supply mode latch enable
  51393. */
  51394. #define IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_SUPLYDET_LATCH_MASK)
  51395. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_MASK (0x100000U)
  51396. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_SHIFT (20U)
  51397. /*! GPIO_DISP1_COMPOK - GPIO_DISP_B1 IO bank compensation OK flag
  51398. */
  51399. #define IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_COMPOK_MASK)
  51400. #define IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_MASK (0x1E00000U)
  51401. #define IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_SHIFT (21U)
  51402. /*! GPIO_DISP1_NASRC - GPIO_DISP_B1 IO bank compensation codes
  51403. */
  51404. #define IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_SHIFT)) & IOMUXC_GPR_GPR64_GPIO_DISP1_NASRC_MASK)
  51405. #define IOMUXC_GPR_GPR64_DWP_MASK (0x30000000U)
  51406. #define IOMUXC_GPR_GPR64_DWP_SHIFT (28U)
  51407. /*! DWP - Domain write protection
  51408. * 0b00..Both cores are allowed
  51409. * 0b01..CM7 is forbidden
  51410. * 0b10..CM4 is forbidden
  51411. * 0b11..Both cores are forbidden
  51412. */
  51413. #define IOMUXC_GPR_GPR64_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_DWP_SHIFT)) & IOMUXC_GPR_GPR64_DWP_MASK)
  51414. #define IOMUXC_GPR_GPR64_DWP_LOCK_MASK (0xC0000000U)
  51415. #define IOMUXC_GPR_GPR64_DWP_LOCK_SHIFT (30U)
  51416. /*! DWP_LOCK - Domain write protection lock
  51417. * 0b00..Neither of DWP bits is locked
  51418. * 0b01..The lower DWP bit is locked
  51419. * 0b10..The higher DWP bit is locked
  51420. * 0b11..Both DWP bits are locked
  51421. */
  51422. #define IOMUXC_GPR_GPR64_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR64_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR64_DWP_LOCK_MASK)
  51423. /*! @} */
  51424. /*! @name GPR65 - GPR65 General Purpose Register */
  51425. /*! @{ */
  51426. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_MASK (0x1U)
  51427. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_SHIFT (0U)
  51428. /*! GPIO_EMC1_FREEZE - Compensation code freeze
  51429. */
  51430. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_FREEZE_MASK)
  51431. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_MASK (0x2U)
  51432. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_SHIFT (1U)
  51433. /*! GPIO_EMC1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51434. */
  51435. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_COMPTQ_MASK)
  51436. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_MASK (0x4U)
  51437. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_SHIFT (2U)
  51438. /*! GPIO_EMC1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51439. */
  51440. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_COMPEN_MASK)
  51441. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_MASK (0x8U)
  51442. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_SHIFT (3U)
  51443. /*! GPIO_EMC1_FASTFRZ_EN - Compensation code fast freeze
  51444. */
  51445. #define IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_FASTFRZ_EN_MASK)
  51446. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_MASK (0xF0U)
  51447. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_SHIFT (4U)
  51448. /*! GPIO_EMC1_RASRCP - GPIO_EMC_B1 IO bank's 4-bit PMOS compensation codes from core
  51449. */
  51450. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCP_MASK)
  51451. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_MASK (0xF00U)
  51452. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_SHIFT (8U)
  51453. /*! GPIO_EMC1_RASRCN - GPIO_EMC_B1 IO bank's 4-bit NMOS compensation codes from core
  51454. */
  51455. #define IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_RASRCN_MASK)
  51456. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_MASK (0x1000U)
  51457. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_SHIFT (12U)
  51458. /*! GPIO_EMC1_SELECT_NASRC - GPIO_EMC1_NASRC selection
  51459. */
  51460. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_SELECT_NASRC_MASK)
  51461. #define IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_MASK (0x2000U)
  51462. #define IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_SHIFT (13U)
  51463. /*! GPIO_EMC1_REFGEN_SLEEP - GPIO_EMC_B1 IO bank reference voltage generator cell sleep enable
  51464. */
  51465. #define IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_REFGEN_SLEEP_MASK)
  51466. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_MASK (0x4000U)
  51467. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_SHIFT (14U)
  51468. /*! GPIO_EMC1_SUPLYDET_LATCH - GPIO_EMC_B1 IO bank power supply mode latch enable
  51469. */
  51470. #define IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_SUPLYDET_LATCH_MASK)
  51471. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_MASK (0x100000U)
  51472. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_SHIFT (20U)
  51473. /*! GPIO_EMC1_COMPOK - GPIO_EMC_B1 IO bank compensation OK flag
  51474. */
  51475. #define IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_COMPOK_MASK)
  51476. #define IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_MASK (0x1E00000U)
  51477. #define IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_SHIFT (21U)
  51478. /*! GPIO_EMC1_NASRC - GPIO_EMC_B1 IO bank compensation codes
  51479. */
  51480. #define IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_SHIFT)) & IOMUXC_GPR_GPR65_GPIO_EMC1_NASRC_MASK)
  51481. #define IOMUXC_GPR_GPR65_DWP_MASK (0x30000000U)
  51482. #define IOMUXC_GPR_GPR65_DWP_SHIFT (28U)
  51483. /*! DWP - Domain write protection
  51484. * 0b00..Both cores are allowed
  51485. * 0b01..CM7 is forbidden
  51486. * 0b10..CM4 is forbidden
  51487. * 0b11..Both cores are forbidden
  51488. */
  51489. #define IOMUXC_GPR_GPR65_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_DWP_SHIFT)) & IOMUXC_GPR_GPR65_DWP_MASK)
  51490. #define IOMUXC_GPR_GPR65_DWP_LOCK_MASK (0xC0000000U)
  51491. #define IOMUXC_GPR_GPR65_DWP_LOCK_SHIFT (30U)
  51492. /*! DWP_LOCK - Domain write protection lock
  51493. * 0b00..Neither of DWP bits is locked
  51494. * 0b01..The lower DWP bit is locked
  51495. * 0b10..The higher DWP bit is locked
  51496. * 0b11..Both DWP bits are locked
  51497. */
  51498. #define IOMUXC_GPR_GPR65_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR65_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR65_DWP_LOCK_MASK)
  51499. /*! @} */
  51500. /*! @name GPR66 - GPR66 General Purpose Register */
  51501. /*! @{ */
  51502. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_MASK (0x1U)
  51503. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_SHIFT (0U)
  51504. /*! GPIO_EMC2_FREEZE - Compensation code freeze
  51505. */
  51506. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_FREEZE_MASK)
  51507. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_MASK (0x2U)
  51508. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_SHIFT (1U)
  51509. /*! GPIO_EMC2_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51510. */
  51511. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_COMPTQ_MASK)
  51512. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_MASK (0x4U)
  51513. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_SHIFT (2U)
  51514. /*! GPIO_EMC2_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51515. */
  51516. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_COMPEN_MASK)
  51517. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_MASK (0x8U)
  51518. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_SHIFT (3U)
  51519. /*! GPIO_EMC2_FASTFRZ_EN - Compensation code fast freeze
  51520. */
  51521. #define IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_FASTFRZ_EN_MASK)
  51522. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_MASK (0xF0U)
  51523. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_SHIFT (4U)
  51524. /*! GPIO_EMC2_RASRCP - GPIO_EMC_B2 IO bank's 4-bit PMOS compensation codes from core
  51525. */
  51526. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCP_MASK)
  51527. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_MASK (0xF00U)
  51528. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_SHIFT (8U)
  51529. /*! GPIO_EMC2_RASRCN - GPIO_EMC_B2 IO bank's 4-bit NMOS compensation codes from core
  51530. */
  51531. #define IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_RASRCN_MASK)
  51532. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_MASK (0x1000U)
  51533. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_SHIFT (12U)
  51534. /*! GPIO_EMC2_SELECT_NASRC - GPIO_EMC2_NASRC selection
  51535. */
  51536. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_SELECT_NASRC_MASK)
  51537. #define IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_MASK (0x2000U)
  51538. #define IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_SHIFT (13U)
  51539. /*! GPIO_EMC2_REFGEN_SLEEP - GPIO_EMC_B2 IO bank reference voltage generator cell sleep enable
  51540. */
  51541. #define IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_REFGEN_SLEEP_MASK)
  51542. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_MASK (0x4000U)
  51543. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_SHIFT (14U)
  51544. /*! GPIO_EMC2_SUPLYDET_LATCH - GPIO_EMC_B2 IO bank power supply mode latch enable
  51545. */
  51546. #define IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_SUPLYDET_LATCH_MASK)
  51547. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_MASK (0x100000U)
  51548. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_SHIFT (20U)
  51549. /*! GPIO_EMC2_COMPOK - GPIO_EMC_B2 IO bank compensation OK flag
  51550. */
  51551. #define IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_COMPOK_MASK)
  51552. #define IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_MASK (0x1E00000U)
  51553. #define IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_SHIFT (21U)
  51554. /*! GPIO_EMC2_NASRC - GPIO_EMC_B2 IO bank compensation codes
  51555. */
  51556. #define IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_SHIFT)) & IOMUXC_GPR_GPR66_GPIO_EMC2_NASRC_MASK)
  51557. #define IOMUXC_GPR_GPR66_DWP_MASK (0x30000000U)
  51558. #define IOMUXC_GPR_GPR66_DWP_SHIFT (28U)
  51559. /*! DWP - Domain write protection
  51560. * 0b00..Both cores are allowed
  51561. * 0b01..CM7 is forbidden
  51562. * 0b10..CM4 is forbidden
  51563. * 0b11..Both cores are forbidden
  51564. */
  51565. #define IOMUXC_GPR_GPR66_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_DWP_SHIFT)) & IOMUXC_GPR_GPR66_DWP_MASK)
  51566. #define IOMUXC_GPR_GPR66_DWP_LOCK_MASK (0xC0000000U)
  51567. #define IOMUXC_GPR_GPR66_DWP_LOCK_SHIFT (30U)
  51568. /*! DWP_LOCK - Domain write protection lock
  51569. * 0b00..Neither of DWP bits is locked
  51570. * 0b01..The lower DWP bit is locked
  51571. * 0b10..The higher DWP bit is locked
  51572. * 0b11..Both DWP bits are locked
  51573. */
  51574. #define IOMUXC_GPR_GPR66_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR66_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR66_DWP_LOCK_MASK)
  51575. /*! @} */
  51576. /*! @name GPR67 - GPR67 General Purpose Register */
  51577. /*! @{ */
  51578. #define IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_MASK (0x1U)
  51579. #define IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_SHIFT (0U)
  51580. /*! GPIO_SD1_FREEZE - Compensation code freeze
  51581. */
  51582. #define IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_FREEZE_MASK)
  51583. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_MASK (0x2U)
  51584. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_SHIFT (1U)
  51585. /*! GPIO_SD1_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51586. */
  51587. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_COMPTQ_MASK)
  51588. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_MASK (0x4U)
  51589. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_SHIFT (2U)
  51590. /*! GPIO_SD1_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51591. */
  51592. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_COMPEN_MASK)
  51593. #define IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_MASK (0x8U)
  51594. #define IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_SHIFT (3U)
  51595. /*! GPIO_SD1_FASTFRZ_EN - Compensation code fast freeze
  51596. */
  51597. #define IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_FASTFRZ_EN_MASK)
  51598. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_MASK (0xF0U)
  51599. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_SHIFT (4U)
  51600. /*! GPIO_SD1_RASRCP - GPIO_SD_B1 IO bank's 4-bit PMOS compensation codes from core
  51601. */
  51602. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_RASRCP_MASK)
  51603. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_MASK (0xF00U)
  51604. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_SHIFT (8U)
  51605. /*! GPIO_SD1_RASRCN - GPIO_SD_B1 IO bank's 4-bit NMOS compensation codes from core
  51606. */
  51607. #define IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_RASRCN_MASK)
  51608. #define IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_MASK (0x1000U)
  51609. #define IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_SHIFT (12U)
  51610. /*! GPIO_SD1_SELECT_NASRC - GPIO_SD1_NASRC selection
  51611. */
  51612. #define IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_SELECT_NASRC_MASK)
  51613. #define IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_MASK (0x2000U)
  51614. #define IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_SHIFT (13U)
  51615. /*! GPIO_SD1_REFGEN_SLEEP - GPIO_SD_B1 IO bank reference voltage generator cell sleep enable
  51616. */
  51617. #define IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_REFGEN_SLEEP_MASK)
  51618. #define IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_MASK (0x4000U)
  51619. #define IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_SHIFT (14U)
  51620. /*! GPIO_SD1_SUPLYDET_LATCH - GPIO_SD_B1 IO bank power supply mode latch enable
  51621. */
  51622. #define IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_SUPLYDET_LATCH_MASK)
  51623. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_MASK (0x100000U)
  51624. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_SHIFT (20U)
  51625. /*! GPIO_SD1_COMPOK - GPIO_SD_B1 IO bank compensation OK flag
  51626. */
  51627. #define IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_COMPOK_MASK)
  51628. #define IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_MASK (0x1E00000U)
  51629. #define IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_SHIFT (21U)
  51630. /*! GPIO_SD1_NASRC - GPIO_SD_B1 IO bank compensation codes
  51631. */
  51632. #define IOMUXC_GPR_GPR67_GPIO_SD1_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_SHIFT)) & IOMUXC_GPR_GPR67_GPIO_SD1_NASRC_MASK)
  51633. #define IOMUXC_GPR_GPR67_DWP_MASK (0x30000000U)
  51634. #define IOMUXC_GPR_GPR67_DWP_SHIFT (28U)
  51635. /*! DWP - Domain write protection
  51636. * 0b00..Both cores are allowed
  51637. * 0b01..CM7 is forbidden
  51638. * 0b10..CM4 is forbidden
  51639. * 0b11..Both cores are forbidden
  51640. */
  51641. #define IOMUXC_GPR_GPR67_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_DWP_SHIFT)) & IOMUXC_GPR_GPR67_DWP_MASK)
  51642. #define IOMUXC_GPR_GPR67_DWP_LOCK_MASK (0xC0000000U)
  51643. #define IOMUXC_GPR_GPR67_DWP_LOCK_SHIFT (30U)
  51644. /*! DWP_LOCK - Domain write protection lock
  51645. * 0b00..Neither of DWP bits is locked
  51646. * 0b01..The lower DWP bit is locked
  51647. * 0b10..The higher DWP bit is locked
  51648. * 0b11..Both DWP bits are locked
  51649. */
  51650. #define IOMUXC_GPR_GPR67_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR67_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR67_DWP_LOCK_MASK)
  51651. /*! @} */
  51652. /*! @name GPR68 - GPR68 General Purpose Register */
  51653. /*! @{ */
  51654. #define IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_MASK (0x1U)
  51655. #define IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_SHIFT (0U)
  51656. /*! GPIO_SD2_FREEZE - Compensation code freeze
  51657. */
  51658. #define IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_FREEZE_MASK)
  51659. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_MASK (0x2U)
  51660. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_SHIFT (1U)
  51661. /*! GPIO_SD2_COMPTQ - COMPEN and COMPTQ control the operating modes of the compensation cell
  51662. */
  51663. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_COMPTQ_MASK)
  51664. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_MASK (0x4U)
  51665. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_SHIFT (2U)
  51666. /*! GPIO_SD2_COMPEN - COMPEN and COMPTQ control the operating modes of the compensation cell
  51667. */
  51668. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_COMPEN_MASK)
  51669. #define IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_MASK (0x8U)
  51670. #define IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_SHIFT (3U)
  51671. /*! GPIO_SD2_FASTFRZ_EN - Compensation code fast freeze
  51672. */
  51673. #define IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_FASTFRZ_EN_MASK)
  51674. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_MASK (0xF0U)
  51675. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_SHIFT (4U)
  51676. /*! GPIO_SD2_RASRCP - GPIO_SD_B2 IO bank's 4-bit PMOS compensation codes from core
  51677. */
  51678. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_RASRCP_MASK)
  51679. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_MASK (0xF00U)
  51680. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_SHIFT (8U)
  51681. /*! GPIO_SD2_RASRCN - GPIO_SD_B2 IO bank's 4-bit NMOS compensation codes from core
  51682. */
  51683. #define IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_RASRCN_MASK)
  51684. #define IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_MASK (0x1000U)
  51685. #define IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_SHIFT (12U)
  51686. /*! GPIO_SD2_SELECT_NASRC - GPIO_SD2_NASRC selection
  51687. */
  51688. #define IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_SELECT_NASRC_MASK)
  51689. #define IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_MASK (0x2000U)
  51690. #define IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_SHIFT (13U)
  51691. /*! GPIO_SD2_REFGEN_SLEEP - GPIO_SD_B2 IO bank reference voltage generator cell sleep enable
  51692. */
  51693. #define IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_REFGEN_SLEEP_MASK)
  51694. #define IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_MASK (0x4000U)
  51695. #define IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_SHIFT (14U)
  51696. /*! GPIO_SD2_SUPLYDET_LATCH - GPIO_SD_B2 IO bank power supply mode latch enable
  51697. */
  51698. #define IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_SUPLYDET_LATCH_MASK)
  51699. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_MASK (0x100000U)
  51700. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_SHIFT (20U)
  51701. /*! GPIO_SD2_COMPOK - GPIO_SD_B2 IO bank compensation OK flag
  51702. */
  51703. #define IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_COMPOK_MASK)
  51704. #define IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_MASK (0x1E00000U)
  51705. #define IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_SHIFT (21U)
  51706. /*! GPIO_SD2_NASRC - GPIO_SD_B2 IO bank compensation codes
  51707. */
  51708. #define IOMUXC_GPR_GPR68_GPIO_SD2_NASRC(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_SHIFT)) & IOMUXC_GPR_GPR68_GPIO_SD2_NASRC_MASK)
  51709. #define IOMUXC_GPR_GPR68_DWP_MASK (0x30000000U)
  51710. #define IOMUXC_GPR_GPR68_DWP_SHIFT (28U)
  51711. /*! DWP - Domain write protection
  51712. * 0b00..Both cores are allowed
  51713. * 0b01..CM7 is forbidden
  51714. * 0b10..CM4 is forbidden
  51715. * 0b11..Both cores are forbidden
  51716. */
  51717. #define IOMUXC_GPR_GPR68_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_DWP_SHIFT)) & IOMUXC_GPR_GPR68_DWP_MASK)
  51718. #define IOMUXC_GPR_GPR68_DWP_LOCK_MASK (0xC0000000U)
  51719. #define IOMUXC_GPR_GPR68_DWP_LOCK_SHIFT (30U)
  51720. /*! DWP_LOCK - Domain write protection lock
  51721. * 0b00..Neither of DWP bits is locked
  51722. * 0b01..The lower DWP bit is locked
  51723. * 0b10..The higher DWP bit is locked
  51724. * 0b11..Both DWP bits are locked
  51725. */
  51726. #define IOMUXC_GPR_GPR68_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR68_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR68_DWP_LOCK_MASK)
  51727. /*! @} */
  51728. /*! @name GPR69 - GPR69 General Purpose Register */
  51729. /*! @{ */
  51730. #define IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_MASK (0x2U)
  51731. #define IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_SHIFT (1U)
  51732. /*! GPIO_DISP2_HIGH_RANGE - GPIO_DISP_B2 IO bank supply voltage range selection
  51733. */
  51734. #define IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_DISP2_HIGH_RANGE_MASK)
  51735. #define IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_MASK (0x4U)
  51736. #define IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_SHIFT (2U)
  51737. /*! GPIO_DISP2_LOW_RANGE - GPIO_DISP_B2 IO bank supply voltage range selection
  51738. */
  51739. #define IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_DISP2_LOW_RANGE_MASK)
  51740. #define IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_MASK (0x10U)
  51741. #define IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_SHIFT (4U)
  51742. /*! GPIO_AD0_HIGH_RANGE - GPIO_AD IO bank supply voltage range selection for GPIO_AD_00 to GPIO_AD_17
  51743. */
  51744. #define IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_AD0_HIGH_RANGE_MASK)
  51745. #define IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_MASK (0x20U)
  51746. #define IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_SHIFT (5U)
  51747. /*! GPIO_AD0_LOW_RANGE - GPIO_AD IO bank supply voltage range selection for GPIO_AD_00 to GPIO_AD_17
  51748. */
  51749. #define IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_AD0_LOW_RANGE_MASK)
  51750. #define IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_MASK (0x80U)
  51751. #define IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_SHIFT (7U)
  51752. /*! GPIO_AD1_HIGH_RANGE - GPIO_LPSR IO bank supply voltage range selection for GPIO_AD_18 to GPIO_AD_35
  51753. */
  51754. #define IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_AD1_HIGH_RANGE_MASK)
  51755. #define IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_MASK (0x100U)
  51756. #define IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_SHIFT (8U)
  51757. /*! GPIO_AD1_LOW_RANGE - GPIO_LPSR IO bank supply voltage range selection for GPIO_AD_18 to GPIO_AD_35
  51758. */
  51759. #define IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_SHIFT)) & IOMUXC_GPR_GPR69_GPIO_AD1_LOW_RANGE_MASK)
  51760. #define IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_MASK (0x200U)
  51761. #define IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_SHIFT (9U)
  51762. /*! SUPLYDET_DISP1_SLEEP - GPIO_DISP_B1 IO bank supply voltage detector sleep mode enable
  51763. */
  51764. #define IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_SHIFT)) & IOMUXC_GPR_GPR69_SUPLYDET_DISP1_SLEEP_MASK)
  51765. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_MASK (0x400U)
  51766. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_SHIFT (10U)
  51767. /*! SUPLYDET_EMC1_SLEEP - GPIO_EMC_B1 IO bank supply voltage detector sleep mode enable
  51768. */
  51769. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_SHIFT)) & IOMUXC_GPR_GPR69_SUPLYDET_EMC1_SLEEP_MASK)
  51770. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_MASK (0x800U)
  51771. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_SHIFT (11U)
  51772. /*! SUPLYDET_EMC2_SLEEP - GPIO_EMC_B2 IO bank supply voltage detector sleep mode enable
  51773. */
  51774. #define IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_SHIFT)) & IOMUXC_GPR_GPR69_SUPLYDET_EMC2_SLEEP_MASK)
  51775. #define IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_MASK (0x1000U)
  51776. #define IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_SHIFT (12U)
  51777. /*! SUPLYDET_SD1_SLEEP - GPIO_SD_B1 IO bank supply voltage detector sleep mode enable
  51778. */
  51779. #define IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_SHIFT)) & IOMUXC_GPR_GPR69_SUPLYDET_SD1_SLEEP_MASK)
  51780. #define IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_MASK (0x2000U)
  51781. #define IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_SHIFT (13U)
  51782. /*! SUPLYDET_SD2_SLEEP - GPIO_SD_B2 IO bank supply voltage detector sleep mode enable
  51783. */
  51784. #define IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_SHIFT)) & IOMUXC_GPR_GPR69_SUPLYDET_SD2_SLEEP_MASK)
  51785. #define IOMUXC_GPR_GPR69_DWP_MASK (0x30000000U)
  51786. #define IOMUXC_GPR_GPR69_DWP_SHIFT (28U)
  51787. /*! DWP - Domain write protection
  51788. * 0b00..Both cores are allowed
  51789. * 0b01..CM7 is forbidden
  51790. * 0b10..CM4 is forbidden
  51791. * 0b11..Both cores are forbidden
  51792. */
  51793. #define IOMUXC_GPR_GPR69_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_DWP_SHIFT)) & IOMUXC_GPR_GPR69_DWP_MASK)
  51794. #define IOMUXC_GPR_GPR69_DWP_LOCK_MASK (0xC0000000U)
  51795. #define IOMUXC_GPR_GPR69_DWP_LOCK_SHIFT (30U)
  51796. /*! DWP_LOCK - Domain write protection lock
  51797. * 0b00..Neither of DWP bits is locked
  51798. * 0b01..The lower DWP bit is locked
  51799. * 0b10..The higher DWP bit is locked
  51800. * 0b11..Both DWP bits are locked
  51801. */
  51802. #define IOMUXC_GPR_GPR69_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR69_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR69_DWP_LOCK_MASK)
  51803. /*! @} */
  51804. /*! @name GPR70 - GPR70 General Purpose Register */
  51805. /*! @{ */
  51806. #define IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_MASK (0x1U)
  51807. #define IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_SHIFT (0U)
  51808. /*! ADC1_IPG_DOZE - ADC1 doze mode
  51809. */
  51810. #define IOMUXC_GPR_GPR70_ADC1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_ADC1_IPG_DOZE_MASK)
  51811. #define IOMUXC_GPR_GPR70_ADC1_STOP_REQ_MASK (0x2U)
  51812. #define IOMUXC_GPR_GPR70_ADC1_STOP_REQ_SHIFT (1U)
  51813. /*! ADC1_STOP_REQ - ADC1 stop request
  51814. */
  51815. #define IOMUXC_GPR_GPR70_ADC1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_ADC1_STOP_REQ_MASK)
  51816. #define IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_MASK (0x4U)
  51817. #define IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_SHIFT (2U)
  51818. /*! ADC1_IPG_STOP_MODE - ADC1 stop mode selection, cannot change when ADC1_STOP_REQ is asserted.
  51819. * 0b0..This module is functional in Stop Mode
  51820. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  51821. */
  51822. #define IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR70_ADC1_IPG_STOP_MODE_MASK)
  51823. #define IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_MASK (0x8U)
  51824. #define IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_SHIFT (3U)
  51825. /*! ADC2_IPG_DOZE - ADC2 doze mode
  51826. */
  51827. #define IOMUXC_GPR_GPR70_ADC2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_ADC2_IPG_DOZE_MASK)
  51828. #define IOMUXC_GPR_GPR70_ADC2_STOP_REQ_MASK (0x10U)
  51829. #define IOMUXC_GPR_GPR70_ADC2_STOP_REQ_SHIFT (4U)
  51830. /*! ADC2_STOP_REQ - ADC2 stop request
  51831. */
  51832. #define IOMUXC_GPR_GPR70_ADC2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_ADC2_STOP_REQ_MASK)
  51833. #define IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_MASK (0x20U)
  51834. #define IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_SHIFT (5U)
  51835. /*! ADC2_IPG_STOP_MODE - ADC2 stop mode selection, cannot change when ADC2_STOP_REQ is asserted.
  51836. * 0b0..This module is functional in Stop Mode
  51837. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  51838. */
  51839. #define IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR70_ADC2_IPG_STOP_MODE_MASK)
  51840. #define IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_MASK (0x40U)
  51841. #define IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_SHIFT (6U)
  51842. /*! CAAM_IPG_DOZE - CAN3 doze mode
  51843. */
  51844. #define IOMUXC_GPR_GPR70_CAAM_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_CAAM_IPG_DOZE_MASK)
  51845. #define IOMUXC_GPR_GPR70_CAAM_STOP_REQ_MASK (0x80U)
  51846. #define IOMUXC_GPR_GPR70_CAAM_STOP_REQ_SHIFT (7U)
  51847. /*! CAAM_STOP_REQ - CAAM stop request
  51848. */
  51849. #define IOMUXC_GPR_GPR70_CAAM_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAAM_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_CAAM_STOP_REQ_MASK)
  51850. #define IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_MASK (0x100U)
  51851. #define IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_SHIFT (8U)
  51852. /*! CAN1_IPG_DOZE - CAN1 doze mode
  51853. */
  51854. #define IOMUXC_GPR_GPR70_CAN1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_CAN1_IPG_DOZE_MASK)
  51855. #define IOMUXC_GPR_GPR70_CAN1_STOP_REQ_MASK (0x200U)
  51856. #define IOMUXC_GPR_GPR70_CAN1_STOP_REQ_SHIFT (9U)
  51857. /*! CAN1_STOP_REQ - CAN1 stop request
  51858. */
  51859. #define IOMUXC_GPR_GPR70_CAN1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_CAN1_STOP_REQ_MASK)
  51860. #define IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_MASK (0x400U)
  51861. #define IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_SHIFT (10U)
  51862. /*! CAN2_IPG_DOZE - CAN2 doze mode
  51863. */
  51864. #define IOMUXC_GPR_GPR70_CAN2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_CAN2_IPG_DOZE_MASK)
  51865. #define IOMUXC_GPR_GPR70_CAN2_STOP_REQ_MASK (0x800U)
  51866. #define IOMUXC_GPR_GPR70_CAN2_STOP_REQ_SHIFT (11U)
  51867. /*! CAN2_STOP_REQ - CAN2 stop request
  51868. */
  51869. #define IOMUXC_GPR_GPR70_CAN2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_CAN2_STOP_REQ_MASK)
  51870. #define IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_MASK (0x1000U)
  51871. #define IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_SHIFT (12U)
  51872. /*! CAN3_IPG_DOZE - CAN3 doze mode
  51873. */
  51874. #define IOMUXC_GPR_GPR70_CAN3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_CAN3_IPG_DOZE_MASK)
  51875. #define IOMUXC_GPR_GPR70_CAN3_STOP_REQ_MASK (0x2000U)
  51876. #define IOMUXC_GPR_GPR70_CAN3_STOP_REQ_SHIFT (13U)
  51877. /*! CAN3_STOP_REQ - CAN3 stop request
  51878. */
  51879. #define IOMUXC_GPR_GPR70_CAN3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_CAN3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_CAN3_STOP_REQ_MASK)
  51880. #define IOMUXC_GPR_GPR70_EDMA_STOP_REQ_MASK (0x8000U)
  51881. #define IOMUXC_GPR_GPR70_EDMA_STOP_REQ_SHIFT (15U)
  51882. /*! EDMA_STOP_REQ - EDMA stop request
  51883. */
  51884. #define IOMUXC_GPR_GPR70_EDMA_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_EDMA_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_EDMA_STOP_REQ_MASK)
  51885. #define IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_MASK (0x10000U)
  51886. #define IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_SHIFT (16U)
  51887. /*! EDMA_LPSR_STOP_REQ - EDMA_LPSR stop request
  51888. */
  51889. #define IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_EDMA_LPSR_STOP_REQ_MASK)
  51890. #define IOMUXC_GPR_GPR70_ENET_IPG_DOZE_MASK (0x20000U)
  51891. #define IOMUXC_GPR_GPR70_ENET_IPG_DOZE_SHIFT (17U)
  51892. /*! ENET_IPG_DOZE - ENET doze mode
  51893. */
  51894. #define IOMUXC_GPR_GPR70_ENET_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ENET_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_ENET_IPG_DOZE_MASK)
  51895. #define IOMUXC_GPR_GPR70_ENET_STOP_REQ_MASK (0x40000U)
  51896. #define IOMUXC_GPR_GPR70_ENET_STOP_REQ_SHIFT (18U)
  51897. /*! ENET_STOP_REQ - ENET stop request
  51898. */
  51899. #define IOMUXC_GPR_GPR70_ENET_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ENET_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_ENET_STOP_REQ_MASK)
  51900. #define IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_MASK (0x80000U)
  51901. #define IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_SHIFT (19U)
  51902. /*! ENET1G_IPG_DOZE - ENET1G doze mode
  51903. */
  51904. #define IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_ENET1G_IPG_DOZE_MASK)
  51905. #define IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_MASK (0x100000U)
  51906. #define IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_SHIFT (20U)
  51907. /*! ENET1G_STOP_REQ - ENET1G stop request
  51908. */
  51909. #define IOMUXC_GPR_GPR70_ENET1G_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_ENET1G_STOP_REQ_MASK)
  51910. #define IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_MASK (0x200000U)
  51911. #define IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_SHIFT (21U)
  51912. /*! FLEXIO1_IPG_DOZE - FLEXIO2 doze mode
  51913. */
  51914. #define IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_FLEXIO1_IPG_DOZE_MASK)
  51915. #define IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_MASK (0x400000U)
  51916. #define IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_SHIFT (22U)
  51917. /*! FLEXIO2_IPG_DOZE - FLEXIO2 doze mode
  51918. */
  51919. #define IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_FLEXIO2_IPG_DOZE_MASK)
  51920. #define IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_MASK (0x800000U)
  51921. #define IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_SHIFT (23U)
  51922. /*! FLEXSPI1_IPG_DOZE - FLEXSPI1 doze mode
  51923. */
  51924. #define IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_FLEXSPI1_IPG_DOZE_MASK)
  51925. #define IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_MASK (0x1000000U)
  51926. #define IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_SHIFT (24U)
  51927. /*! FLEXSPI1_STOP_REQ - FLEXSPI1 stop request
  51928. */
  51929. #define IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_FLEXSPI1_STOP_REQ_MASK)
  51930. #define IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_MASK (0x2000000U)
  51931. #define IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_SHIFT (25U)
  51932. /*! FLEXSPI2_IPG_DOZE - FLEXSPI2 doze mode
  51933. */
  51934. #define IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR70_FLEXSPI2_IPG_DOZE_MASK)
  51935. #define IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_MASK (0x4000000U)
  51936. #define IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_SHIFT (26U)
  51937. /*! FLEXSPI2_STOP_REQ - FLEXSPI2 stop request
  51938. */
  51939. #define IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR70_FLEXSPI2_STOP_REQ_MASK)
  51940. #define IOMUXC_GPR_GPR70_DWP_MASK (0x30000000U)
  51941. #define IOMUXC_GPR_GPR70_DWP_SHIFT (28U)
  51942. /*! DWP - Domain write protection
  51943. * 0b00..Both cores are allowed
  51944. * 0b01..CM7 is forbidden
  51945. * 0b10..CM4 is forbidden
  51946. * 0b11..Both cores are forbidden
  51947. */
  51948. #define IOMUXC_GPR_GPR70_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_DWP_SHIFT)) & IOMUXC_GPR_GPR70_DWP_MASK)
  51949. #define IOMUXC_GPR_GPR70_DWP_LOCK_MASK (0xC0000000U)
  51950. #define IOMUXC_GPR_GPR70_DWP_LOCK_SHIFT (30U)
  51951. /*! DWP_LOCK - Domain write protection lock
  51952. * 0b00..Neither of DWP bits is locked
  51953. * 0b01..The lower DWP bit is locked
  51954. * 0b10..The higher DWP bit is locked
  51955. * 0b11..Both DWP bits are locked
  51956. */
  51957. #define IOMUXC_GPR_GPR70_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR70_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR70_DWP_LOCK_MASK)
  51958. /*! @} */
  51959. /*! @name GPR71 - GPR71 General Purpose Register */
  51960. /*! @{ */
  51961. #define IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_MASK (0x1U)
  51962. #define IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_SHIFT (0U)
  51963. /*! GPT1_IPG_DOZE - GPT1 doze mode
  51964. */
  51965. #define IOMUXC_GPR_GPR71_GPT1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT1_IPG_DOZE_MASK)
  51966. #define IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_MASK (0x2U)
  51967. #define IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_SHIFT (1U)
  51968. /*! GPT2_IPG_DOZE - GPT2 doze mode
  51969. */
  51970. #define IOMUXC_GPR_GPR71_GPT2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT2_IPG_DOZE_MASK)
  51971. #define IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_MASK (0x4U)
  51972. #define IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_SHIFT (2U)
  51973. /*! GPT3_IPG_DOZE - GPT3 doze mode
  51974. */
  51975. #define IOMUXC_GPR_GPR71_GPT3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT3_IPG_DOZE_MASK)
  51976. #define IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_MASK (0x8U)
  51977. #define IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_SHIFT (3U)
  51978. /*! GPT4_IPG_DOZE - GPT4 doze mode
  51979. */
  51980. #define IOMUXC_GPR_GPR71_GPT4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT4_IPG_DOZE_MASK)
  51981. #define IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_MASK (0x10U)
  51982. #define IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_SHIFT (4U)
  51983. /*! GPT5_IPG_DOZE - GPT5 doze mode
  51984. */
  51985. #define IOMUXC_GPR_GPR71_GPT5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT5_IPG_DOZE_MASK)
  51986. #define IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_MASK (0x20U)
  51987. #define IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_SHIFT (5U)
  51988. /*! GPT6_IPG_DOZE - GPT6 doze mode
  51989. */
  51990. #define IOMUXC_GPR_GPR71_GPT6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_GPT6_IPG_DOZE_MASK)
  51991. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_MASK (0x40U)
  51992. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_SHIFT (6U)
  51993. /*! LPI2C1_IPG_DOZE - LPI2C1 doze mode
  51994. */
  51995. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C1_IPG_DOZE_MASK)
  51996. #define IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_MASK (0x80U)
  51997. #define IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_SHIFT (7U)
  51998. /*! LPI2C1_STOP_REQ - LPI2C1 stop request
  51999. */
  52000. #define IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C1_STOP_REQ_MASK)
  52001. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_MASK (0x100U)
  52002. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_SHIFT (8U)
  52003. /*! LPI2C1_IPG_STOP_MODE - LPI2C1 stop mode selection, cannot change when LPI2C1_STOP_REQ is asserted.
  52004. * 0b0..This module is functional in Stop Mode
  52005. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52006. */
  52007. #define IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C1_IPG_STOP_MODE_MASK)
  52008. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_MASK (0x200U)
  52009. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_SHIFT (9U)
  52010. /*! LPI2C2_IPG_DOZE - LPI2C2 doze mode
  52011. */
  52012. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C2_IPG_DOZE_MASK)
  52013. #define IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_MASK (0x400U)
  52014. #define IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_SHIFT (10U)
  52015. /*! LPI2C2_STOP_REQ - LPI2C2 stop request
  52016. */
  52017. #define IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C2_STOP_REQ_MASK)
  52018. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_MASK (0x800U)
  52019. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_SHIFT (11U)
  52020. /*! LPI2C2_IPG_STOP_MODE - LPI2C2 stop mode selection, cannot change when LPI2C2_STOP_REQ is asserted.
  52021. * 0b0..This module is functional in Stop Mode
  52022. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52023. */
  52024. #define IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C2_IPG_STOP_MODE_MASK)
  52025. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_MASK (0x1000U)
  52026. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_SHIFT (12U)
  52027. /*! LPI2C3_IPG_DOZE - LPI2C3 doze mode
  52028. */
  52029. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C3_IPG_DOZE_MASK)
  52030. #define IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_MASK (0x2000U)
  52031. #define IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_SHIFT (13U)
  52032. /*! LPI2C3_STOP_REQ - LPI2C3 stop request
  52033. */
  52034. #define IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C3_STOP_REQ_MASK)
  52035. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_MASK (0x4000U)
  52036. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_SHIFT (14U)
  52037. /*! LPI2C3_IPG_STOP_MODE - LPI2C3 stop mode selection, cannot change when LPI2C3_STOP_REQ is asserted.
  52038. * 0b0..This module is functional in Stop Mode
  52039. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52040. */
  52041. #define IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C3_IPG_STOP_MODE_MASK)
  52042. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_MASK (0x8000U)
  52043. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_SHIFT (15U)
  52044. /*! LPI2C4_IPG_DOZE - LPI2C4 doze mode
  52045. */
  52046. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C4_IPG_DOZE_MASK)
  52047. #define IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_MASK (0x10000U)
  52048. #define IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_SHIFT (16U)
  52049. /*! LPI2C4_STOP_REQ - LPI2C4 stop request
  52050. */
  52051. #define IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C4_STOP_REQ_MASK)
  52052. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_MASK (0x20000U)
  52053. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_SHIFT (17U)
  52054. /*! LPI2C4_IPG_STOP_MODE - LPI2C4 stop mode selection, cannot change when LPI2C4_STOP_REQ is asserted.
  52055. * 0b0..This module is functional in Stop Mode
  52056. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52057. */
  52058. #define IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C4_IPG_STOP_MODE_MASK)
  52059. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_MASK (0x40000U)
  52060. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_SHIFT (18U)
  52061. /*! LPI2C5_IPG_DOZE - LPI2C5 doze mode
  52062. */
  52063. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C5_IPG_DOZE_MASK)
  52064. #define IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_MASK (0x80000U)
  52065. #define IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_SHIFT (19U)
  52066. /*! LPI2C5_STOP_REQ - LPI2C5 stop request
  52067. */
  52068. #define IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C5_STOP_REQ_MASK)
  52069. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_MASK (0x100000U)
  52070. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_SHIFT (20U)
  52071. /*! LPI2C5_IPG_STOP_MODE - LPI2C5 stop mode selection, cannot change when LPI2C5_STOP_REQ is asserted.
  52072. * 0b0..This module is functional in Stop Mode
  52073. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52074. */
  52075. #define IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C5_IPG_STOP_MODE_MASK)
  52076. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_MASK (0x200000U)
  52077. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_SHIFT (21U)
  52078. /*! LPI2C6_IPG_DOZE - LPI2C6 doze mode
  52079. */
  52080. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C6_IPG_DOZE_MASK)
  52081. #define IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_MASK (0x400000U)
  52082. #define IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_SHIFT (22U)
  52083. /*! LPI2C6_STOP_REQ - LPI2C6 stop request
  52084. */
  52085. #define IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C6_STOP_REQ_MASK)
  52086. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_MASK (0x800000U)
  52087. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_SHIFT (23U)
  52088. /*! LPI2C6_IPG_STOP_MODE - LPI2C6 stop mode selection, cannot change when LPI2C6_STOP_REQ is asserted.
  52089. * 0b0..This module is functional in Stop Mode
  52090. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52091. */
  52092. #define IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPI2C6_IPG_STOP_MODE_MASK)
  52093. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_MASK (0x1000000U)
  52094. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_SHIFT (24U)
  52095. /*! LPSPI1_IPG_DOZE - LPSPI1 doze mode
  52096. */
  52097. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR71_LPSPI1_IPG_DOZE_MASK)
  52098. #define IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_MASK (0x2000000U)
  52099. #define IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_SHIFT (25U)
  52100. /*! LPSPI1_STOP_REQ - LPSPI1 stop request
  52101. */
  52102. #define IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR71_LPSPI1_STOP_REQ_MASK)
  52103. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_MASK (0x4000000U)
  52104. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_SHIFT (26U)
  52105. /*! LPSPI1_IPG_STOP_MODE - LPSPI1 stop mode selection, cannot change when LPSPI1_STOP_REQ is asserted.
  52106. * 0b0..This module is functional in Stop Mode
  52107. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52108. */
  52109. #define IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR71_LPSPI1_IPG_STOP_MODE_MASK)
  52110. #define IOMUXC_GPR_GPR71_DWP_MASK (0x30000000U)
  52111. #define IOMUXC_GPR_GPR71_DWP_SHIFT (28U)
  52112. /*! DWP - Domain write protection
  52113. * 0b00..Both cores are allowed
  52114. * 0b01..CM7 is forbidden
  52115. * 0b10..CM4 is forbidden
  52116. * 0b11..Both cores are forbidden
  52117. */
  52118. #define IOMUXC_GPR_GPR71_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_DWP_SHIFT)) & IOMUXC_GPR_GPR71_DWP_MASK)
  52119. #define IOMUXC_GPR_GPR71_DWP_LOCK_MASK (0xC0000000U)
  52120. #define IOMUXC_GPR_GPR71_DWP_LOCK_SHIFT (30U)
  52121. /*! DWP_LOCK - Domain write protection lock
  52122. * 0b00..Neither of DWP bits is locked
  52123. * 0b01..The lower DWP bit is locked
  52124. * 0b10..The higher DWP bit is locked
  52125. * 0b11..Both DWP bits are locked
  52126. */
  52127. #define IOMUXC_GPR_GPR71_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR71_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR71_DWP_LOCK_MASK)
  52128. /*! @} */
  52129. /*! @name GPR72 - GPR72 General Purpose Register */
  52130. /*! @{ */
  52131. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_MASK (0x1U)
  52132. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_SHIFT (0U)
  52133. /*! LPSPI2_IPG_DOZE - LPSPI2 doze mode
  52134. */
  52135. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI2_IPG_DOZE_MASK)
  52136. #define IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_MASK (0x2U)
  52137. #define IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_SHIFT (1U)
  52138. /*! LPSPI2_STOP_REQ - LPSPI2 stop request
  52139. */
  52140. #define IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI2_STOP_REQ_MASK)
  52141. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_MASK (0x4U)
  52142. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_SHIFT (2U)
  52143. /*! LPSPI2_IPG_STOP_MODE - LPSPI2 stop mode selection, cannot change when LPSPI2_STOP_REQ is asserted.
  52144. * 0b0..This module is functional in Stop Mode
  52145. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52146. */
  52147. #define IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI2_IPG_STOP_MODE_MASK)
  52148. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_MASK (0x8U)
  52149. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_SHIFT (3U)
  52150. /*! LPSPI3_IPG_DOZE - LPSPI3 doze mode
  52151. */
  52152. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI3_IPG_DOZE_MASK)
  52153. #define IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_MASK (0x10U)
  52154. #define IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_SHIFT (4U)
  52155. /*! LPSPI3_STOP_REQ - LPSPI3 stop request
  52156. */
  52157. #define IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI3_STOP_REQ_MASK)
  52158. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_MASK (0x20U)
  52159. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_SHIFT (5U)
  52160. /*! LPSPI3_IPG_STOP_MODE - LPSPI3 stop mode selection, cannot change when LPSPI3_STOP_REQ is asserted.
  52161. * 0b0..This module is functional in Stop Mode
  52162. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52163. */
  52164. #define IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI3_IPG_STOP_MODE_MASK)
  52165. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_MASK (0x40U)
  52166. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_SHIFT (6U)
  52167. /*! LPSPI4_IPG_DOZE - LPSPI4 doze mode
  52168. */
  52169. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI4_IPG_DOZE_MASK)
  52170. #define IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_MASK (0x80U)
  52171. #define IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_SHIFT (7U)
  52172. /*! LPSPI4_STOP_REQ - LPSPI4 stop request
  52173. */
  52174. #define IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI4_STOP_REQ_MASK)
  52175. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_MASK (0x100U)
  52176. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_SHIFT (8U)
  52177. /*! LPSPI4_IPG_STOP_MODE - LPSPI4 stop mode selection, cannot change when LPSPI4_STOP_REQ is asserted.
  52178. * 0b0..This module is functional in Stop Mode
  52179. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52180. */
  52181. #define IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI4_IPG_STOP_MODE_MASK)
  52182. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_MASK (0x200U)
  52183. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_SHIFT (9U)
  52184. /*! LPSPI5_IPG_DOZE - LPSPI5 doze mode
  52185. */
  52186. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI5_IPG_DOZE_MASK)
  52187. #define IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_MASK (0x400U)
  52188. #define IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_SHIFT (10U)
  52189. /*! LPSPI5_STOP_REQ - LPSPI5 stop request
  52190. */
  52191. #define IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI5_STOP_REQ_MASK)
  52192. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_MASK (0x800U)
  52193. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_SHIFT (11U)
  52194. /*! LPSPI5_IPG_STOP_MODE - LPSPI5 stop mode selection, cannot change when LPSPI5_STOP_REQ is asserted.
  52195. * 0b0..This module is functional in Stop Mode
  52196. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52197. */
  52198. #define IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI5_IPG_STOP_MODE_MASK)
  52199. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_MASK (0x1000U)
  52200. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_SHIFT (12U)
  52201. /*! LPSPI6_IPG_DOZE - LPSPI6 doze mode
  52202. */
  52203. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI6_IPG_DOZE_MASK)
  52204. #define IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_MASK (0x2000U)
  52205. #define IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_SHIFT (13U)
  52206. /*! LPSPI6_STOP_REQ - LPSPI6 stop request
  52207. */
  52208. #define IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI6_STOP_REQ_MASK)
  52209. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_MASK (0x4000U)
  52210. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_SHIFT (14U)
  52211. /*! LPSPI6_IPG_STOP_MODE - LPSPI6 stop mode selection, cannot change when LPSPI6_STOP_REQ is asserted.
  52212. * 0b0..This module is functional in Stop Mode
  52213. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52214. */
  52215. #define IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPSPI6_IPG_STOP_MODE_MASK)
  52216. #define IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_MASK (0x8000U)
  52217. #define IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_SHIFT (15U)
  52218. /*! LPUART1_IPG_DOZE - LPUART1 doze mode
  52219. */
  52220. #define IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART1_IPG_DOZE_MASK)
  52221. #define IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_MASK (0x10000U)
  52222. #define IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_SHIFT (16U)
  52223. /*! LPUART1_STOP_REQ - LPUART1 stop request
  52224. */
  52225. #define IOMUXC_GPR_GPR72_LPUART1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPUART1_STOP_REQ_MASK)
  52226. #define IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_MASK (0x20000U)
  52227. #define IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_SHIFT (17U)
  52228. /*! LPUART1_IPG_STOP_MODE - LPUART1 stop mode selection, cannot change when LPUART1_STOP_REQ is asserted.
  52229. * 0b0..This module is functional in Stop Mode
  52230. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52231. */
  52232. #define IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART1_IPG_STOP_MODE_MASK)
  52233. #define IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_MASK (0x40000U)
  52234. #define IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_SHIFT (18U)
  52235. /*! LPUART2_IPG_DOZE - LPUART2 doze mode
  52236. */
  52237. #define IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART2_IPG_DOZE_MASK)
  52238. #define IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_MASK (0x80000U)
  52239. #define IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_SHIFT (19U)
  52240. /*! LPUART2_STOP_REQ - LPUART2 stop request
  52241. */
  52242. #define IOMUXC_GPR_GPR72_LPUART2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPUART2_STOP_REQ_MASK)
  52243. #define IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_MASK (0x100000U)
  52244. #define IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_SHIFT (20U)
  52245. /*! LPUART2_IPG_STOP_MODE - LPUART2 stop mode selection, cannot change when LPUART2_STOP_REQ is asserted.
  52246. * 0b0..This module is functional in Stop Mode
  52247. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52248. */
  52249. #define IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART2_IPG_STOP_MODE_MASK)
  52250. #define IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_MASK (0x200000U)
  52251. #define IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_SHIFT (21U)
  52252. /*! LPUART3_IPG_DOZE - LPUART3 doze mode
  52253. */
  52254. #define IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART3_IPG_DOZE_MASK)
  52255. #define IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_MASK (0x400000U)
  52256. #define IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_SHIFT (22U)
  52257. /*! LPUART3_STOP_REQ - LPUART3 stop request
  52258. */
  52259. #define IOMUXC_GPR_GPR72_LPUART3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPUART3_STOP_REQ_MASK)
  52260. #define IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_MASK (0x800000U)
  52261. #define IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_SHIFT (23U)
  52262. /*! LPUART3_IPG_STOP_MODE - LPUART3 stop mode selection, cannot change when LPUART3_STOP_REQ is asserted.
  52263. * 0b0..This module is functional in Stop Mode
  52264. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52265. */
  52266. #define IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART3_IPG_STOP_MODE_MASK)
  52267. #define IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_MASK (0x1000000U)
  52268. #define IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_SHIFT (24U)
  52269. /*! LPUART4_IPG_DOZE - LPUART4 doze mode
  52270. */
  52271. #define IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART4_IPG_DOZE_MASK)
  52272. #define IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_MASK (0x2000000U)
  52273. #define IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_SHIFT (25U)
  52274. /*! LPUART4_STOP_REQ - LPUART4 stop request
  52275. */
  52276. #define IOMUXC_GPR_GPR72_LPUART4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR72_LPUART4_STOP_REQ_MASK)
  52277. #define IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_MASK (0x4000000U)
  52278. #define IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_SHIFT (26U)
  52279. /*! LPUART4_IPG_STOP_MODE - LPUART4 stop mode selection, cannot change when LPUART4_STOP_REQ is asserted.
  52280. * 0b0..This module is functional in Stop Mode
  52281. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52282. */
  52283. #define IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR72_LPUART4_IPG_STOP_MODE_MASK)
  52284. #define IOMUXC_GPR_GPR72_DWP_MASK (0x30000000U)
  52285. #define IOMUXC_GPR_GPR72_DWP_SHIFT (28U)
  52286. /*! DWP - Domain write protection
  52287. * 0b00..Both cores are allowed
  52288. * 0b01..CM7 is forbidden
  52289. * 0b10..CM4 is forbidden
  52290. * 0b11..Both cores are forbidden
  52291. */
  52292. #define IOMUXC_GPR_GPR72_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_DWP_SHIFT)) & IOMUXC_GPR_GPR72_DWP_MASK)
  52293. #define IOMUXC_GPR_GPR72_DWP_LOCK_MASK (0xC0000000U)
  52294. #define IOMUXC_GPR_GPR72_DWP_LOCK_SHIFT (30U)
  52295. /*! DWP_LOCK - Domain write protection lock
  52296. * 0b00..Neither of DWP bits is locked
  52297. * 0b01..The lower DWP bit is locked
  52298. * 0b10..The higher DWP bit is locked
  52299. * 0b11..Both DWP bits are locked
  52300. */
  52301. #define IOMUXC_GPR_GPR72_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR72_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR72_DWP_LOCK_MASK)
  52302. /*! @} */
  52303. /*! @name GPR73 - GPR73 General Purpose Register */
  52304. /*! @{ */
  52305. #define IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_MASK (0x1U)
  52306. #define IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_SHIFT (0U)
  52307. /*! LPUART5_IPG_DOZE - LPUART5 doze mode
  52308. */
  52309. #define IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART5_IPG_DOZE_MASK)
  52310. #define IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_MASK (0x2U)
  52311. #define IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_SHIFT (1U)
  52312. /*! LPUART5_STOP_REQ - LPUART5 stop request
  52313. */
  52314. #define IOMUXC_GPR_GPR73_LPUART5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART5_STOP_REQ_MASK)
  52315. #define IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_MASK (0x4U)
  52316. #define IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_SHIFT (2U)
  52317. /*! LPUART5_IPG_STOP_MODE - LPUART5 stop mode selection, cannot change when LPUART5_STOP_REQ is asserted.
  52318. * 0b0..This module is functional in Stop Mode
  52319. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52320. */
  52321. #define IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART5_IPG_STOP_MODE_MASK)
  52322. #define IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_MASK (0x8U)
  52323. #define IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_SHIFT (3U)
  52324. /*! LPUART6_IPG_DOZE - LPUART6 doze mode
  52325. */
  52326. #define IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART6_IPG_DOZE_MASK)
  52327. #define IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_MASK (0x10U)
  52328. #define IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_SHIFT (4U)
  52329. /*! LPUART6_STOP_REQ - LPUART6 stop request
  52330. */
  52331. #define IOMUXC_GPR_GPR73_LPUART6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART6_STOP_REQ_MASK)
  52332. #define IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_MASK (0x20U)
  52333. #define IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_SHIFT (5U)
  52334. /*! LPUART6_IPG_STOP_MODE - LPUART6 stop mode selection, cannot change when LPUART6_STOP_REQ is asserted.
  52335. * 0b0..This module is functional in Stop Mode
  52336. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52337. */
  52338. #define IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART6_IPG_STOP_MODE_MASK)
  52339. #define IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_MASK (0x40U)
  52340. #define IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_SHIFT (6U)
  52341. /*! LPUART7_IPG_DOZE - LPUART7 doze mode
  52342. */
  52343. #define IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART7_IPG_DOZE_MASK)
  52344. #define IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_MASK (0x80U)
  52345. #define IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_SHIFT (7U)
  52346. /*! LPUART7_STOP_REQ - LPUART7 stop request
  52347. */
  52348. #define IOMUXC_GPR_GPR73_LPUART7_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART7_STOP_REQ_MASK)
  52349. #define IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_MASK (0x100U)
  52350. #define IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_SHIFT (8U)
  52351. /*! LPUART7_IPG_STOP_MODE - LPUART7 stop mode selection, cannot change when LPUART7_STOP_REQ is asserted.
  52352. * 0b0..This module is functional in Stop Mode
  52353. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52354. */
  52355. #define IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART7_IPG_STOP_MODE_MASK)
  52356. #define IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_MASK (0x200U)
  52357. #define IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_SHIFT (9U)
  52358. /*! LPUART8_IPG_DOZE - LPUART8 doze mode
  52359. */
  52360. #define IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART8_IPG_DOZE_MASK)
  52361. #define IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_MASK (0x400U)
  52362. #define IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_SHIFT (10U)
  52363. /*! LPUART8_STOP_REQ - LPUART8 stop request
  52364. */
  52365. #define IOMUXC_GPR_GPR73_LPUART8_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART8_STOP_REQ_MASK)
  52366. #define IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_MASK (0x800U)
  52367. #define IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_SHIFT (11U)
  52368. /*! LPUART8_IPG_STOP_MODE - LPUART8 stop mode selection, cannot change when LPUART8_STOP_REQ is asserted.
  52369. * 0b0..This module is functional in Stop Mode
  52370. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52371. */
  52372. #define IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART8_IPG_STOP_MODE_MASK)
  52373. #define IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_MASK (0x1000U)
  52374. #define IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_SHIFT (12U)
  52375. /*! LPUART9_IPG_DOZE - LPUART9 doze mode
  52376. */
  52377. #define IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART9_IPG_DOZE_MASK)
  52378. #define IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_MASK (0x2000U)
  52379. #define IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_SHIFT (13U)
  52380. /*! LPUART9_STOP_REQ - LPUART9 stop request
  52381. */
  52382. #define IOMUXC_GPR_GPR73_LPUART9_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART9_STOP_REQ_MASK)
  52383. #define IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_MASK (0x4000U)
  52384. #define IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_SHIFT (14U)
  52385. /*! LPUART9_IPG_STOP_MODE - LPUART9 stop mode selection, cannot change when LPUART9_STOP_REQ is asserted.
  52386. * 0b0..This module is functional in Stop Mode
  52387. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52388. */
  52389. #define IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART9_IPG_STOP_MODE_MASK)
  52390. #define IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_MASK (0x8000U)
  52391. #define IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_SHIFT (15U)
  52392. /*! LPUART10_IPG_DOZE - LPUART10 doze mode
  52393. */
  52394. #define IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART10_IPG_DOZE_MASK)
  52395. #define IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_MASK (0x10000U)
  52396. #define IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_SHIFT (16U)
  52397. /*! LPUART10_STOP_REQ - LPUART10 stop request
  52398. */
  52399. #define IOMUXC_GPR_GPR73_LPUART10_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART10_STOP_REQ_MASK)
  52400. #define IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_MASK (0x20000U)
  52401. #define IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_SHIFT (17U)
  52402. /*! LPUART10_IPG_STOP_MODE - LPUART10 stop mode selection, cannot change when LPUART10_STOP_REQ is asserted.
  52403. * 0b0..This module is functional in Stop Mode
  52404. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52405. */
  52406. #define IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART10_IPG_STOP_MODE_MASK)
  52407. #define IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_MASK (0x40000U)
  52408. #define IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_SHIFT (18U)
  52409. /*! LPUART11_IPG_DOZE - LPUART11 doze mode
  52410. */
  52411. #define IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART11_IPG_DOZE_MASK)
  52412. #define IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_MASK (0x80000U)
  52413. #define IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_SHIFT (19U)
  52414. /*! LPUART11_STOP_REQ - LPUART11 stop request
  52415. */
  52416. #define IOMUXC_GPR_GPR73_LPUART11_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART11_STOP_REQ_MASK)
  52417. #define IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_MASK (0x100000U)
  52418. #define IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_SHIFT (20U)
  52419. /*! LPUART11_IPG_STOP_MODE - LPUART11 stop mode selection, cannot change when LPUART11_STOP_REQ is asserted.
  52420. * 0b0..This module is functional in Stop Mode
  52421. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52422. */
  52423. #define IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART11_IPG_STOP_MODE_MASK)
  52424. #define IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_MASK (0x200000U)
  52425. #define IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_SHIFT (21U)
  52426. /*! LPUART12_IPG_DOZE - LPUART12 doze mode
  52427. */
  52428. #define IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART12_IPG_DOZE_MASK)
  52429. #define IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_MASK (0x400000U)
  52430. #define IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_SHIFT (22U)
  52431. /*! LPUART12_STOP_REQ - LPUART12 stop request
  52432. */
  52433. #define IOMUXC_GPR_GPR73_LPUART12_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_LPUART12_STOP_REQ_MASK)
  52434. #define IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_MASK (0x800000U)
  52435. #define IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_SHIFT (23U)
  52436. /*! LPUART12_IPG_STOP_MODE - LPUART12 stop mode selection, cannot change when LPUART12_STOP_REQ is asserted.
  52437. * 0b0..This module is functional in Stop Mode
  52438. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52439. */
  52440. #define IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_LPUART12_IPG_STOP_MODE_MASK)
  52441. #define IOMUXC_GPR_GPR73_MIC_IPG_DOZE_MASK (0x1000000U)
  52442. #define IOMUXC_GPR_GPR73_MIC_IPG_DOZE_SHIFT (24U)
  52443. /*! MIC_IPG_DOZE - MIC doze mode
  52444. */
  52445. #define IOMUXC_GPR_GPR73_MIC_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_MIC_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR73_MIC_IPG_DOZE_MASK)
  52446. #define IOMUXC_GPR_GPR73_MIC_STOP_REQ_MASK (0x2000000U)
  52447. #define IOMUXC_GPR_GPR73_MIC_STOP_REQ_SHIFT (25U)
  52448. /*! MIC_STOP_REQ - MIC stop request
  52449. */
  52450. #define IOMUXC_GPR_GPR73_MIC_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_MIC_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR73_MIC_STOP_REQ_MASK)
  52451. #define IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_MASK (0x4000000U)
  52452. #define IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_SHIFT (26U)
  52453. /*! MIC_IPG_STOP_MODE - MIC stop mode selection, cannot change when MIC_STOP_REQ is asserted.
  52454. * 0b0..This module is functional in Stop Mode
  52455. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  52456. */
  52457. #define IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_SHIFT)) & IOMUXC_GPR_GPR73_MIC_IPG_STOP_MODE_MASK)
  52458. #define IOMUXC_GPR_GPR73_DWP_MASK (0x30000000U)
  52459. #define IOMUXC_GPR_GPR73_DWP_SHIFT (28U)
  52460. /*! DWP - Domain write protection
  52461. * 0b00..Both cores are allowed
  52462. * 0b01..CM7 is forbidden
  52463. * 0b10..CM4 is forbidden
  52464. * 0b11..Both cores are forbidden
  52465. */
  52466. #define IOMUXC_GPR_GPR73_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_DWP_SHIFT)) & IOMUXC_GPR_GPR73_DWP_MASK)
  52467. #define IOMUXC_GPR_GPR73_DWP_LOCK_MASK (0xC0000000U)
  52468. #define IOMUXC_GPR_GPR73_DWP_LOCK_SHIFT (30U)
  52469. /*! DWP_LOCK - Domain write protection lock
  52470. * 0b00..Neither of DWP bits is locked
  52471. * 0b01..The lower DWP bit is locked
  52472. * 0b10..The higher DWP bit is locked
  52473. * 0b11..Both DWP bits are locked
  52474. */
  52475. #define IOMUXC_GPR_GPR73_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR73_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR73_DWP_LOCK_MASK)
  52476. /*! @} */
  52477. /*! @name GPR74 - GPR74 General Purpose Register */
  52478. /*! @{ */
  52479. #define IOMUXC_GPR_GPR74_PIT1_STOP_REQ_MASK (0x2U)
  52480. #define IOMUXC_GPR_GPR74_PIT1_STOP_REQ_SHIFT (1U)
  52481. /*! PIT1_STOP_REQ - PIT1 stop request
  52482. */
  52483. #define IOMUXC_GPR_GPR74_PIT1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_PIT1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_PIT1_STOP_REQ_MASK)
  52484. #define IOMUXC_GPR_GPR74_PIT2_STOP_REQ_MASK (0x4U)
  52485. #define IOMUXC_GPR_GPR74_PIT2_STOP_REQ_SHIFT (2U)
  52486. /*! PIT2_STOP_REQ - PIT2 stop request
  52487. */
  52488. #define IOMUXC_GPR_GPR74_PIT2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_PIT2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_PIT2_STOP_REQ_MASK)
  52489. #define IOMUXC_GPR_GPR74_SEMC_STOP_REQ_MASK (0x8U)
  52490. #define IOMUXC_GPR_GPR74_SEMC_STOP_REQ_SHIFT (3U)
  52491. /*! SEMC_STOP_REQ - SEMC stop request
  52492. */
  52493. #define IOMUXC_GPR_GPR74_SEMC_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SEMC_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SEMC_STOP_REQ_MASK)
  52494. #define IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_MASK (0x10U)
  52495. #define IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_SHIFT (4U)
  52496. /*! SIM1_IPG_DOZE - SIM1 doze mode
  52497. */
  52498. #define IOMUXC_GPR_GPR74_SIM1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR74_SIM1_IPG_DOZE_MASK)
  52499. #define IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_MASK (0x20U)
  52500. #define IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_SHIFT (5U)
  52501. /*! SIM2_IPG_DOZE - SIM2 doze mode
  52502. */
  52503. #define IOMUXC_GPR_GPR74_SIM2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR74_SIM2_IPG_DOZE_MASK)
  52504. #define IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_MASK (0x40U)
  52505. #define IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_SHIFT (6U)
  52506. /*! SNVS_HP_IPG_DOZE - SNVS_HP doze mode
  52507. */
  52508. #define IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR74_SNVS_HP_IPG_DOZE_MASK)
  52509. #define IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_MASK (0x80U)
  52510. #define IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_SHIFT (7U)
  52511. /*! SNVS_HP_STOP_REQ - SNVS_HP stop request
  52512. */
  52513. #define IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SNVS_HP_STOP_REQ_MASK)
  52514. #define IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_MASK (0x100U)
  52515. #define IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_SHIFT (8U)
  52516. /*! WDOG1_IPG_DOZE - WDOG1 doze mode
  52517. */
  52518. #define IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR74_WDOG1_IPG_DOZE_MASK)
  52519. #define IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_MASK (0x200U)
  52520. #define IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_SHIFT (9U)
  52521. /*! WDOG2_IPG_DOZE - WDOG2 doze mode
  52522. */
  52523. #define IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_SHIFT)) & IOMUXC_GPR_GPR74_WDOG2_IPG_DOZE_MASK)
  52524. #define IOMUXC_GPR_GPR74_SAI1_STOP_REQ_MASK (0x400U)
  52525. #define IOMUXC_GPR_GPR74_SAI1_STOP_REQ_SHIFT (10U)
  52526. /*! SAI1_STOP_REQ - SAI1 stop request
  52527. */
  52528. #define IOMUXC_GPR_GPR74_SAI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SAI1_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SAI1_STOP_REQ_MASK)
  52529. #define IOMUXC_GPR_GPR74_SAI2_STOP_REQ_MASK (0x800U)
  52530. #define IOMUXC_GPR_GPR74_SAI2_STOP_REQ_SHIFT (11U)
  52531. /*! SAI2_STOP_REQ - SAI2 stop request
  52532. */
  52533. #define IOMUXC_GPR_GPR74_SAI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SAI2_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SAI2_STOP_REQ_MASK)
  52534. #define IOMUXC_GPR_GPR74_SAI3_STOP_REQ_MASK (0x1000U)
  52535. #define IOMUXC_GPR_GPR74_SAI3_STOP_REQ_SHIFT (12U)
  52536. /*! SAI3_STOP_REQ - SAI3 stop request
  52537. */
  52538. #define IOMUXC_GPR_GPR74_SAI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SAI3_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SAI3_STOP_REQ_MASK)
  52539. #define IOMUXC_GPR_GPR74_SAI4_STOP_REQ_MASK (0x2000U)
  52540. #define IOMUXC_GPR_GPR74_SAI4_STOP_REQ_SHIFT (13U)
  52541. /*! SAI4_STOP_REQ - SAI4 stop request
  52542. */
  52543. #define IOMUXC_GPR_GPR74_SAI4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_SAI4_STOP_REQ_SHIFT)) & IOMUXC_GPR_GPR74_SAI4_STOP_REQ_MASK)
  52544. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_MASK (0x4000U)
  52545. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_SHIFT (14U)
  52546. /*! FLEXIO1_STOP_REQ_BUS - FLEXIO1 bus clock domain stop request
  52547. */
  52548. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_SHIFT)) & IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_BUS_MASK)
  52549. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_MASK (0x8000U)
  52550. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_SHIFT (15U)
  52551. /*! FLEXIO1_STOP_REQ_PER - FLEXIO1 peripheral clock domain stop request
  52552. */
  52553. #define IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_SHIFT)) & IOMUXC_GPR_GPR74_FLEXIO1_STOP_REQ_PER_MASK)
  52554. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_MASK (0x10000U)
  52555. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_SHIFT (16U)
  52556. /*! FLEXIO2_STOP_REQ_BUS - FLEXIO2 bus clock domain stop request
  52557. */
  52558. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_SHIFT)) & IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_BUS_MASK)
  52559. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_MASK (0x20000U)
  52560. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_SHIFT (17U)
  52561. /*! FLEXIO2_STOP_REQ_PER - FLEXIO2 peripheral clock domain stop request
  52562. */
  52563. #define IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_SHIFT)) & IOMUXC_GPR_GPR74_FLEXIO2_STOP_REQ_PER_MASK)
  52564. #define IOMUXC_GPR_GPR74_DWP_MASK (0x30000000U)
  52565. #define IOMUXC_GPR_GPR74_DWP_SHIFT (28U)
  52566. /*! DWP - Domain write protection
  52567. * 0b00..Both cores are allowed
  52568. * 0b01..CM7 is forbidden
  52569. * 0b10..CM4 is forbidden
  52570. * 0b11..Both cores are forbidden
  52571. */
  52572. #define IOMUXC_GPR_GPR74_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_DWP_SHIFT)) & IOMUXC_GPR_GPR74_DWP_MASK)
  52573. #define IOMUXC_GPR_GPR74_DWP_LOCK_MASK (0xC0000000U)
  52574. #define IOMUXC_GPR_GPR74_DWP_LOCK_SHIFT (30U)
  52575. /*! DWP_LOCK - Domain write protection lock
  52576. * 0b00..Neither of DWP bits is locked
  52577. * 0b01..The lower DWP bit is locked
  52578. * 0b10..The higher DWP bit is locked
  52579. * 0b11..Both DWP bits are locked
  52580. */
  52581. #define IOMUXC_GPR_GPR74_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR74_DWP_LOCK_SHIFT)) & IOMUXC_GPR_GPR74_DWP_LOCK_MASK)
  52582. /*! @} */
  52583. /*! @name GPR75 - GPR75 General Purpose Register */
  52584. /*! @{ */
  52585. #define IOMUXC_GPR_GPR75_ADC1_STOP_ACK_MASK (0x1U)
  52586. #define IOMUXC_GPR_GPR75_ADC1_STOP_ACK_SHIFT (0U)
  52587. /*! ADC1_STOP_ACK - ADC1 stop acknowledge
  52588. */
  52589. #define IOMUXC_GPR_GPR75_ADC1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_ADC1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_ADC1_STOP_ACK_MASK)
  52590. #define IOMUXC_GPR_GPR75_ADC2_STOP_ACK_MASK (0x2U)
  52591. #define IOMUXC_GPR_GPR75_ADC2_STOP_ACK_SHIFT (1U)
  52592. /*! ADC2_STOP_ACK - ADC2 stop acknowledge
  52593. */
  52594. #define IOMUXC_GPR_GPR75_ADC2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_ADC2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_ADC2_STOP_ACK_MASK)
  52595. #define IOMUXC_GPR_GPR75_CAAM_STOP_ACK_MASK (0x4U)
  52596. #define IOMUXC_GPR_GPR75_CAAM_STOP_ACK_SHIFT (2U)
  52597. /*! CAAM_STOP_ACK - CAAM stop acknowledge
  52598. */
  52599. #define IOMUXC_GPR_GPR75_CAAM_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_CAAM_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_CAAM_STOP_ACK_MASK)
  52600. #define IOMUXC_GPR_GPR75_CAN1_STOP_ACK_MASK (0x8U)
  52601. #define IOMUXC_GPR_GPR75_CAN1_STOP_ACK_SHIFT (3U)
  52602. /*! CAN1_STOP_ACK - CAN1 stop acknowledge
  52603. */
  52604. #define IOMUXC_GPR_GPR75_CAN1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_CAN1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_CAN1_STOP_ACK_MASK)
  52605. #define IOMUXC_GPR_GPR75_CAN2_STOP_ACK_MASK (0x10U)
  52606. #define IOMUXC_GPR_GPR75_CAN2_STOP_ACK_SHIFT (4U)
  52607. /*! CAN2_STOP_ACK - CAN2 stop acknowledge
  52608. */
  52609. #define IOMUXC_GPR_GPR75_CAN2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_CAN2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_CAN2_STOP_ACK_MASK)
  52610. #define IOMUXC_GPR_GPR75_CAN3_STOP_ACK_MASK (0x20U)
  52611. #define IOMUXC_GPR_GPR75_CAN3_STOP_ACK_SHIFT (5U)
  52612. /*! CAN3_STOP_ACK - CAN3 stop acknowledge
  52613. */
  52614. #define IOMUXC_GPR_GPR75_CAN3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_CAN3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_CAN3_STOP_ACK_MASK)
  52615. #define IOMUXC_GPR_GPR75_EDMA_STOP_ACK_MASK (0x40U)
  52616. #define IOMUXC_GPR_GPR75_EDMA_STOP_ACK_SHIFT (6U)
  52617. /*! EDMA_STOP_ACK - EDMA stop acknowledge
  52618. */
  52619. #define IOMUXC_GPR_GPR75_EDMA_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_EDMA_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_EDMA_STOP_ACK_MASK)
  52620. #define IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_MASK (0x80U)
  52621. #define IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_SHIFT (7U)
  52622. /*! EDMA_LPSR_STOP_ACK - EDMA_LPSR stop acknowledge
  52623. */
  52624. #define IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_EDMA_LPSR_STOP_ACK_MASK)
  52625. #define IOMUXC_GPR_GPR75_ENET_STOP_ACK_MASK (0x100U)
  52626. #define IOMUXC_GPR_GPR75_ENET_STOP_ACK_SHIFT (8U)
  52627. /*! ENET_STOP_ACK - ENET stop acknowledge
  52628. */
  52629. #define IOMUXC_GPR_GPR75_ENET_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_ENET_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_ENET_STOP_ACK_MASK)
  52630. #define IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_MASK (0x200U)
  52631. #define IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_SHIFT (9U)
  52632. /*! ENET1G_STOP_ACK - ENET1G stop acknowledge
  52633. */
  52634. #define IOMUXC_GPR_GPR75_ENET1G_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_ENET1G_STOP_ACK_MASK)
  52635. #define IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_MASK (0x400U)
  52636. #define IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_SHIFT (10U)
  52637. /*! FLEXSPI1_STOP_ACK - FLEXSPI1 stop acknowledge
  52638. */
  52639. #define IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_FLEXSPI1_STOP_ACK_MASK)
  52640. #define IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_MASK (0x800U)
  52641. #define IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_SHIFT (11U)
  52642. /*! FLEXSPI2_STOP_ACK - FLEXSPI2 stop acknowledge
  52643. */
  52644. #define IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_FLEXSPI2_STOP_ACK_MASK)
  52645. #define IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_MASK (0x1000U)
  52646. #define IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_SHIFT (12U)
  52647. /*! LPI2C1_STOP_ACK - LPI2C1 stop acknowledge
  52648. */
  52649. #define IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C1_STOP_ACK_MASK)
  52650. #define IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_MASK (0x2000U)
  52651. #define IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_SHIFT (13U)
  52652. /*! LPI2C2_STOP_ACK - LPI2C2 stop acknowledge
  52653. */
  52654. #define IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C2_STOP_ACK_MASK)
  52655. #define IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_MASK (0x4000U)
  52656. #define IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_SHIFT (14U)
  52657. /*! LPI2C3_STOP_ACK - LPI2C3 stop acknowledge
  52658. */
  52659. #define IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C3_STOP_ACK_MASK)
  52660. #define IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_MASK (0x8000U)
  52661. #define IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_SHIFT (15U)
  52662. /*! LPI2C4_STOP_ACK - LPI2C4 stop acknowledge
  52663. */
  52664. #define IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C4_STOP_ACK_MASK)
  52665. #define IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_MASK (0x10000U)
  52666. #define IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_SHIFT (16U)
  52667. /*! LPI2C5_STOP_ACK - LPI2C5 stop acknowledge
  52668. */
  52669. #define IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C5_STOP_ACK_MASK)
  52670. #define IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_MASK (0x20000U)
  52671. #define IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_SHIFT (17U)
  52672. /*! LPI2C6_STOP_ACK - LPI2C6 stop acknowledge
  52673. */
  52674. #define IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPI2C6_STOP_ACK_MASK)
  52675. #define IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_MASK (0x40000U)
  52676. #define IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_SHIFT (18U)
  52677. /*! LPSPI1_STOP_ACK - LPSPI1 stop acknowledge
  52678. */
  52679. #define IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI1_STOP_ACK_MASK)
  52680. #define IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_MASK (0x80000U)
  52681. #define IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_SHIFT (19U)
  52682. /*! LPSPI2_STOP_ACK - LPSPI2 stop acknowledge
  52683. */
  52684. #define IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI2_STOP_ACK_MASK)
  52685. #define IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_MASK (0x100000U)
  52686. #define IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_SHIFT (20U)
  52687. /*! LPSPI3_STOP_ACK - LPSPI3 stop acknowledge
  52688. */
  52689. #define IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI3_STOP_ACK_MASK)
  52690. #define IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_MASK (0x200000U)
  52691. #define IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_SHIFT (21U)
  52692. /*! LPSPI4_STOP_ACK - LPSPI4 stop acknowledge
  52693. */
  52694. #define IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI4_STOP_ACK_MASK)
  52695. #define IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_MASK (0x400000U)
  52696. #define IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_SHIFT (22U)
  52697. /*! LPSPI5_STOP_ACK - LPSPI5 stop acknowledge
  52698. */
  52699. #define IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI5_STOP_ACK_MASK)
  52700. #define IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_MASK (0x800000U)
  52701. #define IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_SHIFT (23U)
  52702. /*! LPSPI6_STOP_ACK - LPSPI6 stop acknowledge
  52703. */
  52704. #define IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPSPI6_STOP_ACK_MASK)
  52705. #define IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_MASK (0x1000000U)
  52706. #define IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_SHIFT (24U)
  52707. /*! LPUART1_STOP_ACK - LPUART1 stop acknowledge
  52708. */
  52709. #define IOMUXC_GPR_GPR75_LPUART1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART1_STOP_ACK_MASK)
  52710. #define IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_MASK (0x2000000U)
  52711. #define IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_SHIFT (25U)
  52712. /*! LPUART2_STOP_ACK - LPUART2 stop acknowledge
  52713. */
  52714. #define IOMUXC_GPR_GPR75_LPUART2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART2_STOP_ACK_MASK)
  52715. #define IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_MASK (0x4000000U)
  52716. #define IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_SHIFT (26U)
  52717. /*! LPUART3_STOP_ACK - LPUART3 stop acknowledge
  52718. */
  52719. #define IOMUXC_GPR_GPR75_LPUART3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART3_STOP_ACK_MASK)
  52720. #define IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_MASK (0x8000000U)
  52721. #define IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_SHIFT (27U)
  52722. /*! LPUART4_STOP_ACK - LPUART4 stop acknowledge
  52723. */
  52724. #define IOMUXC_GPR_GPR75_LPUART4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART4_STOP_ACK_MASK)
  52725. #define IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_MASK (0x10000000U)
  52726. #define IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_SHIFT (28U)
  52727. /*! LPUART5_STOP_ACK - LPUART5 stop acknowledge
  52728. */
  52729. #define IOMUXC_GPR_GPR75_LPUART5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART5_STOP_ACK_MASK)
  52730. #define IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_MASK (0x20000000U)
  52731. #define IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_SHIFT (29U)
  52732. /*! LPUART6_STOP_ACK - LPUART6 stop acknowledge
  52733. */
  52734. #define IOMUXC_GPR_GPR75_LPUART6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART6_STOP_ACK_MASK)
  52735. #define IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_MASK (0x40000000U)
  52736. #define IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_SHIFT (30U)
  52737. /*! LPUART7_STOP_ACK - LPUART7 stop acknowledge
  52738. */
  52739. #define IOMUXC_GPR_GPR75_LPUART7_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART7_STOP_ACK_MASK)
  52740. #define IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_MASK (0x80000000U)
  52741. #define IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_SHIFT (31U)
  52742. /*! LPUART8_STOP_ACK - LPUART8 stop acknowledge
  52743. */
  52744. #define IOMUXC_GPR_GPR75_LPUART8_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR75_LPUART8_STOP_ACK_MASK)
  52745. /*! @} */
  52746. /*! @name GPR76 - GPR76 General Purpose Register */
  52747. /*! @{ */
  52748. #define IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_MASK (0x1U)
  52749. #define IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_SHIFT (0U)
  52750. /*! LPUART9_STOP_ACK - LPUART9 stop acknowledge
  52751. */
  52752. #define IOMUXC_GPR_GPR76_LPUART9_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_LPUART9_STOP_ACK_MASK)
  52753. #define IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_MASK (0x2U)
  52754. #define IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_SHIFT (1U)
  52755. /*! LPUART10_STOP_ACK - LPUART10 stop acknowledge
  52756. */
  52757. #define IOMUXC_GPR_GPR76_LPUART10_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_LPUART10_STOP_ACK_MASK)
  52758. #define IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_MASK (0x4U)
  52759. #define IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_SHIFT (2U)
  52760. /*! LPUART11_STOP_ACK - LPUART11 stop acknowledge
  52761. */
  52762. #define IOMUXC_GPR_GPR76_LPUART11_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_LPUART11_STOP_ACK_MASK)
  52763. #define IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_MASK (0x8U)
  52764. #define IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_SHIFT (3U)
  52765. /*! LPUART12_STOP_ACK - LPUART12 stop acknowledge
  52766. */
  52767. #define IOMUXC_GPR_GPR76_LPUART12_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_LPUART12_STOP_ACK_MASK)
  52768. #define IOMUXC_GPR_GPR76_MIC_STOP_ACK_MASK (0x10U)
  52769. #define IOMUXC_GPR_GPR76_MIC_STOP_ACK_SHIFT (4U)
  52770. /*! MIC_STOP_ACK - MIC stop acknowledge
  52771. */
  52772. #define IOMUXC_GPR_GPR76_MIC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_MIC_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_MIC_STOP_ACK_MASK)
  52773. #define IOMUXC_GPR_GPR76_PIT1_STOP_ACK_MASK (0x20U)
  52774. #define IOMUXC_GPR_GPR76_PIT1_STOP_ACK_SHIFT (5U)
  52775. /*! PIT1_STOP_ACK - PIT1 stop acknowledge
  52776. */
  52777. #define IOMUXC_GPR_GPR76_PIT1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_PIT1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_PIT1_STOP_ACK_MASK)
  52778. #define IOMUXC_GPR_GPR76_PIT2_STOP_ACK_MASK (0x40U)
  52779. #define IOMUXC_GPR_GPR76_PIT2_STOP_ACK_SHIFT (6U)
  52780. /*! PIT2_STOP_ACK - PIT2 stop acknowledge
  52781. */
  52782. #define IOMUXC_GPR_GPR76_PIT2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_PIT2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_PIT2_STOP_ACK_MASK)
  52783. #define IOMUXC_GPR_GPR76_SEMC_STOP_ACK_MASK (0x80U)
  52784. #define IOMUXC_GPR_GPR76_SEMC_STOP_ACK_SHIFT (7U)
  52785. /*! SEMC_STOP_ACK - SEMC stop acknowledge
  52786. */
  52787. #define IOMUXC_GPR_GPR76_SEMC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SEMC_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SEMC_STOP_ACK_MASK)
  52788. #define IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_MASK (0x100U)
  52789. #define IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_SHIFT (8U)
  52790. /*! SNVS_HP_STOP_ACK - SNVS_HP stop acknowledge
  52791. */
  52792. #define IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SNVS_HP_STOP_ACK_MASK)
  52793. #define IOMUXC_GPR_GPR76_SAI1_STOP_ACK_MASK (0x200U)
  52794. #define IOMUXC_GPR_GPR76_SAI1_STOP_ACK_SHIFT (9U)
  52795. /*! SAI1_STOP_ACK - SAI1 stop acknowledge
  52796. */
  52797. #define IOMUXC_GPR_GPR76_SAI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SAI1_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SAI1_STOP_ACK_MASK)
  52798. #define IOMUXC_GPR_GPR76_SAI2_STOP_ACK_MASK (0x400U)
  52799. #define IOMUXC_GPR_GPR76_SAI2_STOP_ACK_SHIFT (10U)
  52800. /*! SAI2_STOP_ACK - SAI2 stop acknowledge
  52801. */
  52802. #define IOMUXC_GPR_GPR76_SAI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SAI2_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SAI2_STOP_ACK_MASK)
  52803. #define IOMUXC_GPR_GPR76_SAI3_STOP_ACK_MASK (0x800U)
  52804. #define IOMUXC_GPR_GPR76_SAI3_STOP_ACK_SHIFT (11U)
  52805. /*! SAI3_STOP_ACK - SAI3 stop acknowledge
  52806. */
  52807. #define IOMUXC_GPR_GPR76_SAI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SAI3_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SAI3_STOP_ACK_MASK)
  52808. #define IOMUXC_GPR_GPR76_SAI4_STOP_ACK_MASK (0x1000U)
  52809. #define IOMUXC_GPR_GPR76_SAI4_STOP_ACK_SHIFT (12U)
  52810. /*! SAI4_STOP_ACK - SAI4 stop acknowledge
  52811. */
  52812. #define IOMUXC_GPR_GPR76_SAI4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_SAI4_STOP_ACK_SHIFT)) & IOMUXC_GPR_GPR76_SAI4_STOP_ACK_MASK)
  52813. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_MASK (0x2000U)
  52814. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_SHIFT (13U)
  52815. /*! FLEXIO1_STOP_ACK_BUS - FLEXIO1 stop acknowledge of bus clock domain
  52816. */
  52817. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_SHIFT)) & IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_BUS_MASK)
  52818. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_MASK (0x4000U)
  52819. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_SHIFT (14U)
  52820. /*! FLEXIO1_STOP_ACK_PER - FLEXIO1 stop acknowledge of peripheral clock domain
  52821. */
  52822. #define IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_SHIFT)) & IOMUXC_GPR_GPR76_FLEXIO1_STOP_ACK_PER_MASK)
  52823. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_MASK (0x8000U)
  52824. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_SHIFT (15U)
  52825. /*! FLEXIO2_STOP_ACK_BUS - FLEXIO2 stop acknowledge of bus clock domain
  52826. */
  52827. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_SHIFT)) & IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_BUS_MASK)
  52828. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_MASK (0x10000U)
  52829. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_SHIFT (16U)
  52830. /*! FLEXIO2_STOP_ACK_PER - FLEXIO2 stop acknowledge of peripheral clock domain
  52831. */
  52832. #define IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_SHIFT)) & IOMUXC_GPR_GPR76_FLEXIO2_STOP_ACK_PER_MASK)
  52833. /*! @} */
  52834. /*!
  52835. * @}
  52836. */ /* end of group IOMUXC_GPR_Register_Masks */
  52837. /* IOMUXC_GPR - Peripheral instance base addresses */
  52838. /** Peripheral IOMUXC_GPR base address */
  52839. #define IOMUXC_GPR_BASE (0x400E4000u)
  52840. /** Peripheral IOMUXC_GPR base pointer */
  52841. #define IOMUXC_GPR ((IOMUXC_GPR_Type *)IOMUXC_GPR_BASE)
  52842. /** Array initializer of IOMUXC_GPR peripheral base addresses */
  52843. #define IOMUXC_GPR_BASE_ADDRS { IOMUXC_GPR_BASE }
  52844. /** Array initializer of IOMUXC_GPR peripheral base pointers */
  52845. #define IOMUXC_GPR_BASE_PTRS { IOMUXC_GPR }
  52846. /*!
  52847. * @}
  52848. */ /* end of group IOMUXC_GPR_Peripheral_Access_Layer */
  52849. /* ----------------------------------------------------------------------------
  52850. -- IOMUXC_LPSR Peripheral Access Layer
  52851. ---------------------------------------------------------------------------- */
  52852. /*!
  52853. * @addtogroup IOMUXC_LPSR_Peripheral_Access_Layer IOMUXC_LPSR Peripheral Access Layer
  52854. * @{
  52855. */
  52856. /** IOMUXC_LPSR - Register Layout Typedef */
  52857. typedef struct {
  52858. __IO uint32_t SW_MUX_CTL_PAD[16]; /**< SW_MUX_CTL_PAD_GPIO_LPSR_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_LPSR_15 SW MUX Control Register, array offset: 0x0, array step: 0x4 */
  52859. __IO uint32_t SW_PAD_CTL_PAD[16]; /**< SW_PAD_CTL_PAD_GPIO_LPSR_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_LPSR_15 SW PAD Control Register, array offset: 0x40, array step: 0x4 */
  52860. __IO uint32_t SELECT_INPUT[24]; /**< CAN3_IPP_IND_CANRX_SELECT_INPUT DAISY Register..SAI4_IPP_IND_SAI_TXSYNC_SELECT_INPUT DAISY Register, array offset: 0x80, array step: 0x4 */
  52861. } IOMUXC_LPSR_Type;
  52862. /* ----------------------------------------------------------------------------
  52863. -- IOMUXC_LPSR Register Masks
  52864. ---------------------------------------------------------------------------- */
  52865. /*!
  52866. * @addtogroup IOMUXC_LPSR_Register_Masks IOMUXC_LPSR Register Masks
  52867. * @{
  52868. */
  52869. /*! @name SW_MUX_CTL_PAD - SW_MUX_CTL_PAD_GPIO_LPSR_00 SW MUX Control Register..SW_MUX_CTL_PAD_GPIO_LPSR_15 SW MUX Control Register */
  52870. /*! @{ */
  52871. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_MASK (0xFU)
  52872. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_SHIFT (0U)
  52873. /*! MUX_MODE - MUX Mode Select Field.
  52874. * 0b0000..Select mux mode: ALT0 mux port: FLEXCAN3_TX of instance: FLEXCAN3
  52875. * 0b0001..Select mux mode: ALT1 mux port: MIC_CLK of instance: MIC
  52876. * 0b0010..Select mux mode: ALT2 mux port: MQS_RIGHT of instance: MQS
  52877. * 0b0011..Select mux mode: ALT3 mux port: ARM_CM4_EVENTO of instance: CM4
  52878. * 0b0101..Select mux mode: ALT5 mux port: GPIO_MUX6_IO00 of instance: GPIO_MUX6
  52879. * 0b0110..Select mux mode: ALT6 mux port: LPUART12_TXD of instance: LPUART12
  52880. * 0b0111..Select mux mode: ALT7 mux port: SAI4_MCLK of instance: SAI4
  52881. * 0b1010..Select mux mode: ALT10 mux port: GPIO12_IO00 of instance: GPIO12
  52882. */
  52883. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_SHIFT)) & IOMUXC_LPSR_SW_MUX_CTL_PAD_MUX_MODE_MASK)
  52884. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_MASK (0x10U)
  52885. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_SHIFT (4U)
  52886. /*! SION - Software Input On Field.
  52887. * 0b1..Force input path of pad GPIO_LPSR_00
  52888. * 0b0..Input Path is determined by functionality
  52889. */
  52890. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_SHIFT)) & IOMUXC_LPSR_SW_MUX_CTL_PAD_SION_MASK)
  52891. /*! @} */
  52892. /* The count of IOMUXC_LPSR_SW_MUX_CTL_PAD */
  52893. #define IOMUXC_LPSR_SW_MUX_CTL_PAD_COUNT (16U)
  52894. /*! @name SW_PAD_CTL_PAD - SW_PAD_CTL_PAD_GPIO_LPSR_00 SW PAD Control Register..SW_PAD_CTL_PAD_GPIO_LPSR_15 SW PAD Control Register */
  52895. /*! @{ */
  52896. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_MASK (0x1U)
  52897. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_SHIFT (0U)
  52898. /*! SRE - Slew Rate Field
  52899. * 0b0..Slow Slew Rate
  52900. * 0b1..Fast Slew Rate
  52901. */
  52902. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_SRE_MASK)
  52903. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_MASK (0x2U)
  52904. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_SHIFT (1U)
  52905. /*! DSE - Drive Strength Field
  52906. * 0b0..normal driver
  52907. * 0b1..high driver
  52908. */
  52909. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_DSE_MASK)
  52910. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_MASK (0x4U)
  52911. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_SHIFT (2U)
  52912. /*! PUE - Pull / Keep Select Field
  52913. * 0b0..Pull Disable
  52914. * 0b1..Pull Enable
  52915. */
  52916. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_PUE_MASK)
  52917. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_MASK (0x8U)
  52918. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_SHIFT (3U)
  52919. /*! PUS - Pull Up / Down Config. Field
  52920. * 0b0..Weak pull down
  52921. * 0b1..Weak pull up
  52922. */
  52923. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_PUS_MASK)
  52924. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_MASK (0x20U)
  52925. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_SHIFT (5U)
  52926. /*! ODE_LPSR - Open Drain LPSR Field
  52927. * 0b0..Disabled
  52928. * 0b1..Enabled
  52929. */
  52930. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_ODE_LPSR_MASK)
  52931. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_MASK (0x30000000U)
  52932. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_SHIFT (28U)
  52933. /*! DWP - Domain write protection
  52934. * 0b00..Both cores are allowed
  52935. * 0b01..CM7 is forbidden
  52936. * 0b10..CM4 is forbidden
  52937. * 0b11..Both cores are forbidden
  52938. */
  52939. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_MASK)
  52940. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_MASK (0xC0000000U)
  52941. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT (30U)
  52942. /*! DWP_LOCK - Domain write protection lock
  52943. * 0b00..Neither of DWP bits is locked
  52944. * 0b01..The lower DWP bit is locked
  52945. * 0b10..The higher DWP bit is locked
  52946. * 0b11..Both DWP bits are locked
  52947. */
  52948. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_SW_PAD_CTL_PAD_DWP_LOCK_MASK)
  52949. /*! @} */
  52950. /* The count of IOMUXC_LPSR_SW_PAD_CTL_PAD */
  52951. #define IOMUXC_LPSR_SW_PAD_CTL_PAD_COUNT (16U)
  52952. /*! @name SELECT_INPUT - CAN3_IPP_IND_CANRX_SELECT_INPUT DAISY Register..SAI4_IPP_IND_SAI_TXSYNC_SELECT_INPUT DAISY Register */
  52953. /*! @{ */
  52954. #define IOMUXC_LPSR_SELECT_INPUT_DAISY_MASK (0x3U) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  52955. #define IOMUXC_LPSR_SELECT_INPUT_DAISY_SHIFT (0U)
  52956. /*! DAISY - Selecting Pads Involved in Daisy Chain.
  52957. * 0b00..Selecting Pad: GPIO_LPSR_01 for Mode: ALT0
  52958. * 0b01..Selecting Pad: GPIO_LPSR_07 for Mode: ALT6
  52959. * 0b10..Selecting Pad: GPIO_LPSR_09 for Mode: ALT1
  52960. */
  52961. #define IOMUXC_LPSR_SELECT_INPUT_DAISY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_SELECT_INPUT_DAISY_SHIFT)) & IOMUXC_LPSR_SELECT_INPUT_DAISY_MASK) /* Merged from fields with different position or width, of widths (1, 2), largest definition used */
  52962. /*! @} */
  52963. /* The count of IOMUXC_LPSR_SELECT_INPUT */
  52964. #define IOMUXC_LPSR_SELECT_INPUT_COUNT (24U)
  52965. /*!
  52966. * @}
  52967. */ /* end of group IOMUXC_LPSR_Register_Masks */
  52968. /* IOMUXC_LPSR - Peripheral instance base addresses */
  52969. /** Peripheral IOMUXC_LPSR base address */
  52970. #define IOMUXC_LPSR_BASE (0x40C08000u)
  52971. /** Peripheral IOMUXC_LPSR base pointer */
  52972. #define IOMUXC_LPSR ((IOMUXC_LPSR_Type *)IOMUXC_LPSR_BASE)
  52973. /** Array initializer of IOMUXC_LPSR peripheral base addresses */
  52974. #define IOMUXC_LPSR_BASE_ADDRS { IOMUXC_LPSR_BASE }
  52975. /** Array initializer of IOMUXC_LPSR peripheral base pointers */
  52976. #define IOMUXC_LPSR_BASE_PTRS { IOMUXC_LPSR }
  52977. /*!
  52978. * @}
  52979. */ /* end of group IOMUXC_LPSR_Peripheral_Access_Layer */
  52980. /* ----------------------------------------------------------------------------
  52981. -- IOMUXC_LPSR_GPR Peripheral Access Layer
  52982. ---------------------------------------------------------------------------- */
  52983. /*!
  52984. * @addtogroup IOMUXC_LPSR_GPR_Peripheral_Access_Layer IOMUXC_LPSR_GPR Peripheral Access Layer
  52985. * @{
  52986. */
  52987. /** IOMUXC_LPSR_GPR - Register Layout Typedef */
  52988. typedef struct {
  52989. __IO uint32_t GPR0; /**< GPR0 General Purpose Register, offset: 0x0 */
  52990. __IO uint32_t GPR1; /**< GPR1 General Purpose Register, offset: 0x4 */
  52991. __IO uint32_t GPR2; /**< GPR2 General Purpose Register, offset: 0x8 */
  52992. __IO uint32_t GPR3; /**< GPR3 General Purpose Register, offset: 0xC */
  52993. __IO uint32_t GPR4; /**< GPR4 General Purpose Register, offset: 0x10 */
  52994. __IO uint32_t GPR5; /**< GPR5 General Purpose Register, offset: 0x14 */
  52995. __IO uint32_t GPR6; /**< GPR6 General Purpose Register, offset: 0x18 */
  52996. __IO uint32_t GPR7; /**< GPR7 General Purpose Register, offset: 0x1C */
  52997. __IO uint32_t GPR8; /**< GPR8 General Purpose Register, offset: 0x20 */
  52998. __IO uint32_t GPR9; /**< GPR9 General Purpose Register, offset: 0x24 */
  52999. __IO uint32_t GPR10; /**< GPR10 General Purpose Register, offset: 0x28 */
  53000. __IO uint32_t GPR11; /**< GPR11 General Purpose Register, offset: 0x2C */
  53001. __IO uint32_t GPR12; /**< GPR12 General Purpose Register, offset: 0x30 */
  53002. __IO uint32_t GPR13; /**< GPR13 General Purpose Register, offset: 0x34 */
  53003. __IO uint32_t GPR14; /**< GPR14 General Purpose Register, offset: 0x38 */
  53004. __IO uint32_t GPR15; /**< GPR15 General Purpose Register, offset: 0x3C */
  53005. __IO uint32_t GPR16; /**< GPR16 General Purpose Register, offset: 0x40 */
  53006. __IO uint32_t GPR17; /**< GPR17 General Purpose Register, offset: 0x44 */
  53007. __IO uint32_t GPR18; /**< GPR18 General Purpose Register, offset: 0x48 */
  53008. __IO uint32_t GPR19; /**< GPR19 General Purpose Register, offset: 0x4C */
  53009. __IO uint32_t GPR20; /**< GPR20 General Purpose Register, offset: 0x50 */
  53010. __IO uint32_t GPR21; /**< GPR21 General Purpose Register, offset: 0x54 */
  53011. __IO uint32_t GPR22; /**< GPR22 General Purpose Register, offset: 0x58 */
  53012. __IO uint32_t GPR23; /**< GPR23 General Purpose Register, offset: 0x5C */
  53013. __IO uint32_t GPR24; /**< GPR24 General Purpose Register, offset: 0x60 */
  53014. __IO uint32_t GPR25; /**< GPR25 General Purpose Register, offset: 0x64 */
  53015. __IO uint32_t GPR26; /**< GPR26 General Purpose Register, offset: 0x68 */
  53016. uint8_t RESERVED_0[24];
  53017. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  53018. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  53019. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  53020. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  53021. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  53022. __IO uint32_t GPR38; /**< GPR38 General Purpose Register, offset: 0x98 */
  53023. __IO uint32_t GPR39; /**< GPR39 General Purpose Register, offset: 0x9C */
  53024. __I uint32_t GPR40; /**< GPR40 General Purpose Register, offset: 0xA0 */
  53025. __I uint32_t GPR41; /**< GPR41 General Purpose Register, offset: 0xA4 */
  53026. } IOMUXC_LPSR_GPR_Type;
  53027. /* ----------------------------------------------------------------------------
  53028. -- IOMUXC_LPSR_GPR Register Masks
  53029. ---------------------------------------------------------------------------- */
  53030. /*!
  53031. * @addtogroup IOMUXC_LPSR_GPR_Register_Masks IOMUXC_LPSR_GPR Register Masks
  53032. * @{
  53033. */
  53034. /*! @name GPR0 - GPR0 General Purpose Register */
  53035. /*! @{ */
  53036. #define IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_MASK (0xFFF8U)
  53037. #define IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_SHIFT (3U)
  53038. /*! CM4_INIT_VTOR_LOW - CM4 Vector table offset value lower bits out of reset
  53039. */
  53040. #define IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_SHIFT)) & IOMUXC_LPSR_GPR_GPR0_CM4_INIT_VTOR_LOW_MASK)
  53041. #define IOMUXC_LPSR_GPR_GPR0_DWP_MASK (0x30000000U)
  53042. #define IOMUXC_LPSR_GPR_GPR0_DWP_SHIFT (28U)
  53043. /*! DWP - Domain write protection
  53044. * 0b00..Both cores are allowed
  53045. * 0b01..CM7 is forbidden
  53046. * 0b10..CM4 is forbidden
  53047. * 0b11..Both cores are forbidden
  53048. */
  53049. #define IOMUXC_LPSR_GPR_GPR0_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR0_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR0_DWP_MASK)
  53050. #define IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_MASK (0xC0000000U)
  53051. #define IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_SHIFT (30U)
  53052. /*! DWP_LOCK - Domain write protection lock
  53053. * 0b00..Neither of DWP bits is locked
  53054. * 0b01..The lower DWP bit is locked
  53055. * 0b10..The higher DWP bit is locked
  53056. * 0b11..Both DWP bits are locked
  53057. */
  53058. #define IOMUXC_LPSR_GPR_GPR0_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR0_DWP_LOCK_MASK)
  53059. /*! @} */
  53060. /*! @name GPR1 - GPR1 General Purpose Register */
  53061. /*! @{ */
  53062. #define IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_MASK (0xFFFFU)
  53063. #define IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_SHIFT (0U)
  53064. /*! CM4_INIT_VTOR_HIGH - CM4 Vector table offset value higher bits out of reset
  53065. */
  53066. #define IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_SHIFT)) & IOMUXC_LPSR_GPR_GPR1_CM4_INIT_VTOR_HIGH_MASK)
  53067. #define IOMUXC_LPSR_GPR_GPR1_DWP_MASK (0x30000000U)
  53068. #define IOMUXC_LPSR_GPR_GPR1_DWP_SHIFT (28U)
  53069. /*! DWP - Domain write protection
  53070. * 0b00..Both cores are allowed
  53071. * 0b01..CM7 is forbidden
  53072. * 0b10..CM4 is forbidden
  53073. * 0b11..Both cores are forbidden
  53074. */
  53075. #define IOMUXC_LPSR_GPR_GPR1_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR1_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR1_DWP_MASK)
  53076. #define IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_MASK (0xC0000000U)
  53077. #define IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_SHIFT (30U)
  53078. /*! DWP_LOCK - Domain write protection lock
  53079. * 0b00..Neither of DWP bits is locked
  53080. * 0b01..The lower DWP bit is locked
  53081. * 0b10..The higher DWP bit is locked
  53082. * 0b11..Both DWP bits are locked
  53083. */
  53084. #define IOMUXC_LPSR_GPR_GPR1_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR1_DWP_LOCK_MASK)
  53085. /*! @} */
  53086. /*! @name GPR2 - GPR2 General Purpose Register */
  53087. /*! @{ */
  53088. #define IOMUXC_LPSR_GPR_GPR2_LOCK_MASK (0x1U)
  53089. #define IOMUXC_LPSR_GPR_GPR2_LOCK_SHIFT (0U)
  53090. /*! LOCK - Lock the write to bit 31:1
  53091. * 0b1..Write access to bit 31:1 is blocked
  53092. * 0b0..Write access to bit 31:1 is not blocked
  53093. */
  53094. #define IOMUXC_LPSR_GPR_GPR2_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR2_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR2_LOCK_MASK)
  53095. #define IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_MASK (0xFFFFFFF8U)
  53096. #define IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_SHIFT (3U)
  53097. /*! APC_AC_R0_BOT - APC start address of memory region-0
  53098. */
  53099. #define IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR2_APC_AC_R0_BOT_MASK)
  53100. /*! @} */
  53101. /*! @name GPR3 - GPR3 General Purpose Register */
  53102. /*! @{ */
  53103. #define IOMUXC_LPSR_GPR_GPR3_LOCK_MASK (0x1U)
  53104. #define IOMUXC_LPSR_GPR_GPR3_LOCK_SHIFT (0U)
  53105. /*! LOCK - Lock the write to bit 31:1
  53106. * 0b1..Write access to bit 31:1 is blocked
  53107. * 0b0..Write access to bit 31:1 is not blocked
  53108. */
  53109. #define IOMUXC_LPSR_GPR_GPR3_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR3_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR3_LOCK_MASK)
  53110. #define IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_MASK (0xFFFFFFF8U)
  53111. #define IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_SHIFT (3U)
  53112. /*! APC_AC_R0_TOP - APC end address of memory region-0
  53113. */
  53114. #define IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR3_APC_AC_R0_TOP_MASK)
  53115. /*! @} */
  53116. /*! @name GPR4 - GPR4 General Purpose Register */
  53117. /*! @{ */
  53118. #define IOMUXC_LPSR_GPR_GPR4_LOCK_MASK (0x1U)
  53119. #define IOMUXC_LPSR_GPR_GPR4_LOCK_SHIFT (0U)
  53120. /*! LOCK - Lock the write to bit 31:1
  53121. * 0b1..Write access to bit 31:1 is blocked
  53122. * 0b0..Write access to bit 31:1 is not blocked
  53123. */
  53124. #define IOMUXC_LPSR_GPR_GPR4_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR4_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR4_LOCK_MASK)
  53125. #define IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_MASK (0xFFFFFFF8U)
  53126. #define IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_SHIFT (3U)
  53127. /*! APC_AC_R1_BOT - APC start address of memory region-1
  53128. */
  53129. #define IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR4_APC_AC_R1_BOT_MASK)
  53130. /*! @} */
  53131. /*! @name GPR5 - GPR5 General Purpose Register */
  53132. /*! @{ */
  53133. #define IOMUXC_LPSR_GPR_GPR5_LOCK_MASK (0x1U)
  53134. #define IOMUXC_LPSR_GPR_GPR5_LOCK_SHIFT (0U)
  53135. /*! LOCK - Lock the write to bit 31:1
  53136. * 0b1..Write access to bit 31:1 is blocked
  53137. * 0b0..Write access to bit 31:1 is not blocked
  53138. */
  53139. #define IOMUXC_LPSR_GPR_GPR5_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR5_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR5_LOCK_MASK)
  53140. #define IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_MASK (0xFFFFFFF8U)
  53141. #define IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_SHIFT (3U)
  53142. /*! APC_AC_R1_TOP - APC end address of memory region-1
  53143. */
  53144. #define IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR5_APC_AC_R1_TOP_MASK)
  53145. /*! @} */
  53146. /*! @name GPR6 - GPR6 General Purpose Register */
  53147. /*! @{ */
  53148. #define IOMUXC_LPSR_GPR_GPR6_LOCK_MASK (0x1U)
  53149. #define IOMUXC_LPSR_GPR_GPR6_LOCK_SHIFT (0U)
  53150. /*! LOCK - Lock the write to bit 31:1
  53151. * 0b1..Write access to bit 31:1 is blocked
  53152. * 0b0..Write access to bit 31:1 is not blocked
  53153. */
  53154. #define IOMUXC_LPSR_GPR_GPR6_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR6_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR6_LOCK_MASK)
  53155. #define IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_MASK (0xFFFFFFF8U)
  53156. #define IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_SHIFT (3U)
  53157. /*! APC_AC_R2_BOT - APC start address of memory region-2
  53158. */
  53159. #define IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR6_APC_AC_R2_BOT_MASK)
  53160. /*! @} */
  53161. /*! @name GPR7 - GPR7 General Purpose Register */
  53162. /*! @{ */
  53163. #define IOMUXC_LPSR_GPR_GPR7_LOCK_MASK (0x1U)
  53164. #define IOMUXC_LPSR_GPR_GPR7_LOCK_SHIFT (0U)
  53165. /*! LOCK - Lock the write to bit 31:1
  53166. * 0b1..Write access to bit 31:1 is blocked
  53167. * 0b0..Write access to bit 31:1 is not blocked
  53168. */
  53169. #define IOMUXC_LPSR_GPR_GPR7_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR7_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR7_LOCK_MASK)
  53170. #define IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_MASK (0xFFFFFFF8U)
  53171. #define IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_SHIFT (3U)
  53172. /*! APC_AC_R2_TOP - APC end address of memory region-2
  53173. */
  53174. #define IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR7_APC_AC_R2_TOP_MASK)
  53175. /*! @} */
  53176. /*! @name GPR8 - GPR8 General Purpose Register */
  53177. /*! @{ */
  53178. #define IOMUXC_LPSR_GPR_GPR8_LOCK_MASK (0x1U)
  53179. #define IOMUXC_LPSR_GPR_GPR8_LOCK_SHIFT (0U)
  53180. /*! LOCK - Lock the write to bit 31:1
  53181. * 0b1..Write access to bit 31:1 is blocked
  53182. * 0b0..Write access to bit 31:1 is not blocked
  53183. */
  53184. #define IOMUXC_LPSR_GPR_GPR8_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR8_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR8_LOCK_MASK)
  53185. #define IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_MASK (0xFFFFFFF8U)
  53186. #define IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_SHIFT (3U)
  53187. /*! APC_AC_R3_BOT - APC start address of memory region-3
  53188. */
  53189. #define IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR8_APC_AC_R3_BOT_MASK)
  53190. /*! @} */
  53191. /*! @name GPR9 - GPR9 General Purpose Register */
  53192. /*! @{ */
  53193. #define IOMUXC_LPSR_GPR_GPR9_LOCK_MASK (0x1U)
  53194. #define IOMUXC_LPSR_GPR_GPR9_LOCK_SHIFT (0U)
  53195. /*! LOCK - Lock the write to bit 31:1
  53196. * 0b1..Write access to bit 31:1 is blocked
  53197. * 0b0..Write access to bit 31:1 is not blocked
  53198. */
  53199. #define IOMUXC_LPSR_GPR_GPR9_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR9_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR9_LOCK_MASK)
  53200. #define IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_MASK (0xFFFFFFF8U)
  53201. #define IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_SHIFT (3U)
  53202. /*! APC_AC_R3_TOP - APC end address of memory region-3
  53203. */
  53204. #define IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR9_APC_AC_R3_TOP_MASK)
  53205. /*! @} */
  53206. /*! @name GPR10 - GPR10 General Purpose Register */
  53207. /*! @{ */
  53208. #define IOMUXC_LPSR_GPR_GPR10_LOCK_MASK (0x1U)
  53209. #define IOMUXC_LPSR_GPR_GPR10_LOCK_SHIFT (0U)
  53210. /*! LOCK - Lock the write to bit 31:1
  53211. * 0b1..Write access to bit 31:1 is blocked
  53212. * 0b0..Write access to bit 31:1 is not blocked
  53213. */
  53214. #define IOMUXC_LPSR_GPR_GPR10_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR10_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR10_LOCK_MASK)
  53215. #define IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_MASK (0xFFFFFFF8U)
  53216. #define IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_SHIFT (3U)
  53217. /*! APC_AC_R4_BOT - APC start address of memory region-4
  53218. */
  53219. #define IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR10_APC_AC_R4_BOT_MASK)
  53220. /*! @} */
  53221. /*! @name GPR11 - GPR11 General Purpose Register */
  53222. /*! @{ */
  53223. #define IOMUXC_LPSR_GPR_GPR11_LOCK_MASK (0x1U)
  53224. #define IOMUXC_LPSR_GPR_GPR11_LOCK_SHIFT (0U)
  53225. /*! LOCK - Lock the write to bit 31:1
  53226. * 0b1..Write access to bit 31:1 is blocked
  53227. * 0b0..Write access to bit 31:1 is not blocked
  53228. */
  53229. #define IOMUXC_LPSR_GPR_GPR11_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR11_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR11_LOCK_MASK)
  53230. #define IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_MASK (0xFFFFFFF8U)
  53231. #define IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_SHIFT (3U)
  53232. /*! APC_AC_R4_TOP - APC end address of memory region-4
  53233. */
  53234. #define IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR11_APC_AC_R4_TOP_MASK)
  53235. /*! @} */
  53236. /*! @name GPR12 - GPR12 General Purpose Register */
  53237. /*! @{ */
  53238. #define IOMUXC_LPSR_GPR_GPR12_LOCK_MASK (0x1U)
  53239. #define IOMUXC_LPSR_GPR_GPR12_LOCK_SHIFT (0U)
  53240. /*! LOCK - Lock the write to bit 31:1
  53241. * 0b1..Write access to bit 31:1 is blocked
  53242. * 0b0..Write access to bit 31:1 is not blocked
  53243. */
  53244. #define IOMUXC_LPSR_GPR_GPR12_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR12_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR12_LOCK_MASK)
  53245. #define IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_MASK (0xFFFFFFF8U)
  53246. #define IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_SHIFT (3U)
  53247. /*! APC_AC_R5_BOT - APC start address of memory region-5
  53248. */
  53249. #define IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR12_APC_AC_R5_BOT_MASK)
  53250. /*! @} */
  53251. /*! @name GPR13 - GPR13 General Purpose Register */
  53252. /*! @{ */
  53253. #define IOMUXC_LPSR_GPR_GPR13_LOCK_MASK (0x1U)
  53254. #define IOMUXC_LPSR_GPR_GPR13_LOCK_SHIFT (0U)
  53255. /*! LOCK - Lock the write to bit 31:1
  53256. * 0b1..Write access to bit 31:1 is blocked
  53257. * 0b0..Write access to bit 31:1 is not blocked
  53258. */
  53259. #define IOMUXC_LPSR_GPR_GPR13_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR13_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR13_LOCK_MASK)
  53260. #define IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_MASK (0xFFFFFFF8U)
  53261. #define IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_SHIFT (3U)
  53262. /*! APC_AC_R5_TOP - APC end address of memory region-5
  53263. */
  53264. #define IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR13_APC_AC_R5_TOP_MASK)
  53265. /*! @} */
  53266. /*! @name GPR14 - GPR14 General Purpose Register */
  53267. /*! @{ */
  53268. #define IOMUXC_LPSR_GPR_GPR14_LOCK_MASK (0x1U)
  53269. #define IOMUXC_LPSR_GPR_GPR14_LOCK_SHIFT (0U)
  53270. /*! LOCK - Lock the write to bit 31:1
  53271. * 0b1..Write access to bit 31:1 is blocked
  53272. * 0b0..Write access to bit 31:1 is not blocked
  53273. */
  53274. #define IOMUXC_LPSR_GPR_GPR14_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR14_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR14_LOCK_MASK)
  53275. #define IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_MASK (0xFFFFFFF8U)
  53276. #define IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_SHIFT (3U)
  53277. /*! APC_AC_R6_BOT - APC start address of memory region-6
  53278. */
  53279. #define IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR14_APC_AC_R6_BOT_MASK)
  53280. /*! @} */
  53281. /*! @name GPR15 - GPR15 General Purpose Register */
  53282. /*! @{ */
  53283. #define IOMUXC_LPSR_GPR_GPR15_LOCK_MASK (0x1U)
  53284. #define IOMUXC_LPSR_GPR_GPR15_LOCK_SHIFT (0U)
  53285. /*! LOCK - Lock the write to bit 31:1
  53286. * 0b1..Write access to bit 31:1 is blocked
  53287. * 0b0..Write access to bit 31:1 is not blocked
  53288. */
  53289. #define IOMUXC_LPSR_GPR_GPR15_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR15_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR15_LOCK_MASK)
  53290. #define IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_MASK (0xFFFFFFF8U)
  53291. #define IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_SHIFT (3U)
  53292. /*! APC_AC_R6_TOP - APC end address of memory region-6
  53293. */
  53294. #define IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR15_APC_AC_R6_TOP_MASK)
  53295. /*! @} */
  53296. /*! @name GPR16 - GPR16 General Purpose Register */
  53297. /*! @{ */
  53298. #define IOMUXC_LPSR_GPR_GPR16_LOCK_MASK (0x1U)
  53299. #define IOMUXC_LPSR_GPR_GPR16_LOCK_SHIFT (0U)
  53300. /*! LOCK - Lock the write to bit 31:1
  53301. * 0b1..Write access to bit 31:1 is blocked
  53302. * 0b0..Write access to bit 31:1 is not blocked
  53303. */
  53304. #define IOMUXC_LPSR_GPR_GPR16_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR16_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR16_LOCK_MASK)
  53305. #define IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_MASK (0xFFFFFFF8U)
  53306. #define IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_SHIFT (3U)
  53307. /*! APC_AC_R7_BOT - APC start address of memory region-7
  53308. */
  53309. #define IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_SHIFT)) & IOMUXC_LPSR_GPR_GPR16_APC_AC_R7_BOT_MASK)
  53310. /*! @} */
  53311. /*! @name GPR17 - GPR17 General Purpose Register */
  53312. /*! @{ */
  53313. #define IOMUXC_LPSR_GPR_GPR17_LOCK_MASK (0x1U)
  53314. #define IOMUXC_LPSR_GPR_GPR17_LOCK_SHIFT (0U)
  53315. /*! LOCK - Lock the write to bit 31:1
  53316. * 0b1..Write access to bit 31:1 is blocked
  53317. * 0b0..Write access to bit 31:1 is not blocked
  53318. */
  53319. #define IOMUXC_LPSR_GPR_GPR17_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR17_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR17_LOCK_MASK)
  53320. #define IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_MASK (0xFFFFFFF8U)
  53321. #define IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_SHIFT (3U)
  53322. /*! APC_AC_R7_TOP - APC end address of memory region-7
  53323. */
  53324. #define IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_SHIFT)) & IOMUXC_LPSR_GPR_GPR17_APC_AC_R7_TOP_MASK)
  53325. /*! @} */
  53326. /*! @name GPR18 - GPR18 General Purpose Register */
  53327. /*! @{ */
  53328. #define IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_MASK (0x10U)
  53329. #define IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_SHIFT (4U)
  53330. /*! APC_R0_ENCRYPT_ENABLE - APC memory region-0 encryption enable
  53331. * 0b1..Encryption enabled
  53332. * 0b0..No effect
  53333. */
  53334. #define IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR18_APC_R0_ENCRYPT_ENABLE_MASK)
  53335. #define IOMUXC_LPSR_GPR_GPR18_LOCK_MASK (0xFFFF0000U)
  53336. #define IOMUXC_LPSR_GPR_GPR18_LOCK_SHIFT (16U)
  53337. /*! LOCK - Lock the write to bit 15:0
  53338. */
  53339. #define IOMUXC_LPSR_GPR_GPR18_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR18_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR18_LOCK_MASK)
  53340. /*! @} */
  53341. /*! @name GPR19 - GPR19 General Purpose Register */
  53342. /*! @{ */
  53343. #define IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_MASK (0x10U)
  53344. #define IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_SHIFT (4U)
  53345. /*! APC_R1_ENCRYPT_ENABLE - APC memory region-1 encryption enable
  53346. * 0b1..Encryption enabled
  53347. * 0b0..No effect
  53348. */
  53349. #define IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR19_APC_R1_ENCRYPT_ENABLE_MASK)
  53350. #define IOMUXC_LPSR_GPR_GPR19_LOCK_MASK (0xFFFF0000U)
  53351. #define IOMUXC_LPSR_GPR_GPR19_LOCK_SHIFT (16U)
  53352. /*! LOCK - Lock the write to bit 15:0
  53353. */
  53354. #define IOMUXC_LPSR_GPR_GPR19_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR19_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR19_LOCK_MASK)
  53355. /*! @} */
  53356. /*! @name GPR20 - GPR20 General Purpose Register */
  53357. /*! @{ */
  53358. #define IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_MASK (0x10U)
  53359. #define IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_SHIFT (4U)
  53360. /*! APC_R2_ENCRYPT_ENABLE - APC memory region-2 encryption enable
  53361. * 0b1..Encryption enabled
  53362. * 0b0..No effect
  53363. */
  53364. #define IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR20_APC_R2_ENCRYPT_ENABLE_MASK)
  53365. #define IOMUXC_LPSR_GPR_GPR20_LOCK_MASK (0xFFFF0000U)
  53366. #define IOMUXC_LPSR_GPR_GPR20_LOCK_SHIFT (16U)
  53367. /*! LOCK - Lock the write to bit 15:0
  53368. */
  53369. #define IOMUXC_LPSR_GPR_GPR20_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR20_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR20_LOCK_MASK)
  53370. /*! @} */
  53371. /*! @name GPR21 - GPR21 General Purpose Register */
  53372. /*! @{ */
  53373. #define IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_MASK (0x10U)
  53374. #define IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_SHIFT (4U)
  53375. /*! APC_R3_ENCRYPT_ENABLE - APC memory region-3 encryption enable
  53376. * 0b1..Encryption enabled
  53377. * 0b0..No effect
  53378. */
  53379. #define IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR21_APC_R3_ENCRYPT_ENABLE_MASK)
  53380. #define IOMUXC_LPSR_GPR_GPR21_LOCK_MASK (0xFFFF0000U)
  53381. #define IOMUXC_LPSR_GPR_GPR21_LOCK_SHIFT (16U)
  53382. /*! LOCK - Lock the write to bit 15:0
  53383. */
  53384. #define IOMUXC_LPSR_GPR_GPR21_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR21_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR21_LOCK_MASK)
  53385. /*! @} */
  53386. /*! @name GPR22 - GPR22 General Purpose Register */
  53387. /*! @{ */
  53388. #define IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_MASK (0x10U)
  53389. #define IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_SHIFT (4U)
  53390. /*! APC_R4_ENCRYPT_ENABLE - APC memory region-4 encryption enable
  53391. * 0b1..Encryption enabled
  53392. * 0b0..No effect
  53393. */
  53394. #define IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR22_APC_R4_ENCRYPT_ENABLE_MASK)
  53395. #define IOMUXC_LPSR_GPR_GPR22_LOCK_MASK (0xFFFF0000U)
  53396. #define IOMUXC_LPSR_GPR_GPR22_LOCK_SHIFT (16U)
  53397. /*! LOCK - Lock the write to bit 15:0
  53398. */
  53399. #define IOMUXC_LPSR_GPR_GPR22_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR22_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR22_LOCK_MASK)
  53400. /*! @} */
  53401. /*! @name GPR23 - GPR23 General Purpose Register */
  53402. /*! @{ */
  53403. #define IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_MASK (0x10U)
  53404. #define IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_SHIFT (4U)
  53405. /*! APC_R5_ENCRYPT_ENABLE - APC memory region-5 encryption enable
  53406. * 0b1..Encryption enabled
  53407. * 0b0..No effect
  53408. */
  53409. #define IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR23_APC_R5_ENCRYPT_ENABLE_MASK)
  53410. #define IOMUXC_LPSR_GPR_GPR23_LOCK_MASK (0xFFFF0000U)
  53411. #define IOMUXC_LPSR_GPR_GPR23_LOCK_SHIFT (16U)
  53412. /*! LOCK - Lock the write to bit 15:0
  53413. */
  53414. #define IOMUXC_LPSR_GPR_GPR23_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR23_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR23_LOCK_MASK)
  53415. /*! @} */
  53416. /*! @name GPR24 - GPR24 General Purpose Register */
  53417. /*! @{ */
  53418. #define IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_MASK (0x10U)
  53419. #define IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_SHIFT (4U)
  53420. /*! APC_R6_ENCRYPT_ENABLE - APC memory region-6 encryption enable
  53421. * 0b1..Encryption enabled
  53422. * 0b0..No effect
  53423. */
  53424. #define IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR24_APC_R6_ENCRYPT_ENABLE_MASK)
  53425. #define IOMUXC_LPSR_GPR_GPR24_LOCK_MASK (0xFFFF0000U)
  53426. #define IOMUXC_LPSR_GPR_GPR24_LOCK_SHIFT (16U)
  53427. /*! LOCK - Lock the write to bit 15:0
  53428. */
  53429. #define IOMUXC_LPSR_GPR_GPR24_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR24_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR24_LOCK_MASK)
  53430. /*! @} */
  53431. /*! @name GPR25 - GPR25 General Purpose Register */
  53432. /*! @{ */
  53433. #define IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_MASK (0x10U)
  53434. #define IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_SHIFT (4U)
  53435. /*! APC_R7_ENCRYPT_ENABLE - APC memory region-7 encryption enable
  53436. * 0b1..Encryption enabled
  53437. * 0b0..No effect
  53438. */
  53439. #define IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_SHIFT)) & IOMUXC_LPSR_GPR_GPR25_APC_R7_ENCRYPT_ENABLE_MASK)
  53440. #define IOMUXC_LPSR_GPR_GPR25_APC_VALID_MASK (0x20U)
  53441. #define IOMUXC_LPSR_GPR_GPR25_APC_VALID_SHIFT (5U)
  53442. /*! APC_VALID - APC global enable bit
  53443. * 0b1..Enable encryption for GPRx[APC_x_ENCRYPT_ENABLE] (valid for GPR2-GPR25)
  53444. * 0b0..No effect
  53445. */
  53446. #define IOMUXC_LPSR_GPR_GPR25_APC_VALID(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR25_APC_VALID_SHIFT)) & IOMUXC_LPSR_GPR_GPR25_APC_VALID_MASK)
  53447. #define IOMUXC_LPSR_GPR_GPR25_LOCK_MASK (0xFFFF0000U)
  53448. #define IOMUXC_LPSR_GPR_GPR25_LOCK_SHIFT (16U)
  53449. /*! LOCK - Lock the write to bit 15:0
  53450. */
  53451. #define IOMUXC_LPSR_GPR_GPR25_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR25_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR25_LOCK_MASK)
  53452. /*! @} */
  53453. /*! @name GPR26 - GPR26 General Purpose Register */
  53454. /*! @{ */
  53455. #define IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_MASK (0x1FFFFFFU)
  53456. #define IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_SHIFT (0U)
  53457. /*! CM7_INIT_VTOR - Vector table offset register out of reset. See the ARM v7-M Architecture
  53458. * Reference Manual for more information about the vector table offset register (VTOR).
  53459. */
  53460. #define IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_SHIFT)) & IOMUXC_LPSR_GPR_GPR26_CM7_INIT_VTOR_MASK)
  53461. #define IOMUXC_LPSR_GPR_GPR26_FIELD_0_MASK (0xE000000U)
  53462. #define IOMUXC_LPSR_GPR_GPR26_FIELD_0_SHIFT (25U)
  53463. /*! FIELD_0 - General purpose bits
  53464. */
  53465. #define IOMUXC_LPSR_GPR_GPR26_FIELD_0(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR26_FIELD_0_SHIFT)) & IOMUXC_LPSR_GPR_GPR26_FIELD_0_MASK)
  53466. #define IOMUXC_LPSR_GPR_GPR26_DWP_MASK (0x30000000U)
  53467. #define IOMUXC_LPSR_GPR_GPR26_DWP_SHIFT (28U)
  53468. /*! DWP - Domain write protection
  53469. * 0b00..Both cores are allowed
  53470. * 0b01..CM7 is forbidden
  53471. * 0b10..CM4 is forbidden
  53472. * 0b11..Both cores are forbidden
  53473. */
  53474. #define IOMUXC_LPSR_GPR_GPR26_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR26_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR26_DWP_MASK)
  53475. #define IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_MASK (0xC0000000U)
  53476. #define IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_SHIFT (30U)
  53477. /*! DWP_LOCK - Domain write protection lock
  53478. * 0b00..Neither of DWP bits is locked
  53479. * 0b01..The lower DWP bit is locked
  53480. * 0b10..The higher DWP bit is locked
  53481. * 0b11..Both DWP bits are locked
  53482. */
  53483. #define IOMUXC_LPSR_GPR_GPR26_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR26_DWP_LOCK_MASK)
  53484. /*! @} */
  53485. /*! @name GPR33 - GPR33 General Purpose Register */
  53486. /*! @{ */
  53487. #define IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_MASK (0x1U)
  53488. #define IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_SHIFT (0U)
  53489. /*! M4_NMI_CLEAR - Clear CM4 NMI holding register
  53490. */
  53491. #define IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_M4_NMI_CLEAR_MASK)
  53492. #define IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_MASK (0x100U)
  53493. #define IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_SHIFT (8U)
  53494. /*! USBPHY1_WAKEUP_IRQ_CLEAR - Clear USBPHY1 wakeup interrupt holding register
  53495. */
  53496. #define IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_USBPHY1_WAKEUP_IRQ_CLEAR_MASK)
  53497. #define IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_MASK (0x200U)
  53498. #define IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_SHIFT (9U)
  53499. /*! USBPHY2_WAKEUP_IRQ_CLEAR - Clear USBPHY1 wakeup interrupt holding register
  53500. */
  53501. #define IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_USBPHY2_WAKEUP_IRQ_CLEAR_MASK)
  53502. #define IOMUXC_LPSR_GPR_GPR33_DWP_MASK (0x30000000U)
  53503. #define IOMUXC_LPSR_GPR_GPR33_DWP_SHIFT (28U)
  53504. /*! DWP - Domain write protection
  53505. * 0b00..Both cores are allowed
  53506. * 0b01..CM7 is forbidden
  53507. * 0b10..CM4 is forbidden
  53508. * 0b11..Both cores are forbidden
  53509. */
  53510. #define IOMUXC_LPSR_GPR_GPR33_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_DWP_MASK)
  53511. #define IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_MASK (0xC0000000U)
  53512. #define IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_SHIFT (30U)
  53513. /*! DWP_LOCK - Domain write protection lock
  53514. * 0b00..Neither of DWP bits is locked
  53515. * 0b01..The lower DWP bit is locked
  53516. * 0b10..The higher DWP bit is locked
  53517. * 0b11..Both DWP bits are locked
  53518. */
  53519. #define IOMUXC_LPSR_GPR_GPR33_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR33_DWP_LOCK_MASK)
  53520. /*! @} */
  53521. /*! @name GPR34 - GPR34 General Purpose Register */
  53522. /*! @{ */
  53523. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_MASK (0x2U)
  53524. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_SHIFT (1U)
  53525. /*! GPIO_LPSR_HIGH_RANGE - GPIO_LPSR IO bank supply voltage range selection
  53526. */
  53527. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_HIGH_RANGE_MASK)
  53528. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_MASK (0x4U)
  53529. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_SHIFT (2U)
  53530. /*! GPIO_LPSR_LOW_RANGE - GPIO_LPSR IO bank supply voltage range selection
  53531. */
  53532. #define IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_GPIO_LPSR_LOW_RANGE_MASK)
  53533. #define IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_MASK (0x8U)
  53534. #define IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_SHIFT (3U)
  53535. /*! M7_NMI_MASK - Mask CM7 NMI pin input
  53536. * 0b0..NMI input from IO to CM7 is not blocked
  53537. * 0b1..NMI input from IO to CM7 is blocked
  53538. */
  53539. #define IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_M7_NMI_MASK_MASK)
  53540. #define IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_MASK (0x10U)
  53541. #define IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_SHIFT (4U)
  53542. /*! M4_NMI_MASK - Mask CM4 NMI pin input
  53543. * 0b0..NMI input from IO to CM4 is not blocked
  53544. * 0b1..NMI input from IO to CM4 is blocked
  53545. */
  53546. #define IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_M4_NMI_MASK_MASK)
  53547. #define IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_MASK (0x20U)
  53548. #define IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_SHIFT (5U)
  53549. /*! M4_GPC_SLEEP_SEL - CM4 sleep request selection
  53550. * 0b0..CM4 SLEEPDEEP is sent to GPC
  53551. * 0b1..CM4 SLEEPING is sent to GPC
  53552. */
  53553. #define IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_M4_GPC_SLEEP_SEL_MASK)
  53554. #define IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_MASK (0x800U)
  53555. #define IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_SHIFT (11U)
  53556. /*! SEC_ERR_RESP - Security error response enable
  53557. * 0b0..OKEY response
  53558. * 0b1..SLVError (default)
  53559. */
  53560. #define IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_SEC_ERR_RESP_MASK)
  53561. #define IOMUXC_LPSR_GPR_GPR34_DWP_MASK (0x30000000U)
  53562. #define IOMUXC_LPSR_GPR_GPR34_DWP_SHIFT (28U)
  53563. /*! DWP - Domain write protection
  53564. * 0b00..Both cores are allowed
  53565. * 0b01..CM7 is forbidden
  53566. * 0b10..CM4 is forbidden
  53567. * 0b11..Both cores are forbidden
  53568. */
  53569. #define IOMUXC_LPSR_GPR_GPR34_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_DWP_MASK)
  53570. #define IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_MASK (0xC0000000U)
  53571. #define IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_SHIFT (30U)
  53572. /*! DWP_LOCK - Domain write protection lock
  53573. * 0b00..Neither of DWP bits is locked
  53574. * 0b01..The lower DWP bit is locked
  53575. * 0b10..The higher DWP bit is locked
  53576. * 0b11..Both DWP bits are locked
  53577. */
  53578. #define IOMUXC_LPSR_GPR_GPR34_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR34_DWP_LOCK_MASK)
  53579. /*! @} */
  53580. /*! @name GPR35 - GPR35 General Purpose Register */
  53581. /*! @{ */
  53582. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_MASK (0x1U)
  53583. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_SHIFT (0U)
  53584. /*! ADC1_IPG_DOZE - ADC1 doze mode
  53585. * 0b0..Not in doze mode
  53586. * 0b1..In doze mode
  53587. */
  53588. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_DOZE_MASK)
  53589. #define IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_MASK (0x2U)
  53590. #define IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_SHIFT (1U)
  53591. /*! ADC1_STOP_REQ - ADC1 stop request
  53592. * 0b0..Stop request off
  53593. * 0b1..Stop request on
  53594. */
  53595. #define IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC1_STOP_REQ_MASK)
  53596. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_MASK (0x4U)
  53597. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_SHIFT (2U)
  53598. /*! ADC1_IPG_STOP_MODE - ADC1 stop mode selection. This bitfield cannot change when ADC1_STOP_REQ is asserted.
  53599. * 0b0..This module is functional in Stop Mode
  53600. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53601. */
  53602. #define IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC1_IPG_STOP_MODE_MASK)
  53603. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_MASK (0x8U)
  53604. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_SHIFT (3U)
  53605. /*! ADC2_IPG_DOZE - ADC2 doze mode
  53606. * 0b0..Not in doze mode
  53607. * 0b1..In doze mode
  53608. */
  53609. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_DOZE_MASK)
  53610. #define IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_MASK (0x10U)
  53611. #define IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_SHIFT (4U)
  53612. /*! ADC2_STOP_REQ - ADC2 stop request
  53613. * 0b0..Stop request off
  53614. * 0b1..Stop request on
  53615. */
  53616. #define IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC2_STOP_REQ_MASK)
  53617. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_MASK (0x20U)
  53618. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_SHIFT (5U)
  53619. /*! ADC2_IPG_STOP_MODE - ADC2 stop mode selection. This bitfield cannot change when ADC2_STOP_REQ is asserted.
  53620. * 0b0..This module is functional in Stop Mode
  53621. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53622. */
  53623. #define IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ADC2_IPG_STOP_MODE_MASK)
  53624. #define IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_MASK (0x40U)
  53625. #define IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_SHIFT (6U)
  53626. /*! CAAM_IPG_DOZE - CAN3 doze mode
  53627. * 0b0..Not in doze mode
  53628. * 0b1..In doze mode
  53629. */
  53630. #define IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAAM_IPG_DOZE_MASK)
  53631. #define IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_MASK (0x80U)
  53632. #define IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_SHIFT (7U)
  53633. /*! CAAM_STOP_REQ - CAAM stop request
  53634. * 0b0..Stop request off
  53635. * 0b1..Stop request on
  53636. */
  53637. #define IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAAM_STOP_REQ_MASK)
  53638. #define IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_MASK (0x100U)
  53639. #define IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_SHIFT (8U)
  53640. /*! CAN1_IPG_DOZE - CAN1 doze mode
  53641. * 0b0..Not in doze mode
  53642. * 0b1..In doze mode
  53643. */
  53644. #define IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN1_IPG_DOZE_MASK)
  53645. #define IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_MASK (0x200U)
  53646. #define IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_SHIFT (9U)
  53647. /*! CAN1_STOP_REQ - CAN1 stop request
  53648. * 0b0..Stop request off
  53649. * 0b1..Stop request on
  53650. */
  53651. #define IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN1_STOP_REQ_MASK)
  53652. #define IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_MASK (0x400U)
  53653. #define IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_SHIFT (10U)
  53654. /*! CAN2_IPG_DOZE - CAN2 doze mode
  53655. * 0b0..Not in doze mode
  53656. * 0b1..In doze mode
  53657. */
  53658. #define IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN2_IPG_DOZE_MASK)
  53659. #define IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_MASK (0x800U)
  53660. #define IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_SHIFT (11U)
  53661. /*! CAN2_STOP_REQ - CAN2 stop request
  53662. * 0b0..Stop request off
  53663. * 0b1..Stop request on
  53664. */
  53665. #define IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN2_STOP_REQ_MASK)
  53666. #define IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_MASK (0x1000U)
  53667. #define IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_SHIFT (12U)
  53668. /*! CAN3_IPG_DOZE - CAN3 doze mode
  53669. * 0b0..Not in doze mode
  53670. * 0b1..In doze mode
  53671. */
  53672. #define IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN3_IPG_DOZE_MASK)
  53673. #define IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_MASK (0x2000U)
  53674. #define IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_SHIFT (13U)
  53675. /*! CAN3_STOP_REQ - CAN3 stop request
  53676. * 0b0..Stop request off
  53677. * 0b1..Stop request on
  53678. */
  53679. #define IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_CAN3_STOP_REQ_MASK)
  53680. #define IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_MASK (0x8000U)
  53681. #define IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_SHIFT (15U)
  53682. /*! EDMA_STOP_REQ - EDMA stop request
  53683. * 0b0..Stop request off
  53684. * 0b1..Stop request on
  53685. */
  53686. #define IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_EDMA_STOP_REQ_MASK)
  53687. #define IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_MASK (0x10000U)
  53688. #define IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_SHIFT (16U)
  53689. /*! EDMA_LPSR_STOP_REQ - EDMA_LPSR stop request
  53690. * 0b0..Stop request off
  53691. * 0b1..Stop request on
  53692. */
  53693. #define IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_EDMA_LPSR_STOP_REQ_MASK)
  53694. #define IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_MASK (0x20000U)
  53695. #define IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_SHIFT (17U)
  53696. /*! ENET_IPG_DOZE - ENET doze mode
  53697. * 0b0..Not in doze mode
  53698. * 0b1..In doze mode
  53699. */
  53700. #define IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ENET_IPG_DOZE_MASK)
  53701. #define IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_MASK (0x40000U)
  53702. #define IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_SHIFT (18U)
  53703. /*! ENET_STOP_REQ - ENET stop request
  53704. * 0b0..Stop request off
  53705. * 0b1..Stop request on
  53706. */
  53707. #define IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ENET_STOP_REQ_MASK)
  53708. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_MASK (0x80000U)
  53709. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_SHIFT (19U)
  53710. /*! ENET1G_IPG_DOZE - ENET1G doze mode
  53711. * 0b0..Not in doze mode
  53712. * 0b1..In doze mode
  53713. */
  53714. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ENET1G_IPG_DOZE_MASK)
  53715. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_MASK (0x100000U)
  53716. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_SHIFT (20U)
  53717. /*! ENET1G_STOP_REQ - ENET1G stop request
  53718. * 0b0..Stop request off
  53719. * 0b1..Stop request on
  53720. */
  53721. #define IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_ENET1G_STOP_REQ_MASK)
  53722. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_MASK (0x200000U)
  53723. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_SHIFT (21U)
  53724. /*! FLEXIO1_IPG_DOZE - FLEXIO2 doze mode
  53725. * 0b0..Not in doze mode
  53726. * 0b1..In doze mode
  53727. */
  53728. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXIO1_IPG_DOZE_MASK)
  53729. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_MASK (0x400000U)
  53730. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_SHIFT (22U)
  53731. /*! FLEXIO2_IPG_DOZE - FLEXIO2 doze mode
  53732. * 0b0..Not in doze mode
  53733. * 0b1..In doze mode
  53734. */
  53735. #define IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXIO2_IPG_DOZE_MASK)
  53736. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_MASK (0x800000U)
  53737. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_SHIFT (23U)
  53738. /*! FLEXSPI1_IPG_DOZE - FLEXSPI1 doze mode
  53739. * 0b0..Not in doze mode
  53740. * 0b1..In doze mode
  53741. */
  53742. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_IPG_DOZE_MASK)
  53743. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_MASK (0x1000000U)
  53744. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_SHIFT (24U)
  53745. /*! FLEXSPI1_STOP_REQ - FLEXSPI1 stop request
  53746. * 0b0..Stop request off
  53747. * 0b1..Stop request on
  53748. */
  53749. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXSPI1_STOP_REQ_MASK)
  53750. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_MASK (0x2000000U)
  53751. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_SHIFT (25U)
  53752. /*! FLEXSPI2_IPG_DOZE - FLEXSPI2 doze mode
  53753. * 0b0..Not in doze mode
  53754. * 0b1..In doze mode
  53755. */
  53756. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_IPG_DOZE_MASK)
  53757. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_MASK (0x4000000U)
  53758. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_SHIFT (26U)
  53759. /*! FLEXSPI2_STOP_REQ - FLEXSPI2 stop request
  53760. * 0b0..Stop request off
  53761. * 0b1..Stop request on
  53762. */
  53763. #define IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_FLEXSPI2_STOP_REQ_MASK)
  53764. #define IOMUXC_LPSR_GPR_GPR35_DWP_MASK (0x30000000U)
  53765. #define IOMUXC_LPSR_GPR_GPR35_DWP_SHIFT (28U)
  53766. /*! DWP - Domain write protection
  53767. * 0b00..Both cores are allowed
  53768. * 0b01..CM7 is forbidden
  53769. * 0b10..CM4 is forbidden
  53770. * 0b11..Both cores are forbidden
  53771. */
  53772. #define IOMUXC_LPSR_GPR_GPR35_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_DWP_MASK)
  53773. #define IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_MASK (0xC0000000U)
  53774. #define IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_SHIFT (30U)
  53775. /*! DWP_LOCK - Domain write protection lock
  53776. * 0b00..Neither of DWP bits is locked
  53777. * 0b01..The lower DWP bit is locked
  53778. * 0b10..The higher DWP bit is locked
  53779. * 0b11..Both DWP bits are locked
  53780. */
  53781. #define IOMUXC_LPSR_GPR_GPR35_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR35_DWP_LOCK_MASK)
  53782. /*! @} */
  53783. /*! @name GPR36 - GPR36 General Purpose Register */
  53784. /*! @{ */
  53785. #define IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_MASK (0x1U)
  53786. #define IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_SHIFT (0U)
  53787. /*! GPT1_IPG_DOZE - GPT1 doze mode
  53788. * 0b0..Not in doze mode
  53789. * 0b1..In doze mode
  53790. */
  53791. #define IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT1_IPG_DOZE_MASK)
  53792. #define IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_MASK (0x2U)
  53793. #define IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_SHIFT (1U)
  53794. /*! GPT2_IPG_DOZE - GPT2 doze mode
  53795. * 0b0..Not in doze mode
  53796. * 0b1..In doze mode
  53797. */
  53798. #define IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT2_IPG_DOZE_MASK)
  53799. #define IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_MASK (0x4U)
  53800. #define IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_SHIFT (2U)
  53801. /*! GPT3_IPG_DOZE - GPT3 doze mode
  53802. * 0b0..Not in doze mode
  53803. * 0b1..In doze mode
  53804. */
  53805. #define IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT3_IPG_DOZE_MASK)
  53806. #define IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_MASK (0x8U)
  53807. #define IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_SHIFT (3U)
  53808. /*! GPT4_IPG_DOZE - GPT4 doze mode
  53809. * 0b0..Not in doze mode
  53810. * 0b1..In doze mode
  53811. */
  53812. #define IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT4_IPG_DOZE_MASK)
  53813. #define IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_MASK (0x10U)
  53814. #define IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_SHIFT (4U)
  53815. /*! GPT5_IPG_DOZE - GPT5 doze mode
  53816. * 0b0..Not in doze mode
  53817. * 0b1..In doze mode
  53818. */
  53819. #define IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT5_IPG_DOZE_MASK)
  53820. #define IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_MASK (0x20U)
  53821. #define IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_SHIFT (5U)
  53822. /*! GPT6_IPG_DOZE - GPT6 doze mode
  53823. * 0b0..Not in doze mode
  53824. * 0b1..In doze mode
  53825. */
  53826. #define IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_GPT6_IPG_DOZE_MASK)
  53827. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_MASK (0x40U)
  53828. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_SHIFT (6U)
  53829. /*! LPI2C1_IPG_DOZE - LPI2C1 doze mode
  53830. * 0b0..Not in doze mode
  53831. * 0b1..In doze mode
  53832. */
  53833. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_DOZE_MASK)
  53834. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_MASK (0x80U)
  53835. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_SHIFT (7U)
  53836. /*! LPI2C1_STOP_REQ - LPI2C1 stop request
  53837. * 0b0..Stop request off
  53838. * 0b1..Stop request on
  53839. */
  53840. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C1_STOP_REQ_MASK)
  53841. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_MASK (0x100U)
  53842. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_SHIFT (8U)
  53843. /*! LPI2C1_IPG_STOP_MODE - LPI2C1 stop mode selection. This bitfield cannot change when LPI2C1_STOP_REQ is asserted.
  53844. * 0b0..This module is functional in Stop Mode
  53845. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53846. */
  53847. #define IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C1_IPG_STOP_MODE_MASK)
  53848. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_MASK (0x200U)
  53849. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_SHIFT (9U)
  53850. /*! LPI2C2_IPG_DOZE - LPI2C2 doze mode
  53851. * 0b0..Not in doze mode
  53852. * 0b1..In doze mode
  53853. */
  53854. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_DOZE_MASK)
  53855. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_MASK (0x400U)
  53856. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_SHIFT (10U)
  53857. /*! LPI2C2_STOP_REQ - LPI2C2 stop request
  53858. * 0b0..Stop request off
  53859. * 0b1..Stop request on
  53860. */
  53861. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C2_STOP_REQ_MASK)
  53862. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_MASK (0x800U)
  53863. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_SHIFT (11U)
  53864. /*! LPI2C2_IPG_STOP_MODE - LPI2C2 stop mode selection. This bitfield cannot change when LPI2C2_STOP_REQ is asserted.
  53865. * 0b0..This module is functional in Stop Mode
  53866. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53867. */
  53868. #define IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C2_IPG_STOP_MODE_MASK)
  53869. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_MASK (0x1000U)
  53870. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_SHIFT (12U)
  53871. /*! LPI2C3_IPG_DOZE - LPI2C3 doze mode
  53872. * 0b0..Not in doze mode
  53873. * 0b1..In doze mode
  53874. */
  53875. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_DOZE_MASK)
  53876. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_MASK (0x2000U)
  53877. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_SHIFT (13U)
  53878. /*! LPI2C3_STOP_REQ - LPI2C3 stop request
  53879. * 0b0..Stop request off
  53880. * 0b1..Stop request on
  53881. */
  53882. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C3_STOP_REQ_MASK)
  53883. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_MASK (0x4000U)
  53884. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_SHIFT (14U)
  53885. /*! LPI2C3_IPG_STOP_MODE - LPI2C3 stop mode selection. This bitfield cannot change when LPI2C3_STOP_REQ is asserted.
  53886. * 0b0..This module is functional in Stop Mode
  53887. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53888. */
  53889. #define IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C3_IPG_STOP_MODE_MASK)
  53890. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_MASK (0x8000U)
  53891. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_SHIFT (15U)
  53892. /*! LPI2C4_IPG_DOZE - LPI2C4 doze mode
  53893. * 0b0..Not in doze mode
  53894. * 0b1..In doze mode
  53895. */
  53896. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_DOZE_MASK)
  53897. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_MASK (0x10000U)
  53898. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_SHIFT (16U)
  53899. /*! LPI2C4_STOP_REQ - LPI2C4 stop request
  53900. * 0b0..Stop request off
  53901. * 0b1..Stop request on
  53902. */
  53903. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C4_STOP_REQ_MASK)
  53904. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_MASK (0x20000U)
  53905. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_SHIFT (17U)
  53906. /*! LPI2C4_IPG_STOP_MODE - LPI2C4 stop mode selection. This bitfield cannot change when LPI2C4_STOP_REQ is asserted.
  53907. * 0b0..This module is functional in Stop Mode
  53908. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53909. */
  53910. #define IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C4_IPG_STOP_MODE_MASK)
  53911. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_MASK (0x40000U)
  53912. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_SHIFT (18U)
  53913. /*! LPI2C5_IPG_DOZE - LPI2C5 doze mode
  53914. * 0b0..Not in doze mode
  53915. * 0b1..In doze mode
  53916. */
  53917. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_DOZE_MASK)
  53918. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_MASK (0x80000U)
  53919. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_SHIFT (19U)
  53920. /*! LPI2C5_STOP_REQ - LPI2C5 stop request
  53921. * 0b0..Stop request off
  53922. * 0b1..Stop request on
  53923. */
  53924. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C5_STOP_REQ_MASK)
  53925. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_MASK (0x100000U)
  53926. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_SHIFT (20U)
  53927. /*! LPI2C5_IPG_STOP_MODE - LPI2C5 stop mode selection. This bitfield cannot change when LPI2C5_STOP_REQ is asserted.
  53928. * 0b0..This module is functional in Stop Mode
  53929. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53930. */
  53931. #define IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C5_IPG_STOP_MODE_MASK)
  53932. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_MASK (0x200000U)
  53933. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_SHIFT (21U)
  53934. /*! LPI2C6_IPG_DOZE - LPI2C6 doze mode
  53935. * 0b0..Not in doze mode
  53936. * 0b1..In doze mode
  53937. */
  53938. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_DOZE_MASK)
  53939. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_MASK (0x400000U)
  53940. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_SHIFT (22U)
  53941. /*! LPI2C6_STOP_REQ - LPI2C6 stop request
  53942. * 0b0..Stop request off
  53943. * 0b1..Stop request on
  53944. */
  53945. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C6_STOP_REQ_MASK)
  53946. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_MASK (0x800000U)
  53947. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_SHIFT (23U)
  53948. /*! LPI2C6_IPG_STOP_MODE - LPI2C6 stop mode selection. This bitfield cannot change when LPI2C6_STOP_REQ is asserted.
  53949. * 0b0..This module is functional in Stop Mode
  53950. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53951. */
  53952. #define IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPI2C6_IPG_STOP_MODE_MASK)
  53953. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_MASK (0x1000000U)
  53954. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_SHIFT (24U)
  53955. /*! LPSPI1_IPG_DOZE - LPSPI1 doze mode
  53956. * 0b0..Not in doze mode
  53957. * 0b1..In doze mode
  53958. */
  53959. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_DOZE_MASK)
  53960. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_MASK (0x2000000U)
  53961. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_SHIFT (25U)
  53962. /*! LPSPI1_STOP_REQ - LPSPI1 stop request
  53963. * 0b0..Stop request off
  53964. * 0b1..Stop request on
  53965. */
  53966. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPSPI1_STOP_REQ_MASK)
  53967. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_MASK (0x4000000U)
  53968. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_SHIFT (26U)
  53969. /*! LPSPI1_IPG_STOP_MODE - LPSPI1 stop mode selection. This bitfield cannot change when LPSPI1_STOP_REQ is asserted.
  53970. * 0b0..This module is functional in Stop Mode
  53971. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  53972. */
  53973. #define IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_LPSPI1_IPG_STOP_MODE_MASK)
  53974. #define IOMUXC_LPSR_GPR_GPR36_DWP_MASK (0x30000000U)
  53975. #define IOMUXC_LPSR_GPR_GPR36_DWP_SHIFT (28U)
  53976. /*! DWP - Domain write protection
  53977. * 0b00..Both cores are allowed
  53978. * 0b01..CM7 is forbidden
  53979. * 0b10..CM4 is forbidden
  53980. * 0b11..Both cores are forbidden
  53981. */
  53982. #define IOMUXC_LPSR_GPR_GPR36_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_DWP_MASK)
  53983. #define IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_MASK (0xC0000000U)
  53984. #define IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_SHIFT (30U)
  53985. /*! DWP_LOCK - Domain write protection lock
  53986. * 0b00..Neither of DWP bits is locked
  53987. * 0b01..The lower DWP bit is locked
  53988. * 0b10..The higher DWP bit is locked
  53989. * 0b11..Both DWP bits are locked
  53990. */
  53991. #define IOMUXC_LPSR_GPR_GPR36_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR36_DWP_LOCK_MASK)
  53992. /*! @} */
  53993. /*! @name GPR37 - GPR37 General Purpose Register */
  53994. /*! @{ */
  53995. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_MASK (0x1U)
  53996. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_SHIFT (0U)
  53997. /*! LPSPI2_IPG_DOZE - LPSPI2 doze mode
  53998. * 0b0..Not in doze mode
  53999. * 0b1..In doze mode
  54000. */
  54001. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_DOZE_MASK)
  54002. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_MASK (0x2U)
  54003. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_SHIFT (1U)
  54004. /*! LPSPI2_STOP_REQ - LPSPI2 stop request
  54005. * 0b0..Stop request off
  54006. * 0b1..Stop request on
  54007. */
  54008. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI2_STOP_REQ_MASK)
  54009. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_MASK (0x4U)
  54010. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_SHIFT (2U)
  54011. /*! LPSPI2_IPG_STOP_MODE - LPSPI2 stop mode selection. This bitfield cannot change when LPSPI2_STOP_REQ is asserted.
  54012. * 0b0..This module is functional in Stop Mode
  54013. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54014. */
  54015. #define IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI2_IPG_STOP_MODE_MASK)
  54016. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_MASK (0x8U)
  54017. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_SHIFT (3U)
  54018. /*! LPSPI3_IPG_DOZE - LPSPI3 doze mode
  54019. * 0b0..Not in doze mode
  54020. * 0b1..In doze mode
  54021. */
  54022. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_DOZE_MASK)
  54023. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_MASK (0x10U)
  54024. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_SHIFT (4U)
  54025. /*! LPSPI3_STOP_REQ - LPSPI3 stop request
  54026. * 0b0..Stop request off
  54027. * 0b1..Stop request on
  54028. */
  54029. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI3_STOP_REQ_MASK)
  54030. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_MASK (0x20U)
  54031. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_SHIFT (5U)
  54032. /*! LPSPI3_IPG_STOP_MODE - LPSPI3 stop mode selection. This bitfield cannot change when LPSPI3_STOP_REQ is asserted.
  54033. * 0b0..This module is functional in Stop Mode
  54034. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54035. */
  54036. #define IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI3_IPG_STOP_MODE_MASK)
  54037. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_MASK (0x40U)
  54038. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_SHIFT (6U)
  54039. /*! LPSPI4_IPG_DOZE - LPSPI4 doze mode
  54040. * 0b0..Not in doze mode
  54041. * 0b1..In doze mode
  54042. */
  54043. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_DOZE_MASK)
  54044. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_MASK (0x80U)
  54045. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_SHIFT (7U)
  54046. /*! LPSPI4_STOP_REQ - LPSPI4 stop request
  54047. * 0b0..Stop request off
  54048. * 0b1..Stop request on
  54049. */
  54050. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI4_STOP_REQ_MASK)
  54051. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_MASK (0x100U)
  54052. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_SHIFT (8U)
  54053. /*! LPSPI4_IPG_STOP_MODE - LPSPI4 stop mode selection. This bitfield cannot change when LPSPI4_STOP_REQ is asserted.
  54054. * 0b0..This module is functional in Stop Mode
  54055. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54056. */
  54057. #define IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI4_IPG_STOP_MODE_MASK)
  54058. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_MASK (0x200U)
  54059. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_SHIFT (9U)
  54060. /*! LPSPI5_IPG_DOZE - LPSPI5 doze mode
  54061. * 0b0..Not in doze mode
  54062. * 0b1..In doze mode
  54063. */
  54064. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_DOZE_MASK)
  54065. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_MASK (0x400U)
  54066. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_SHIFT (10U)
  54067. /*! LPSPI5_STOP_REQ - LPSPI5 stop request
  54068. * 0b0..Stop request off
  54069. * 0b1..Stop request on
  54070. */
  54071. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI5_STOP_REQ_MASK)
  54072. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_MASK (0x800U)
  54073. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_SHIFT (11U)
  54074. /*! LPSPI5_IPG_STOP_MODE - LPSPI5 stop mode selection. This bitfield cannot change when LPSPI5_STOP_REQ is asserted.
  54075. * 0b0..This module is functional in Stop Mode
  54076. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54077. */
  54078. #define IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI5_IPG_STOP_MODE_MASK)
  54079. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_MASK (0x1000U)
  54080. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_SHIFT (12U)
  54081. /*! LPSPI6_IPG_DOZE - LPSPI6 doze mode
  54082. * 0b0..Not in doze mode
  54083. * 0b1..In doze mode
  54084. */
  54085. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_DOZE_MASK)
  54086. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_MASK (0x2000U)
  54087. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_SHIFT (13U)
  54088. /*! LPSPI6_STOP_REQ - LPSPI6 stop request
  54089. * 0b0..Stop request off
  54090. * 0b1..Stop request on
  54091. */
  54092. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI6_STOP_REQ_MASK)
  54093. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_MASK (0x4000U)
  54094. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_SHIFT (14U)
  54095. /*! LPSPI6_IPG_STOP_MODE - LPSPI6 stop mode selection. This bitfield cannot change when LPSPI6_STOP_REQ is asserted.
  54096. * 0b0..This module is functional in Stop Mode
  54097. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54098. */
  54099. #define IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPSPI6_IPG_STOP_MODE_MASK)
  54100. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_MASK (0x8000U)
  54101. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_SHIFT (15U)
  54102. /*! LPUART1_IPG_DOZE - LPUART1 doze mode
  54103. * 0b0..Not in doze mode
  54104. * 0b1..In doze mode
  54105. */
  54106. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_DOZE_MASK)
  54107. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_MASK (0x10000U)
  54108. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_SHIFT (16U)
  54109. /*! LPUART1_STOP_REQ - LPUART1 stop request
  54110. * 0b0..Stop request off
  54111. * 0b1..Stop request on
  54112. */
  54113. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART1_STOP_REQ_MASK)
  54114. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_MASK (0x20000U)
  54115. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_SHIFT (17U)
  54116. /*! LPUART1_IPG_STOP_MODE - LPUART1 stop mode selection. This bitfield cannot change when LPUART1_STOP_REQ is asserted.
  54117. * 0b0..This module is functional in Stop Mode
  54118. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54119. */
  54120. #define IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART1_IPG_STOP_MODE_MASK)
  54121. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_MASK (0x40000U)
  54122. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_SHIFT (18U)
  54123. /*! LPUART2_IPG_DOZE - LPUART2 doze mode
  54124. * 0b0..Not in doze mode
  54125. * 0b1..In doze mode
  54126. */
  54127. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_DOZE_MASK)
  54128. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_MASK (0x80000U)
  54129. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_SHIFT (19U)
  54130. /*! LPUART2_STOP_REQ - LPUART2 stop request
  54131. * 0b0..Stop request off
  54132. * 0b1..Stop request on
  54133. */
  54134. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART2_STOP_REQ_MASK)
  54135. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_MASK (0x100000U)
  54136. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_SHIFT (20U)
  54137. /*! LPUART2_IPG_STOP_MODE - LPUART2 stop mode selection. This bitfield cannot change when LPUART2_STOP_REQ is asserted.
  54138. * 0b0..This module is functional in Stop Mode
  54139. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54140. */
  54141. #define IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART2_IPG_STOP_MODE_MASK)
  54142. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_MASK (0x200000U)
  54143. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_SHIFT (21U)
  54144. /*! LPUART3_IPG_DOZE - LPUART3 doze mode
  54145. * 0b0..Not in doze mode
  54146. * 0b1..In doze mode
  54147. */
  54148. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_DOZE_MASK)
  54149. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_MASK (0x400000U)
  54150. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_SHIFT (22U)
  54151. /*! LPUART3_STOP_REQ - LPUART3 stop request
  54152. * 0b0..Stop request off
  54153. * 0b1..Stop request on
  54154. */
  54155. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART3_STOP_REQ_MASK)
  54156. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_MASK (0x800000U)
  54157. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_SHIFT (23U)
  54158. /*! LPUART3_IPG_STOP_MODE - LPUART3 stop mode selection. This bitfield cannot change when LPUART3_STOP_REQ is asserted.
  54159. * 0b0..This module is functional in Stop Mode
  54160. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54161. */
  54162. #define IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART3_IPG_STOP_MODE_MASK)
  54163. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_MASK (0x1000000U)
  54164. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_SHIFT (24U)
  54165. /*! LPUART4_IPG_DOZE - LPUART4 doze mode
  54166. * 0b0..Not in doze mode
  54167. * 0b1..In doze mode
  54168. */
  54169. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_DOZE_MASK)
  54170. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_MASK (0x2000000U)
  54171. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_SHIFT (25U)
  54172. /*! LPUART4_STOP_REQ - LPUART4 stop request
  54173. * 0b0..Stop request off
  54174. * 0b1..Stop request on
  54175. */
  54176. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART4_STOP_REQ_MASK)
  54177. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_MASK (0x4000000U)
  54178. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_SHIFT (26U)
  54179. /*! LPUART4_IPG_STOP_MODE - LPUART4 stop mode selection. This bitfield cannot change when LPUART4_STOP_REQ is asserted.
  54180. * 0b0..This module is functional in Stop Mode
  54181. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54182. */
  54183. #define IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_LPUART4_IPG_STOP_MODE_MASK)
  54184. #define IOMUXC_LPSR_GPR_GPR37_DWP_MASK (0x30000000U)
  54185. #define IOMUXC_LPSR_GPR_GPR37_DWP_SHIFT (28U)
  54186. /*! DWP - Domain write protection
  54187. * 0b00..Both cores are allowed
  54188. * 0b01..CM7 is forbidden
  54189. * 0b10..CM4 is forbidden
  54190. * 0b11..Both cores are forbidden
  54191. */
  54192. #define IOMUXC_LPSR_GPR_GPR37_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_DWP_MASK)
  54193. #define IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_MASK (0xC0000000U)
  54194. #define IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_SHIFT (30U)
  54195. /*! DWP_LOCK - Domain write protection lock
  54196. * 0b00..Neither of DWP bits is locked
  54197. * 0b01..The lower DWP bit is locked
  54198. * 0b10..The higher DWP bit is locked
  54199. * 0b11..Both DWP bits are locked
  54200. */
  54201. #define IOMUXC_LPSR_GPR_GPR37_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR37_DWP_LOCK_MASK)
  54202. /*! @} */
  54203. /*! @name GPR38 - GPR38 General Purpose Register */
  54204. /*! @{ */
  54205. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_MASK (0x1U)
  54206. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_SHIFT (0U)
  54207. /*! LPUART5_IPG_DOZE - LPUART5 doze mode
  54208. * 0b0..Not in doze mode
  54209. * 0b1..In doze mode
  54210. */
  54211. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_DOZE_MASK)
  54212. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_MASK (0x2U)
  54213. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_SHIFT (1U)
  54214. /*! LPUART5_STOP_REQ - LPUART5 stop request
  54215. * 0b0..Stop request off
  54216. * 0b1..Stop request on
  54217. */
  54218. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART5_STOP_REQ_MASK)
  54219. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_MASK (0x4U)
  54220. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_SHIFT (2U)
  54221. /*! LPUART5_IPG_STOP_MODE - LPUART5 stop mode selection. This bitfield cannot change when LPUART5_STOP_REQ is asserted.
  54222. * 0b0..This module is functional in Stop Mode
  54223. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54224. */
  54225. #define IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART5_IPG_STOP_MODE_MASK)
  54226. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_MASK (0x8U)
  54227. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_SHIFT (3U)
  54228. /*! LPUART6_IPG_DOZE - LPUART6 doze mode
  54229. * 0b0..Not in doze mode
  54230. * 0b1..In doze mode
  54231. */
  54232. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_DOZE_MASK)
  54233. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_MASK (0x10U)
  54234. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_SHIFT (4U)
  54235. /*! LPUART6_STOP_REQ - LPUART6 stop request
  54236. * 0b0..Stop request off
  54237. * 0b1..Stop request on
  54238. */
  54239. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART6_STOP_REQ_MASK)
  54240. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_MASK (0x20U)
  54241. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_SHIFT (5U)
  54242. /*! LPUART6_IPG_STOP_MODE - LPUART6 stop mode selection. This bitfield cannot change when LPUART6_STOP_REQ is asserted.
  54243. * 0b0..This module is functional in Stop Mode
  54244. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54245. */
  54246. #define IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART6_IPG_STOP_MODE_MASK)
  54247. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_MASK (0x40U)
  54248. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_SHIFT (6U)
  54249. /*! LPUART7_IPG_DOZE - LPUART7 doze mode
  54250. * 0b0..Not in doze mode
  54251. * 0b1..In doze mode
  54252. */
  54253. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_DOZE_MASK)
  54254. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_MASK (0x80U)
  54255. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_SHIFT (7U)
  54256. /*! LPUART7_STOP_REQ - LPUART7 stop request
  54257. * 0b0..Stop request off
  54258. * 0b1..Stop request on
  54259. */
  54260. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART7_STOP_REQ_MASK)
  54261. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_MASK (0x100U)
  54262. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_SHIFT (8U)
  54263. /*! LPUART7_IPG_STOP_MODE - LPUART7 stop mode selection. This bitfield cannot change when LPUART7_STOP_REQ is asserted.
  54264. * 0b0..This module is functional in Stop Mode
  54265. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54266. */
  54267. #define IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART7_IPG_STOP_MODE_MASK)
  54268. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_MASK (0x200U)
  54269. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_SHIFT (9U)
  54270. /*! LPUART8_IPG_DOZE - LPUART8 doze mode
  54271. * 0b0..Not in doze mode
  54272. * 0b1..In doze mode
  54273. */
  54274. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_DOZE_MASK)
  54275. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_MASK (0x400U)
  54276. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_SHIFT (10U)
  54277. /*! LPUART8_STOP_REQ - LPUART8 stop request
  54278. * 0b0..Stop request off
  54279. * 0b1..Stop request on
  54280. */
  54281. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART8_STOP_REQ_MASK)
  54282. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_MASK (0x800U)
  54283. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_SHIFT (11U)
  54284. /*! LPUART8_IPG_STOP_MODE - LPUART8 stop mode selection. This bitfield cannot change when LPUART8_STOP_REQ is asserted.
  54285. * 0b0..This module is functional in Stop Mode
  54286. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54287. */
  54288. #define IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART8_IPG_STOP_MODE_MASK)
  54289. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_MASK (0x1000U)
  54290. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_SHIFT (12U)
  54291. /*! LPUART9_IPG_DOZE - LPUART9 doze mode
  54292. * 0b0..Not in doze mode
  54293. * 0b1..In doze mode
  54294. */
  54295. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_DOZE_MASK)
  54296. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_MASK (0x2000U)
  54297. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_SHIFT (13U)
  54298. /*! LPUART9_STOP_REQ - LPUART9 stop request
  54299. * 0b0..Stop request off
  54300. * 0b1..Stop request on
  54301. */
  54302. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART9_STOP_REQ_MASK)
  54303. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_MASK (0x4000U)
  54304. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_SHIFT (14U)
  54305. /*! LPUART9_IPG_STOP_MODE - LPUART9 stop mode selection. This bitfield cannot change when LPUART9_STOP_REQ is asserted.
  54306. * 0b0..This module is functional in Stop Mode
  54307. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54308. */
  54309. #define IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART9_IPG_STOP_MODE_MASK)
  54310. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_MASK (0x8000U)
  54311. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_SHIFT (15U)
  54312. /*! LPUART10_IPG_DOZE - LPUART10 doze mode
  54313. * 0b0..Not in doze mode
  54314. * 0b1..In doze mode
  54315. */
  54316. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_DOZE_MASK)
  54317. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_MASK (0x10000U)
  54318. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_SHIFT (16U)
  54319. /*! LPUART10_STOP_REQ - LPUART10 stop request
  54320. * 0b0..Stop request off
  54321. * 0b1..Stop request on
  54322. */
  54323. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART10_STOP_REQ_MASK)
  54324. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_MASK (0x20000U)
  54325. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_SHIFT (17U)
  54326. /*! LPUART10_IPG_STOP_MODE - LPUART10 stop mode selection. This bitfield cannot change when LPUART10_STOP_REQ is asserted.
  54327. * 0b0..This module is functional in Stop Mode
  54328. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54329. */
  54330. #define IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART10_IPG_STOP_MODE_MASK)
  54331. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_MASK (0x40000U)
  54332. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_SHIFT (18U)
  54333. /*! LPUART11_IPG_DOZE - LPUART11 doze mode
  54334. * 0b0..Not in doze mode
  54335. * 0b1..In doze mode
  54336. */
  54337. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_DOZE_MASK)
  54338. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_MASK (0x80000U)
  54339. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_SHIFT (19U)
  54340. /*! LPUART11_STOP_REQ - LPUART11 stop request
  54341. * 0b0..Stop request off
  54342. * 0b1..Stop request on
  54343. */
  54344. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART11_STOP_REQ_MASK)
  54345. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_MASK (0x100000U)
  54346. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_SHIFT (20U)
  54347. /*! LPUART11_IPG_STOP_MODE - LPUART11 stop mode selection. This bitfield cannot change when LPUART11_STOP_REQ is asserted.
  54348. * 0b0..This module is functional in Stop Mode
  54349. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54350. */
  54351. #define IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART11_IPG_STOP_MODE_MASK)
  54352. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_MASK (0x200000U)
  54353. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_SHIFT (21U)
  54354. /*! LPUART12_IPG_DOZE - LPUART12 doze mode
  54355. * 0b0..Not in doze mode
  54356. * 0b1..In doze mode
  54357. */
  54358. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_DOZE_MASK)
  54359. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_MASK (0x400000U)
  54360. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_SHIFT (22U)
  54361. /*! LPUART12_STOP_REQ - LPUART12 stop request
  54362. * 0b0..Stop request off
  54363. * 0b1..Stop request on
  54364. */
  54365. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART12_STOP_REQ_MASK)
  54366. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_MASK (0x800000U)
  54367. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_SHIFT (23U)
  54368. /*! LPUART12_IPG_STOP_MODE - LPUART12 stop mode selection. This bitfield cannot change when LPUART12_STOP_REQ is asserted.
  54369. * 0b0..This module is functional in Stop Mode
  54370. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54371. */
  54372. #define IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_LPUART12_IPG_STOP_MODE_MASK)
  54373. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_MASK (0x1000000U)
  54374. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_SHIFT (24U)
  54375. /*! MIC_IPG_DOZE - MIC doze mode
  54376. * 0b0..Not in doze mode
  54377. * 0b1..In doze mode
  54378. */
  54379. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_MIC_IPG_DOZE_MASK)
  54380. #define IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_MASK (0x2000000U)
  54381. #define IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_SHIFT (25U)
  54382. /*! MIC_STOP_REQ - MIC stop request
  54383. * 0b0..Stop request off
  54384. * 0b1..Stop request on
  54385. */
  54386. #define IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_MIC_STOP_REQ_MASK)
  54387. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_MASK (0x4000000U)
  54388. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_SHIFT (26U)
  54389. /*! MIC_IPG_STOP_MODE - MIC stop mode selection. This bitfield cannot change when MIC_STOP_REQ is asserted.
  54390. * 0b0..This module is functional in Stop Mode
  54391. * 0b1..This module is not functional in Stop Mode and the corresponding x_STOP_REQ field is set to '1'.
  54392. */
  54393. #define IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_MIC_IPG_STOP_MODE_MASK)
  54394. #define IOMUXC_LPSR_GPR_GPR38_DWP_MASK (0x30000000U)
  54395. #define IOMUXC_LPSR_GPR_GPR38_DWP_SHIFT (28U)
  54396. /*! DWP - Domain write protection
  54397. * 0b00..Both cores are allowed
  54398. * 0b01..CM7 is forbidden
  54399. * 0b10..CM4 is forbidden
  54400. * 0b11..Both cores are forbidden
  54401. */
  54402. #define IOMUXC_LPSR_GPR_GPR38_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_DWP_MASK)
  54403. #define IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_MASK (0xC0000000U)
  54404. #define IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_SHIFT (30U)
  54405. /*! DWP_LOCK - Domain write protection lock
  54406. * 0b00..Neither of DWP bits is locked
  54407. * 0b01..The lower DWP bit is locked
  54408. * 0b10..The higher DWP bit is locked
  54409. * 0b11..Both DWP bits are locked
  54410. */
  54411. #define IOMUXC_LPSR_GPR_GPR38_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR38_DWP_LOCK_MASK)
  54412. /*! @} */
  54413. /*! @name GPR39 - GPR39 General Purpose Register */
  54414. /*! @{ */
  54415. #define IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_MASK (0x2U)
  54416. #define IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_SHIFT (1U)
  54417. /*! PIT1_STOP_REQ - PIT1 stop request
  54418. * 0b0..Stop request off
  54419. * 0b1..Stop request on
  54420. */
  54421. #define IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_PIT1_STOP_REQ_MASK)
  54422. #define IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_MASK (0x4U)
  54423. #define IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_SHIFT (2U)
  54424. /*! PIT2_STOP_REQ - PIT2 stop request
  54425. * 0b0..Stop request off
  54426. * 0b1..Stop request on
  54427. */
  54428. #define IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_PIT2_STOP_REQ_MASK)
  54429. #define IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_MASK (0x8U)
  54430. #define IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_SHIFT (3U)
  54431. /*! SEMC_STOP_REQ - SEMC stop request
  54432. * 0b0..Stop request off
  54433. * 0b1..Stop request on
  54434. */
  54435. #define IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SEMC_STOP_REQ_MASK)
  54436. #define IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_MASK (0x10U)
  54437. #define IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_SHIFT (4U)
  54438. /*! SIM1_IPG_DOZE - SIM1 doze mode
  54439. * 0b0..Not in doze mode
  54440. * 0b1..In doze mode
  54441. */
  54442. #define IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SIM1_IPG_DOZE_MASK)
  54443. #define IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_MASK (0x20U)
  54444. #define IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_SHIFT (5U)
  54445. /*! SIM2_IPG_DOZE - SIM2 doze mode
  54446. * 0b0..Not in doze mode
  54447. * 0b1..In doze mode
  54448. */
  54449. #define IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SIM2_IPG_DOZE_MASK)
  54450. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_MASK (0x40U)
  54451. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_SHIFT (6U)
  54452. /*! SNVS_HP_IPG_DOZE - SNVS_HP doze mode
  54453. * 0b0..Not in doze mode
  54454. * 0b1..In doze mode
  54455. */
  54456. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SNVS_HP_IPG_DOZE_MASK)
  54457. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_MASK (0x80U)
  54458. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_SHIFT (7U)
  54459. /*! SNVS_HP_STOP_REQ - SNVS_HP stop request
  54460. * 0b0..Stop request off
  54461. * 0b1..Stop request on
  54462. */
  54463. #define IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SNVS_HP_STOP_REQ_MASK)
  54464. #define IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_MASK (0x100U)
  54465. #define IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_SHIFT (8U)
  54466. /*! WDOG1_IPG_DOZE - WDOG1 doze mode
  54467. * 0b0..Not in doze mode
  54468. * 0b1..In doze mode
  54469. */
  54470. #define IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_WDOG1_IPG_DOZE_MASK)
  54471. #define IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_MASK (0x200U)
  54472. #define IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_SHIFT (9U)
  54473. /*! WDOG2_IPG_DOZE - WDOG2 doze mode
  54474. * 0b0..Not in doze mode
  54475. * 0b1..In doze mode
  54476. */
  54477. #define IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_WDOG2_IPG_DOZE_MASK)
  54478. #define IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_MASK (0x400U)
  54479. #define IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_SHIFT (10U)
  54480. /*! SAI1_STOP_REQ - SAI1 stop request
  54481. * 0b0..Stop request off
  54482. * 0b1..Stop request on
  54483. */
  54484. #define IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SAI1_STOP_REQ_MASK)
  54485. #define IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_MASK (0x800U)
  54486. #define IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_SHIFT (11U)
  54487. /*! SAI2_STOP_REQ - SAI2 stop request
  54488. * 0b0..Stop request off
  54489. * 0b1..Stop request on
  54490. */
  54491. #define IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SAI2_STOP_REQ_MASK)
  54492. #define IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_MASK (0x1000U)
  54493. #define IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_SHIFT (12U)
  54494. /*! SAI3_STOP_REQ - SAI3 stop request
  54495. * 0b0..Stop request off
  54496. * 0b1..Stop request on
  54497. */
  54498. #define IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SAI3_STOP_REQ_MASK)
  54499. #define IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_MASK (0x2000U)
  54500. #define IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_SHIFT (13U)
  54501. /*! SAI4_STOP_REQ - SAI4 stop request
  54502. * 0b0..Stop request off
  54503. * 0b1..Stop request on
  54504. */
  54505. #define IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_SAI4_STOP_REQ_MASK)
  54506. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_MASK (0x4000U)
  54507. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_SHIFT (14U)
  54508. /*! FLEXIO1_STOP_REQ_BUS - FLEXIO1 bus clock domain stop request
  54509. * 0b0..Stop request off
  54510. * 0b1..Stop request on
  54511. */
  54512. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_BUS_MASK)
  54513. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_MASK (0x8000U)
  54514. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_SHIFT (15U)
  54515. /*! FLEXIO1_STOP_REQ_PER - FLEXIO1 peripheral clock domain stop request
  54516. * 0b0..Stop request off
  54517. * 0b1..Stop request on
  54518. */
  54519. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_FLEXIO1_STOP_REQ_PER_MASK)
  54520. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_MASK (0x10000U)
  54521. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_SHIFT (16U)
  54522. /*! FLEXIO2_STOP_REQ_BUS - FLEXIO2 bus clock domain stop request
  54523. * 0b0..Stop request off
  54524. * 0b1..Stop request on
  54525. */
  54526. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_BUS_MASK)
  54527. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_MASK (0x20000U)
  54528. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_SHIFT (17U)
  54529. /*! FLEXIO2_STOP_REQ_PER - FLEXIO2 peripheral clock domain stop request
  54530. * 0b0..Stop request off
  54531. * 0b1..Stop request on
  54532. */
  54533. #define IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_FLEXIO2_STOP_REQ_PER_MASK)
  54534. #define IOMUXC_LPSR_GPR_GPR39_DWP_MASK (0x30000000U)
  54535. #define IOMUXC_LPSR_GPR_GPR39_DWP_SHIFT (28U)
  54536. /*! DWP - Domain write protection
  54537. * 0b00..Both cores are allowed
  54538. * 0b01..CM7 is forbidden
  54539. * 0b10..CM4 is forbidden
  54540. * 0b11..Both cores are forbidden
  54541. */
  54542. #define IOMUXC_LPSR_GPR_GPR39_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_DWP_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_DWP_MASK)
  54543. #define IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_MASK (0xC0000000U)
  54544. #define IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_SHIFT (30U)
  54545. /*! DWP_LOCK - Domain write protection lock
  54546. * 0b00..Neither of DWP bits is locked
  54547. * 0b01..The lower DWP bit is locked
  54548. * 0b10..The higher DWP bit is locked
  54549. * 0b11..Both DWP bits are locked
  54550. */
  54551. #define IOMUXC_LPSR_GPR_GPR39_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_SHIFT)) & IOMUXC_LPSR_GPR_GPR39_DWP_LOCK_MASK)
  54552. /*! @} */
  54553. /*! @name GPR40 - GPR40 General Purpose Register */
  54554. /*! @{ */
  54555. #define IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_MASK (0x1U)
  54556. #define IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_SHIFT (0U)
  54557. /*! ADC1_STOP_ACK - ADC1 stop acknowledge
  54558. */
  54559. #define IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_ADC1_STOP_ACK_MASK)
  54560. #define IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_MASK (0x2U)
  54561. #define IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_SHIFT (1U)
  54562. /*! ADC2_STOP_ACK - ADC2 stop acknowledge
  54563. */
  54564. #define IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_ADC2_STOP_ACK_MASK)
  54565. #define IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_MASK (0x4U)
  54566. #define IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_SHIFT (2U)
  54567. /*! CAAM_STOP_ACK - CAAM stop acknowledge
  54568. */
  54569. #define IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_CAAM_STOP_ACK_MASK)
  54570. #define IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_MASK (0x8U)
  54571. #define IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_SHIFT (3U)
  54572. /*! CAN1_STOP_ACK - CAN1 stop acknowledge
  54573. */
  54574. #define IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_CAN1_STOP_ACK_MASK)
  54575. #define IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_MASK (0x10U)
  54576. #define IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_SHIFT (4U)
  54577. /*! CAN2_STOP_ACK - CAN2 stop acknowledge
  54578. */
  54579. #define IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_CAN2_STOP_ACK_MASK)
  54580. #define IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_MASK (0x20U)
  54581. #define IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_SHIFT (5U)
  54582. /*! CAN3_STOP_ACK - CAN3 stop acknowledge
  54583. */
  54584. #define IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_CAN3_STOP_ACK_MASK)
  54585. #define IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_MASK (0x40U)
  54586. #define IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_SHIFT (6U)
  54587. /*! EDMA_STOP_ACK - EDMA stop acknowledge
  54588. */
  54589. #define IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_EDMA_STOP_ACK_MASK)
  54590. #define IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_MASK (0x80U)
  54591. #define IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_SHIFT (7U)
  54592. /*! EDMA_LPSR_STOP_ACK - EDMA_LPSR stop acknowledge
  54593. */
  54594. #define IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_EDMA_LPSR_STOP_ACK_MASK)
  54595. #define IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_MASK (0x100U)
  54596. #define IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_SHIFT (8U)
  54597. /*! ENET_STOP_ACK - ENET stop acknowledge
  54598. */
  54599. #define IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_ENET_STOP_ACK_MASK)
  54600. #define IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_MASK (0x200U)
  54601. #define IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_SHIFT (9U)
  54602. /*! ENET1G_STOP_ACK - ENET1G stop acknowledge
  54603. */
  54604. #define IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_ENET1G_STOP_ACK_MASK)
  54605. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_MASK (0x400U)
  54606. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_SHIFT (10U)
  54607. /*! FLEXSPI1_STOP_ACK - FLEXSPI1 stop acknowledge
  54608. */
  54609. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_FLEXSPI1_STOP_ACK_MASK)
  54610. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_MASK (0x800U)
  54611. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_SHIFT (11U)
  54612. /*! FLEXSPI2_STOP_ACK - FLEXSPI2 stop acknowledge
  54613. */
  54614. #define IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_FLEXSPI2_STOP_ACK_MASK)
  54615. #define IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_MASK (0x1000U)
  54616. #define IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_SHIFT (12U)
  54617. /*! LPI2C1_STOP_ACK - LPI2C1 stop acknowledge
  54618. */
  54619. #define IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C1_STOP_ACK_MASK)
  54620. #define IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_MASK (0x2000U)
  54621. #define IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_SHIFT (13U)
  54622. /*! LPI2C2_STOP_ACK - LPI2C2 stop acknowledge
  54623. */
  54624. #define IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C2_STOP_ACK_MASK)
  54625. #define IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_MASK (0x4000U)
  54626. #define IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_SHIFT (14U)
  54627. /*! LPI2C3_STOP_ACK - LPI2C3 stop acknowledge
  54628. */
  54629. #define IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C3_STOP_ACK_MASK)
  54630. #define IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_MASK (0x8000U)
  54631. #define IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_SHIFT (15U)
  54632. /*! LPI2C4_STOP_ACK - LPI2C4 stop acknowledge
  54633. */
  54634. #define IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C4_STOP_ACK_MASK)
  54635. #define IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_MASK (0x10000U)
  54636. #define IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_SHIFT (16U)
  54637. /*! LPI2C5_STOP_ACK - LPI2C5 stop acknowledge
  54638. */
  54639. #define IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C5_STOP_ACK_MASK)
  54640. #define IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_MASK (0x20000U)
  54641. #define IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_SHIFT (17U)
  54642. /*! LPI2C6_STOP_ACK - LPI2C6 stop acknowledge
  54643. */
  54644. #define IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPI2C6_STOP_ACK_MASK)
  54645. #define IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_MASK (0x40000U)
  54646. #define IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_SHIFT (18U)
  54647. /*! LPSPI1_STOP_ACK - LPSPI1 stop acknowledge
  54648. */
  54649. #define IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI1_STOP_ACK_MASK)
  54650. #define IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_MASK (0x80000U)
  54651. #define IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_SHIFT (19U)
  54652. /*! LPSPI2_STOP_ACK - LPSPI2 stop acknowledge
  54653. */
  54654. #define IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI2_STOP_ACK_MASK)
  54655. #define IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_MASK (0x100000U)
  54656. #define IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_SHIFT (20U)
  54657. /*! LPSPI3_STOP_ACK - LPSPI3 stop acknowledge
  54658. */
  54659. #define IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI3_STOP_ACK_MASK)
  54660. #define IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_MASK (0x200000U)
  54661. #define IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_SHIFT (21U)
  54662. /*! LPSPI4_STOP_ACK - LPSPI4 stop acknowledge
  54663. */
  54664. #define IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI4_STOP_ACK_MASK)
  54665. #define IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_MASK (0x400000U)
  54666. #define IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_SHIFT (22U)
  54667. /*! LPSPI5_STOP_ACK - LPSPI5 stop acknowledge
  54668. */
  54669. #define IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI5_STOP_ACK_MASK)
  54670. #define IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_MASK (0x800000U)
  54671. #define IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_SHIFT (23U)
  54672. /*! LPSPI6_STOP_ACK - LPSPI6 stop acknowledge
  54673. */
  54674. #define IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPSPI6_STOP_ACK_MASK)
  54675. #define IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_MASK (0x1000000U)
  54676. #define IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_SHIFT (24U)
  54677. /*! LPUART1_STOP_ACK - LPUART1 stop acknowledge
  54678. */
  54679. #define IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART1_STOP_ACK_MASK)
  54680. #define IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_MASK (0x2000000U)
  54681. #define IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_SHIFT (25U)
  54682. /*! LPUART2_STOP_ACK - LPUART2 stop acknowledge
  54683. */
  54684. #define IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART2_STOP_ACK_MASK)
  54685. #define IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_MASK (0x4000000U)
  54686. #define IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_SHIFT (26U)
  54687. /*! LPUART3_STOP_ACK - LPUART3 stop acknowledge
  54688. */
  54689. #define IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART3_STOP_ACK_MASK)
  54690. #define IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_MASK (0x8000000U)
  54691. #define IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_SHIFT (27U)
  54692. /*! LPUART4_STOP_ACK - LPUART4 stop acknowledge
  54693. */
  54694. #define IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART4_STOP_ACK_MASK)
  54695. #define IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_MASK (0x10000000U)
  54696. #define IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_SHIFT (28U)
  54697. /*! LPUART5_STOP_ACK - LPUART5 stop acknowledge
  54698. */
  54699. #define IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART5_STOP_ACK_MASK)
  54700. #define IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_MASK (0x20000000U)
  54701. #define IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_SHIFT (29U)
  54702. /*! LPUART6_STOP_ACK - LPUART6 stop acknowledge
  54703. */
  54704. #define IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART6_STOP_ACK_MASK)
  54705. #define IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_MASK (0x40000000U)
  54706. #define IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_SHIFT (30U)
  54707. /*! LPUART7_STOP_ACK - LPUART7 stop acknowledge
  54708. */
  54709. #define IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART7_STOP_ACK_MASK)
  54710. #define IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_MASK (0x80000000U)
  54711. #define IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_SHIFT (31U)
  54712. /*! LPUART8_STOP_ACK - LPUART8 stop acknowledge
  54713. */
  54714. #define IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR40_LPUART8_STOP_ACK_MASK)
  54715. /*! @} */
  54716. /*! @name GPR41 - GPR41 General Purpose Register */
  54717. /*! @{ */
  54718. #define IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_MASK (0x1U)
  54719. #define IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_SHIFT (0U)
  54720. /*! LPUART9_STOP_ACK - LPUART9 stop acknowledge
  54721. */
  54722. #define IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_LPUART9_STOP_ACK_MASK)
  54723. #define IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_MASK (0x2U)
  54724. #define IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_SHIFT (1U)
  54725. /*! LPUART10_STOP_ACK - LPUART10 stop acknowledge
  54726. */
  54727. #define IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_LPUART10_STOP_ACK_MASK)
  54728. #define IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_MASK (0x4U)
  54729. #define IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_SHIFT (2U)
  54730. /*! LPUART11_STOP_ACK - LPUART11 stop acknowledge
  54731. */
  54732. #define IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_LPUART11_STOP_ACK_MASK)
  54733. #define IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_MASK (0x8U)
  54734. #define IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_SHIFT (3U)
  54735. /*! LPUART12_STOP_ACK - LPUART12 stop acknowledge
  54736. */
  54737. #define IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_LPUART12_STOP_ACK_MASK)
  54738. #define IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_MASK (0x10U)
  54739. #define IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_SHIFT (4U)
  54740. /*! MIC_STOP_ACK - MIC stop acknowledge
  54741. */
  54742. #define IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_MIC_STOP_ACK_MASK)
  54743. #define IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_MASK (0x20U)
  54744. #define IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_SHIFT (5U)
  54745. /*! PIT1_STOP_ACK - PIT1 stop acknowledge
  54746. */
  54747. #define IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_PIT1_STOP_ACK_MASK)
  54748. #define IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_MASK (0x40U)
  54749. #define IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_SHIFT (6U)
  54750. /*! PIT2_STOP_ACK - PIT2 stop acknowledge
  54751. */
  54752. #define IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_PIT2_STOP_ACK_MASK)
  54753. #define IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_MASK (0x80U)
  54754. #define IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_SHIFT (7U)
  54755. /*! SEMC_STOP_ACK - SEMC stop acknowledge
  54756. */
  54757. #define IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SEMC_STOP_ACK_MASK)
  54758. #define IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_MASK (0x100U)
  54759. #define IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_SHIFT (8U)
  54760. /*! SNVS_HP_STOP_ACK - SNVS_HP stop acknowledge
  54761. */
  54762. #define IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SNVS_HP_STOP_ACK_MASK)
  54763. #define IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_MASK (0x200U)
  54764. #define IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_SHIFT (9U)
  54765. /*! SAI1_STOP_ACK - SAI1 stop acknowledge
  54766. */
  54767. #define IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SAI1_STOP_ACK_MASK)
  54768. #define IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_MASK (0x400U)
  54769. #define IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_SHIFT (10U)
  54770. /*! SAI2_STOP_ACK - SAI2 stop acknowledge
  54771. */
  54772. #define IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SAI2_STOP_ACK_MASK)
  54773. #define IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_MASK (0x800U)
  54774. #define IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_SHIFT (11U)
  54775. /*! SAI3_STOP_ACK - SAI3 stop acknowledge
  54776. */
  54777. #define IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SAI3_STOP_ACK_MASK)
  54778. #define IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_MASK (0x1000U)
  54779. #define IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_SHIFT (12U)
  54780. /*! SAI4_STOP_ACK - SAI4 stop acknowledge
  54781. */
  54782. #define IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_SAI4_STOP_ACK_MASK)
  54783. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_MASK (0x2000U)
  54784. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_SHIFT (13U)
  54785. /*! FLEXIO1_STOP_ACK_BUS - FLEXIO1 stop acknowledge of bus clock domain
  54786. */
  54787. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_BUS_MASK)
  54788. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_MASK (0x4000U)
  54789. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_SHIFT (14U)
  54790. /*! FLEXIO1_STOP_ACK_PER - FLEXIO1 stop acknowledge of peripheral clock domain
  54791. */
  54792. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_FLEXIO1_STOP_ACK_PER_MASK)
  54793. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_MASK (0x8000U)
  54794. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_SHIFT (15U)
  54795. /*! FLEXIO2_STOP_ACK_BUS - FLEXIO2 stop acknowledge of bus clock domain
  54796. */
  54797. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_BUS_MASK)
  54798. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_MASK (0x10000U)
  54799. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_SHIFT (16U)
  54800. /*! FLEXIO2_STOP_ACK_PER - FLEXIO2 stop acknowledge of peripheral clock domain
  54801. */
  54802. #define IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_FLEXIO2_STOP_ACK_PER_MASK)
  54803. #define IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_MASK (0x1000000U)
  54804. #define IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_SHIFT (24U)
  54805. /*! ROM_READ_LOCKED - ROM read lock status bit
  54806. */
  54807. #define IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_SHIFT)) & IOMUXC_LPSR_GPR_GPR41_ROM_READ_LOCKED_MASK)
  54808. /*! @} */
  54809. /*!
  54810. * @}
  54811. */ /* end of group IOMUXC_LPSR_GPR_Register_Masks */
  54812. /* IOMUXC_LPSR_GPR - Peripheral instance base addresses */
  54813. /** Peripheral IOMUXC_LPSR_GPR base address */
  54814. #define IOMUXC_LPSR_GPR_BASE (0x40C0C000u)
  54815. /** Peripheral IOMUXC_LPSR_GPR base pointer */
  54816. #define IOMUXC_LPSR_GPR ((IOMUXC_LPSR_GPR_Type *)IOMUXC_LPSR_GPR_BASE)
  54817. /** Array initializer of IOMUXC_LPSR_GPR peripheral base addresses */
  54818. #define IOMUXC_LPSR_GPR_BASE_ADDRS { IOMUXC_LPSR_GPR_BASE }
  54819. /** Array initializer of IOMUXC_LPSR_GPR peripheral base pointers */
  54820. #define IOMUXC_LPSR_GPR_BASE_PTRS { IOMUXC_LPSR_GPR }
  54821. /*!
  54822. * @}
  54823. */ /* end of group IOMUXC_LPSR_GPR_Peripheral_Access_Layer */
  54824. /* ----------------------------------------------------------------------------
  54825. -- IOMUXC_SNVS Peripheral Access Layer
  54826. ---------------------------------------------------------------------------- */
  54827. /*!
  54828. * @addtogroup IOMUXC_SNVS_Peripheral_Access_Layer IOMUXC_SNVS Peripheral Access Layer
  54829. * @{
  54830. */
  54831. /** IOMUXC_SNVS - Register Layout Typedef */
  54832. typedef struct {
  54833. __IO uint32_t SW_MUX_CTL_PAD_WAKEUP_DIG; /**< SW_MUX_CTL_PAD_WAKEUP_DIG SW MUX Control Register, offset: 0x0 */
  54834. __IO uint32_t SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG; /**< SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG SW MUX Control Register, offset: 0x4 */
  54835. __IO uint32_t SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG; /**< SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG SW MUX Control Register, offset: 0x8 */
  54836. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG SW MUX Control Register, offset: 0xC */
  54837. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG SW MUX Control Register, offset: 0x10 */
  54838. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG SW MUX Control Register, offset: 0x14 */
  54839. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG SW MUX Control Register, offset: 0x18 */
  54840. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG SW MUX Control Register, offset: 0x1C */
  54841. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG SW MUX Control Register, offset: 0x20 */
  54842. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG SW MUX Control Register, offset: 0x24 */
  54843. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG SW MUX Control Register, offset: 0x28 */
  54844. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG SW MUX Control Register, offset: 0x2C */
  54845. __IO uint32_t SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG; /**< SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG SW MUX Control Register, offset: 0x30 */
  54846. __IO uint32_t SW_PAD_CTL_PAD_TEST_MODE_DIG; /**< SW_PAD_CTL_PAD_TEST_MODE_DIG SW PAD Control Register, offset: 0x34 */
  54847. __IO uint32_t SW_PAD_CTL_PAD_POR_B_DIG; /**< SW_PAD_CTL_PAD_POR_B_DIG SW PAD Control Register, offset: 0x38 */
  54848. __IO uint32_t SW_PAD_CTL_PAD_ONOFF_DIG; /**< SW_PAD_CTL_PAD_ONOFF_DIG SW PAD Control Register, offset: 0x3C */
  54849. __IO uint32_t SW_PAD_CTL_PAD_WAKEUP_DIG; /**< SW_PAD_CTL_PAD_WAKEUP_DIG SW PAD Control Register, offset: 0x40 */
  54850. __IO uint32_t SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG; /**< SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG SW PAD Control Register, offset: 0x44 */
  54851. __IO uint32_t SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG; /**< SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG SW PAD Control Register, offset: 0x48 */
  54852. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG SW PAD Control Register, offset: 0x4C */
  54853. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG SW PAD Control Register, offset: 0x50 */
  54854. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG SW PAD Control Register, offset: 0x54 */
  54855. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG SW PAD Control Register, offset: 0x58 */
  54856. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG SW PAD Control Register, offset: 0x5C */
  54857. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG SW PAD Control Register, offset: 0x60 */
  54858. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG SW PAD Control Register, offset: 0x64 */
  54859. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG SW PAD Control Register, offset: 0x68 */
  54860. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG SW PAD Control Register, offset: 0x6C */
  54861. __IO uint32_t SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG; /**< SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG SW PAD Control Register, offset: 0x70 */
  54862. } IOMUXC_SNVS_Type;
  54863. /* ----------------------------------------------------------------------------
  54864. -- IOMUXC_SNVS Register Masks
  54865. ---------------------------------------------------------------------------- */
  54866. /*!
  54867. * @addtogroup IOMUXC_SNVS_Register_Masks IOMUXC_SNVS Register Masks
  54868. * @{
  54869. */
  54870. /*! @name SW_MUX_CTL_PAD_WAKEUP_DIG - SW_MUX_CTL_PAD_WAKEUP_DIG SW MUX Control Register */
  54871. /*! @{ */
  54872. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_MASK (0x7U)
  54873. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_SHIFT (0U)
  54874. /*! MUX_MODE - MUX Mode Select Field.
  54875. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO00 of instance: GPIO13
  54876. * 0b111..Select mux mode: ALT7 mux port: NMI_GLUE_NMI of instance: NMI_GLUE
  54877. */
  54878. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_MUX_MODE_MASK)
  54879. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_MASK (0x10U)
  54880. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_SHIFT (4U)
  54881. /*! SION - Software Input On Field.
  54882. * 0b1..Force input path of pad WAKEUP_DIG
  54883. * 0b0..Input Path is determined by functionality
  54884. */
  54885. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_WAKEUP_DIG_SION_MASK)
  54886. /*! @} */
  54887. /*! @name SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG - SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG SW MUX Control Register */
  54888. /*! @{ */
  54889. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_MASK (0x7U)
  54890. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_SHIFT (0U)
  54891. /*! MUX_MODE - MUX Mode Select Field.
  54892. * 0b000..Select mux mode: ALT0 mux port: SNVS_LP_PMIC_ON_REQ of instance: SNVS_LP
  54893. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO01 of instance: GPIO13
  54894. */
  54895. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_MUX_MODE_MASK)
  54896. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_MASK (0x10U)
  54897. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_SHIFT (4U)
  54898. /*! SION - Software Input On Field.
  54899. * 0b1..Force input path of pad PMIC_ON_REQ_DIG
  54900. * 0b0..Input Path is determined by functionality
  54901. */
  54902. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_ON_REQ_DIG_SION_MASK)
  54903. /*! @} */
  54904. /*! @name SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG - SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG SW MUX Control Register */
  54905. /*! @{ */
  54906. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_MASK (0x7U)
  54907. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_SHIFT (0U)
  54908. /*! MUX_MODE - MUX Mode Select Field.
  54909. * 0b000..Select mux mode: ALT0 mux port: CCM_PMIC_VSTBY_REQ of instance: CCM
  54910. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO02 of instance: GPIO13
  54911. */
  54912. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_MUX_MODE_MASK)
  54913. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_MASK (0x10U)
  54914. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_SHIFT (4U)
  54915. /*! SION - Software Input On Field.
  54916. * 0b1..Force input path of pad PMIC_STBY_REQ_DIG
  54917. * 0b0..Input Path is determined by functionality
  54918. */
  54919. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_PMIC_STBY_REQ_DIG_SION_MASK)
  54920. /*! @} */
  54921. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG SW MUX Control Register */
  54922. /*! @{ */
  54923. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_MASK (0x7U)
  54924. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_SHIFT (0U)
  54925. /*! MUX_MODE - MUX Mode Select Field.
  54926. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER0 of instance: SNVS_LP
  54927. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO03 of instance: GPIO13
  54928. */
  54929. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_MUX_MODE_MASK)
  54930. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_MASK (0x10U)
  54931. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_SHIFT (4U)
  54932. /*! SION - Software Input On Field.
  54933. * 0b1..Force input path of pad GPIO_SNVS_00_DIG
  54934. * 0b0..Input Path is determined by functionality
  54935. */
  54936. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_00_DIG_SION_MASK)
  54937. /*! @} */
  54938. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG SW MUX Control Register */
  54939. /*! @{ */
  54940. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_MASK (0x7U)
  54941. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_SHIFT (0U)
  54942. /*! MUX_MODE - MUX Mode Select Field.
  54943. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER1 of instance: SNVS_LP
  54944. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO04 of instance: GPIO13
  54945. */
  54946. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_MUX_MODE_MASK)
  54947. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_MASK (0x10U)
  54948. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_SHIFT (4U)
  54949. /*! SION - Software Input On Field.
  54950. * 0b1..Force input path of pad GPIO_SNVS_01_DIG
  54951. * 0b0..Input Path is determined by functionality
  54952. */
  54953. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_01_DIG_SION_MASK)
  54954. /*! @} */
  54955. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG SW MUX Control Register */
  54956. /*! @{ */
  54957. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_MASK (0x7U)
  54958. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_SHIFT (0U)
  54959. /*! MUX_MODE - MUX Mode Select Field.
  54960. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER2 of instance: SNVS_LP
  54961. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO05 of instance: GPIO13
  54962. */
  54963. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_MUX_MODE_MASK)
  54964. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_MASK (0x10U)
  54965. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_SHIFT (4U)
  54966. /*! SION - Software Input On Field.
  54967. * 0b1..Force input path of pad GPIO_SNVS_02_DIG
  54968. * 0b0..Input Path is determined by functionality
  54969. */
  54970. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_02_DIG_SION_MASK)
  54971. /*! @} */
  54972. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG SW MUX Control Register */
  54973. /*! @{ */
  54974. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_MASK (0x7U)
  54975. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_SHIFT (0U)
  54976. /*! MUX_MODE - MUX Mode Select Field.
  54977. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER3 of instance: SNVS_LP
  54978. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO06 of instance: GPIO13
  54979. */
  54980. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_MUX_MODE_MASK)
  54981. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_MASK (0x10U)
  54982. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_SHIFT (4U)
  54983. /*! SION - Software Input On Field.
  54984. * 0b1..Force input path of pad GPIO_SNVS_03_DIG
  54985. * 0b0..Input Path is determined by functionality
  54986. */
  54987. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_03_DIG_SION_MASK)
  54988. /*! @} */
  54989. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG SW MUX Control Register */
  54990. /*! @{ */
  54991. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_MASK (0x7U)
  54992. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_SHIFT (0U)
  54993. /*! MUX_MODE - MUX Mode Select Field.
  54994. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER4 of instance: SNVS_LP
  54995. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO07 of instance: GPIO13
  54996. */
  54997. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_MUX_MODE_MASK)
  54998. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_MASK (0x10U)
  54999. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_SHIFT (4U)
  55000. /*! SION - Software Input On Field.
  55001. * 0b1..Force input path of pad GPIO_SNVS_04_DIG
  55002. * 0b0..Input Path is determined by functionality
  55003. */
  55004. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_04_DIG_SION_MASK)
  55005. /*! @} */
  55006. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG SW MUX Control Register */
  55007. /*! @{ */
  55008. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_MASK (0x7U)
  55009. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_SHIFT (0U)
  55010. /*! MUX_MODE - MUX Mode Select Field.
  55011. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER5 of instance: SNVS_LP
  55012. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO08 of instance: GPIO13
  55013. */
  55014. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_MUX_MODE_MASK)
  55015. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_MASK (0x10U)
  55016. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_SHIFT (4U)
  55017. /*! SION - Software Input On Field.
  55018. * 0b1..Force input path of pad GPIO_SNVS_05_DIG
  55019. * 0b0..Input Path is determined by functionality
  55020. */
  55021. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_05_DIG_SION_MASK)
  55022. /*! @} */
  55023. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG SW MUX Control Register */
  55024. /*! @{ */
  55025. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_MASK (0x7U)
  55026. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_SHIFT (0U)
  55027. /*! MUX_MODE - MUX Mode Select Field.
  55028. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER6 of instance: SNVS_LP
  55029. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO09 of instance: GPIO13
  55030. */
  55031. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_MUX_MODE_MASK)
  55032. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_MASK (0x10U)
  55033. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_SHIFT (4U)
  55034. /*! SION - Software Input On Field.
  55035. * 0b1..Force input path of pad GPIO_SNVS_06_DIG
  55036. * 0b0..Input Path is determined by functionality
  55037. */
  55038. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_06_DIG_SION_MASK)
  55039. /*! @} */
  55040. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG SW MUX Control Register */
  55041. /*! @{ */
  55042. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_MASK (0x7U)
  55043. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_SHIFT (0U)
  55044. /*! MUX_MODE - MUX Mode Select Field.
  55045. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER7 of instance: SNVS_LP
  55046. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO10 of instance: GPIO13
  55047. */
  55048. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_MUX_MODE_MASK)
  55049. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_MASK (0x10U)
  55050. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_SHIFT (4U)
  55051. /*! SION - Software Input On Field.
  55052. * 0b1..Force input path of pad GPIO_SNVS_07_DIG
  55053. * 0b0..Input Path is determined by functionality
  55054. */
  55055. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_07_DIG_SION_MASK)
  55056. /*! @} */
  55057. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG SW MUX Control Register */
  55058. /*! @{ */
  55059. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_MASK (0x7U)
  55060. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_SHIFT (0U)
  55061. /*! MUX_MODE - MUX Mode Select Field.
  55062. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER8 of instance: SNVS_LP
  55063. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO11 of instance: GPIO13
  55064. */
  55065. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_MUX_MODE_MASK)
  55066. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_MASK (0x10U)
  55067. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_SHIFT (4U)
  55068. /*! SION - Software Input On Field.
  55069. * 0b1..Force input path of pad GPIO_SNVS_08_DIG
  55070. * 0b0..Input Path is determined by functionality
  55071. */
  55072. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_08_DIG_SION_MASK)
  55073. /*! @} */
  55074. /*! @name SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG - SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG SW MUX Control Register */
  55075. /*! @{ */
  55076. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_MASK (0x7U)
  55077. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_SHIFT (0U)
  55078. /*! MUX_MODE - MUX Mode Select Field.
  55079. * 0b000..Select mux mode: ALT0 mux port: SNVS_TAMPER9 of instance: SNVS_LP
  55080. * 0b101..Select mux mode: ALT5 mux port: GPIO13_IO12 of instance: GPIO13
  55081. */
  55082. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_MUX_MODE_MASK)
  55083. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_MASK (0x10U)
  55084. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_SHIFT (4U)
  55085. /*! SION - Software Input On Field.
  55086. * 0b1..Force input path of pad GPIO_SNVS_09_DIG
  55087. * 0b0..Input Path is determined by functionality
  55088. */
  55089. #define IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_SHIFT)) & IOMUXC_SNVS_SW_MUX_CTL_PAD_GPIO_SNVS_09_DIG_SION_MASK)
  55090. /*! @} */
  55091. /*! @name SW_PAD_CTL_PAD_TEST_MODE_DIG - SW_PAD_CTL_PAD_TEST_MODE_DIG SW PAD Control Register */
  55092. /*! @{ */
  55093. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_MASK (0x1U)
  55094. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_SHIFT (0U)
  55095. /*! SRE - Slew Rate Field
  55096. * 0b0..Slow Slew Rate
  55097. * 0b1..Fast Slew Rate
  55098. */
  55099. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_SRE_MASK)
  55100. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_MASK (0x2U)
  55101. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_SHIFT (1U)
  55102. /*! DSE - Drive Strength Field
  55103. * 0b0..normal driver
  55104. * 0b1..high driver
  55105. */
  55106. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DSE_MASK)
  55107. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_MASK (0x4U)
  55108. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_SHIFT (2U)
  55109. /*! PUE - Pull / Keep Select Field
  55110. * 0b0..Pull Disable
  55111. * 0b1..Pull Enable
  55112. */
  55113. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUE_MASK)
  55114. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_MASK (0x8U)
  55115. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_SHIFT (3U)
  55116. /*! PUS - Pull Up / Down Config. Field
  55117. * 0b0..Weak pull down
  55118. * 0b1..Weak pull up
  55119. */
  55120. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_PUS_MASK)
  55121. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_MASK (0x30000000U)
  55122. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_SHIFT (28U)
  55123. /*! DWP - Domain write protection
  55124. * 0b00..Both cores are allowed
  55125. * 0b01..CM7 is forbidden
  55126. * 0b10..CM4 is forbidden
  55127. * 0b11..Both cores are forbidden
  55128. */
  55129. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_MASK)
  55130. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_MASK (0xC0000000U)
  55131. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_SHIFT (30U)
  55132. /*! DWP_LOCK - Domain write protection lock
  55133. * 0b00..Neither of DWP bits is locked
  55134. * 0b01..The lower DWP bit is locked
  55135. * 0b10..The higher DWP bit is locked
  55136. * 0b11..Both DWP bits are locked
  55137. */
  55138. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_TEST_MODE_DIG_DWP_LOCK_MASK)
  55139. /*! @} */
  55140. /*! @name SW_PAD_CTL_PAD_POR_B_DIG - SW_PAD_CTL_PAD_POR_B_DIG SW PAD Control Register */
  55141. /*! @{ */
  55142. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_MASK (0x1U)
  55143. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_SHIFT (0U)
  55144. /*! SRE - Slew Rate Field
  55145. * 0b0..Slow Slew Rate
  55146. * 0b1..Fast Slew Rate
  55147. */
  55148. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_SRE_MASK)
  55149. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_MASK (0x2U)
  55150. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_SHIFT (1U)
  55151. /*! DSE - Drive Strength Field
  55152. * 0b0..normal driver
  55153. * 0b1..high driver
  55154. */
  55155. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DSE_MASK)
  55156. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_MASK (0x4U)
  55157. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_SHIFT (2U)
  55158. /*! PUE - Pull / Keep Select Field
  55159. * 0b0..Pull Disable
  55160. * 0b1..Pull Enable
  55161. */
  55162. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUE_MASK)
  55163. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_MASK (0x8U)
  55164. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_SHIFT (3U)
  55165. /*! PUS - Pull Up / Down Config. Field
  55166. * 0b0..Weak pull down
  55167. * 0b1..Weak pull up
  55168. */
  55169. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_PUS_MASK)
  55170. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_MASK (0x30000000U)
  55171. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_SHIFT (28U)
  55172. /*! DWP - Domain write protection
  55173. * 0b00..Both cores are allowed
  55174. * 0b01..CM7 is forbidden
  55175. * 0b10..CM4 is forbidden
  55176. * 0b11..Both cores are forbidden
  55177. */
  55178. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_MASK)
  55179. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_MASK (0xC0000000U)
  55180. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_SHIFT (30U)
  55181. /*! DWP_LOCK - Domain write protection lock
  55182. * 0b00..Neither of DWP bits is locked
  55183. * 0b01..The lower DWP bit is locked
  55184. * 0b10..The higher DWP bit is locked
  55185. * 0b11..Both DWP bits are locked
  55186. */
  55187. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_POR_B_DIG_DWP_LOCK_MASK)
  55188. /*! @} */
  55189. /*! @name SW_PAD_CTL_PAD_ONOFF_DIG - SW_PAD_CTL_PAD_ONOFF_DIG SW PAD Control Register */
  55190. /*! @{ */
  55191. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_MASK (0x1U)
  55192. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_SHIFT (0U)
  55193. /*! SRE - Slew Rate Field
  55194. * 0b0..Slow Slew Rate
  55195. * 0b1..Fast Slew Rate
  55196. */
  55197. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_SRE_MASK)
  55198. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_MASK (0x2U)
  55199. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_SHIFT (1U)
  55200. /*! DSE - Drive Strength Field
  55201. * 0b0..normal driver
  55202. * 0b1..high driver
  55203. */
  55204. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DSE_MASK)
  55205. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_MASK (0x4U)
  55206. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_SHIFT (2U)
  55207. /*! PUE - Pull / Keep Select Field
  55208. * 0b0..Pull Disable
  55209. * 0b1..Pull Enable
  55210. */
  55211. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUE_MASK)
  55212. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_MASK (0x8U)
  55213. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_SHIFT (3U)
  55214. /*! PUS - Pull Up / Down Config. Field
  55215. * 0b0..Weak pull down
  55216. * 0b1..Weak pull up
  55217. */
  55218. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_PUS_MASK)
  55219. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_MASK (0x30000000U)
  55220. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_SHIFT (28U)
  55221. /*! DWP - Domain write protection
  55222. * 0b00..Both cores are allowed
  55223. * 0b01..CM7 is forbidden
  55224. * 0b10..CM4 is forbidden
  55225. * 0b11..Both cores are forbidden
  55226. */
  55227. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_MASK)
  55228. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_MASK (0xC0000000U)
  55229. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_SHIFT (30U)
  55230. /*! DWP_LOCK - Domain write protection lock
  55231. * 0b00..Neither of DWP bits is locked
  55232. * 0b01..The lower DWP bit is locked
  55233. * 0b10..The higher DWP bit is locked
  55234. * 0b11..Both DWP bits are locked
  55235. */
  55236. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_ONOFF_DIG_DWP_LOCK_MASK)
  55237. /*! @} */
  55238. /*! @name SW_PAD_CTL_PAD_WAKEUP_DIG - SW_PAD_CTL_PAD_WAKEUP_DIG SW PAD Control Register */
  55239. /*! @{ */
  55240. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_MASK (0x1U)
  55241. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_SHIFT (0U)
  55242. /*! SRE - Slew Rate Field
  55243. * 0b0..Slow Slew Rate
  55244. * 0b1..Fast Slew Rate
  55245. */
  55246. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_SRE_MASK)
  55247. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_MASK (0x2U)
  55248. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_SHIFT (1U)
  55249. /*! DSE - Drive Strength Field
  55250. * 0b0..normal driver
  55251. * 0b1..high driver
  55252. */
  55253. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DSE_MASK)
  55254. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_MASK (0x4U)
  55255. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_SHIFT (2U)
  55256. /*! PUE - Pull / Keep Select Field
  55257. * 0b0..Pull Disable
  55258. * 0b1..Pull Enable
  55259. */
  55260. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUE_MASK)
  55261. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_MASK (0x8U)
  55262. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_SHIFT (3U)
  55263. /*! PUS - Pull Up / Down Config. Field
  55264. * 0b0..Weak pull down
  55265. * 0b1..Weak pull up
  55266. */
  55267. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_PUS_MASK)
  55268. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_MASK (0x40U)
  55269. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_SHIFT (6U)
  55270. /*! ODE_SNVS - Open Drain SNVS Field
  55271. * 0b0..Disabled
  55272. * 0b1..Enabled
  55273. */
  55274. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_ODE_SNVS_MASK)
  55275. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_MASK (0x30000000U)
  55276. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_SHIFT (28U)
  55277. /*! DWP - Domain write protection
  55278. * 0b00..Both cores are allowed
  55279. * 0b01..CM7 is forbidden
  55280. * 0b10..CM4 is forbidden
  55281. * 0b11..Both cores are forbidden
  55282. */
  55283. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_MASK)
  55284. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_MASK (0xC0000000U)
  55285. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_SHIFT (30U)
  55286. /*! DWP_LOCK - Domain write protection lock
  55287. * 0b00..Neither of DWP bits is locked
  55288. * 0b01..The lower DWP bit is locked
  55289. * 0b10..The higher DWP bit is locked
  55290. * 0b11..Both DWP bits are locked
  55291. */
  55292. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_WAKEUP_DIG_DWP_LOCK_MASK)
  55293. /*! @} */
  55294. /*! @name SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG - SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG SW PAD Control Register */
  55295. /*! @{ */
  55296. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_MASK (0x1U)
  55297. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_SHIFT (0U)
  55298. /*! SRE - Slew Rate Field
  55299. * 0b0..Slow Slew Rate
  55300. * 0b1..Fast Slew Rate
  55301. */
  55302. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_SRE_MASK)
  55303. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_MASK (0x2U)
  55304. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_SHIFT (1U)
  55305. /*! DSE - Drive Strength Field
  55306. * 0b0..normal driver
  55307. * 0b1..high driver
  55308. */
  55309. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DSE_MASK)
  55310. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_MASK (0x4U)
  55311. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_SHIFT (2U)
  55312. /*! PUE - Pull / Keep Select Field
  55313. * 0b0..Pull Disable
  55314. * 0b1..Pull Enable
  55315. */
  55316. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUE_MASK)
  55317. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_MASK (0x8U)
  55318. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_SHIFT (3U)
  55319. /*! PUS - Pull Up / Down Config. Field
  55320. * 0b0..Weak pull down
  55321. * 0b1..Weak pull up
  55322. */
  55323. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_PUS_MASK)
  55324. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_MASK (0x40U)
  55325. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_SHIFT (6U)
  55326. /*! ODE_SNVS - Open Drain SNVS Field
  55327. * 0b0..Disabled
  55328. * 0b1..Enabled
  55329. */
  55330. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_ODE_SNVS_MASK)
  55331. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_MASK (0x30000000U)
  55332. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_SHIFT (28U)
  55333. /*! DWP - Domain write protection
  55334. * 0b00..Both cores are allowed
  55335. * 0b01..CM7 is forbidden
  55336. * 0b10..CM4 is forbidden
  55337. * 0b11..Both cores are forbidden
  55338. */
  55339. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_MASK)
  55340. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_MASK (0xC0000000U)
  55341. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_SHIFT (30U)
  55342. /*! DWP_LOCK - Domain write protection lock
  55343. * 0b00..Neither of DWP bits is locked
  55344. * 0b01..The lower DWP bit is locked
  55345. * 0b10..The higher DWP bit is locked
  55346. * 0b11..Both DWP bits are locked
  55347. */
  55348. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_ON_REQ_DIG_DWP_LOCK_MASK)
  55349. /*! @} */
  55350. /*! @name SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG - SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG SW PAD Control Register */
  55351. /*! @{ */
  55352. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_MASK (0x1U)
  55353. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_SHIFT (0U)
  55354. /*! SRE - Slew Rate Field
  55355. * 0b0..Slow Slew Rate
  55356. * 0b1..Fast Slew Rate
  55357. */
  55358. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_SRE_MASK)
  55359. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_MASK (0x2U)
  55360. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_SHIFT (1U)
  55361. /*! DSE - Drive Strength Field
  55362. * 0b0..normal driver
  55363. * 0b1..high driver
  55364. */
  55365. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DSE_MASK)
  55366. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_MASK (0x4U)
  55367. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_SHIFT (2U)
  55368. /*! PUE - Pull / Keep Select Field
  55369. * 0b0..Pull Disable
  55370. * 0b1..Pull Enable
  55371. */
  55372. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUE_MASK)
  55373. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_MASK (0x8U)
  55374. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_SHIFT (3U)
  55375. /*! PUS - Pull Up / Down Config. Field
  55376. * 0b0..Weak pull down
  55377. * 0b1..Weak pull up
  55378. */
  55379. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_PUS_MASK)
  55380. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_MASK (0x40U)
  55381. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_SHIFT (6U)
  55382. /*! ODE_SNVS - Open Drain SNVS Field
  55383. * 0b0..Disabled
  55384. * 0b1..Enabled
  55385. */
  55386. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_ODE_SNVS_MASK)
  55387. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_MASK (0x30000000U)
  55388. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_SHIFT (28U)
  55389. /*! DWP - Domain write protection
  55390. * 0b00..Both cores are allowed
  55391. * 0b01..CM7 is forbidden
  55392. * 0b10..CM4 is forbidden
  55393. * 0b11..Both cores are forbidden
  55394. */
  55395. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_MASK)
  55396. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_MASK (0xC0000000U)
  55397. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_SHIFT (30U)
  55398. /*! DWP_LOCK - Domain write protection lock
  55399. * 0b00..Neither of DWP bits is locked
  55400. * 0b01..The lower DWP bit is locked
  55401. * 0b10..The higher DWP bit is locked
  55402. * 0b11..Both DWP bits are locked
  55403. */
  55404. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_PMIC_STBY_REQ_DIG_DWP_LOCK_MASK)
  55405. /*! @} */
  55406. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG SW PAD Control Register */
  55407. /*! @{ */
  55408. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_MASK (0x1U)
  55409. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_SHIFT (0U)
  55410. /*! SRE - Slew Rate Field
  55411. * 0b0..Slow Slew Rate
  55412. * 0b1..Fast Slew Rate
  55413. */
  55414. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_SRE_MASK)
  55415. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_MASK (0x2U)
  55416. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_SHIFT (1U)
  55417. /*! DSE - Drive Strength Field
  55418. * 0b0..normal driver
  55419. * 0b1..high driver
  55420. */
  55421. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DSE_MASK)
  55422. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_MASK (0x4U)
  55423. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_SHIFT (2U)
  55424. /*! PUE - Pull / Keep Select Field
  55425. * 0b0..Pull Disable
  55426. * 0b1..Pull Enable
  55427. */
  55428. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUE_MASK)
  55429. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_MASK (0x8U)
  55430. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_SHIFT (3U)
  55431. /*! PUS - Pull Up / Down Config. Field
  55432. * 0b0..Weak pull down
  55433. * 0b1..Weak pull up
  55434. */
  55435. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_PUS_MASK)
  55436. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_MASK (0x40U)
  55437. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_SHIFT (6U)
  55438. /*! ODE_SNVS - Open Drain SNVS Field
  55439. * 0b0..Disabled
  55440. * 0b1..Enabled
  55441. */
  55442. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_ODE_SNVS_MASK)
  55443. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_MASK (0x30000000U)
  55444. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_SHIFT (28U)
  55445. /*! DWP - Domain write protection
  55446. * 0b00..Both cores are allowed
  55447. * 0b01..CM7 is forbidden
  55448. * 0b10..CM4 is forbidden
  55449. * 0b11..Both cores are forbidden
  55450. */
  55451. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_MASK)
  55452. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_MASK (0xC0000000U)
  55453. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_SHIFT (30U)
  55454. /*! DWP_LOCK - Domain write protection lock
  55455. * 0b00..Neither of DWP bits is locked
  55456. * 0b01..The lower DWP bit is locked
  55457. * 0b10..The higher DWP bit is locked
  55458. * 0b11..Both DWP bits are locked
  55459. */
  55460. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_00_DIG_DWP_LOCK_MASK)
  55461. /*! @} */
  55462. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG SW PAD Control Register */
  55463. /*! @{ */
  55464. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_MASK (0x1U)
  55465. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_SHIFT (0U)
  55466. /*! SRE - Slew Rate Field
  55467. * 0b0..Slow Slew Rate
  55468. * 0b1..Fast Slew Rate
  55469. */
  55470. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_SRE_MASK)
  55471. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_MASK (0x2U)
  55472. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_SHIFT (1U)
  55473. /*! DSE - Drive Strength Field
  55474. * 0b0..normal driver
  55475. * 0b1..high driver
  55476. */
  55477. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DSE_MASK)
  55478. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_MASK (0x4U)
  55479. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_SHIFT (2U)
  55480. /*! PUE - Pull / Keep Select Field
  55481. * 0b0..Pull Disable
  55482. * 0b1..Pull Enable
  55483. */
  55484. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUE_MASK)
  55485. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_MASK (0x8U)
  55486. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_SHIFT (3U)
  55487. /*! PUS - Pull Up / Down Config. Field
  55488. * 0b0..Weak pull down
  55489. * 0b1..Weak pull up
  55490. */
  55491. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_PUS_MASK)
  55492. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_MASK (0x40U)
  55493. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_SHIFT (6U)
  55494. /*! ODE_SNVS - Open Drain SNVS Field
  55495. * 0b0..Disabled
  55496. * 0b1..Enabled
  55497. */
  55498. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_ODE_SNVS_MASK)
  55499. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_MASK (0x30000000U)
  55500. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_SHIFT (28U)
  55501. /*! DWP - Domain write protection
  55502. * 0b00..Both cores are allowed
  55503. * 0b01..CM7 is forbidden
  55504. * 0b10..CM4 is forbidden
  55505. * 0b11..Both cores are forbidden
  55506. */
  55507. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_MASK)
  55508. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_MASK (0xC0000000U)
  55509. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_SHIFT (30U)
  55510. /*! DWP_LOCK - Domain write protection lock
  55511. * 0b00..Neither of DWP bits is locked
  55512. * 0b01..The lower DWP bit is locked
  55513. * 0b10..The higher DWP bit is locked
  55514. * 0b11..Both DWP bits are locked
  55515. */
  55516. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_01_DIG_DWP_LOCK_MASK)
  55517. /*! @} */
  55518. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG SW PAD Control Register */
  55519. /*! @{ */
  55520. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_MASK (0x1U)
  55521. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_SHIFT (0U)
  55522. /*! SRE - Slew Rate Field
  55523. * 0b0..Slow Slew Rate
  55524. * 0b1..Fast Slew Rate
  55525. */
  55526. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_SRE_MASK)
  55527. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_MASK (0x2U)
  55528. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_SHIFT (1U)
  55529. /*! DSE - Drive Strength Field
  55530. * 0b0..normal driver
  55531. * 0b1..high driver
  55532. */
  55533. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DSE_MASK)
  55534. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_MASK (0x4U)
  55535. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_SHIFT (2U)
  55536. /*! PUE - Pull / Keep Select Field
  55537. * 0b0..Pull Disable
  55538. * 0b1..Pull Enable
  55539. */
  55540. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUE_MASK)
  55541. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_MASK (0x8U)
  55542. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_SHIFT (3U)
  55543. /*! PUS - Pull Up / Down Config. Field
  55544. * 0b0..Weak pull down
  55545. * 0b1..Weak pull up
  55546. */
  55547. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_PUS_MASK)
  55548. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_MASK (0x40U)
  55549. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_SHIFT (6U)
  55550. /*! ODE_SNVS - Open Drain SNVS Field
  55551. * 0b0..Disabled
  55552. * 0b1..Enabled
  55553. */
  55554. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_ODE_SNVS_MASK)
  55555. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_MASK (0x30000000U)
  55556. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_SHIFT (28U)
  55557. /*! DWP - Domain write protection
  55558. * 0b00..Both cores are allowed
  55559. * 0b01..CM7 is forbidden
  55560. * 0b10..CM4 is forbidden
  55561. * 0b11..Both cores are forbidden
  55562. */
  55563. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_MASK)
  55564. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_MASK (0xC0000000U)
  55565. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_SHIFT (30U)
  55566. /*! DWP_LOCK - Domain write protection lock
  55567. * 0b00..Neither of DWP bits is locked
  55568. * 0b01..The lower DWP bit is locked
  55569. * 0b10..The higher DWP bit is locked
  55570. * 0b11..Both DWP bits are locked
  55571. */
  55572. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_02_DIG_DWP_LOCK_MASK)
  55573. /*! @} */
  55574. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG SW PAD Control Register */
  55575. /*! @{ */
  55576. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_MASK (0x1U)
  55577. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_SHIFT (0U)
  55578. /*! SRE - Slew Rate Field
  55579. * 0b0..Slow Slew Rate
  55580. * 0b1..Fast Slew Rate
  55581. */
  55582. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_SRE_MASK)
  55583. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_MASK (0x2U)
  55584. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_SHIFT (1U)
  55585. /*! DSE - Drive Strength Field
  55586. * 0b0..normal driver
  55587. * 0b1..high driver
  55588. */
  55589. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DSE_MASK)
  55590. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_MASK (0x4U)
  55591. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_SHIFT (2U)
  55592. /*! PUE - Pull / Keep Select Field
  55593. * 0b0..Pull Disable
  55594. * 0b1..Pull Enable
  55595. */
  55596. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUE_MASK)
  55597. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_MASK (0x8U)
  55598. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_SHIFT (3U)
  55599. /*! PUS - Pull Up / Down Config. Field
  55600. * 0b0..Weak pull down
  55601. * 0b1..Weak pull up
  55602. */
  55603. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_PUS_MASK)
  55604. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_MASK (0x40U)
  55605. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_SHIFT (6U)
  55606. /*! ODE_SNVS - Open Drain SNVS Field
  55607. * 0b0..Disabled
  55608. * 0b1..Enabled
  55609. */
  55610. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_ODE_SNVS_MASK)
  55611. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_MASK (0x30000000U)
  55612. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_SHIFT (28U)
  55613. /*! DWP - Domain write protection
  55614. * 0b00..Both cores are allowed
  55615. * 0b01..CM7 is forbidden
  55616. * 0b10..CM4 is forbidden
  55617. * 0b11..Both cores are forbidden
  55618. */
  55619. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_MASK)
  55620. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_MASK (0xC0000000U)
  55621. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_SHIFT (30U)
  55622. /*! DWP_LOCK - Domain write protection lock
  55623. * 0b00..Neither of DWP bits is locked
  55624. * 0b01..The lower DWP bit is locked
  55625. * 0b10..The higher DWP bit is locked
  55626. * 0b11..Both DWP bits are locked
  55627. */
  55628. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_03_DIG_DWP_LOCK_MASK)
  55629. /*! @} */
  55630. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG SW PAD Control Register */
  55631. /*! @{ */
  55632. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_MASK (0x1U)
  55633. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_SHIFT (0U)
  55634. /*! SRE - Slew Rate Field
  55635. * 0b0..Slow Slew Rate
  55636. * 0b1..Fast Slew Rate
  55637. */
  55638. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_SRE_MASK)
  55639. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_MASK (0x2U)
  55640. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_SHIFT (1U)
  55641. /*! DSE - Drive Strength Field
  55642. * 0b0..normal driver
  55643. * 0b1..high driver
  55644. */
  55645. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DSE_MASK)
  55646. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_MASK (0x4U)
  55647. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_SHIFT (2U)
  55648. /*! PUE - Pull / Keep Select Field
  55649. * 0b0..Pull Disable
  55650. * 0b1..Pull Enable
  55651. */
  55652. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUE_MASK)
  55653. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_MASK (0x8U)
  55654. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_SHIFT (3U)
  55655. /*! PUS - Pull Up / Down Config. Field
  55656. * 0b0..Weak pull down
  55657. * 0b1..Weak pull up
  55658. */
  55659. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_PUS_MASK)
  55660. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_MASK (0x40U)
  55661. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_SHIFT (6U)
  55662. /*! ODE_SNVS - Open Drain SNVS Field
  55663. * 0b0..Disabled
  55664. * 0b1..Enabled
  55665. */
  55666. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_ODE_SNVS_MASK)
  55667. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_MASK (0x30000000U)
  55668. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_SHIFT (28U)
  55669. /*! DWP - Domain write protection
  55670. * 0b00..Both cores are allowed
  55671. * 0b01..CM7 is forbidden
  55672. * 0b10..CM4 is forbidden
  55673. * 0b11..Both cores are forbidden
  55674. */
  55675. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_MASK)
  55676. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_MASK (0xC0000000U)
  55677. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_SHIFT (30U)
  55678. /*! DWP_LOCK - Domain write protection lock
  55679. * 0b00..Neither of DWP bits is locked
  55680. * 0b01..The lower DWP bit is locked
  55681. * 0b10..The higher DWP bit is locked
  55682. * 0b11..Both DWP bits are locked
  55683. */
  55684. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_04_DIG_DWP_LOCK_MASK)
  55685. /*! @} */
  55686. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG SW PAD Control Register */
  55687. /*! @{ */
  55688. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_MASK (0x1U)
  55689. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_SHIFT (0U)
  55690. /*! SRE - Slew Rate Field
  55691. * 0b0..Slow Slew Rate
  55692. * 0b1..Fast Slew Rate
  55693. */
  55694. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_SRE_MASK)
  55695. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_MASK (0x2U)
  55696. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_SHIFT (1U)
  55697. /*! DSE - Drive Strength Field
  55698. * 0b0..normal driver
  55699. * 0b1..high driver
  55700. */
  55701. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DSE_MASK)
  55702. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_MASK (0x4U)
  55703. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_SHIFT (2U)
  55704. /*! PUE - Pull / Keep Select Field
  55705. * 0b0..Pull Disable
  55706. * 0b1..Pull Enable
  55707. */
  55708. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUE_MASK)
  55709. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_MASK (0x8U)
  55710. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_SHIFT (3U)
  55711. /*! PUS - Pull Up / Down Config. Field
  55712. * 0b0..Weak pull down
  55713. * 0b1..Weak pull up
  55714. */
  55715. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_PUS_MASK)
  55716. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_MASK (0x40U)
  55717. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_SHIFT (6U)
  55718. /*! ODE_SNVS - Open Drain SNVS Field
  55719. * 0b0..Disabled
  55720. * 0b1..Enabled
  55721. */
  55722. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_ODE_SNVS_MASK)
  55723. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_MASK (0x30000000U)
  55724. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_SHIFT (28U)
  55725. /*! DWP - Domain write protection
  55726. * 0b00..Both cores are allowed
  55727. * 0b01..CM7 is forbidden
  55728. * 0b10..CM4 is forbidden
  55729. * 0b11..Both cores are forbidden
  55730. */
  55731. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_MASK)
  55732. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_MASK (0xC0000000U)
  55733. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_SHIFT (30U)
  55734. /*! DWP_LOCK - Domain write protection lock
  55735. * 0b00..Neither of DWP bits is locked
  55736. * 0b01..The lower DWP bit is locked
  55737. * 0b10..The higher DWP bit is locked
  55738. * 0b11..Both DWP bits are locked
  55739. */
  55740. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_05_DIG_DWP_LOCK_MASK)
  55741. /*! @} */
  55742. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG SW PAD Control Register */
  55743. /*! @{ */
  55744. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_MASK (0x1U)
  55745. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_SHIFT (0U)
  55746. /*! SRE - Slew Rate Field
  55747. * 0b0..Slow Slew Rate
  55748. * 0b1..Fast Slew Rate
  55749. */
  55750. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_SRE_MASK)
  55751. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_MASK (0x2U)
  55752. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_SHIFT (1U)
  55753. /*! DSE - Drive Strength Field
  55754. * 0b0..normal driver
  55755. * 0b1..high driver
  55756. */
  55757. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DSE_MASK)
  55758. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_MASK (0x4U)
  55759. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_SHIFT (2U)
  55760. /*! PUE - Pull / Keep Select Field
  55761. * 0b0..Pull Disable
  55762. * 0b1..Pull Enable
  55763. */
  55764. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUE_MASK)
  55765. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_MASK (0x8U)
  55766. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_SHIFT (3U)
  55767. /*! PUS - Pull Up / Down Config. Field
  55768. * 0b0..Weak pull down
  55769. * 0b1..Weak pull up
  55770. */
  55771. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_PUS_MASK)
  55772. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_MASK (0x40U)
  55773. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_SHIFT (6U)
  55774. /*! ODE_SNVS - Open Drain SNVS Field
  55775. * 0b0..Disabled
  55776. * 0b1..Enabled
  55777. */
  55778. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_ODE_SNVS_MASK)
  55779. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_MASK (0x30000000U)
  55780. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_SHIFT (28U)
  55781. /*! DWP - Domain write protection
  55782. * 0b00..Both cores are allowed
  55783. * 0b01..CM7 is forbidden
  55784. * 0b10..CM4 is forbidden
  55785. * 0b11..Both cores are forbidden
  55786. */
  55787. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_MASK)
  55788. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_MASK (0xC0000000U)
  55789. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_SHIFT (30U)
  55790. /*! DWP_LOCK - Domain write protection lock
  55791. * 0b00..Neither of DWP bits is locked
  55792. * 0b01..The lower DWP bit is locked
  55793. * 0b10..The higher DWP bit is locked
  55794. * 0b11..Both DWP bits are locked
  55795. */
  55796. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_06_DIG_DWP_LOCK_MASK)
  55797. /*! @} */
  55798. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG SW PAD Control Register */
  55799. /*! @{ */
  55800. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_MASK (0x1U)
  55801. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_SHIFT (0U)
  55802. /*! SRE - Slew Rate Field
  55803. * 0b0..Slow Slew Rate
  55804. * 0b1..Fast Slew Rate
  55805. */
  55806. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_SRE_MASK)
  55807. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_MASK (0x2U)
  55808. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_SHIFT (1U)
  55809. /*! DSE - Drive Strength Field
  55810. * 0b0..normal driver
  55811. * 0b1..high driver
  55812. */
  55813. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DSE_MASK)
  55814. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_MASK (0x4U)
  55815. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_SHIFT (2U)
  55816. /*! PUE - Pull / Keep Select Field
  55817. * 0b0..Pull Disable
  55818. * 0b1..Pull Enable
  55819. */
  55820. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUE_MASK)
  55821. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_MASK (0x8U)
  55822. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_SHIFT (3U)
  55823. /*! PUS - Pull Up / Down Config. Field
  55824. * 0b0..Weak pull down
  55825. * 0b1..Weak pull up
  55826. */
  55827. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_PUS_MASK)
  55828. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_MASK (0x40U)
  55829. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_SHIFT (6U)
  55830. /*! ODE_SNVS - Open Drain SNVS Field
  55831. * 0b0..Disabled
  55832. * 0b1..Enabled
  55833. */
  55834. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_ODE_SNVS_MASK)
  55835. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_MASK (0x30000000U)
  55836. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_SHIFT (28U)
  55837. /*! DWP - Domain write protection
  55838. * 0b00..Both cores are allowed
  55839. * 0b01..CM7 is forbidden
  55840. * 0b10..CM4 is forbidden
  55841. * 0b11..Both cores are forbidden
  55842. */
  55843. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_MASK)
  55844. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_MASK (0xC0000000U)
  55845. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_SHIFT (30U)
  55846. /*! DWP_LOCK - Domain write protection lock
  55847. * 0b00..Neither of DWP bits is locked
  55848. * 0b01..The lower DWP bit is locked
  55849. * 0b10..The higher DWP bit is locked
  55850. * 0b11..Both DWP bits are locked
  55851. */
  55852. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_07_DIG_DWP_LOCK_MASK)
  55853. /*! @} */
  55854. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG SW PAD Control Register */
  55855. /*! @{ */
  55856. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_MASK (0x1U)
  55857. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_SHIFT (0U)
  55858. /*! SRE - Slew Rate Field
  55859. * 0b0..Slow Slew Rate
  55860. * 0b1..Fast Slew Rate
  55861. */
  55862. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_SRE_MASK)
  55863. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_MASK (0x2U)
  55864. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_SHIFT (1U)
  55865. /*! DSE - Drive Strength Field
  55866. * 0b0..normal driver
  55867. * 0b1..high driver
  55868. */
  55869. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DSE_MASK)
  55870. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_MASK (0x4U)
  55871. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_SHIFT (2U)
  55872. /*! PUE - Pull / Keep Select Field
  55873. * 0b0..Pull Disable
  55874. * 0b1..Pull Enable
  55875. */
  55876. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUE_MASK)
  55877. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_MASK (0x8U)
  55878. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_SHIFT (3U)
  55879. /*! PUS - Pull Up / Down Config. Field
  55880. * 0b0..Weak pull down
  55881. * 0b1..Weak pull up
  55882. */
  55883. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_PUS_MASK)
  55884. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_MASK (0x40U)
  55885. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_SHIFT (6U)
  55886. /*! ODE_SNVS - Open Drain SNVS Field
  55887. * 0b0..Disabled
  55888. * 0b1..Enabled
  55889. */
  55890. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_ODE_SNVS_MASK)
  55891. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_MASK (0x30000000U)
  55892. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_SHIFT (28U)
  55893. /*! DWP - Domain write protection
  55894. * 0b00..Both cores are allowed
  55895. * 0b01..CM7 is forbidden
  55896. * 0b10..CM4 is forbidden
  55897. * 0b11..Both cores are forbidden
  55898. */
  55899. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_MASK)
  55900. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_MASK (0xC0000000U)
  55901. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_SHIFT (30U)
  55902. /*! DWP_LOCK - Domain write protection lock
  55903. * 0b00..Neither of DWP bits is locked
  55904. * 0b01..The lower DWP bit is locked
  55905. * 0b10..The higher DWP bit is locked
  55906. * 0b11..Both DWP bits are locked
  55907. */
  55908. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_08_DIG_DWP_LOCK_MASK)
  55909. /*! @} */
  55910. /*! @name SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG - SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG SW PAD Control Register */
  55911. /*! @{ */
  55912. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_MASK (0x1U)
  55913. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_SHIFT (0U)
  55914. /*! SRE - Slew Rate Field
  55915. * 0b0..Slow Slew Rate
  55916. * 0b1..Fast Slew Rate
  55917. */
  55918. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_SRE_MASK)
  55919. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_MASK (0x2U)
  55920. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_SHIFT (1U)
  55921. /*! DSE - Drive Strength Field
  55922. * 0b0..normal driver
  55923. * 0b1..high driver
  55924. */
  55925. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DSE_MASK)
  55926. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_MASK (0x4U)
  55927. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_SHIFT (2U)
  55928. /*! PUE - Pull / Keep Select Field
  55929. * 0b0..Pull Disable
  55930. * 0b1..Pull Enable
  55931. */
  55932. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUE_MASK)
  55933. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_MASK (0x8U)
  55934. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_SHIFT (3U)
  55935. /*! PUS - Pull Up / Down Config. Field
  55936. * 0b0..Weak pull down
  55937. * 0b1..Weak pull up
  55938. */
  55939. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_PUS_MASK)
  55940. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_MASK (0x40U)
  55941. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_SHIFT (6U)
  55942. /*! ODE_SNVS - Open Drain SNVS Field
  55943. * 0b0..Disabled
  55944. * 0b1..Enabled
  55945. */
  55946. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_ODE_SNVS_MASK)
  55947. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_MASK (0x30000000U)
  55948. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_SHIFT (28U)
  55949. /*! DWP - Domain write protection
  55950. * 0b00..Both cores are allowed
  55951. * 0b01..CM7 is forbidden
  55952. * 0b10..CM4 is forbidden
  55953. * 0b11..Both cores are forbidden
  55954. */
  55955. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_MASK)
  55956. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_MASK (0xC0000000U)
  55957. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_SHIFT (30U)
  55958. /*! DWP_LOCK - Domain write protection lock
  55959. * 0b00..Neither of DWP bits is locked
  55960. * 0b01..The lower DWP bit is locked
  55961. * 0b10..The higher DWP bit is locked
  55962. * 0b11..Both DWP bits are locked
  55963. */
  55964. #define IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_SHIFT)) & IOMUXC_SNVS_SW_PAD_CTL_PAD_GPIO_SNVS_09_DIG_DWP_LOCK_MASK)
  55965. /*! @} */
  55966. /*!
  55967. * @}
  55968. */ /* end of group IOMUXC_SNVS_Register_Masks */
  55969. /* IOMUXC_SNVS - Peripheral instance base addresses */
  55970. /** Peripheral IOMUXC_SNVS base address */
  55971. #define IOMUXC_SNVS_BASE (0x40C94000u)
  55972. /** Peripheral IOMUXC_SNVS base pointer */
  55973. #define IOMUXC_SNVS ((IOMUXC_SNVS_Type *)IOMUXC_SNVS_BASE)
  55974. /** Array initializer of IOMUXC_SNVS peripheral base addresses */
  55975. #define IOMUXC_SNVS_BASE_ADDRS { IOMUXC_SNVS_BASE }
  55976. /** Array initializer of IOMUXC_SNVS peripheral base pointers */
  55977. #define IOMUXC_SNVS_BASE_PTRS { IOMUXC_SNVS }
  55978. /*!
  55979. * @}
  55980. */ /* end of group IOMUXC_SNVS_Peripheral_Access_Layer */
  55981. /* ----------------------------------------------------------------------------
  55982. -- IOMUXC_SNVS_GPR Peripheral Access Layer
  55983. ---------------------------------------------------------------------------- */
  55984. /*!
  55985. * @addtogroup IOMUXC_SNVS_GPR_Peripheral_Access_Layer IOMUXC_SNVS_GPR Peripheral Access Layer
  55986. * @{
  55987. */
  55988. /** IOMUXC_SNVS_GPR - Register Layout Typedef */
  55989. typedef struct {
  55990. __IO uint32_t GPR[32]; /**< GPR0 General Purpose Register, array offset: 0x0, array step: 0x4 */
  55991. __IO uint32_t GPR32; /**< GPR32 General Purpose Register, offset: 0x80 */
  55992. __IO uint32_t GPR33; /**< GPR33 General Purpose Register, offset: 0x84 */
  55993. __IO uint32_t GPR34; /**< GPR34 General Purpose Register, offset: 0x88 */
  55994. __IO uint32_t GPR35; /**< GPR35 General Purpose Register, offset: 0x8C */
  55995. __IO uint32_t GPR36; /**< GPR36 General Purpose Register, offset: 0x90 */
  55996. __IO uint32_t GPR37; /**< GPR37 General Purpose Register, offset: 0x94 */
  55997. } IOMUXC_SNVS_GPR_Type;
  55998. /* ----------------------------------------------------------------------------
  55999. -- IOMUXC_SNVS_GPR Register Masks
  56000. ---------------------------------------------------------------------------- */
  56001. /*!
  56002. * @addtogroup IOMUXC_SNVS_GPR_Register_Masks IOMUXC_SNVS_GPR Register Masks
  56003. * @{
  56004. */
  56005. /*! @name GPR - GPR0 General Purpose Register */
  56006. /*! @{ */
  56007. #define IOMUXC_SNVS_GPR_GPR_GPR_MASK (0xFFFFFFFFU)
  56008. #define IOMUXC_SNVS_GPR_GPR_GPR_SHIFT (0U)
  56009. /*! GPR - General purpose bits
  56010. */
  56011. #define IOMUXC_SNVS_GPR_GPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR_GPR_SHIFT)) & IOMUXC_SNVS_GPR_GPR_GPR_MASK)
  56012. /*! @} */
  56013. /* The count of IOMUXC_SNVS_GPR_GPR */
  56014. #define IOMUXC_SNVS_GPR_GPR_COUNT (32U)
  56015. /*! @name GPR32 - GPR32 General Purpose Register */
  56016. /*! @{ */
  56017. #define IOMUXC_SNVS_GPR_GPR32_GPR_MASK (0xFFFEU)
  56018. #define IOMUXC_SNVS_GPR_GPR32_GPR_SHIFT (1U)
  56019. /*! GPR - General purpose bits
  56020. */
  56021. #define IOMUXC_SNVS_GPR_GPR32_GPR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR32_GPR_SHIFT)) & IOMUXC_SNVS_GPR_GPR32_GPR_MASK)
  56022. #define IOMUXC_SNVS_GPR_GPR32_LOCK_MASK (0xFFFF0000U)
  56023. #define IOMUXC_SNVS_GPR_GPR32_LOCK_SHIFT (16U)
  56024. /*! LOCK - Lock the write to bit 15:0
  56025. */
  56026. #define IOMUXC_SNVS_GPR_GPR32_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR32_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR32_LOCK_MASK)
  56027. /*! @} */
  56028. /*! @name GPR33 - GPR33 General Purpose Register */
  56029. /*! @{ */
  56030. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_MASK (0x2U)
  56031. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_SHIFT (1U)
  56032. /*! DCDC_STATUS_CAPT_CLR - DCDC captured status clear
  56033. * 0b0..No change
  56034. * 0b1..Clear the 3 bits of DCDC captured status: DCDC_OVER_VOL, DCDC_OVER_CUR, and DCDC_IN_LOW_VOL
  56035. */
  56036. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_DCDC_STATUS_CAPT_CLR_MASK)
  56037. #define IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_MASK (0x4U)
  56038. #define IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_SHIFT (2U)
  56039. /*! SNVS_BYPASS_EN - SNVS LDO_SNVS_ANA bypass enable
  56040. * 0b1..Enable bypass
  56041. * 0b0..Disable bypass
  56042. */
  56043. #define IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_SNVS_BYPASS_EN_MASK)
  56044. #define IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_MASK (0x10000U)
  56045. #define IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_SHIFT (16U)
  56046. /*! DCDC_IN_LOW_VOL - DCDC_IN low voltage detect
  56047. * 0b1..Voltage on DCDC_IN is lower than 2.6V
  56048. * 0b0..Voltage on DCDC_IN is higher than 2.6V
  56049. */
  56050. #define IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_DCDC_IN_LOW_VOL_MASK)
  56051. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_MASK (0x20000U)
  56052. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_SHIFT (17U)
  56053. /*! DCDC_OVER_CUR - DCDC output over current alert
  56054. * 0b1..Overcurrent on DCDC output
  56055. * 0b0..No Overcurrent on DCDC output
  56056. */
  56057. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_CUR_MASK)
  56058. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_MASK (0x40000U)
  56059. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_SHIFT (18U)
  56060. /*! DCDC_OVER_VOL - DCDC output over voltage alert
  56061. * 0b1..Overvoltage on DCDC VDDLP0 or VDDLP8 output
  56062. * 0b0..No Overvoltage on DCDC VDDLP0 or VDDLP8 output
  56063. */
  56064. #define IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_DCDC_OVER_VOL_MASK)
  56065. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_MASK (0x80000U)
  56066. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_SHIFT (19U)
  56067. /*! DCDC_STS_DC_OK - DCDC status OK
  56068. * 0b0..DCDC is settling
  56069. * 0b1..DCDC already settled
  56070. */
  56071. #define IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_DCDC_STS_DC_OK_MASK)
  56072. #define IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_MASK (0x100000U)
  56073. #define IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_SHIFT (20U)
  56074. /*! SNVS_XTAL_CLK_OK - 32K OSC ok flag
  56075. * 0b1..32K oscillator is stable into normal operation
  56076. * 0b0..32K oscillator is NOT stable into normal operation
  56077. */
  56078. #define IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_SHIFT)) & IOMUXC_SNVS_GPR_GPR33_SNVS_XTAL_CLK_OK_MASK)
  56079. /*! @} */
  56080. /*! @name GPR34 - GPR34 General Purpose Register */
  56081. /*! @{ */
  56082. #define IOMUXC_SNVS_GPR_GPR34_LOCK_MASK (0x1U)
  56083. #define IOMUXC_SNVS_GPR_GPR34_LOCK_SHIFT (0U)
  56084. /*! LOCK - Lock the write to bit 31:1
  56085. * 0b0..Write access is not blocked
  56086. * 0b1..Write access is blocked
  56087. */
  56088. #define IOMUXC_SNVS_GPR_GPR34_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_LOCK_MASK)
  56089. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_MASK (0x2U)
  56090. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_SHIFT (1U)
  56091. /*! SNVS_CORE_VOLT_DET_TRIM_SEL - SNVS core voltage detect trim select
  56092. * 0b0..The trimming codes are selected from eFuse
  56093. * 0b1..The trimming codes of core voltage detectors used to change the voltage falling trip point are selected from SNVS_CORE_VOLT_DET_TRIM
  56094. */
  56095. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SEL_MASK)
  56096. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_MASK (0xCU)
  56097. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SHIFT (2U)
  56098. /*! SNVS_CORE_VOLT_DET_TRIM - SNVS core voltage detect trim
  56099. */
  56100. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CORE_VOLT_DET_TRIM_MASK)
  56101. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_MASK (0x80U)
  56102. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_SHIFT (7U)
  56103. /*! SNVS_CLK_DET_TRIM_SEL - SNVS clock detect trim select
  56104. * 0b0..The trimming codes are selected from eFuse
  56105. * 0b1..The trimming codes of clock detector used to change the boundary frequencies are selected from SNVS_CLK_DET_TRIM
  56106. */
  56107. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SEL_MASK)
  56108. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_MASK (0xFF00U)
  56109. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SHIFT (8U)
  56110. /*! SNVS_CLK_DET_TRIM - SNVS clock detect trim bits
  56111. */
  56112. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_TRIM_MASK)
  56113. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_MASK (0x30000U)
  56114. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_SHIFT (16U)
  56115. /*! SNVS_CLK_DET_OFFSET_HIGH - SNVS clock detect offset of high boundary frequency
  56116. * 0b00..No change (Default)
  56117. * 0b01..Add +5 to the Trim
  56118. * 0b10..Add +10 to the trim
  56119. * 0b11..Add -5 to the Trim
  56120. */
  56121. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_HIGH_MASK)
  56122. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_MASK (0xC0000U)
  56123. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_SHIFT (18U)
  56124. /*! SNVS_CLK_DET_OFFSET_LOW - SNVS clock detect offset of low boundary frequency
  56125. * 0b00..No change (Default)
  56126. * 0b01..Add +5 to the Trim
  56127. * 0b10..Add +10 to the trim
  56128. * 0b11..Add -5 to the Trim
  56129. */
  56130. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CLK_DET_OFFSET_LOW_MASK)
  56131. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_MASK (0x800000U)
  56132. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_SHIFT (23U)
  56133. /*! SNVS_CAP_TRIM_SEL - SNVS OSC load capacitor trim select
  56134. * 0b0..The trimming codes are selected from eFuse
  56135. * 0b1..The trimming codes are used from SNVS_OSC_CAP_TRIM (osc32k's load capacitor)
  56136. */
  56137. #define IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_CAP_TRIM_SEL_MASK)
  56138. #define IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_MASK (0xF000000U)
  56139. #define IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_SHIFT (24U)
  56140. /*! SNVS_OSC_CAP_TRIM - SNVS OSC load capacitor trim
  56141. */
  56142. #define IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_SHIFT)) & IOMUXC_SNVS_GPR_GPR34_SNVS_OSC_CAP_TRIM_MASK)
  56143. /*! @} */
  56144. /*! @name GPR35 - GPR35 General Purpose Register */
  56145. /*! @{ */
  56146. #define IOMUXC_SNVS_GPR_GPR35_LOCK_MASK (0x1U)
  56147. #define IOMUXC_SNVS_GPR_GPR35_LOCK_SHIFT (0U)
  56148. /*! LOCK - Lock the write to bit 31:1
  56149. * 0b0..Write access is not blocked
  56150. * 0b1..Write access is blocked
  56151. */
  56152. #define IOMUXC_SNVS_GPR_GPR35_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_LOCK_MASK)
  56153. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_MASK (0x8U)
  56154. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_SHIFT (3U)
  56155. /*! SNVS_VOLT_DET_TRIM_SEL - SNVS voltage detect trim select
  56156. * 0b0..The trimming codes are selected from eFuse
  56157. * 0b1..The trimming codes of voltage detectors to change the voltage boundaries in battery voltage detecting are selected from SNVS_VOLT_DET_TRIM
  56158. */
  56159. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SEL_MASK)
  56160. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_MASK (0xFF0U)
  56161. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SHIFT (4U)
  56162. /*! SNVS_VOLT_DET_TRIM - SNVS voltage detect trim
  56163. */
  56164. #define IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_VOLT_DET_TRIM_MASK)
  56165. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_MASK (0x8000U)
  56166. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_SHIFT (15U)
  56167. /*! SNVS_TEMP_DET_TRIM_SEL - SNVS temperature detect trim select
  56168. * 0b0..The trimming codes are selected from eFuse
  56169. * 0b1..The trimming codes to define the temperature boundaries of temperature detector are selected from SNVS_TEMP_DET_TRIM
  56170. */
  56171. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SEL_MASK)
  56172. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_MASK (0xFFF0000U)
  56173. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SHIFT (16U)
  56174. /*! SNVS_TEMP_DET_TRIM - SNVS temperature detect trim
  56175. */
  56176. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_TRIM_MASK)
  56177. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_MASK (0x30000000U)
  56178. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_SHIFT (28U)
  56179. /*! SNVS_TEMP_DET_OFFSET_HIGH - SNVS temperature detect offset of high temperature boundary
  56180. * 0b00..No change (Default)
  56181. * 0b01..Add +5 to the Trim
  56182. * 0b10..Add +10 to the trim
  56183. * 0b11..Add -5 to the Trim
  56184. */
  56185. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_HIGH_MASK)
  56186. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_MASK (0xC0000000U)
  56187. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_SHIFT (30U)
  56188. /*! SNVS_TEMP_DET_OFFSET_LOW - SNVS temperature detect offset of low temperature boundary
  56189. * 0b00..No change (Default)
  56190. * 0b01..Add +5 to the Trim
  56191. * 0b10..Add +10 to the trim
  56192. * 0b11..Add -5 to the Trim
  56193. */
  56194. #define IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_SHIFT)) & IOMUXC_SNVS_GPR_GPR35_SNVS_TEMP_DET_OFFSET_LOW_MASK)
  56195. /*! @} */
  56196. /*! @name GPR36 - GPR36 General Purpose Register */
  56197. /*! @{ */
  56198. #define IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_MASK (0x800000U)
  56199. #define IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_SHIFT (23U)
  56200. /*! SNVSDIG_SNVS1P8_ISO_EN - SNVS RAM isolation enable bit
  56201. * 0b1..Enable the isolation to avoid extra leakage power before SNVS SRAM peripheral power or LDO_SNVS_DIG is switched off
  56202. * 0b0..Enable SRAM access (It should be cleared after LDO_SNVS_DIG and SNVS SRAM peripheral power is back)
  56203. */
  56204. #define IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVSDIG_SNVS1P8_ISO_EN_MASK)
  56205. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_MASK (0x4000000U)
  56206. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_SHIFT (26U)
  56207. /*! SNVS_SRAM_SLEEP - SNVS SRAM power-down enable bit
  56208. * 0b0..Enable SRAM access (It should be cleared after LDO_SNVS_DIG is enabled)
  56209. * 0b1..SNVS SRAM can go in Shutdown/ Periphery Off Array On/ Periphery On Array Off mode. In addition, this bit
  56210. * ensures power-up without stuck-at /high DC current states and hence must be held to 1 during wake-up, so
  56211. * this bit is default high.
  56212. */
  56213. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_SLEEP_MASK)
  56214. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_MASK (0x8000000U)
  56215. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_SHIFT (27U)
  56216. /*! SNVS_SRAM_STDBY - SNVS SRAM standby enable bit
  56217. * 0b1..SNVS SRAM enters low leakage state and large drivers are switched OFF
  56218. * 0b0..SNVS SRAM does not enter low leakage state
  56219. */
  56220. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_STDBY_MASK)
  56221. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_MASK (0x10000000U)
  56222. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_SHIFT (28U)
  56223. /*! SNVS_SRAM_PSWLARGEMP_FORCE - SNVS SRAM large switch control bit for peripheral
  56224. * 0b1..Switch off SNVS SRAM power for peripheral (SRAM array power is not impacted, and data can be retained)
  56225. * 0b0..Switch on SNVS SRAM power for peripheral
  56226. */
  56227. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGEMP_FORCE_MASK)
  56228. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_MASK (0x20000000U)
  56229. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_SHIFT (29U)
  56230. /*! SNVS_SRAM_PSWLARGE - SNVS SRAM large switch control bit
  56231. * 0b1..Switch off SNVS SRAM power for peripheral and array
  56232. * 0b0..Switch on SNVS SRAM power for peripheral and array
  56233. */
  56234. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWLARGE_MASK)
  56235. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_MASK (0x40000000U)
  56236. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_SHIFT (30U)
  56237. /*! SNVS_SRAM_PSWSMALLMP_FORCE - SNVS SRAM small switch control bit for peripheral
  56238. * 0b1..Switch off SNVS SRAM power for peripheral (SRAM array power is not impacted, and data can be retained)
  56239. * 0b0..Switch on SNVS SRAM power for peripheral
  56240. */
  56241. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALLMP_FORCE_MASK)
  56242. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_MASK (0x80000000U)
  56243. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_SHIFT (31U)
  56244. /*! SNVS_SRAM_PSWSMALL - SNVS SRAM small switch control bit
  56245. * 0b1..Switch off SNVS SRAM power for peripheral and array
  56246. * 0b0..Switch on SNVS SRAM power for peripheral and array
  56247. */
  56248. #define IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_SHIFT)) & IOMUXC_SNVS_GPR_GPR36_SNVS_SRAM_PSWSMALL_MASK)
  56249. /*! @} */
  56250. /*! @name GPR37 - GPR37 General Purpose Register */
  56251. /*! @{ */
  56252. #define IOMUXC_SNVS_GPR_GPR37_LOCK_MASK (0x1U)
  56253. #define IOMUXC_SNVS_GPR_GPR37_LOCK_SHIFT (0U)
  56254. /*! LOCK - Lock the write to bit 31:1
  56255. * 0b0..Write access is not blocked
  56256. * 0b1..Write access is blocked
  56257. */
  56258. #define IOMUXC_SNVS_GPR_GPR37_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR37_LOCK_SHIFT)) & IOMUXC_SNVS_GPR_GPR37_LOCK_MASK)
  56259. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_MASK (0x7FEU)
  56260. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_SHIFT (1U)
  56261. /*! SNVS_TAMPER_PUE - SNVS tamper detect pin pull enable bit
  56262. */
  56263. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_SHIFT)) & IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_MASK)
  56264. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_MASK (0x1FF800U)
  56265. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_SHIFT (11U)
  56266. /*! SNVS_TAMPER_PUS - SNVS tamper detect pin pull selection bit
  56267. */
  56268. #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS(x) (((uint32_t)(((uint32_t)(x)) << IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_SHIFT)) & IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUS_MASK)
  56269. /*! @} */
  56270. /*!
  56271. * @}
  56272. */ /* end of group IOMUXC_SNVS_GPR_Register_Masks */
  56273. /* IOMUXC_SNVS_GPR - Peripheral instance base addresses */
  56274. /** Peripheral IOMUXC_SNVS_GPR base address */
  56275. #define IOMUXC_SNVS_GPR_BASE (0x40C98000u)
  56276. /** Peripheral IOMUXC_SNVS_GPR base pointer */
  56277. #define IOMUXC_SNVS_GPR ((IOMUXC_SNVS_GPR_Type *)IOMUXC_SNVS_GPR_BASE)
  56278. /** Array initializer of IOMUXC_SNVS_GPR peripheral base addresses */
  56279. #define IOMUXC_SNVS_GPR_BASE_ADDRS { IOMUXC_SNVS_GPR_BASE }
  56280. /** Array initializer of IOMUXC_SNVS_GPR peripheral base pointers */
  56281. #define IOMUXC_SNVS_GPR_BASE_PTRS { IOMUXC_SNVS_GPR }
  56282. /*!
  56283. * @}
  56284. */ /* end of group IOMUXC_SNVS_GPR_Peripheral_Access_Layer */
  56285. /* ----------------------------------------------------------------------------
  56286. -- IPS_DOMAIN Peripheral Access Layer
  56287. ---------------------------------------------------------------------------- */
  56288. /*!
  56289. * @addtogroup IPS_DOMAIN_Peripheral_Access_Layer IPS_DOMAIN Peripheral Access Layer
  56290. * @{
  56291. */
  56292. /** IPS_DOMAIN - Register Layout Typedef */
  56293. typedef struct {
  56294. struct { /* offset: 0x0, array step: 0x10 */
  56295. __IO uint32_t SLOT_CTRL; /**< Slot Control Register, array offset: 0x0, array step: 0x10 */
  56296. uint8_t RESERVED_0[12];
  56297. } SLOT_CTRL[38];
  56298. } IPS_DOMAIN_Type;
  56299. /* ----------------------------------------------------------------------------
  56300. -- IPS_DOMAIN Register Masks
  56301. ---------------------------------------------------------------------------- */
  56302. /*!
  56303. * @addtogroup IPS_DOMAIN_Register_Masks IPS_DOMAIN Register Masks
  56304. * @{
  56305. */
  56306. /*! @name SLOT_CTRL - Slot Control Register */
  56307. /*! @{ */
  56308. #define IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_MASK (0xFU)
  56309. #define IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_SHIFT (0U)
  56310. /*! LOCKED_DOMAIN_ID - Domain ID of the slot to be locked
  56311. */
  56312. #define IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID(x) (((uint32_t)(((uint32_t)(x)) << IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_SHIFT)) & IPS_DOMAIN_SLOT_CTRL_LOCKED_DOMAIN_ID_MASK)
  56313. #define IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_MASK (0x8000U)
  56314. #define IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_SHIFT (15U)
  56315. /*! DOMAIN_LOCK - Lock domain ID of this slot
  56316. * 0b0..Do not lock the domain ID
  56317. * 0b1..Lock the domain ID
  56318. */
  56319. #define IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK(x) (((uint32_t)(((uint32_t)(x)) << IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_SHIFT)) & IPS_DOMAIN_SLOT_CTRL_DOMAIN_LOCK_MASK)
  56320. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_MASK (0x10000U)
  56321. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_SHIFT (16U)
  56322. /*! ALLOW_NONSECURE - Allow non-secure write access to this domain control register or domain register
  56323. * 0b0..Do not allow non-secure write access
  56324. * 0b1..Allow non-secure write access
  56325. */
  56326. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_SHIFT)) & IPS_DOMAIN_SLOT_CTRL_ALLOW_NONSECURE_MASK)
  56327. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_MASK (0x20000U)
  56328. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_SHIFT (17U)
  56329. /*! ALLOW_USER - Allow user write access to this domain control register or domain register
  56330. * 0b0..Do not allow user write access
  56331. * 0b1..Allow user write access
  56332. */
  56333. #define IPS_DOMAIN_SLOT_CTRL_ALLOW_USER(x) (((uint32_t)(((uint32_t)(x)) << IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_SHIFT)) & IPS_DOMAIN_SLOT_CTRL_ALLOW_USER_MASK)
  56334. #define IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56335. #define IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_SHIFT (31U)
  56336. /*! LOCK_CONTROL - Lock control of this slot
  56337. * 0b0..Do not lock the control register of this slot
  56338. * 0b1..Lock the control register of this slot
  56339. */
  56340. #define IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_SHIFT)) & IPS_DOMAIN_SLOT_CTRL_LOCK_CONTROL_MASK)
  56341. /*! @} */
  56342. /* The count of IPS_DOMAIN_SLOT_CTRL */
  56343. #define IPS_DOMAIN_SLOT_CTRL_COUNT (38U)
  56344. /*!
  56345. * @}
  56346. */ /* end of group IPS_DOMAIN_Register_Masks */
  56347. /* IPS_DOMAIN - Peripheral instance base addresses */
  56348. /** Peripheral IPS_DOMAIN base address */
  56349. #define IPS_DOMAIN_BASE (0x40C87C00u)
  56350. /** Peripheral IPS_DOMAIN base pointer */
  56351. #define IPS_DOMAIN ((IPS_DOMAIN_Type *)IPS_DOMAIN_BASE)
  56352. /** Array initializer of IPS_DOMAIN peripheral base addresses */
  56353. #define IPS_DOMAIN_BASE_ADDRS { IPS_DOMAIN_BASE }
  56354. /** Array initializer of IPS_DOMAIN peripheral base pointers */
  56355. #define IPS_DOMAIN_BASE_PTRS { IPS_DOMAIN }
  56356. /*!
  56357. * @}
  56358. */ /* end of group IPS_DOMAIN_Peripheral_Access_Layer */
  56359. /* ----------------------------------------------------------------------------
  56360. -- KEY_MANAGER Peripheral Access Layer
  56361. ---------------------------------------------------------------------------- */
  56362. /*!
  56363. * @addtogroup KEY_MANAGER_Peripheral_Access_Layer KEY_MANAGER Peripheral Access Layer
  56364. * @{
  56365. */
  56366. /** KEY_MANAGER - Register Layout Typedef */
  56367. typedef struct {
  56368. __IO uint32_t MASTER_KEY_CTRL; /**< CSR Master Key Control Register, offset: 0x0 */
  56369. uint8_t RESERVED_0[12];
  56370. __IO uint32_t OTFAD1_KEY_CTRL; /**< CSR OTFAD-1 Key Control, offset: 0x10 */
  56371. uint8_t RESERVED_1[4];
  56372. __IO uint32_t OTFAD2_KEY_CTRL; /**< CSR OTFAD-2 Key Control, offset: 0x18 */
  56373. uint8_t RESERVED_2[4];
  56374. __IO uint32_t IEE_KEY_CTRL; /**< CSR IEE Key Control, offset: 0x20 */
  56375. uint8_t RESERVED_3[12];
  56376. __IO uint32_t PUF_KEY_CTRL; /**< CSR PUF Key Control, offset: 0x30 */
  56377. uint8_t RESERVED_4[972];
  56378. __IO uint32_t SLOT0_CTRL; /**< Slot 0 Control, offset: 0x400 */
  56379. __IO uint32_t SLOT1_CTRL; /**< Slot1 Control, offset: 0x404 */
  56380. __IO uint32_t SLOT2_CTRL; /**< Slot2 Control, offset: 0x408 */
  56381. __IO uint32_t SLOT3_CTRL; /**< Slot3 Control, offset: 0x40C */
  56382. __IO uint32_t SLOT4_CTRL; /**< Slot 4 Control, offset: 0x410 */
  56383. } KEY_MANAGER_Type;
  56384. /* ----------------------------------------------------------------------------
  56385. -- KEY_MANAGER Register Masks
  56386. ---------------------------------------------------------------------------- */
  56387. /*!
  56388. * @addtogroup KEY_MANAGER_Register_Masks KEY_MANAGER Register Masks
  56389. * @{
  56390. */
  56391. /*! @name MASTER_KEY_CTRL - CSR Master Key Control Register */
  56392. /*! @{ */
  56393. #define KEY_MANAGER_MASTER_KEY_CTRL_SELECT_MASK (0x1U)
  56394. #define KEY_MANAGER_MASTER_KEY_CTRL_SELECT_SHIFT (0U)
  56395. /*! SELECT - Key select for SNVS OTPMK. Default value comes from FUSE_MASTER_KEY_SEL.
  56396. * 0b0..select key from UDF
  56397. * 0b1..If LOCK = 1, select key from PUF, otherwise select key from fuse (bypass the fuse OTPMK to SNVS)
  56398. */
  56399. #define KEY_MANAGER_MASTER_KEY_CTRL_SELECT(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_MASTER_KEY_CTRL_SELECT_SHIFT)) & KEY_MANAGER_MASTER_KEY_CTRL_SELECT_MASK)
  56400. #define KEY_MANAGER_MASTER_KEY_CTRL_LOCK_MASK (0x10000U)
  56401. #define KEY_MANAGER_MASTER_KEY_CTRL_LOCK_SHIFT (16U)
  56402. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_MASTER_KEY_SEL_LOCK.
  56403. * 0b0..not locked
  56404. * 0b1..locked
  56405. */
  56406. #define KEY_MANAGER_MASTER_KEY_CTRL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_MASTER_KEY_CTRL_LOCK_SHIFT)) & KEY_MANAGER_MASTER_KEY_CTRL_LOCK_MASK)
  56407. /*! @} */
  56408. /*! @name OTFAD1_KEY_CTRL - CSR OTFAD-1 Key Control */
  56409. /*! @{ */
  56410. #define KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_MASK (0x1U)
  56411. #define KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_SHIFT (0U)
  56412. /*! SELECT - key select for OTFAD-1. Default value comes from FUSE_OTFAD1_KEY_SEL.
  56413. * 0b0..Select key from OCOTP USER_KEY5
  56414. * 0b1..If PUF_KEY_CTRL[LOCK] is 1, select key from PUF, otherwise select key from OCOTP USER_KEY5
  56415. */
  56416. #define KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_SHIFT)) & KEY_MANAGER_OTFAD1_KEY_CTRL_SELECT_MASK)
  56417. #define KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_MASK (0x10000U)
  56418. #define KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_SHIFT (16U)
  56419. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_OTFAD1_KEY_SEL_LOCK.
  56420. * 0b0..not locked
  56421. * 0b1..locked
  56422. */
  56423. #define KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_SHIFT)) & KEY_MANAGER_OTFAD1_KEY_CTRL_LOCK_MASK)
  56424. /*! @} */
  56425. /*! @name OTFAD2_KEY_CTRL - CSR OTFAD-2 Key Control */
  56426. /*! @{ */
  56427. #define KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_MASK (0x1U)
  56428. #define KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_SHIFT (0U)
  56429. /*! SELECT - key select for OTFAD-2. Default value comes from FUSE_OTFAD1_KEY_SEL.
  56430. * 0b0..select key from OCOTP USER_KEY5
  56431. * 0b1..If PUF_KEY_CTRL[LOCK] is 1, select key from PUF, otherwise select key from OCOTP USER_KEY5
  56432. */
  56433. #define KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_SHIFT)) & KEY_MANAGER_OTFAD2_KEY_CTRL_SELECT_MASK)
  56434. #define KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_MASK (0x10000U)
  56435. #define KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_SHIFT (16U)
  56436. /*! LOCK - lock this register, prevent from writing. Default value comes from FUSE_OTFAD2_KEY_SEL_LOCK.
  56437. * 0b0..not locked
  56438. * 0b1..locked
  56439. */
  56440. #define KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_SHIFT)) & KEY_MANAGER_OTFAD2_KEY_CTRL_LOCK_MASK)
  56441. /*! @} */
  56442. /*! @name IEE_KEY_CTRL - CSR IEE Key Control */
  56443. /*! @{ */
  56444. #define KEY_MANAGER_IEE_KEY_CTRL_RELOAD_MASK (0x1U)
  56445. #define KEY_MANAGER_IEE_KEY_CTRL_RELOAD_SHIFT (0U)
  56446. /*! RELOAD - Restart load key signal for IEE
  56447. * 0b0..Do nothing
  56448. * 0b1..Restart IEE key load flow
  56449. */
  56450. #define KEY_MANAGER_IEE_KEY_CTRL_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_IEE_KEY_CTRL_RELOAD_SHIFT)) & KEY_MANAGER_IEE_KEY_CTRL_RELOAD_MASK)
  56451. /*! @} */
  56452. /*! @name PUF_KEY_CTRL - CSR PUF Key Control */
  56453. /*! @{ */
  56454. #define KEY_MANAGER_PUF_KEY_CTRL_LOCK_MASK (0x1U)
  56455. #define KEY_MANAGER_PUF_KEY_CTRL_LOCK_SHIFT (0U)
  56456. /*! LOCK - Lock signal for key select
  56457. * 0b0..Do not lock the key select
  56458. * 0b1..Lock the key select to select key from PUF, otherwise bypass key from OCOPT and do not lock. Once it has
  56459. * been set to 1, it cannot be reset manually. It will be set to 0 when the IEE key reload operation is done.
  56460. */
  56461. #define KEY_MANAGER_PUF_KEY_CTRL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_PUF_KEY_CTRL_LOCK_SHIFT)) & KEY_MANAGER_PUF_KEY_CTRL_LOCK_MASK)
  56462. /*! @} */
  56463. /*! @name SLOT0_CTRL - Slot 0 Control */
  56464. /*! @{ */
  56465. #define KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_MASK (0xFU)
  56466. #define KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_SHIFT (0U)
  56467. /*! WHITE_LIST - Whitelist
  56468. */
  56469. #define KEY_MANAGER_SLOT0_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_SHIFT)) & KEY_MANAGER_SLOT0_CTRL_WHITE_LIST_MASK)
  56470. #define KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_MASK (0x8000U)
  56471. #define KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_SHIFT (15U)
  56472. /*! LOCK_LIST - Lock whitelist
  56473. * 0b0..Whitelist is not locked
  56474. * 0b1..Whitelist is locked
  56475. */
  56476. #define KEY_MANAGER_SLOT0_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_SHIFT)) & KEY_MANAGER_SLOT0_CTRL_LOCK_LIST_MASK)
  56477. #define KEY_MANAGER_SLOT0_CTRL_TZ_NS_MASK (0x10000U)
  56478. #define KEY_MANAGER_SLOT0_CTRL_TZ_NS_SHIFT (16U)
  56479. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56480. * 0b0..Do not allow non-secure write access
  56481. * 0b1..Allow non-secure write access
  56482. */
  56483. #define KEY_MANAGER_SLOT0_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT0_CTRL_TZ_NS_SHIFT)) & KEY_MANAGER_SLOT0_CTRL_TZ_NS_MASK)
  56484. #define KEY_MANAGER_SLOT0_CTRL_TZ_USER_MASK (0x20000U)
  56485. #define KEY_MANAGER_SLOT0_CTRL_TZ_USER_SHIFT (17U)
  56486. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56487. * 0b0..Do not allow user write access
  56488. * 0b1..Allow user write access
  56489. */
  56490. #define KEY_MANAGER_SLOT0_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT0_CTRL_TZ_USER_SHIFT)) & KEY_MANAGER_SLOT0_CTRL_TZ_USER_MASK)
  56491. #define KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56492. #define KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_SHIFT (31U)
  56493. /*! LOCK_CONTROL - Lock control of this slot
  56494. * 0b0..Do not lock the control register of this slot
  56495. * 0b1..Lock the control register of this slot
  56496. */
  56497. #define KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_SHIFT)) & KEY_MANAGER_SLOT0_CTRL_LOCK_CONTROL_MASK)
  56498. /*! @} */
  56499. /*! @name SLOT1_CTRL - Slot1 Control */
  56500. /*! @{ */
  56501. #define KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_MASK (0xFU)
  56502. #define KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_SHIFT (0U)
  56503. /*! WHITE_LIST - Whitelist
  56504. */
  56505. #define KEY_MANAGER_SLOT1_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_SHIFT)) & KEY_MANAGER_SLOT1_CTRL_WHITE_LIST_MASK)
  56506. #define KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_MASK (0x8000U)
  56507. #define KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_SHIFT (15U)
  56508. /*! LOCK_LIST - Lock whitelist
  56509. * 0b0..Whitelist is not locked
  56510. * 0b1..Whitelist is locked
  56511. */
  56512. #define KEY_MANAGER_SLOT1_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_SHIFT)) & KEY_MANAGER_SLOT1_CTRL_LOCK_LIST_MASK)
  56513. #define KEY_MANAGER_SLOT1_CTRL_TZ_NS_MASK (0x10000U)
  56514. #define KEY_MANAGER_SLOT1_CTRL_TZ_NS_SHIFT (16U)
  56515. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56516. * 0b0..Do not allow non-secure write access
  56517. * 0b1..Allow non-secure write access
  56518. */
  56519. #define KEY_MANAGER_SLOT1_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT1_CTRL_TZ_NS_SHIFT)) & KEY_MANAGER_SLOT1_CTRL_TZ_NS_MASK)
  56520. #define KEY_MANAGER_SLOT1_CTRL_TZ_USER_MASK (0x20000U)
  56521. #define KEY_MANAGER_SLOT1_CTRL_TZ_USER_SHIFT (17U)
  56522. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56523. * 0b0..Do not allow user write access
  56524. * 0b1..Allow user write access
  56525. */
  56526. #define KEY_MANAGER_SLOT1_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT1_CTRL_TZ_USER_SHIFT)) & KEY_MANAGER_SLOT1_CTRL_TZ_USER_MASK)
  56527. #define KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56528. #define KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_SHIFT (31U)
  56529. /*! LOCK_CONTROL - Lock control of this slot
  56530. * 0b0..Do not lock the control register of this slot
  56531. * 0b1..Lock the control register of this slot
  56532. */
  56533. #define KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_SHIFT)) & KEY_MANAGER_SLOT1_CTRL_LOCK_CONTROL_MASK)
  56534. /*! @} */
  56535. /*! @name SLOT2_CTRL - Slot2 Control */
  56536. /*! @{ */
  56537. #define KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_MASK (0xFU)
  56538. #define KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_SHIFT (0U)
  56539. /*! WHITE_LIST - Whitelist
  56540. */
  56541. #define KEY_MANAGER_SLOT2_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_SHIFT)) & KEY_MANAGER_SLOT2_CTRL_WHITE_LIST_MASK)
  56542. #define KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_MASK (0x8000U)
  56543. #define KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_SHIFT (15U)
  56544. /*! LOCK_LIST - Lock whitelist
  56545. * 0b0..Whitelist is not locked
  56546. * 0b1..Whitelist is locked
  56547. */
  56548. #define KEY_MANAGER_SLOT2_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_SHIFT)) & KEY_MANAGER_SLOT2_CTRL_LOCK_LIST_MASK)
  56549. #define KEY_MANAGER_SLOT2_CTRL_TZ_NS_MASK (0x10000U)
  56550. #define KEY_MANAGER_SLOT2_CTRL_TZ_NS_SHIFT (16U)
  56551. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56552. * 0b0..Do not allow non-secure write access
  56553. * 0b1..Allow non-secure write access
  56554. */
  56555. #define KEY_MANAGER_SLOT2_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT2_CTRL_TZ_NS_SHIFT)) & KEY_MANAGER_SLOT2_CTRL_TZ_NS_MASK)
  56556. #define KEY_MANAGER_SLOT2_CTRL_TZ_USER_MASK (0x20000U)
  56557. #define KEY_MANAGER_SLOT2_CTRL_TZ_USER_SHIFT (17U)
  56558. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56559. * 0b0..Do not allow user write access
  56560. * 0b1..Allow user write access
  56561. */
  56562. #define KEY_MANAGER_SLOT2_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT2_CTRL_TZ_USER_SHIFT)) & KEY_MANAGER_SLOT2_CTRL_TZ_USER_MASK)
  56563. #define KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56564. #define KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_SHIFT (31U)
  56565. /*! LOCK_CONTROL - Lock control of this slot
  56566. * 0b0..Do not lock the control register of this slot
  56567. * 0b1..Lock the control register of this slot
  56568. */
  56569. #define KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_SHIFT)) & KEY_MANAGER_SLOT2_CTRL_LOCK_CONTROL_MASK)
  56570. /*! @} */
  56571. /*! @name SLOT3_CTRL - Slot3 Control */
  56572. /*! @{ */
  56573. #define KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_MASK (0xFU)
  56574. #define KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_SHIFT (0U)
  56575. /*! WHITE_LIST - Whitelist
  56576. */
  56577. #define KEY_MANAGER_SLOT3_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_SHIFT)) & KEY_MANAGER_SLOT3_CTRL_WHITE_LIST_MASK)
  56578. #define KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_MASK (0x8000U)
  56579. #define KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_SHIFT (15U)
  56580. /*! LOCK_LIST - Lock whitelist
  56581. * 0b0..Whitelist is not locked
  56582. * 0b1..Whitelist is locked
  56583. */
  56584. #define KEY_MANAGER_SLOT3_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_SHIFT)) & KEY_MANAGER_SLOT3_CTRL_LOCK_LIST_MASK)
  56585. #define KEY_MANAGER_SLOT3_CTRL_TZ_NS_MASK (0x10000U)
  56586. #define KEY_MANAGER_SLOT3_CTRL_TZ_NS_SHIFT (16U)
  56587. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56588. * 0b0..Do not allow non-secure write access
  56589. * 0b1..Allow non-secure write access
  56590. */
  56591. #define KEY_MANAGER_SLOT3_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT3_CTRL_TZ_NS_SHIFT)) & KEY_MANAGER_SLOT3_CTRL_TZ_NS_MASK)
  56592. #define KEY_MANAGER_SLOT3_CTRL_TZ_USER_MASK (0x20000U)
  56593. #define KEY_MANAGER_SLOT3_CTRL_TZ_USER_SHIFT (17U)
  56594. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56595. * 0b0..Do not allow user write access
  56596. * 0b1..Allow user write access
  56597. */
  56598. #define KEY_MANAGER_SLOT3_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT3_CTRL_TZ_USER_SHIFT)) & KEY_MANAGER_SLOT3_CTRL_TZ_USER_MASK)
  56599. #define KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56600. #define KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_SHIFT (31U)
  56601. /*! LOCK_CONTROL - Lock control of this slot
  56602. * 0b0..Do not lock the control register of this slot
  56603. * 0b1..Lock the control register of this slot
  56604. */
  56605. #define KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_SHIFT)) & KEY_MANAGER_SLOT3_CTRL_LOCK_CONTROL_MASK)
  56606. /*! @} */
  56607. /*! @name SLOT4_CTRL - Slot 4 Control */
  56608. /*! @{ */
  56609. #define KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_MASK (0xFU)
  56610. #define KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_SHIFT (0U)
  56611. /*! WHITE_LIST - Whitelist
  56612. */
  56613. #define KEY_MANAGER_SLOT4_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_SHIFT)) & KEY_MANAGER_SLOT4_CTRL_WHITE_LIST_MASK)
  56614. #define KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_MASK (0x8000U)
  56615. #define KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_SHIFT (15U)
  56616. /*! LOCK_LIST - Lock whitelist
  56617. * 0b0..Whitelist is not locked
  56618. * 0b1..Whitelist is locked
  56619. */
  56620. #define KEY_MANAGER_SLOT4_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_SHIFT)) & KEY_MANAGER_SLOT4_CTRL_LOCK_LIST_MASK)
  56621. #define KEY_MANAGER_SLOT4_CTRL_TZ_NS_MASK (0x10000U)
  56622. #define KEY_MANAGER_SLOT4_CTRL_TZ_NS_SHIFT (16U)
  56623. /*! TZ_NS - Allow non-secure write access to this register and the slot it controls
  56624. * 0b0..Do not allow non-secure write access
  56625. * 0b1..Allow non-secure write access
  56626. */
  56627. #define KEY_MANAGER_SLOT4_CTRL_TZ_NS(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT4_CTRL_TZ_NS_SHIFT)) & KEY_MANAGER_SLOT4_CTRL_TZ_NS_MASK)
  56628. #define KEY_MANAGER_SLOT4_CTRL_TZ_USER_MASK (0x20000U)
  56629. #define KEY_MANAGER_SLOT4_CTRL_TZ_USER_SHIFT (17U)
  56630. /*! TZ_USER - Allow user write access to this register and the slot it controls
  56631. * 0b0..Do not allow user write access
  56632. * 0b1..Allow user write access
  56633. */
  56634. #define KEY_MANAGER_SLOT4_CTRL_TZ_USER(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT4_CTRL_TZ_USER_SHIFT)) & KEY_MANAGER_SLOT4_CTRL_TZ_USER_MASK)
  56635. #define KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_MASK (0x80000000U)
  56636. #define KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_SHIFT (31U)
  56637. /*! LOCK_CONTROL - Lock control of this slot
  56638. * 0b0..Do not lock the control register of this slot
  56639. * 0b1..Lock the control register of this slot
  56640. */
  56641. #define KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL(x) (((uint32_t)(((uint32_t)(x)) << KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_SHIFT)) & KEY_MANAGER_SLOT4_CTRL_LOCK_CONTROL_MASK)
  56642. /*! @} */
  56643. /*!
  56644. * @}
  56645. */ /* end of group KEY_MANAGER_Register_Masks */
  56646. /* KEY_MANAGER - Peripheral instance base addresses */
  56647. /** Peripheral KEY_MANAGER base address */
  56648. #define KEY_MANAGER_BASE (0x40C80000u)
  56649. /** Peripheral KEY_MANAGER base pointer */
  56650. #define KEY_MANAGER ((KEY_MANAGER_Type *)KEY_MANAGER_BASE)
  56651. /** Array initializer of KEY_MANAGER peripheral base addresses */
  56652. #define KEY_MANAGER_BASE_ADDRS { KEY_MANAGER_BASE }
  56653. /** Array initializer of KEY_MANAGER peripheral base pointers */
  56654. #define KEY_MANAGER_BASE_PTRS { KEY_MANAGER }
  56655. /*!
  56656. * @}
  56657. */ /* end of group KEY_MANAGER_Peripheral_Access_Layer */
  56658. /* ----------------------------------------------------------------------------
  56659. -- KPP Peripheral Access Layer
  56660. ---------------------------------------------------------------------------- */
  56661. /*!
  56662. * @addtogroup KPP_Peripheral_Access_Layer KPP Peripheral Access Layer
  56663. * @{
  56664. */
  56665. /** KPP - Register Layout Typedef */
  56666. typedef struct {
  56667. __IO uint16_t KPCR; /**< Keypad Control Register, offset: 0x0 */
  56668. __IO uint16_t KPSR; /**< Keypad Status Register, offset: 0x2 */
  56669. __IO uint16_t KDDR; /**< Keypad Data Direction Register, offset: 0x4 */
  56670. __IO uint16_t KPDR; /**< Keypad Data Register, offset: 0x6 */
  56671. } KPP_Type;
  56672. /* ----------------------------------------------------------------------------
  56673. -- KPP Register Masks
  56674. ---------------------------------------------------------------------------- */
  56675. /*!
  56676. * @addtogroup KPP_Register_Masks KPP Register Masks
  56677. * @{
  56678. */
  56679. /*! @name KPCR - Keypad Control Register */
  56680. /*! @{ */
  56681. #define KPP_KPCR_KRE_MASK (0xFFU)
  56682. #define KPP_KPCR_KRE_SHIFT (0U)
  56683. /*! KRE - KRE
  56684. * 0b00000000..Row is not included in the keypad key press detect.
  56685. * 0b00000001..Row is included in the keypad key press detect.
  56686. */
  56687. #define KPP_KPCR_KRE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KRE_SHIFT)) & KPP_KPCR_KRE_MASK)
  56688. #define KPP_KPCR_KCO_MASK (0xFF00U)
  56689. #define KPP_KPCR_KCO_SHIFT (8U)
  56690. /*! KCO - KCO
  56691. * 0b00000000..Column strobe output is totem pole drive.
  56692. * 0b00000001..Column strobe output is open drain.
  56693. */
  56694. #define KPP_KPCR_KCO(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPCR_KCO_SHIFT)) & KPP_KPCR_KCO_MASK)
  56695. /*! @} */
  56696. /*! @name KPSR - Keypad Status Register */
  56697. /*! @{ */
  56698. #define KPP_KPSR_KPKD_MASK (0x1U)
  56699. #define KPP_KPSR_KPKD_SHIFT (0U)
  56700. /*! KPKD - KPKD
  56701. * 0b0..No key presses detected
  56702. * 0b1..A key has been depressed
  56703. */
  56704. #define KPP_KPSR_KPKD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKD_SHIFT)) & KPP_KPSR_KPKD_MASK)
  56705. #define KPP_KPSR_KPKR_MASK (0x2U)
  56706. #define KPP_KPSR_KPKR_SHIFT (1U)
  56707. /*! KPKR - KPKR
  56708. * 0b0..No key release detected
  56709. * 0b1..All keys have been released
  56710. */
  56711. #define KPP_KPSR_KPKR(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KPKR_SHIFT)) & KPP_KPSR_KPKR_MASK)
  56712. #define KPP_KPSR_KDSC_MASK (0x4U)
  56713. #define KPP_KPSR_KDSC_SHIFT (2U)
  56714. /*! KDSC - KDSC
  56715. * 0b0..No effect
  56716. * 0b1..Set bits that clear the keypad depress synchronizer chain
  56717. */
  56718. #define KPP_KPSR_KDSC(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDSC_SHIFT)) & KPP_KPSR_KDSC_MASK)
  56719. #define KPP_KPSR_KRSS_MASK (0x8U)
  56720. #define KPP_KPSR_KRSS_SHIFT (3U)
  56721. /*! KRSS - KRSS
  56722. * 0b0..No effect
  56723. * 0b1..Set bits which sets keypad release synchronizer chain
  56724. */
  56725. #define KPP_KPSR_KRSS(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRSS_SHIFT)) & KPP_KPSR_KRSS_MASK)
  56726. #define KPP_KPSR_KDIE_MASK (0x100U)
  56727. #define KPP_KPSR_KDIE_SHIFT (8U)
  56728. /*! KDIE - KDIE
  56729. * 0b0..No interrupt request is generated when KPKD is set.
  56730. * 0b1..An interrupt request is generated when KPKD is set.
  56731. */
  56732. #define KPP_KPSR_KDIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KDIE_SHIFT)) & KPP_KPSR_KDIE_MASK)
  56733. #define KPP_KPSR_KRIE_MASK (0x200U)
  56734. #define KPP_KPSR_KRIE_SHIFT (9U)
  56735. /*! KRIE - KRIE
  56736. * 0b0..No interrupt request is generated when KPKR is set.
  56737. * 0b1..An interrupt request is generated when KPKR is set.
  56738. */
  56739. #define KPP_KPSR_KRIE(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPSR_KRIE_SHIFT)) & KPP_KPSR_KRIE_MASK)
  56740. /*! @} */
  56741. /*! @name KDDR - Keypad Data Direction Register */
  56742. /*! @{ */
  56743. #define KPP_KDDR_KRDD_MASK (0xFFU)
  56744. #define KPP_KDDR_KRDD_SHIFT (0U)
  56745. /*! KRDD - KRDD
  56746. * 0b00000000..ROWn pin configured as an input.
  56747. * 0b00000001..ROWn pin configured as an output.
  56748. */
  56749. #define KPP_KDDR_KRDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KRDD_SHIFT)) & KPP_KDDR_KRDD_MASK)
  56750. #define KPP_KDDR_KCDD_MASK (0xFF00U)
  56751. #define KPP_KDDR_KCDD_SHIFT (8U)
  56752. /*! KCDD - KCDD
  56753. * 0b00000000..COLn pin is configured as an input.
  56754. * 0b00000001..COLn pin is configured as an output.
  56755. */
  56756. #define KPP_KDDR_KCDD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KDDR_KCDD_SHIFT)) & KPP_KDDR_KCDD_MASK)
  56757. /*! @} */
  56758. /*! @name KPDR - Keypad Data Register */
  56759. /*! @{ */
  56760. #define KPP_KPDR_KRD_MASK (0xFFU)
  56761. #define KPP_KPDR_KRD_SHIFT (0U)
  56762. /*! KRD - KRD
  56763. */
  56764. #define KPP_KPDR_KRD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KRD_SHIFT)) & KPP_KPDR_KRD_MASK)
  56765. #define KPP_KPDR_KCD_MASK (0xFF00U)
  56766. #define KPP_KPDR_KCD_SHIFT (8U)
  56767. /*! KCD - KCD
  56768. */
  56769. #define KPP_KPDR_KCD(x) (((uint16_t)(((uint16_t)(x)) << KPP_KPDR_KCD_SHIFT)) & KPP_KPDR_KCD_MASK)
  56770. /*! @} */
  56771. /*!
  56772. * @}
  56773. */ /* end of group KPP_Register_Masks */
  56774. /* KPP - Peripheral instance base addresses */
  56775. /** Peripheral KPP base address */
  56776. #define KPP_BASE (0x400E0000u)
  56777. /** Peripheral KPP base pointer */
  56778. #define KPP ((KPP_Type *)KPP_BASE)
  56779. /** Array initializer of KPP peripheral base addresses */
  56780. #define KPP_BASE_ADDRS { KPP_BASE }
  56781. /** Array initializer of KPP peripheral base pointers */
  56782. #define KPP_BASE_PTRS { KPP }
  56783. /** Interrupt vectors for the KPP peripheral type */
  56784. #define KPP_IRQS { KPP_IRQn }
  56785. /*!
  56786. * @}
  56787. */ /* end of group KPP_Peripheral_Access_Layer */
  56788. /* ----------------------------------------------------------------------------
  56789. -- LCDIF Peripheral Access Layer
  56790. ---------------------------------------------------------------------------- */
  56791. /*!
  56792. * @addtogroup LCDIF_Peripheral_Access_Layer LCDIF Peripheral Access Layer
  56793. * @{
  56794. */
  56795. /** LCDIF - Register Layout Typedef */
  56796. typedef struct {
  56797. __IO uint32_t CTRL; /**< LCDIF General Control Register, offset: 0x0 */
  56798. __IO uint32_t CTRL_SET; /**< LCDIF General Control Register, offset: 0x4 */
  56799. __IO uint32_t CTRL_CLR; /**< LCDIF General Control Register, offset: 0x8 */
  56800. __IO uint32_t CTRL_TOG; /**< LCDIF General Control Register, offset: 0xC */
  56801. __IO uint32_t CTRL1; /**< LCDIF General Control1 Register, offset: 0x10 */
  56802. __IO uint32_t CTRL1_SET; /**< LCDIF General Control1 Register, offset: 0x14 */
  56803. __IO uint32_t CTRL1_CLR; /**< LCDIF General Control1 Register, offset: 0x18 */
  56804. __IO uint32_t CTRL1_TOG; /**< LCDIF General Control1 Register, offset: 0x1C */
  56805. __IO uint32_t CTRL2; /**< LCDIF General Control2 Register, offset: 0x20 */
  56806. __IO uint32_t CTRL2_SET; /**< LCDIF General Control2 Register, offset: 0x24 */
  56807. __IO uint32_t CTRL2_CLR; /**< LCDIF General Control2 Register, offset: 0x28 */
  56808. __IO uint32_t CTRL2_TOG; /**< LCDIF General Control2 Register, offset: 0x2C */
  56809. __IO uint32_t TRANSFER_COUNT; /**< LCDIF Horizontal and Vertical Valid Data Count Register, offset: 0x30 */
  56810. uint8_t RESERVED_0[12];
  56811. __IO uint32_t CUR_BUF; /**< LCD Interface Current Buffer Address Register, offset: 0x40 */
  56812. uint8_t RESERVED_1[12];
  56813. __IO uint32_t NEXT_BUF; /**< LCD Interface Next Buffer Address Register, offset: 0x50 */
  56814. uint8_t RESERVED_2[28];
  56815. __IO uint32_t VDCTRL0; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x70 */
  56816. __IO uint32_t VDCTRL0_SET; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x74 */
  56817. __IO uint32_t VDCTRL0_CLR; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x78 */
  56818. __IO uint32_t VDCTRL0_TOG; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register0, offset: 0x7C */
  56819. __IO uint32_t VDCTRL1; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register1, offset: 0x80 */
  56820. uint8_t RESERVED_3[12];
  56821. __IO uint32_t VDCTRL2; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register2, offset: 0x90 */
  56822. uint8_t RESERVED_4[12];
  56823. __IO uint32_t VDCTRL3; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register3, offset: 0xA0 */
  56824. uint8_t RESERVED_5[12];
  56825. __IO uint32_t VDCTRL4; /**< LCDIF VSYNC Mode and Dotclk Mode Control Register4, offset: 0xB0 */
  56826. uint8_t RESERVED_6[220];
  56827. __IO uint32_t BM_ERROR_STAT; /**< Bus Master Error Status Register, offset: 0x190 */
  56828. uint8_t RESERVED_7[12];
  56829. __IO uint32_t CRC_STAT; /**< CRC Status Register, offset: 0x1A0 */
  56830. uint8_t RESERVED_8[12];
  56831. __I uint32_t STAT; /**< LCD Interface Status Register, offset: 0x1B0 */
  56832. uint8_t RESERVED_9[76];
  56833. __IO uint32_t THRES; /**< LCDIF Threshold Register, offset: 0x200 */
  56834. uint8_t RESERVED_10[380];
  56835. __IO uint32_t PIGEONCTRL0; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x380 */
  56836. __IO uint32_t PIGEONCTRL0_SET; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x384 */
  56837. __IO uint32_t PIGEONCTRL0_CLR; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x388 */
  56838. __IO uint32_t PIGEONCTRL0_TOG; /**< LCDIF Pigeon Mode Control0 Register, offset: 0x38C */
  56839. __IO uint32_t PIGEONCTRL1; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x390 */
  56840. __IO uint32_t PIGEONCTRL1_SET; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x394 */
  56841. __IO uint32_t PIGEONCTRL1_CLR; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x398 */
  56842. __IO uint32_t PIGEONCTRL1_TOG; /**< LCDIF Pigeon Mode Control1 Register, offset: 0x39C */
  56843. __IO uint32_t PIGEONCTRL2; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A0 */
  56844. __IO uint32_t PIGEONCTRL2_SET; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A4 */
  56845. __IO uint32_t PIGEONCTRL2_CLR; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3A8 */
  56846. __IO uint32_t PIGEONCTRL2_TOG; /**< LCDIF Pigeon Mode Control2 Register, offset: 0x3AC */
  56847. uint8_t RESERVED_11[1104];
  56848. struct { /* offset: 0x800, array step: 0x40 */
  56849. __IO uint32_t PIGEON_0; /**< Panel Interface Signal Generator Register, array offset: 0x800, array step: 0x40 */
  56850. uint8_t RESERVED_0[12];
  56851. __IO uint32_t PIGEON_1; /**< Panel Interface Signal Generator Register, array offset: 0x810, array step: 0x40 */
  56852. uint8_t RESERVED_1[12];
  56853. __IO uint32_t PIGEON_2; /**< Panel Interface Signal Generator Register, array offset: 0x820, array step: 0x40 */
  56854. uint8_t RESERVED_2[28];
  56855. } PIGEON[12];
  56856. __IO uint32_t LUT_CTRL; /**< Look Up Table Control Register, offset: 0xB00 */
  56857. uint8_t RESERVED_12[12];
  56858. __IO uint32_t LUT0_ADDR; /**< Lookup Table 0 Index Register, offset: 0xB10 */
  56859. uint8_t RESERVED_13[12];
  56860. __IO uint32_t LUT0_DATA; /**< Lookup Table 0 Data Register, offset: 0xB20 */
  56861. uint8_t RESERVED_14[12];
  56862. __IO uint32_t LUT1_ADDR; /**< Lookup Table 1 Index Register, offset: 0xB30 */
  56863. uint8_t RESERVED_15[12];
  56864. __IO uint32_t LUT1_DATA; /**< Lookup Table 1 Data Register, offset: 0xB40 */
  56865. } LCDIF_Type;
  56866. /* ----------------------------------------------------------------------------
  56867. -- LCDIF Register Masks
  56868. ---------------------------------------------------------------------------- */
  56869. /*!
  56870. * @addtogroup LCDIF_Register_Masks LCDIF Register Masks
  56871. * @{
  56872. */
  56873. /*! @name CTRL - LCDIF General Control Register */
  56874. /*! @{ */
  56875. #define LCDIF_CTRL_RUN_MASK (0x1U)
  56876. #define LCDIF_CTRL_RUN_SHIFT (0U)
  56877. #define LCDIF_CTRL_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RUN_SHIFT)) & LCDIF_CTRL_RUN_MASK)
  56878. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_MASK (0x2U)
  56879. #define LCDIF_CTRL_DATA_FORMAT_24_BIT_SHIFT (1U)
  56880. /*! DATA_FORMAT_24_BIT
  56881. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  56882. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  56883. * each byte do not contain any useful data, and should be dropped.
  56884. */
  56885. #define LCDIF_CTRL_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_24_BIT_MASK)
  56886. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_MASK (0x4U)
  56887. #define LCDIF_CTRL_DATA_FORMAT_18_BIT_SHIFT (2U)
  56888. /*! DATA_FORMAT_18_BIT
  56889. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  56890. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  56891. */
  56892. #define LCDIF_CTRL_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_18_BIT_MASK)
  56893. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_MASK (0x8U)
  56894. #define LCDIF_CTRL_DATA_FORMAT_16_BIT_SHIFT (3U)
  56895. #define LCDIF_CTRL_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_DATA_FORMAT_16_BIT_MASK)
  56896. #define LCDIF_CTRL_RSRVD0_MASK (0x10U)
  56897. #define LCDIF_CTRL_RSRVD0_SHIFT (4U)
  56898. #define LCDIF_CTRL_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_RSRVD0_SHIFT)) & LCDIF_CTRL_RSRVD0_MASK)
  56899. #define LCDIF_CTRL_MASTER_MASK (0x20U)
  56900. #define LCDIF_CTRL_MASTER_SHIFT (5U)
  56901. #define LCDIF_CTRL_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_MASTER_SHIFT)) & LCDIF_CTRL_MASTER_MASK)
  56902. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  56903. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  56904. #define LCDIF_CTRL_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK)
  56905. #define LCDIF_CTRL_WORD_LENGTH_MASK (0x300U)
  56906. #define LCDIF_CTRL_WORD_LENGTH_SHIFT (8U)
  56907. /*! WORD_LENGTH
  56908. * 0b00..Input data is 16 bits per pixel.
  56909. * 0b01..Input data is 8 bits wide.
  56910. * 0b10..Input data is 18 bits per pixel.
  56911. * 0b11..Input data is 24 bits per pixel.
  56912. */
  56913. #define LCDIF_CTRL_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_WORD_LENGTH_MASK)
  56914. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK (0xC00U)
  56915. #define LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT (10U)
  56916. /*! LCD_DATABUS_WIDTH
  56917. * 0b00..16-bit data bus mode.
  56918. * 0b01..8-bit data bus mode.
  56919. * 0b10..18-bit data bus mode.
  56920. * 0b11..24-bit data bus mode.
  56921. */
  56922. #define LCDIF_CTRL_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_LCD_DATABUS_WIDTH_MASK)
  56923. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK (0x3000U)
  56924. #define LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT (12U)
  56925. /*! CSC_DATA_SWIZZLE
  56926. * 0b00..No byte swapping.(Little endian)
  56927. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  56928. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  56929. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  56930. * 0b10..Swap half-words.
  56931. * 0b11..Swap bytes within each half-word.
  56932. */
  56933. #define LCDIF_CTRL_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CSC_DATA_SWIZZLE_MASK)
  56934. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  56935. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT (14U)
  56936. /*! INPUT_DATA_SWIZZLE
  56937. * 0b00..No byte swapping.(Little endian)
  56938. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  56939. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  56940. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  56941. * 0b10..Swap half-words.
  56942. * 0b11..Swap bytes within each half-word.
  56943. */
  56944. #define LCDIF_CTRL_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_INPUT_DATA_SWIZZLE_MASK)
  56945. #define LCDIF_CTRL_DOTCLK_MODE_MASK (0x20000U)
  56946. #define LCDIF_CTRL_DOTCLK_MODE_SHIFT (17U)
  56947. #define LCDIF_CTRL_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_DOTCLK_MODE_MASK)
  56948. #define LCDIF_CTRL_BYPASS_COUNT_MASK (0x80000U)
  56949. #define LCDIF_CTRL_BYPASS_COUNT_SHIFT (19U)
  56950. #define LCDIF_CTRL_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_BYPASS_COUNT_MASK)
  56951. #define LCDIF_CTRL_SHIFT_NUM_BITS_MASK (0x3E00000U)
  56952. #define LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT (21U)
  56953. #define LCDIF_CTRL_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_SHIFT_NUM_BITS_MASK)
  56954. #define LCDIF_CTRL_DATA_SHIFT_DIR_MASK (0x4000000U)
  56955. #define LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT (26U)
  56956. /*! DATA_SHIFT_DIR
  56957. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  56958. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  56959. */
  56960. #define LCDIF_CTRL_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_DATA_SHIFT_DIR_MASK)
  56961. #define LCDIF_CTRL_CLKGATE_MASK (0x40000000U)
  56962. #define LCDIF_CTRL_CLKGATE_SHIFT (30U)
  56963. #define LCDIF_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLKGATE_SHIFT)) & LCDIF_CTRL_CLKGATE_MASK)
  56964. #define LCDIF_CTRL_SFTRST_MASK (0x80000000U)
  56965. #define LCDIF_CTRL_SFTRST_SHIFT (31U)
  56966. #define LCDIF_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SFTRST_SHIFT)) & LCDIF_CTRL_SFTRST_MASK)
  56967. /*! @} */
  56968. /*! @name CTRL_SET - LCDIF General Control Register */
  56969. /*! @{ */
  56970. #define LCDIF_CTRL_SET_RUN_MASK (0x1U)
  56971. #define LCDIF_CTRL_SET_RUN_SHIFT (0U)
  56972. #define LCDIF_CTRL_SET_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RUN_SHIFT)) & LCDIF_CTRL_SET_RUN_MASK)
  56973. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_MASK (0x2U)
  56974. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_SHIFT (1U)
  56975. /*! DATA_FORMAT_24_BIT
  56976. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  56977. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  56978. * each byte do not contain any useful data, and should be dropped.
  56979. */
  56980. #define LCDIF_CTRL_SET_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_24_BIT_MASK)
  56981. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_MASK (0x4U)
  56982. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_SHIFT (2U)
  56983. /*! DATA_FORMAT_18_BIT
  56984. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  56985. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  56986. */
  56987. #define LCDIF_CTRL_SET_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_18_BIT_MASK)
  56988. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_MASK (0x8U)
  56989. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_SHIFT (3U)
  56990. #define LCDIF_CTRL_SET_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_SET_DATA_FORMAT_16_BIT_MASK)
  56991. #define LCDIF_CTRL_SET_RSRVD0_MASK (0x10U)
  56992. #define LCDIF_CTRL_SET_RSRVD0_SHIFT (4U)
  56993. #define LCDIF_CTRL_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_RSRVD0_SHIFT)) & LCDIF_CTRL_SET_RSRVD0_MASK)
  56994. #define LCDIF_CTRL_SET_MASTER_MASK (0x20U)
  56995. #define LCDIF_CTRL_SET_MASTER_SHIFT (5U)
  56996. #define LCDIF_CTRL_SET_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_MASTER_SHIFT)) & LCDIF_CTRL_SET_MASTER_MASK)
  56997. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  56998. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  56999. #define LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_SET_ENABLE_PXP_HANDSHAKE_MASK)
  57000. #define LCDIF_CTRL_SET_WORD_LENGTH_MASK (0x300U)
  57001. #define LCDIF_CTRL_SET_WORD_LENGTH_SHIFT (8U)
  57002. /*! WORD_LENGTH
  57003. * 0b00..Input data is 16 bits per pixel.
  57004. * 0b01..Input data is 8 bits wide.
  57005. * 0b10..Input data is 18 bits per pixel.
  57006. * 0b11..Input data is 24 bits per pixel.
  57007. */
  57008. #define LCDIF_CTRL_SET_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_SET_WORD_LENGTH_MASK)
  57009. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57010. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_SHIFT (10U)
  57011. /*! LCD_DATABUS_WIDTH
  57012. * 0b00..16-bit data bus mode.
  57013. * 0b01..8-bit data bus mode.
  57014. * 0b10..18-bit data bus mode.
  57015. * 0b11..24-bit data bus mode.
  57016. */
  57017. #define LCDIF_CTRL_SET_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_SET_LCD_DATABUS_WIDTH_MASK)
  57018. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57019. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_SHIFT (12U)
  57020. /*! CSC_DATA_SWIZZLE
  57021. * 0b00..No byte swapping.(Little endian)
  57022. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57023. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57024. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57025. * 0b10..Swap half-words.
  57026. * 0b11..Swap bytes within each half-word.
  57027. */
  57028. #define LCDIF_CTRL_SET_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_SET_CSC_DATA_SWIZZLE_MASK)
  57029. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57030. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57031. /*! INPUT_DATA_SWIZZLE
  57032. * 0b00..No byte swapping.(Little endian)
  57033. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57034. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57035. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57036. * 0b10..Swap half-words.
  57037. * 0b11..Swap bytes within each half-word.
  57038. */
  57039. #define LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_SET_INPUT_DATA_SWIZZLE_MASK)
  57040. #define LCDIF_CTRL_SET_DOTCLK_MODE_MASK (0x20000U)
  57041. #define LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT (17U)
  57042. #define LCDIF_CTRL_SET_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_SET_DOTCLK_MODE_MASK)
  57043. #define LCDIF_CTRL_SET_BYPASS_COUNT_MASK (0x80000U)
  57044. #define LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT (19U)
  57045. #define LCDIF_CTRL_SET_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_SET_BYPASS_COUNT_MASK)
  57046. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57047. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS_SHIFT (21U)
  57048. #define LCDIF_CTRL_SET_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_SET_SHIFT_NUM_BITS_MASK)
  57049. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_MASK (0x4000000U)
  57050. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR_SHIFT (26U)
  57051. /*! DATA_SHIFT_DIR
  57052. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57053. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57054. */
  57055. #define LCDIF_CTRL_SET_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_SET_DATA_SHIFT_DIR_MASK)
  57056. #define LCDIF_CTRL_SET_CLKGATE_MASK (0x40000000U)
  57057. #define LCDIF_CTRL_SET_CLKGATE_SHIFT (30U)
  57058. #define LCDIF_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_CLKGATE_SHIFT)) & LCDIF_CTRL_SET_CLKGATE_MASK)
  57059. #define LCDIF_CTRL_SET_SFTRST_MASK (0x80000000U)
  57060. #define LCDIF_CTRL_SET_SFTRST_SHIFT (31U)
  57061. #define LCDIF_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_SET_SFTRST_SHIFT)) & LCDIF_CTRL_SET_SFTRST_MASK)
  57062. /*! @} */
  57063. /*! @name CTRL_CLR - LCDIF General Control Register */
  57064. /*! @{ */
  57065. #define LCDIF_CTRL_CLR_RUN_MASK (0x1U)
  57066. #define LCDIF_CTRL_CLR_RUN_SHIFT (0U)
  57067. #define LCDIF_CTRL_CLR_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RUN_SHIFT)) & LCDIF_CTRL_CLR_RUN_MASK)
  57068. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_MASK (0x2U)
  57069. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_SHIFT (1U)
  57070. /*! DATA_FORMAT_24_BIT
  57071. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  57072. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  57073. * each byte do not contain any useful data, and should be dropped.
  57074. */
  57075. #define LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_24_BIT_MASK)
  57076. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_MASK (0x4U)
  57077. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_SHIFT (2U)
  57078. /*! DATA_FORMAT_18_BIT
  57079. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  57080. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  57081. */
  57082. #define LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_18_BIT_MASK)
  57083. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_MASK (0x8U)
  57084. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_SHIFT (3U)
  57085. #define LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_CLR_DATA_FORMAT_16_BIT_MASK)
  57086. #define LCDIF_CTRL_CLR_RSRVD0_MASK (0x10U)
  57087. #define LCDIF_CTRL_CLR_RSRVD0_SHIFT (4U)
  57088. #define LCDIF_CTRL_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL_CLR_RSRVD0_MASK)
  57089. #define LCDIF_CTRL_CLR_MASTER_MASK (0x20U)
  57090. #define LCDIF_CTRL_CLR_MASTER_SHIFT (5U)
  57091. #define LCDIF_CTRL_CLR_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_MASTER_SHIFT)) & LCDIF_CTRL_CLR_MASTER_MASK)
  57092. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  57093. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  57094. #define LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_CLR_ENABLE_PXP_HANDSHAKE_MASK)
  57095. #define LCDIF_CTRL_CLR_WORD_LENGTH_MASK (0x300U)
  57096. #define LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT (8U)
  57097. /*! WORD_LENGTH
  57098. * 0b00..Input data is 16 bits per pixel.
  57099. * 0b01..Input data is 8 bits wide.
  57100. * 0b10..Input data is 18 bits per pixel.
  57101. * 0b11..Input data is 24 bits per pixel.
  57102. */
  57103. #define LCDIF_CTRL_CLR_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_CLR_WORD_LENGTH_MASK)
  57104. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57105. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_SHIFT (10U)
  57106. /*! LCD_DATABUS_WIDTH
  57107. * 0b00..16-bit data bus mode.
  57108. * 0b01..8-bit data bus mode.
  57109. * 0b10..18-bit data bus mode.
  57110. * 0b11..24-bit data bus mode.
  57111. */
  57112. #define LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_CLR_LCD_DATABUS_WIDTH_MASK)
  57113. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57114. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_SHIFT (12U)
  57115. /*! CSC_DATA_SWIZZLE
  57116. * 0b00..No byte swapping.(Little endian)
  57117. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57118. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57119. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57120. * 0b10..Swap half-words.
  57121. * 0b11..Swap bytes within each half-word.
  57122. */
  57123. #define LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CLR_CSC_DATA_SWIZZLE_MASK)
  57124. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57125. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57126. /*! INPUT_DATA_SWIZZLE
  57127. * 0b00..No byte swapping.(Little endian)
  57128. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57129. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57130. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57131. * 0b10..Swap half-words.
  57132. * 0b11..Swap bytes within each half-word.
  57133. */
  57134. #define LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_CLR_INPUT_DATA_SWIZZLE_MASK)
  57135. #define LCDIF_CTRL_CLR_DOTCLK_MODE_MASK (0x20000U)
  57136. #define LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT (17U)
  57137. #define LCDIF_CTRL_CLR_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_CLR_DOTCLK_MODE_MASK)
  57138. #define LCDIF_CTRL_CLR_BYPASS_COUNT_MASK (0x80000U)
  57139. #define LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT (19U)
  57140. #define LCDIF_CTRL_CLR_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_CLR_BYPASS_COUNT_MASK)
  57141. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57142. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS_SHIFT (21U)
  57143. #define LCDIF_CTRL_CLR_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_CLR_SHIFT_NUM_BITS_MASK)
  57144. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_MASK (0x4000000U)
  57145. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR_SHIFT (26U)
  57146. /*! DATA_SHIFT_DIR
  57147. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57148. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57149. */
  57150. #define LCDIF_CTRL_CLR_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_CLR_DATA_SHIFT_DIR_MASK)
  57151. #define LCDIF_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  57152. #define LCDIF_CTRL_CLR_CLKGATE_SHIFT (30U)
  57153. #define LCDIF_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_CLKGATE_SHIFT)) & LCDIF_CTRL_CLR_CLKGATE_MASK)
  57154. #define LCDIF_CTRL_CLR_SFTRST_MASK (0x80000000U)
  57155. #define LCDIF_CTRL_CLR_SFTRST_SHIFT (31U)
  57156. #define LCDIF_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_CLR_SFTRST_SHIFT)) & LCDIF_CTRL_CLR_SFTRST_MASK)
  57157. /*! @} */
  57158. /*! @name CTRL_TOG - LCDIF General Control Register */
  57159. /*! @{ */
  57160. #define LCDIF_CTRL_TOG_RUN_MASK (0x1U)
  57161. #define LCDIF_CTRL_TOG_RUN_SHIFT (0U)
  57162. #define LCDIF_CTRL_TOG_RUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RUN_SHIFT)) & LCDIF_CTRL_TOG_RUN_MASK)
  57163. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_MASK (0x2U)
  57164. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_SHIFT (1U)
  57165. /*! DATA_FORMAT_24_BIT
  57166. * 0b0..Data input to the block is in 24 bpp format, such that all RGB 888 data is contained in 24 bits.
  57167. * 0b1..Data input to the block is actually RGB 18 bpp, but there is 1 color per byte, hence the upper 2 bits in
  57168. * each byte do not contain any useful data, and should be dropped.
  57169. */
  57170. #define LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_24_BIT_MASK)
  57171. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_MASK (0x4U)
  57172. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_SHIFT (2U)
  57173. /*! DATA_FORMAT_18_BIT
  57174. * 0b0..Data input to the block is in 18 bpp format, such that lower 18 bits contain RGB 666 and upper 14 bits do not contain any useful data.
  57175. * 0b1..Data input to the block is in 18 bpp format, such that upper 18 bits contain RGB 666 and lower 14 bits do not contain any useful data.
  57176. */
  57177. #define LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_18_BIT_MASK)
  57178. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_MASK (0x8U)
  57179. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_SHIFT (3U)
  57180. #define LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_SHIFT)) & LCDIF_CTRL_TOG_DATA_FORMAT_16_BIT_MASK)
  57181. #define LCDIF_CTRL_TOG_RSRVD0_MASK (0x10U)
  57182. #define LCDIF_CTRL_TOG_RSRVD0_SHIFT (4U)
  57183. #define LCDIF_CTRL_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL_TOG_RSRVD0_MASK)
  57184. #define LCDIF_CTRL_TOG_MASTER_MASK (0x20U)
  57185. #define LCDIF_CTRL_TOG_MASTER_SHIFT (5U)
  57186. #define LCDIF_CTRL_TOG_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_MASTER_SHIFT)) & LCDIF_CTRL_TOG_MASTER_MASK)
  57187. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_MASK (0x40U)
  57188. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_SHIFT (6U)
  57189. #define LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_SHIFT)) & LCDIF_CTRL_TOG_ENABLE_PXP_HANDSHAKE_MASK)
  57190. #define LCDIF_CTRL_TOG_WORD_LENGTH_MASK (0x300U)
  57191. #define LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT (8U)
  57192. /*! WORD_LENGTH
  57193. * 0b00..Input data is 16 bits per pixel.
  57194. * 0b01..Input data is 8 bits wide.
  57195. * 0b10..Input data is 18 bits per pixel.
  57196. * 0b11..Input data is 24 bits per pixel.
  57197. */
  57198. #define LCDIF_CTRL_TOG_WORD_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_WORD_LENGTH_SHIFT)) & LCDIF_CTRL_TOG_WORD_LENGTH_MASK)
  57199. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_MASK (0xC00U)
  57200. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_SHIFT (10U)
  57201. /*! LCD_DATABUS_WIDTH
  57202. * 0b00..16-bit data bus mode.
  57203. * 0b01..8-bit data bus mode.
  57204. * 0b10..18-bit data bus mode.
  57205. * 0b11..24-bit data bus mode.
  57206. */
  57207. #define LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_SHIFT)) & LCDIF_CTRL_TOG_LCD_DATABUS_WIDTH_MASK)
  57208. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_MASK (0x3000U)
  57209. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_SHIFT (12U)
  57210. /*! CSC_DATA_SWIZZLE
  57211. * 0b00..No byte swapping.(Little endian)
  57212. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57213. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57214. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57215. * 0b10..Swap half-words.
  57216. * 0b11..Swap bytes within each half-word.
  57217. */
  57218. #define LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_TOG_CSC_DATA_SWIZZLE_MASK)
  57219. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_MASK (0xC000U)
  57220. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_SHIFT (14U)
  57221. /*! INPUT_DATA_SWIZZLE
  57222. * 0b00..No byte swapping.(Little endian)
  57223. * 0b00..Little Endian byte ordering (same as NO_SWAP).
  57224. * 0b01..Big Endian swap (swap bytes 0,3 and 1,2).
  57225. * 0b01..Swizzle all bytes, swap bytes 0,3 and 1,2 (aka Big Endian).
  57226. * 0b10..Swap half-words.
  57227. * 0b11..Swap bytes within each half-word.
  57228. */
  57229. #define LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_SHIFT)) & LCDIF_CTRL_TOG_INPUT_DATA_SWIZZLE_MASK)
  57230. #define LCDIF_CTRL_TOG_DOTCLK_MODE_MASK (0x20000U)
  57231. #define LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT (17U)
  57232. #define LCDIF_CTRL_TOG_DOTCLK_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DOTCLK_MODE_SHIFT)) & LCDIF_CTRL_TOG_DOTCLK_MODE_MASK)
  57233. #define LCDIF_CTRL_TOG_BYPASS_COUNT_MASK (0x80000U)
  57234. #define LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT (19U)
  57235. #define LCDIF_CTRL_TOG_BYPASS_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_BYPASS_COUNT_SHIFT)) & LCDIF_CTRL_TOG_BYPASS_COUNT_MASK)
  57236. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_MASK (0x3E00000U)
  57237. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS_SHIFT (21U)
  57238. #define LCDIF_CTRL_TOG_SHIFT_NUM_BITS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_SHIFT_NUM_BITS_SHIFT)) & LCDIF_CTRL_TOG_SHIFT_NUM_BITS_MASK)
  57239. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_MASK (0x4000000U)
  57240. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR_SHIFT (26U)
  57241. /*! DATA_SHIFT_DIR
  57242. * 0b0..Data to be transmitted is shifted LEFT by SHIFT_NUM_BITS bits.
  57243. * 0b1..Data to be transmitted is shifted RIGHT by SHIFT_NUM_BITS bits.
  57244. */
  57245. #define LCDIF_CTRL_TOG_DATA_SHIFT_DIR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_DATA_SHIFT_DIR_SHIFT)) & LCDIF_CTRL_TOG_DATA_SHIFT_DIR_MASK)
  57246. #define LCDIF_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  57247. #define LCDIF_CTRL_TOG_CLKGATE_SHIFT (30U)
  57248. #define LCDIF_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_CLKGATE_SHIFT)) & LCDIF_CTRL_TOG_CLKGATE_MASK)
  57249. #define LCDIF_CTRL_TOG_SFTRST_MASK (0x80000000U)
  57250. #define LCDIF_CTRL_TOG_SFTRST_SHIFT (31U)
  57251. #define LCDIF_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL_TOG_SFTRST_SHIFT)) & LCDIF_CTRL_TOG_SFTRST_MASK)
  57252. /*! @} */
  57253. /*! @name CTRL1 - LCDIF General Control1 Register */
  57254. /*! @{ */
  57255. #define LCDIF_CTRL1_RSRVD0_MASK (0xF8U)
  57256. #define LCDIF_CTRL1_RSRVD0_SHIFT (3U)
  57257. #define LCDIF_CTRL1_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RSRVD0_SHIFT)) & LCDIF_CTRL1_RSRVD0_MASK)
  57258. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK (0x100U)
  57259. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT (8U)
  57260. /*! VSYNC_EDGE_IRQ
  57261. * 0b0..No Interrupt Request Pending.
  57262. * 0b1..Interrupt Request Pending.
  57263. */
  57264. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK)
  57265. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57266. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57267. /*! CUR_FRAME_DONE_IRQ
  57268. * 0b0..No Interrupt Request Pending.
  57269. * 0b1..Interrupt Request Pending.
  57270. */
  57271. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK)
  57272. #define LCDIF_CTRL1_UNDERFLOW_IRQ_MASK (0x400U)
  57273. #define LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT (10U)
  57274. /*! UNDERFLOW_IRQ
  57275. * 0b0..No Interrupt Request Pending.
  57276. * 0b1..Interrupt Request Pending.
  57277. */
  57278. #define LCDIF_CTRL1_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_MASK)
  57279. #define LCDIF_CTRL1_OVERFLOW_IRQ_MASK (0x800U)
  57280. #define LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT (11U)
  57281. /*! OVERFLOW_IRQ
  57282. * 0b0..No Interrupt Request Pending.
  57283. * 0b1..Interrupt Request Pending.
  57284. */
  57285. #define LCDIF_CTRL1_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_MASK)
  57286. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57287. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57288. #define LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK)
  57289. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57290. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57291. #define LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK)
  57292. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57293. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57294. #define LCDIF_CTRL1_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK)
  57295. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57296. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT (15U)
  57297. #define LCDIF_CTRL1_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK)
  57298. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57299. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT (16U)
  57300. #define LCDIF_CTRL1_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_BYTE_PACKING_FORMAT_MASK)
  57301. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57302. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57303. #define LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_IRQ_ON_ALTERNATE_FIELDS_MASK)
  57304. #define LCDIF_CTRL1_FIFO_CLEAR_MASK (0x200000U)
  57305. #define LCDIF_CTRL1_FIFO_CLEAR_SHIFT (21U)
  57306. #define LCDIF_CTRL1_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_FIFO_CLEAR_MASK)
  57307. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57308. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57309. #define LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  57310. #define LCDIF_CTRL1_INTERLACE_FIELDS_MASK (0x800000U)
  57311. #define LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT (23U)
  57312. #define LCDIF_CTRL1_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_INTERLACE_FIELDS_MASK)
  57313. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57314. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57315. #define LCDIF_CTRL1_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_RECOVER_ON_UNDERFLOW_MASK)
  57316. #define LCDIF_CTRL1_BM_ERROR_IRQ_MASK (0x2000000U)
  57317. #define LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT (25U)
  57318. /*! BM_ERROR_IRQ
  57319. * 0b0..No Interrupt Request Pending.
  57320. * 0b1..Interrupt Request Pending.
  57321. */
  57322. #define LCDIF_CTRL1_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_BM_ERROR_IRQ_MASK)
  57323. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57324. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN_SHIFT (26U)
  57325. #define LCDIF_CTRL1_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK)
  57326. #define LCDIF_CTRL1_CS_OUT_SELECT_MASK (0x40000000U)
  57327. #define LCDIF_CTRL1_CS_OUT_SELECT_SHIFT (30U)
  57328. #define LCDIF_CTRL1_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_CS_OUT_SELECT_MASK)
  57329. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57330. #define LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT (31U)
  57331. #define LCDIF_CTRL1_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_IMAGE_DATA_SELECT_MASK)
  57332. /*! @} */
  57333. /*! @name CTRL1_SET - LCDIF General Control1 Register */
  57334. /*! @{ */
  57335. #define LCDIF_CTRL1_SET_RSRVD0_MASK (0xF8U)
  57336. #define LCDIF_CTRL1_SET_RSRVD0_SHIFT (3U)
  57337. #define LCDIF_CTRL1_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_RSRVD0_SHIFT)) & LCDIF_CTRL1_SET_RSRVD0_MASK)
  57338. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_MASK (0x100U)
  57339. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_SHIFT (8U)
  57340. /*! VSYNC_EDGE_IRQ
  57341. * 0b0..No Interrupt Request Pending.
  57342. * 0b1..Interrupt Request Pending.
  57343. */
  57344. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_MASK)
  57345. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57346. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57347. /*! CUR_FRAME_DONE_IRQ
  57348. * 0b0..No Interrupt Request Pending.
  57349. * 0b1..Interrupt Request Pending.
  57350. */
  57351. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_MASK)
  57352. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK (0x400U)
  57353. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT (10U)
  57354. /*! UNDERFLOW_IRQ
  57355. * 0b0..No Interrupt Request Pending.
  57356. * 0b1..Interrupt Request Pending.
  57357. */
  57358. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_UNDERFLOW_IRQ_MASK)
  57359. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK (0x800U)
  57360. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT (11U)
  57361. /*! OVERFLOW_IRQ
  57362. * 0b0..No Interrupt Request Pending.
  57363. * 0b1..Interrupt Request Pending.
  57364. */
  57365. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_SET_OVERFLOW_IRQ_MASK)
  57366. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57367. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57368. #define LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_VSYNC_EDGE_IRQ_EN_MASK)
  57369. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57370. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57371. #define LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_CUR_FRAME_DONE_IRQ_EN_MASK)
  57372. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57373. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57374. #define LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_UNDERFLOW_IRQ_EN_MASK)
  57375. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57376. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_SHIFT (15U)
  57377. #define LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_OVERFLOW_IRQ_EN_MASK)
  57378. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57379. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_SHIFT (16U)
  57380. #define LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_SET_BYTE_PACKING_FORMAT_MASK)
  57381. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57382. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57383. #define LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_SET_IRQ_ON_ALTERNATE_FIELDS_MASK)
  57384. #define LCDIF_CTRL1_SET_FIFO_CLEAR_MASK (0x200000U)
  57385. #define LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT (21U)
  57386. #define LCDIF_CTRL1_SET_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_SET_FIFO_CLEAR_MASK)
  57387. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57388. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57389. #define LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_SET_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  57390. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK (0x800000U)
  57391. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT (23U)
  57392. #define LCDIF_CTRL1_SET_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_SET_INTERLACE_FIELDS_MASK)
  57393. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57394. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57395. #define LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_SET_RECOVER_ON_UNDERFLOW_MASK)
  57396. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_MASK (0x2000000U)
  57397. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_SHIFT (25U)
  57398. /*! BM_ERROR_IRQ
  57399. * 0b0..No Interrupt Request Pending.
  57400. * 0b1..Interrupt Request Pending.
  57401. */
  57402. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_SET_BM_ERROR_IRQ_MASK)
  57403. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57404. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_SHIFT (26U)
  57405. #define LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_SET_BM_ERROR_IRQ_EN_MASK)
  57406. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_MASK (0x40000000U)
  57407. #define LCDIF_CTRL1_SET_CS_OUT_SELECT_SHIFT (30U)
  57408. #define LCDIF_CTRL1_SET_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_SET_CS_OUT_SELECT_MASK)
  57409. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57410. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_SHIFT (31U)
  57411. #define LCDIF_CTRL1_SET_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_SET_IMAGE_DATA_SELECT_MASK)
  57412. /*! @} */
  57413. /*! @name CTRL1_CLR - LCDIF General Control1 Register */
  57414. /*! @{ */
  57415. #define LCDIF_CTRL1_CLR_RSRVD0_MASK (0xF8U)
  57416. #define LCDIF_CTRL1_CLR_RSRVD0_SHIFT (3U)
  57417. #define LCDIF_CTRL1_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL1_CLR_RSRVD0_MASK)
  57418. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_MASK (0x100U)
  57419. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_SHIFT (8U)
  57420. /*! VSYNC_EDGE_IRQ
  57421. * 0b0..No Interrupt Request Pending.
  57422. * 0b1..Interrupt Request Pending.
  57423. */
  57424. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_MASK)
  57425. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57426. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57427. /*! CUR_FRAME_DONE_IRQ
  57428. * 0b0..No Interrupt Request Pending.
  57429. * 0b1..Interrupt Request Pending.
  57430. */
  57431. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_MASK)
  57432. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK (0x400U)
  57433. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT (10U)
  57434. /*! UNDERFLOW_IRQ
  57435. * 0b0..No Interrupt Request Pending.
  57436. * 0b1..Interrupt Request Pending.
  57437. */
  57438. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_MASK)
  57439. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK (0x800U)
  57440. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT (11U)
  57441. /*! OVERFLOW_IRQ
  57442. * 0b0..No Interrupt Request Pending.
  57443. * 0b1..Interrupt Request Pending.
  57444. */
  57445. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_OVERFLOW_IRQ_MASK)
  57446. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57447. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57448. #define LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_VSYNC_EDGE_IRQ_EN_MASK)
  57449. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57450. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57451. #define LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_CUR_FRAME_DONE_IRQ_EN_MASK)
  57452. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57453. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57454. #define LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_UNDERFLOW_IRQ_EN_MASK)
  57455. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57456. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_SHIFT (15U)
  57457. #define LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_OVERFLOW_IRQ_EN_MASK)
  57458. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57459. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_SHIFT (16U)
  57460. #define LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_CLR_BYTE_PACKING_FORMAT_MASK)
  57461. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57462. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57463. #define LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_CLR_IRQ_ON_ALTERNATE_FIELDS_MASK)
  57464. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK (0x200000U)
  57465. #define LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT (21U)
  57466. #define LCDIF_CTRL1_CLR_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_CLR_FIFO_CLEAR_MASK)
  57467. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57468. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57469. #define LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_CLR_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  57470. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK (0x800000U)
  57471. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT (23U)
  57472. #define LCDIF_CTRL1_CLR_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_CLR_INTERLACE_FIELDS_MASK)
  57473. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57474. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57475. #define LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_CLR_RECOVER_ON_UNDERFLOW_MASK)
  57476. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_MASK (0x2000000U)
  57477. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_SHIFT (25U)
  57478. /*! BM_ERROR_IRQ
  57479. * 0b0..No Interrupt Request Pending.
  57480. * 0b1..Interrupt Request Pending.
  57481. */
  57482. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_CLR_BM_ERROR_IRQ_MASK)
  57483. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57484. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_SHIFT (26U)
  57485. #define LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_CLR_BM_ERROR_IRQ_EN_MASK)
  57486. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_MASK (0x40000000U)
  57487. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT_SHIFT (30U)
  57488. #define LCDIF_CTRL1_CLR_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_CLR_CS_OUT_SELECT_MASK)
  57489. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57490. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_SHIFT (31U)
  57491. #define LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_CLR_IMAGE_DATA_SELECT_MASK)
  57492. /*! @} */
  57493. /*! @name CTRL1_TOG - LCDIF General Control1 Register */
  57494. /*! @{ */
  57495. #define LCDIF_CTRL1_TOG_RSRVD0_MASK (0xF8U)
  57496. #define LCDIF_CTRL1_TOG_RSRVD0_SHIFT (3U)
  57497. #define LCDIF_CTRL1_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL1_TOG_RSRVD0_MASK)
  57498. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_MASK (0x100U)
  57499. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_SHIFT (8U)
  57500. /*! VSYNC_EDGE_IRQ
  57501. * 0b0..No Interrupt Request Pending.
  57502. * 0b1..Interrupt Request Pending.
  57503. */
  57504. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_MASK)
  57505. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_MASK (0x200U)
  57506. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_SHIFT (9U)
  57507. /*! CUR_FRAME_DONE_IRQ
  57508. * 0b0..No Interrupt Request Pending.
  57509. * 0b1..Interrupt Request Pending.
  57510. */
  57511. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_MASK)
  57512. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK (0x400U)
  57513. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT (10U)
  57514. /*! UNDERFLOW_IRQ
  57515. * 0b0..No Interrupt Request Pending.
  57516. * 0b1..Interrupt Request Pending.
  57517. */
  57518. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_MASK)
  57519. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK (0x800U)
  57520. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT (11U)
  57521. /*! OVERFLOW_IRQ
  57522. * 0b0..No Interrupt Request Pending.
  57523. * 0b1..Interrupt Request Pending.
  57524. */
  57525. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_OVERFLOW_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_OVERFLOW_IRQ_MASK)
  57526. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_MASK (0x1000U)
  57527. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_SHIFT (12U)
  57528. #define LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_VSYNC_EDGE_IRQ_EN_MASK)
  57529. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_MASK (0x2000U)
  57530. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_SHIFT (13U)
  57531. #define LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_CUR_FRAME_DONE_IRQ_EN_MASK)
  57532. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_MASK (0x4000U)
  57533. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_SHIFT (14U)
  57534. #define LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_UNDERFLOW_IRQ_EN_MASK)
  57535. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_MASK (0x8000U)
  57536. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_SHIFT (15U)
  57537. #define LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_OVERFLOW_IRQ_EN_MASK)
  57538. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_MASK (0xF0000U)
  57539. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_SHIFT (16U)
  57540. #define LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_SHIFT)) & LCDIF_CTRL1_TOG_BYTE_PACKING_FORMAT_MASK)
  57541. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_MASK (0x100000U)
  57542. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_SHIFT (20U)
  57543. #define LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_SHIFT)) & LCDIF_CTRL1_TOG_IRQ_ON_ALTERNATE_FIELDS_MASK)
  57544. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK (0x200000U)
  57545. #define LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT (21U)
  57546. #define LCDIF_CTRL1_TOG_FIFO_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_FIFO_CLEAR_SHIFT)) & LCDIF_CTRL1_TOG_FIFO_CLEAR_MASK)
  57547. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_MASK (0x400000U)
  57548. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_SHIFT (22U)
  57549. #define LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_SHIFT)) & LCDIF_CTRL1_TOG_START_INTERLACE_FROM_SECOND_FIELD_MASK)
  57550. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK (0x800000U)
  57551. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT (23U)
  57552. #define LCDIF_CTRL1_TOG_INTERLACE_FIELDS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_INTERLACE_FIELDS_SHIFT)) & LCDIF_CTRL1_TOG_INTERLACE_FIELDS_MASK)
  57553. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_MASK (0x1000000U)
  57554. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_SHIFT (24U)
  57555. #define LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_SHIFT)) & LCDIF_CTRL1_TOG_RECOVER_ON_UNDERFLOW_MASK)
  57556. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_MASK (0x2000000U)
  57557. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_SHIFT (25U)
  57558. /*! BM_ERROR_IRQ
  57559. * 0b0..No Interrupt Request Pending.
  57560. * 0b1..Interrupt Request Pending.
  57561. */
  57562. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BM_ERROR_IRQ_SHIFT)) & LCDIF_CTRL1_TOG_BM_ERROR_IRQ_MASK)
  57563. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_MASK (0x4000000U)
  57564. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_SHIFT (26U)
  57565. #define LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_SHIFT)) & LCDIF_CTRL1_TOG_BM_ERROR_IRQ_EN_MASK)
  57566. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_MASK (0x40000000U)
  57567. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT_SHIFT (30U)
  57568. #define LCDIF_CTRL1_TOG_CS_OUT_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_CS_OUT_SELECT_SHIFT)) & LCDIF_CTRL1_TOG_CS_OUT_SELECT_MASK)
  57569. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_MASK (0x80000000U)
  57570. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_SHIFT (31U)
  57571. #define LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_SHIFT)) & LCDIF_CTRL1_TOG_IMAGE_DATA_SELECT_MASK)
  57572. /*! @} */
  57573. /*! @name CTRL2 - LCDIF General Control2 Register */
  57574. /*! @{ */
  57575. #define LCDIF_CTRL2_RSRVD0_MASK (0xFFFU)
  57576. #define LCDIF_CTRL2_RSRVD0_SHIFT (0U)
  57577. #define LCDIF_CTRL2_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD0_SHIFT)) & LCDIF_CTRL2_RSRVD0_MASK)
  57578. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK (0x7000U)
  57579. #define LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT (12U)
  57580. /*! EVEN_LINE_PATTERN
  57581. * 0b000..RGB
  57582. * 0b001..RBG
  57583. * 0b010..GBR
  57584. * 0b011..GRB
  57585. * 0b100..BRG
  57586. * 0b101..BGR
  57587. */
  57588. #define LCDIF_CTRL2_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_EVEN_LINE_PATTERN_MASK)
  57589. #define LCDIF_CTRL2_RSRVD3_MASK (0x8000U)
  57590. #define LCDIF_CTRL2_RSRVD3_SHIFT (15U)
  57591. #define LCDIF_CTRL2_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD3_SHIFT)) & LCDIF_CTRL2_RSRVD3_MASK)
  57592. #define LCDIF_CTRL2_ODD_LINE_PATTERN_MASK (0x70000U)
  57593. #define LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT (16U)
  57594. /*! ODD_LINE_PATTERN
  57595. * 0b000..RGB
  57596. * 0b001..RBG
  57597. * 0b010..GBR
  57598. * 0b011..GRB
  57599. * 0b100..BRG
  57600. * 0b101..BGR
  57601. */
  57602. #define LCDIF_CTRL2_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_ODD_LINE_PATTERN_MASK)
  57603. #define LCDIF_CTRL2_RSRVD4_MASK (0x80000U)
  57604. #define LCDIF_CTRL2_RSRVD4_SHIFT (19U)
  57605. #define LCDIF_CTRL2_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD4_SHIFT)) & LCDIF_CTRL2_RSRVD4_MASK)
  57606. #define LCDIF_CTRL2_BURST_LEN_8_MASK (0x100000U)
  57607. #define LCDIF_CTRL2_BURST_LEN_8_SHIFT (20U)
  57608. #define LCDIF_CTRL2_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_BURST_LEN_8_MASK)
  57609. #define LCDIF_CTRL2_OUTSTANDING_REQS_MASK (0xE00000U)
  57610. #define LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT (21U)
  57611. /*! OUTSTANDING_REQS
  57612. * 0b000..REQ_1
  57613. * 0b001..REQ_2
  57614. * 0b010..REQ_4
  57615. * 0b011..REQ_8
  57616. * 0b100..REQ_16
  57617. */
  57618. #define LCDIF_CTRL2_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_OUTSTANDING_REQS_MASK)
  57619. #define LCDIF_CTRL2_RSRVD5_MASK (0xFF000000U)
  57620. #define LCDIF_CTRL2_RSRVD5_SHIFT (24U)
  57621. #define LCDIF_CTRL2_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_RSRVD5_SHIFT)) & LCDIF_CTRL2_RSRVD5_MASK)
  57622. /*! @} */
  57623. /*! @name CTRL2_SET - LCDIF General Control2 Register */
  57624. /*! @{ */
  57625. #define LCDIF_CTRL2_SET_RSRVD0_MASK (0xFFFU)
  57626. #define LCDIF_CTRL2_SET_RSRVD0_SHIFT (0U)
  57627. #define LCDIF_CTRL2_SET_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD0_SHIFT)) & LCDIF_CTRL2_SET_RSRVD0_MASK)
  57628. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_MASK (0x7000U)
  57629. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_SHIFT (12U)
  57630. /*! EVEN_LINE_PATTERN
  57631. * 0b000..RGB
  57632. * 0b001..RBG
  57633. * 0b010..GBR
  57634. * 0b011..GRB
  57635. * 0b100..BRG
  57636. * 0b101..BGR
  57637. */
  57638. #define LCDIF_CTRL2_SET_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_SET_EVEN_LINE_PATTERN_MASK)
  57639. #define LCDIF_CTRL2_SET_RSRVD3_MASK (0x8000U)
  57640. #define LCDIF_CTRL2_SET_RSRVD3_SHIFT (15U)
  57641. #define LCDIF_CTRL2_SET_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD3_SHIFT)) & LCDIF_CTRL2_SET_RSRVD3_MASK)
  57642. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_MASK (0x70000U)
  57643. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN_SHIFT (16U)
  57644. /*! ODD_LINE_PATTERN
  57645. * 0b000..RGB
  57646. * 0b001..RBG
  57647. * 0b010..GBR
  57648. * 0b011..GRB
  57649. * 0b100..BRG
  57650. * 0b101..BGR
  57651. */
  57652. #define LCDIF_CTRL2_SET_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_SET_ODD_LINE_PATTERN_MASK)
  57653. #define LCDIF_CTRL2_SET_RSRVD4_MASK (0x80000U)
  57654. #define LCDIF_CTRL2_SET_RSRVD4_SHIFT (19U)
  57655. #define LCDIF_CTRL2_SET_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD4_SHIFT)) & LCDIF_CTRL2_SET_RSRVD4_MASK)
  57656. #define LCDIF_CTRL2_SET_BURST_LEN_8_MASK (0x100000U)
  57657. #define LCDIF_CTRL2_SET_BURST_LEN_8_SHIFT (20U)
  57658. #define LCDIF_CTRL2_SET_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_SET_BURST_LEN_8_MASK)
  57659. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK (0xE00000U)
  57660. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT (21U)
  57661. /*! OUTSTANDING_REQS
  57662. * 0b000..REQ_1
  57663. * 0b001..REQ_2
  57664. * 0b010..REQ_4
  57665. * 0b011..REQ_8
  57666. * 0b100..REQ_16
  57667. */
  57668. #define LCDIF_CTRL2_SET_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_SET_OUTSTANDING_REQS_MASK)
  57669. #define LCDIF_CTRL2_SET_RSRVD5_MASK (0xFF000000U)
  57670. #define LCDIF_CTRL2_SET_RSRVD5_SHIFT (24U)
  57671. #define LCDIF_CTRL2_SET_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_SET_RSRVD5_SHIFT)) & LCDIF_CTRL2_SET_RSRVD5_MASK)
  57672. /*! @} */
  57673. /*! @name CTRL2_CLR - LCDIF General Control2 Register */
  57674. /*! @{ */
  57675. #define LCDIF_CTRL2_CLR_RSRVD0_MASK (0xFFFU)
  57676. #define LCDIF_CTRL2_CLR_RSRVD0_SHIFT (0U)
  57677. #define LCDIF_CTRL2_CLR_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD0_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD0_MASK)
  57678. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_MASK (0x7000U)
  57679. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_SHIFT (12U)
  57680. /*! EVEN_LINE_PATTERN
  57681. * 0b000..RGB
  57682. * 0b001..RBG
  57683. * 0b010..GBR
  57684. * 0b011..GRB
  57685. * 0b100..BRG
  57686. * 0b101..BGR
  57687. */
  57688. #define LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_CLR_EVEN_LINE_PATTERN_MASK)
  57689. #define LCDIF_CTRL2_CLR_RSRVD3_MASK (0x8000U)
  57690. #define LCDIF_CTRL2_CLR_RSRVD3_SHIFT (15U)
  57691. #define LCDIF_CTRL2_CLR_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD3_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD3_MASK)
  57692. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_MASK (0x70000U)
  57693. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_SHIFT (16U)
  57694. /*! ODD_LINE_PATTERN
  57695. * 0b000..RGB
  57696. * 0b001..RBG
  57697. * 0b010..GBR
  57698. * 0b011..GRB
  57699. * 0b100..BRG
  57700. * 0b101..BGR
  57701. */
  57702. #define LCDIF_CTRL2_CLR_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_CLR_ODD_LINE_PATTERN_MASK)
  57703. #define LCDIF_CTRL2_CLR_RSRVD4_MASK (0x80000U)
  57704. #define LCDIF_CTRL2_CLR_RSRVD4_SHIFT (19U)
  57705. #define LCDIF_CTRL2_CLR_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD4_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD4_MASK)
  57706. #define LCDIF_CTRL2_CLR_BURST_LEN_8_MASK (0x100000U)
  57707. #define LCDIF_CTRL2_CLR_BURST_LEN_8_SHIFT (20U)
  57708. #define LCDIF_CTRL2_CLR_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_CLR_BURST_LEN_8_MASK)
  57709. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK (0xE00000U)
  57710. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT (21U)
  57711. /*! OUTSTANDING_REQS
  57712. * 0b000..REQ_1
  57713. * 0b001..REQ_2
  57714. * 0b010..REQ_4
  57715. * 0b011..REQ_8
  57716. * 0b100..REQ_16
  57717. */
  57718. #define LCDIF_CTRL2_CLR_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_CLR_OUTSTANDING_REQS_MASK)
  57719. #define LCDIF_CTRL2_CLR_RSRVD5_MASK (0xFF000000U)
  57720. #define LCDIF_CTRL2_CLR_RSRVD5_SHIFT (24U)
  57721. #define LCDIF_CTRL2_CLR_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_CLR_RSRVD5_SHIFT)) & LCDIF_CTRL2_CLR_RSRVD5_MASK)
  57722. /*! @} */
  57723. /*! @name CTRL2_TOG - LCDIF General Control2 Register */
  57724. /*! @{ */
  57725. #define LCDIF_CTRL2_TOG_RSRVD0_MASK (0xFFFU)
  57726. #define LCDIF_CTRL2_TOG_RSRVD0_SHIFT (0U)
  57727. #define LCDIF_CTRL2_TOG_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD0_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD0_MASK)
  57728. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_MASK (0x7000U)
  57729. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_SHIFT (12U)
  57730. /*! EVEN_LINE_PATTERN
  57731. * 0b000..RGB
  57732. * 0b001..RBG
  57733. * 0b010..GBR
  57734. * 0b011..GRB
  57735. * 0b100..BRG
  57736. * 0b101..BGR
  57737. */
  57738. #define LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_TOG_EVEN_LINE_PATTERN_MASK)
  57739. #define LCDIF_CTRL2_TOG_RSRVD3_MASK (0x8000U)
  57740. #define LCDIF_CTRL2_TOG_RSRVD3_SHIFT (15U)
  57741. #define LCDIF_CTRL2_TOG_RSRVD3(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD3_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD3_MASK)
  57742. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_MASK (0x70000U)
  57743. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_SHIFT (16U)
  57744. /*! ODD_LINE_PATTERN
  57745. * 0b000..RGB
  57746. * 0b001..RBG
  57747. * 0b010..GBR
  57748. * 0b011..GRB
  57749. * 0b100..BRG
  57750. * 0b101..BGR
  57751. */
  57752. #define LCDIF_CTRL2_TOG_ODD_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_SHIFT)) & LCDIF_CTRL2_TOG_ODD_LINE_PATTERN_MASK)
  57753. #define LCDIF_CTRL2_TOG_RSRVD4_MASK (0x80000U)
  57754. #define LCDIF_CTRL2_TOG_RSRVD4_SHIFT (19U)
  57755. #define LCDIF_CTRL2_TOG_RSRVD4(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD4_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD4_MASK)
  57756. #define LCDIF_CTRL2_TOG_BURST_LEN_8_MASK (0x100000U)
  57757. #define LCDIF_CTRL2_TOG_BURST_LEN_8_SHIFT (20U)
  57758. #define LCDIF_CTRL2_TOG_BURST_LEN_8(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_BURST_LEN_8_SHIFT)) & LCDIF_CTRL2_TOG_BURST_LEN_8_MASK)
  57759. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK (0xE00000U)
  57760. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT (21U)
  57761. /*! OUTSTANDING_REQS
  57762. * 0b000..REQ_1
  57763. * 0b001..REQ_2
  57764. * 0b010..REQ_4
  57765. * 0b011..REQ_8
  57766. * 0b100..REQ_16
  57767. */
  57768. #define LCDIF_CTRL2_TOG_OUTSTANDING_REQS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_OUTSTANDING_REQS_SHIFT)) & LCDIF_CTRL2_TOG_OUTSTANDING_REQS_MASK)
  57769. #define LCDIF_CTRL2_TOG_RSRVD5_MASK (0xFF000000U)
  57770. #define LCDIF_CTRL2_TOG_RSRVD5_SHIFT (24U)
  57771. #define LCDIF_CTRL2_TOG_RSRVD5(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CTRL2_TOG_RSRVD5_SHIFT)) & LCDIF_CTRL2_TOG_RSRVD5_MASK)
  57772. /*! @} */
  57773. /*! @name TRANSFER_COUNT - LCDIF Horizontal and Vertical Valid Data Count Register */
  57774. /*! @{ */
  57775. #define LCDIF_TRANSFER_COUNT_H_COUNT_MASK (0xFFFFU)
  57776. #define LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT (0U)
  57777. #define LCDIF_TRANSFER_COUNT_H_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_H_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_H_COUNT_MASK)
  57778. #define LCDIF_TRANSFER_COUNT_V_COUNT_MASK (0xFFFF0000U)
  57779. #define LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT (16U)
  57780. #define LCDIF_TRANSFER_COUNT_V_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_TRANSFER_COUNT_V_COUNT_SHIFT)) & LCDIF_TRANSFER_COUNT_V_COUNT_MASK)
  57781. /*! @} */
  57782. /*! @name CUR_BUF - LCD Interface Current Buffer Address Register */
  57783. /*! @{ */
  57784. #define LCDIF_CUR_BUF_ADDR_MASK (0xFFFFFFFFU)
  57785. #define LCDIF_CUR_BUF_ADDR_SHIFT (0U)
  57786. #define LCDIF_CUR_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CUR_BUF_ADDR_SHIFT)) & LCDIF_CUR_BUF_ADDR_MASK)
  57787. /*! @} */
  57788. /*! @name NEXT_BUF - LCD Interface Next Buffer Address Register */
  57789. /*! @{ */
  57790. #define LCDIF_NEXT_BUF_ADDR_MASK (0xFFFFFFFFU)
  57791. #define LCDIF_NEXT_BUF_ADDR_SHIFT (0U)
  57792. #define LCDIF_NEXT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_NEXT_BUF_ADDR_SHIFT)) & LCDIF_NEXT_BUF_ADDR_MASK)
  57793. /*! @} */
  57794. /*! @name VDCTRL0 - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57795. /*! @{ */
  57796. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57797. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57798. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_MASK)
  57799. #define LCDIF_VDCTRL0_HALF_LINE_MODE_MASK (0x40000U)
  57800. #define LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT (18U)
  57801. #define LCDIF_VDCTRL0_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MODE_MASK)
  57802. #define LCDIF_VDCTRL0_HALF_LINE_MASK (0x80000U)
  57803. #define LCDIF_VDCTRL0_HALF_LINE_SHIFT (19U)
  57804. #define LCDIF_VDCTRL0_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_HALF_LINE_MASK)
  57805. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57806. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57807. #define LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PULSE_WIDTH_UNIT_MASK)
  57808. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57809. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57810. #define LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_VSYNC_PERIOD_UNIT_MASK)
  57811. #define LCDIF_VDCTRL0_RSRVD1_MASK (0xC00000U)
  57812. #define LCDIF_VDCTRL0_RSRVD1_SHIFT (22U)
  57813. #define LCDIF_VDCTRL0_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_RSRVD1_MASK)
  57814. #define LCDIF_VDCTRL0_ENABLE_POL_MASK (0x1000000U)
  57815. #define LCDIF_VDCTRL0_ENABLE_POL_SHIFT (24U)
  57816. #define LCDIF_VDCTRL0_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_ENABLE_POL_MASK)
  57817. #define LCDIF_VDCTRL0_DOTCLK_POL_MASK (0x2000000U)
  57818. #define LCDIF_VDCTRL0_DOTCLK_POL_SHIFT (25U)
  57819. #define LCDIF_VDCTRL0_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_DOTCLK_POL_MASK)
  57820. #define LCDIF_VDCTRL0_HSYNC_POL_MASK (0x4000000U)
  57821. #define LCDIF_VDCTRL0_HSYNC_POL_SHIFT (26U)
  57822. #define LCDIF_VDCTRL0_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_HSYNC_POL_MASK)
  57823. #define LCDIF_VDCTRL0_VSYNC_POL_MASK (0x8000000U)
  57824. #define LCDIF_VDCTRL0_VSYNC_POL_SHIFT (27U)
  57825. #define LCDIF_VDCTRL0_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_VSYNC_POL_MASK)
  57826. #define LCDIF_VDCTRL0_ENABLE_PRESENT_MASK (0x10000000U)
  57827. #define LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT (28U)
  57828. #define LCDIF_VDCTRL0_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_ENABLE_PRESENT_MASK)
  57829. #define LCDIF_VDCTRL0_VSYNC_OEB_MASK (0x20000000U)
  57830. #define LCDIF_VDCTRL0_VSYNC_OEB_SHIFT (29U)
  57831. /*! VSYNC_OEB
  57832. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57833. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57834. */
  57835. #define LCDIF_VDCTRL0_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_VSYNC_OEB_MASK)
  57836. #define LCDIF_VDCTRL0_RSRVD2_MASK (0xC0000000U)
  57837. #define LCDIF_VDCTRL0_RSRVD2_SHIFT (30U)
  57838. #define LCDIF_VDCTRL0_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_RSRVD2_MASK)
  57839. /*! @} */
  57840. /*! @name VDCTRL0_SET - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57841. /*! @{ */
  57842. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57843. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57844. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_MASK)
  57845. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_MASK (0x40000U)
  57846. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE_SHIFT (18U)
  57847. #define LCDIF_VDCTRL0_SET_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_SET_HALF_LINE_MODE_MASK)
  57848. #define LCDIF_VDCTRL0_SET_HALF_LINE_MASK (0x80000U)
  57849. #define LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT (19U)
  57850. #define LCDIF_VDCTRL0_SET_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_SET_HALF_LINE_MASK)
  57851. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57852. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57853. #define LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PULSE_WIDTH_UNIT_MASK)
  57854. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57855. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57856. #define LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_PERIOD_UNIT_MASK)
  57857. #define LCDIF_VDCTRL0_SET_RSRVD1_MASK (0xC00000U)
  57858. #define LCDIF_VDCTRL0_SET_RSRVD1_SHIFT (22U)
  57859. #define LCDIF_VDCTRL0_SET_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD1_MASK)
  57860. #define LCDIF_VDCTRL0_SET_ENABLE_POL_MASK (0x1000000U)
  57861. #define LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT (24U)
  57862. #define LCDIF_VDCTRL0_SET_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_POL_MASK)
  57863. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK (0x2000000U)
  57864. #define LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT (25U)
  57865. #define LCDIF_VDCTRL0_SET_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_SET_DOTCLK_POL_MASK)
  57866. #define LCDIF_VDCTRL0_SET_HSYNC_POL_MASK (0x4000000U)
  57867. #define LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT (26U)
  57868. #define LCDIF_VDCTRL0_SET_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_HSYNC_POL_MASK)
  57869. #define LCDIF_VDCTRL0_SET_VSYNC_POL_MASK (0x8000000U)
  57870. #define LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT (27U)
  57871. #define LCDIF_VDCTRL0_SET_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_POL_MASK)
  57872. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK (0x10000000U)
  57873. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT (28U)
  57874. #define LCDIF_VDCTRL0_SET_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_SET_ENABLE_PRESENT_MASK)
  57875. #define LCDIF_VDCTRL0_SET_VSYNC_OEB_MASK (0x20000000U)
  57876. #define LCDIF_VDCTRL0_SET_VSYNC_OEB_SHIFT (29U)
  57877. /*! VSYNC_OEB
  57878. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57879. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57880. */
  57881. #define LCDIF_VDCTRL0_SET_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_SET_VSYNC_OEB_MASK)
  57882. #define LCDIF_VDCTRL0_SET_RSRVD2_MASK (0xC0000000U)
  57883. #define LCDIF_VDCTRL0_SET_RSRVD2_SHIFT (30U)
  57884. #define LCDIF_VDCTRL0_SET_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_SET_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_SET_RSRVD2_MASK)
  57885. /*! @} */
  57886. /*! @name VDCTRL0_CLR - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57887. /*! @{ */
  57888. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57889. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57890. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_MASK)
  57891. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_MASK (0x40000U)
  57892. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_SHIFT (18U)
  57893. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_CLR_HALF_LINE_MODE_MASK)
  57894. #define LCDIF_VDCTRL0_CLR_HALF_LINE_MASK (0x80000U)
  57895. #define LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT (19U)
  57896. #define LCDIF_VDCTRL0_CLR_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_CLR_HALF_LINE_MASK)
  57897. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57898. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57899. #define LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PULSE_WIDTH_UNIT_MASK)
  57900. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57901. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57902. #define LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_PERIOD_UNIT_MASK)
  57903. #define LCDIF_VDCTRL0_CLR_RSRVD1_MASK (0xC00000U)
  57904. #define LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT (22U)
  57905. #define LCDIF_VDCTRL0_CLR_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD1_MASK)
  57906. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK (0x1000000U)
  57907. #define LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT (24U)
  57908. #define LCDIF_VDCTRL0_CLR_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_POL_MASK)
  57909. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK (0x2000000U)
  57910. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT (25U)
  57911. #define LCDIF_VDCTRL0_CLR_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_DOTCLK_POL_MASK)
  57912. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK (0x4000000U)
  57913. #define LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT (26U)
  57914. #define LCDIF_VDCTRL0_CLR_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_HSYNC_POL_MASK)
  57915. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK (0x8000000U)
  57916. #define LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT (27U)
  57917. #define LCDIF_VDCTRL0_CLR_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_POL_MASK)
  57918. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK (0x10000000U)
  57919. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT (28U)
  57920. #define LCDIF_VDCTRL0_CLR_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_CLR_ENABLE_PRESENT_MASK)
  57921. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB_MASK (0x20000000U)
  57922. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB_SHIFT (29U)
  57923. /*! VSYNC_OEB
  57924. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57925. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57926. */
  57927. #define LCDIF_VDCTRL0_CLR_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_CLR_VSYNC_OEB_MASK)
  57928. #define LCDIF_VDCTRL0_CLR_RSRVD2_MASK (0xC0000000U)
  57929. #define LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT (30U)
  57930. #define LCDIF_VDCTRL0_CLR_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_CLR_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_CLR_RSRVD2_MASK)
  57931. /*! @} */
  57932. /*! @name VDCTRL0_TOG - LCDIF VSYNC Mode and Dotclk Mode Control Register0 */
  57933. /*! @{ */
  57934. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_MASK (0x3FFFFU)
  57935. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_SHIFT (0U)
  57936. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_MASK)
  57937. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_MASK (0x40000U)
  57938. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_SHIFT (18U)
  57939. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_SHIFT)) & LCDIF_VDCTRL0_TOG_HALF_LINE_MODE_MASK)
  57940. #define LCDIF_VDCTRL0_TOG_HALF_LINE_MASK (0x80000U)
  57941. #define LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT (19U)
  57942. #define LCDIF_VDCTRL0_TOG_HALF_LINE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HALF_LINE_SHIFT)) & LCDIF_VDCTRL0_TOG_HALF_LINE_MASK)
  57943. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_MASK (0x100000U)
  57944. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_SHIFT (20U)
  57945. #define LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PULSE_WIDTH_UNIT_MASK)
  57946. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_MASK (0x200000U)
  57947. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_SHIFT (21U)
  57948. #define LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_PERIOD_UNIT_MASK)
  57949. #define LCDIF_VDCTRL0_TOG_RSRVD1_MASK (0xC00000U)
  57950. #define LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT (22U)
  57951. #define LCDIF_VDCTRL0_TOG_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD1_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD1_MASK)
  57952. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK (0x1000000U)
  57953. #define LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT (24U)
  57954. #define LCDIF_VDCTRL0_TOG_ENABLE_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_POL_MASK)
  57955. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK (0x2000000U)
  57956. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT (25U)
  57957. #define LCDIF_VDCTRL0_TOG_DOTCLK_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_DOTCLK_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_DOTCLK_POL_MASK)
  57958. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK (0x4000000U)
  57959. #define LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT (26U)
  57960. #define LCDIF_VDCTRL0_TOG_HSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_HSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_HSYNC_POL_MASK)
  57961. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK (0x8000000U)
  57962. #define LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT (27U)
  57963. #define LCDIF_VDCTRL0_TOG_VSYNC_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_POL_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_POL_MASK)
  57964. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK (0x10000000U)
  57965. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT (28U)
  57966. #define LCDIF_VDCTRL0_TOG_ENABLE_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_SHIFT)) & LCDIF_VDCTRL0_TOG_ENABLE_PRESENT_MASK)
  57967. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB_MASK (0x20000000U)
  57968. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB_SHIFT (29U)
  57969. /*! VSYNC_OEB
  57970. * 0b0..The VSYNC pin is in the output mode and the VSYNC signal has to be generated by the LCDIF block.
  57971. * 0b1..The VSYNC pin is in the input mode and the LCD controller sends the VSYNC signal to the block.
  57972. */
  57973. #define LCDIF_VDCTRL0_TOG_VSYNC_OEB(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_VSYNC_OEB_SHIFT)) & LCDIF_VDCTRL0_TOG_VSYNC_OEB_MASK)
  57974. #define LCDIF_VDCTRL0_TOG_RSRVD2_MASK (0xC0000000U)
  57975. #define LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT (30U)
  57976. #define LCDIF_VDCTRL0_TOG_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL0_TOG_RSRVD2_SHIFT)) & LCDIF_VDCTRL0_TOG_RSRVD2_MASK)
  57977. /*! @} */
  57978. /*! @name VDCTRL1 - LCDIF VSYNC Mode and Dotclk Mode Control Register1 */
  57979. /*! @{ */
  57980. #define LCDIF_VDCTRL1_VSYNC_PERIOD_MASK (0xFFFFFFFFU)
  57981. #define LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT (0U)
  57982. #define LCDIF_VDCTRL1_VSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL1_VSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL1_VSYNC_PERIOD_MASK)
  57983. /*! @} */
  57984. /*! @name VDCTRL2 - LCDIF VSYNC Mode and Dotclk Mode Control Register2 */
  57985. /*! @{ */
  57986. #define LCDIF_VDCTRL2_HSYNC_PERIOD_MASK (0x3FFFFU)
  57987. #define LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT (0U)
  57988. #define LCDIF_VDCTRL2_HSYNC_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PERIOD_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PERIOD_MASK)
  57989. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK (0xFFFC0000U)
  57990. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT (18U)
  57991. #define LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_SHIFT)) & LCDIF_VDCTRL2_HSYNC_PULSE_WIDTH_MASK)
  57992. /*! @} */
  57993. /*! @name VDCTRL3 - LCDIF VSYNC Mode and Dotclk Mode Control Register3 */
  57994. /*! @{ */
  57995. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK (0xFFFFU)
  57996. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT (0U)
  57997. #define LCDIF_VDCTRL3_VERTICAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_VERTICAL_WAIT_CNT_MASK)
  57998. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK (0xFFF0000U)
  57999. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT (16U)
  58000. #define LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_SHIFT)) & LCDIF_VDCTRL3_HORIZONTAL_WAIT_CNT_MASK)
  58001. #define LCDIF_VDCTRL3_VSYNC_ONLY_MASK (0x10000000U)
  58002. #define LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT (28U)
  58003. #define LCDIF_VDCTRL3_VSYNC_ONLY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_VSYNC_ONLY_SHIFT)) & LCDIF_VDCTRL3_VSYNC_ONLY_MASK)
  58004. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK (0x20000000U)
  58005. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT (29U)
  58006. #define LCDIF_VDCTRL3_MUX_SYNC_SIGNALS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_SHIFT)) & LCDIF_VDCTRL3_MUX_SYNC_SIGNALS_MASK)
  58007. #define LCDIF_VDCTRL3_RSRVD0_MASK (0xC0000000U)
  58008. #define LCDIF_VDCTRL3_RSRVD0_SHIFT (30U)
  58009. #define LCDIF_VDCTRL3_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL3_RSRVD0_SHIFT)) & LCDIF_VDCTRL3_RSRVD0_MASK)
  58010. /*! @} */
  58011. /*! @name VDCTRL4 - LCDIF VSYNC Mode and Dotclk Mode Control Register4 */
  58012. /*! @{ */
  58013. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK (0x3FFFFU)
  58014. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_SHIFT (0U)
  58015. #define LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_SHIFT)) & LCDIF_VDCTRL4_DOTCLK_H_VALID_DATA_CNT_MASK)
  58016. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK (0x40000U)
  58017. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT (18U)
  58018. #define LCDIF_VDCTRL4_SYNC_SIGNALS_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_SYNC_SIGNALS_ON_SHIFT)) & LCDIF_VDCTRL4_SYNC_SIGNALS_ON_MASK)
  58019. #define LCDIF_VDCTRL4_RSRVD0_MASK (0x1FF80000U)
  58020. #define LCDIF_VDCTRL4_RSRVD0_SHIFT (19U)
  58021. #define LCDIF_VDCTRL4_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_RSRVD0_SHIFT)) & LCDIF_VDCTRL4_RSRVD0_MASK)
  58022. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK (0xE0000000U)
  58023. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT (29U)
  58024. #define LCDIF_VDCTRL4_DOTCLK_DLY_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_VDCTRL4_DOTCLK_DLY_SEL_SHIFT)) & LCDIF_VDCTRL4_DOTCLK_DLY_SEL_MASK)
  58025. /*! @} */
  58026. /*! @name BM_ERROR_STAT - Bus Master Error Status Register */
  58027. /*! @{ */
  58028. #define LCDIF_BM_ERROR_STAT_ADDR_MASK (0xFFFFFFFFU)
  58029. #define LCDIF_BM_ERROR_STAT_ADDR_SHIFT (0U)
  58030. #define LCDIF_BM_ERROR_STAT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_BM_ERROR_STAT_ADDR_SHIFT)) & LCDIF_BM_ERROR_STAT_ADDR_MASK)
  58031. /*! @} */
  58032. /*! @name CRC_STAT - CRC Status Register */
  58033. /*! @{ */
  58034. #define LCDIF_CRC_STAT_CRC_VALUE_MASK (0xFFFFFFFFU)
  58035. #define LCDIF_CRC_STAT_CRC_VALUE_SHIFT (0U)
  58036. #define LCDIF_CRC_STAT_CRC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_CRC_STAT_CRC_VALUE_SHIFT)) & LCDIF_CRC_STAT_CRC_VALUE_MASK)
  58037. /*! @} */
  58038. /*! @name STAT - LCD Interface Status Register */
  58039. /*! @{ */
  58040. #define LCDIF_STAT_LFIFO_COUNT_MASK (0x1FFU)
  58041. #define LCDIF_STAT_LFIFO_COUNT_SHIFT (0U)
  58042. #define LCDIF_STAT_LFIFO_COUNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_COUNT_SHIFT)) & LCDIF_STAT_LFIFO_COUNT_MASK)
  58043. #define LCDIF_STAT_RSRVD0_MASK (0x1FFFE00U)
  58044. #define LCDIF_STAT_RSRVD0_SHIFT (9U)
  58045. #define LCDIF_STAT_RSRVD0(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_RSRVD0_SHIFT)) & LCDIF_STAT_RSRVD0_MASK)
  58046. #define LCDIF_STAT_TXFIFO_EMPTY_MASK (0x4000000U)
  58047. #define LCDIF_STAT_TXFIFO_EMPTY_SHIFT (26U)
  58048. #define LCDIF_STAT_TXFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_EMPTY_SHIFT)) & LCDIF_STAT_TXFIFO_EMPTY_MASK)
  58049. #define LCDIF_STAT_TXFIFO_FULL_MASK (0x8000000U)
  58050. #define LCDIF_STAT_TXFIFO_FULL_SHIFT (27U)
  58051. #define LCDIF_STAT_TXFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_TXFIFO_FULL_SHIFT)) & LCDIF_STAT_TXFIFO_FULL_MASK)
  58052. #define LCDIF_STAT_LFIFO_EMPTY_MASK (0x10000000U)
  58053. #define LCDIF_STAT_LFIFO_EMPTY_SHIFT (28U)
  58054. #define LCDIF_STAT_LFIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_EMPTY_SHIFT)) & LCDIF_STAT_LFIFO_EMPTY_MASK)
  58055. #define LCDIF_STAT_LFIFO_FULL_MASK (0x20000000U)
  58056. #define LCDIF_STAT_LFIFO_FULL_SHIFT (29U)
  58057. #define LCDIF_STAT_LFIFO_FULL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_LFIFO_FULL_SHIFT)) & LCDIF_STAT_LFIFO_FULL_MASK)
  58058. #define LCDIF_STAT_DMA_REQ_MASK (0x40000000U)
  58059. #define LCDIF_STAT_DMA_REQ_SHIFT (30U)
  58060. #define LCDIF_STAT_DMA_REQ(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_DMA_REQ_SHIFT)) & LCDIF_STAT_DMA_REQ_MASK)
  58061. #define LCDIF_STAT_PRESENT_MASK (0x80000000U)
  58062. #define LCDIF_STAT_PRESENT_SHIFT (31U)
  58063. #define LCDIF_STAT_PRESENT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_STAT_PRESENT_SHIFT)) & LCDIF_STAT_PRESENT_MASK)
  58064. /*! @} */
  58065. /*! @name THRES - LCDIF Threshold Register */
  58066. /*! @{ */
  58067. #define LCDIF_THRES_RSRVD_MASK (0x1FFU)
  58068. #define LCDIF_THRES_RSRVD_SHIFT (0U)
  58069. #define LCDIF_THRES_RSRVD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD_SHIFT)) & LCDIF_THRES_RSRVD_MASK)
  58070. #define LCDIF_THRES_RSRVD1_MASK (0xFE00U)
  58071. #define LCDIF_THRES_RSRVD1_SHIFT (9U)
  58072. #define LCDIF_THRES_RSRVD1(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD1_SHIFT)) & LCDIF_THRES_RSRVD1_MASK)
  58073. #define LCDIF_THRES_FASTCLOCK_MASK (0x1FF0000U)
  58074. #define LCDIF_THRES_FASTCLOCK_SHIFT (16U)
  58075. #define LCDIF_THRES_FASTCLOCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_FASTCLOCK_SHIFT)) & LCDIF_THRES_FASTCLOCK_MASK)
  58076. #define LCDIF_THRES_RSRVD2_MASK (0xFE000000U)
  58077. #define LCDIF_THRES_RSRVD2_SHIFT (25U)
  58078. #define LCDIF_THRES_RSRVD2(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_THRES_RSRVD2_SHIFT)) & LCDIF_THRES_RSRVD2_MASK)
  58079. /*! @} */
  58080. /*! @name PIGEONCTRL0 - LCDIF Pigeon Mode Control0 Register */
  58081. /*! @{ */
  58082. #define LCDIF_PIGEONCTRL0_FD_PERIOD_MASK (0xFFFU)
  58083. #define LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT (0U)
  58084. #define LCDIF_PIGEONCTRL0_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_FD_PERIOD_MASK)
  58085. #define LCDIF_PIGEONCTRL0_LD_PERIOD_MASK (0xFFF0000U)
  58086. #define LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT (16U)
  58087. #define LCDIF_PIGEONCTRL0_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_LD_PERIOD_MASK)
  58088. /*! @} */
  58089. /*! @name PIGEONCTRL0_SET - LCDIF Pigeon Mode Control0 Register */
  58090. /*! @{ */
  58091. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK (0xFFFU)
  58092. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT (0U)
  58093. #define LCDIF_PIGEONCTRL0_SET_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_FD_PERIOD_MASK)
  58094. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK (0xFFF0000U)
  58095. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT (16U)
  58096. #define LCDIF_PIGEONCTRL0_SET_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_SET_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_SET_LD_PERIOD_MASK)
  58097. /*! @} */
  58098. /*! @name PIGEONCTRL0_CLR - LCDIF Pigeon Mode Control0 Register */
  58099. /*! @{ */
  58100. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK (0xFFFU)
  58101. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT (0U)
  58102. #define LCDIF_PIGEONCTRL0_CLR_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_FD_PERIOD_MASK)
  58103. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK (0xFFF0000U)
  58104. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT (16U)
  58105. #define LCDIF_PIGEONCTRL0_CLR_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_CLR_LD_PERIOD_MASK)
  58106. /*! @} */
  58107. /*! @name PIGEONCTRL0_TOG - LCDIF Pigeon Mode Control0 Register */
  58108. /*! @{ */
  58109. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK (0xFFFU)
  58110. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT (0U)
  58111. #define LCDIF_PIGEONCTRL0_TOG_FD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_FD_PERIOD_MASK)
  58112. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK (0xFFF0000U)
  58113. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT (16U)
  58114. #define LCDIF_PIGEONCTRL0_TOG_LD_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL0_TOG_LD_PERIOD_MASK)
  58115. /*! @} */
  58116. /*! @name PIGEONCTRL1 - LCDIF Pigeon Mode Control1 Register */
  58117. /*! @{ */
  58118. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58119. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT (0U)
  58120. #define LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_PERIOD_MASK)
  58121. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58122. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT (16U)
  58123. #define LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_FRAME_CNT_CYCLES_MASK)
  58124. /*! @} */
  58125. /*! @name PIGEONCTRL1_SET - LCDIF Pigeon Mode Control1 Register */
  58126. /*! @{ */
  58127. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58128. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_SHIFT (0U)
  58129. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_SET_FRAME_CNT_PERIOD_MASK)
  58130. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58131. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_SHIFT (16U)
  58132. #define LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_SET_FRAME_CNT_CYCLES_MASK)
  58133. /*! @} */
  58134. /*! @name PIGEONCTRL1_CLR - LCDIF Pigeon Mode Control1 Register */
  58135. /*! @{ */
  58136. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58137. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_SHIFT (0U)
  58138. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_PERIOD_MASK)
  58139. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58140. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_SHIFT (16U)
  58141. #define LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_CLR_FRAME_CNT_CYCLES_MASK)
  58142. /*! @} */
  58143. /*! @name PIGEONCTRL1_TOG - LCDIF Pigeon Mode Control1 Register */
  58144. /*! @{ */
  58145. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_MASK (0xFFFU)
  58146. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_SHIFT (0U)
  58147. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_SHIFT)) & LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_PERIOD_MASK)
  58148. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_MASK (0xFFF0000U)
  58149. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_SHIFT (16U)
  58150. #define LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_SHIFT)) & LCDIF_PIGEONCTRL1_TOG_FRAME_CNT_CYCLES_MASK)
  58151. /*! @} */
  58152. /*! @name PIGEONCTRL2 - LCDIF Pigeon Mode Control2 Register */
  58153. /*! @{ */
  58154. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK (0x1U)
  58155. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT (0U)
  58156. #define LCDIF_PIGEONCTRL2_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_DATA_EN_MASK)
  58157. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK (0x2U)
  58158. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT (1U)
  58159. #define LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_PIGEON_CLK_GATE_MASK)
  58160. /*! @} */
  58161. /*! @name PIGEONCTRL2_SET - LCDIF Pigeon Mode Control2 Register */
  58162. /*! @{ */
  58163. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_MASK (0x1U)
  58164. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_SHIFT (0U)
  58165. #define LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_SET_PIGEON_DATA_EN_MASK)
  58166. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_MASK (0x2U)
  58167. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_SHIFT (1U)
  58168. #define LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_SET_PIGEON_CLK_GATE_MASK)
  58169. /*! @} */
  58170. /*! @name PIGEONCTRL2_CLR - LCDIF Pigeon Mode Control2 Register */
  58171. /*! @{ */
  58172. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_MASK (0x1U)
  58173. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_SHIFT (0U)
  58174. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_CLR_PIGEON_DATA_EN_MASK)
  58175. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_MASK (0x2U)
  58176. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_SHIFT (1U)
  58177. #define LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_CLR_PIGEON_CLK_GATE_MASK)
  58178. /*! @} */
  58179. /*! @name PIGEONCTRL2_TOG - LCDIF Pigeon Mode Control2 Register */
  58180. /*! @{ */
  58181. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_MASK (0x1U)
  58182. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_SHIFT (0U)
  58183. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_SHIFT)) & LCDIF_PIGEONCTRL2_TOG_PIGEON_DATA_EN_MASK)
  58184. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_MASK (0x2U)
  58185. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_SHIFT (1U)
  58186. #define LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_SHIFT)) & LCDIF_PIGEONCTRL2_TOG_PIGEON_CLK_GATE_MASK)
  58187. /*! @} */
  58188. /*! @name PIGEON_0 - Panel Interface Signal Generator Register */
  58189. /*! @{ */
  58190. #define LCDIF_PIGEON_0_EN_MASK (0x1U)
  58191. #define LCDIF_PIGEON_0_EN_SHIFT (0U)
  58192. #define LCDIF_PIGEON_0_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_EN_SHIFT)) & LCDIF_PIGEON_0_EN_MASK)
  58193. #define LCDIF_PIGEON_0_POL_MASK (0x2U)
  58194. #define LCDIF_PIGEON_0_POL_SHIFT (1U)
  58195. /*! POL
  58196. * 0b0..Normal Signal (Active high)
  58197. * 0b1..Inverted signal (Active low)
  58198. */
  58199. #define LCDIF_PIGEON_0_POL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_POL_SHIFT)) & LCDIF_PIGEON_0_POL_MASK)
  58200. #define LCDIF_PIGEON_0_INC_SEL_MASK (0xCU)
  58201. #define LCDIF_PIGEON_0_INC_SEL_SHIFT (2U)
  58202. /*! INC_SEL
  58203. * 0b00..pclk
  58204. * 0b01..Line start pulse
  58205. * 0b10..Frame start pulse
  58206. * 0b11..Use another signal as tick event
  58207. */
  58208. #define LCDIF_PIGEON_0_INC_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_INC_SEL_SHIFT)) & LCDIF_PIGEON_0_INC_SEL_MASK)
  58209. #define LCDIF_PIGEON_0_OFFSET_MASK (0xF0U)
  58210. #define LCDIF_PIGEON_0_OFFSET_SHIFT (4U)
  58211. #define LCDIF_PIGEON_0_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_OFFSET_SHIFT)) & LCDIF_PIGEON_0_OFFSET_MASK)
  58212. #define LCDIF_PIGEON_0_MASK_CNT_SEL_MASK (0xF00U)
  58213. #define LCDIF_PIGEON_0_MASK_CNT_SEL_SHIFT (8U)
  58214. /*! MASK_CNT_SEL
  58215. * 0b0000..pclk counter within one hscan state
  58216. * 0b0001..pclk cycle within one hscan state
  58217. * 0b0010..line counter within one vscan state
  58218. * 0b0011..line cycle within one vscan state
  58219. * 0b0100..frame counter
  58220. * 0b0101..frame cycle
  58221. * 0b0110..horizontal counter (pclk counter within one line )
  58222. * 0b0111..vertical counter (line counter within one frame)
  58223. */
  58224. #define LCDIF_PIGEON_0_MASK_CNT_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_MASK_CNT_SEL_SHIFT)) & LCDIF_PIGEON_0_MASK_CNT_SEL_MASK)
  58225. #define LCDIF_PIGEON_0_MASK_CNT_MASK (0xFFF000U)
  58226. #define LCDIF_PIGEON_0_MASK_CNT_SHIFT (12U)
  58227. #define LCDIF_PIGEON_0_MASK_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_MASK_CNT_SHIFT)) & LCDIF_PIGEON_0_MASK_CNT_MASK)
  58228. #define LCDIF_PIGEON_0_STATE_MASK_MASK (0xFF000000U)
  58229. #define LCDIF_PIGEON_0_STATE_MASK_SHIFT (24U)
  58230. /*! STATE_MASK
  58231. * 0b00000001..FRAME SYNC
  58232. * 0b00000010..FRAME BEGIN
  58233. * 0b00000100..FRAME DATA
  58234. * 0b00001000..FRAME END
  58235. * 0b00010000..LINE SYNC
  58236. * 0b00100000..LINE BEGIN
  58237. * 0b01000000..LINE DATA
  58238. * 0b10000000..LINE END
  58239. */
  58240. #define LCDIF_PIGEON_0_STATE_MASK(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_0_STATE_MASK_SHIFT)) & LCDIF_PIGEON_0_STATE_MASK_MASK)
  58241. /*! @} */
  58242. /* The count of LCDIF_PIGEON_0 */
  58243. #define LCDIF_PIGEON_0_COUNT (12U)
  58244. /*! @name PIGEON_1 - Panel Interface Signal Generator Register */
  58245. /*! @{ */
  58246. #define LCDIF_PIGEON_1_SET_CNT_MASK (0xFFFFU)
  58247. #define LCDIF_PIGEON_1_SET_CNT_SHIFT (0U)
  58248. /*! SET_CNT
  58249. * 0b0000000000000000..Start as active
  58250. */
  58251. #define LCDIF_PIGEON_1_SET_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_SET_CNT_SHIFT)) & LCDIF_PIGEON_1_SET_CNT_MASK)
  58252. #define LCDIF_PIGEON_1_CLR_CNT_MASK (0xFFFF0000U)
  58253. #define LCDIF_PIGEON_1_CLR_CNT_SHIFT (16U)
  58254. /*! CLR_CNT
  58255. * 0b0000000000000000..Keep active until mask off
  58256. */
  58257. #define LCDIF_PIGEON_1_CLR_CNT(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_1_CLR_CNT_SHIFT)) & LCDIF_PIGEON_1_CLR_CNT_MASK)
  58258. /*! @} */
  58259. /* The count of LCDIF_PIGEON_1 */
  58260. #define LCDIF_PIGEON_1_COUNT (12U)
  58261. /*! @name PIGEON_2 - Panel Interface Signal Generator Register */
  58262. /*! @{ */
  58263. #define LCDIF_PIGEON_2_SIG_LOGIC_MASK (0xFU)
  58264. #define LCDIF_PIGEON_2_SIG_LOGIC_SHIFT (0U)
  58265. /*! SIG_LOGIC
  58266. * 0b0000..No logic operation
  58267. * 0b0001..sigout = sig_another AND this_sig
  58268. * 0b0010..sigout = sig_another OR this_sig
  58269. * 0b0011..mask = sig_another AND other_masks
  58270. */
  58271. #define LCDIF_PIGEON_2_SIG_LOGIC(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_LOGIC_SHIFT)) & LCDIF_PIGEON_2_SIG_LOGIC_MASK)
  58272. #define LCDIF_PIGEON_2_SIG_ANOTHER_MASK (0x1F0U)
  58273. #define LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT (4U)
  58274. /*! SIG_ANOTHER
  58275. * 0b00000..Keep active until mask off
  58276. */
  58277. #define LCDIF_PIGEON_2_SIG_ANOTHER(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_SIG_ANOTHER_SHIFT)) & LCDIF_PIGEON_2_SIG_ANOTHER_MASK)
  58278. #define LCDIF_PIGEON_2_RSVD_MASK (0xFFFFFE00U)
  58279. #define LCDIF_PIGEON_2_RSVD_SHIFT (9U)
  58280. #define LCDIF_PIGEON_2_RSVD(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_PIGEON_2_RSVD_SHIFT)) & LCDIF_PIGEON_2_RSVD_MASK)
  58281. /*! @} */
  58282. /* The count of LCDIF_PIGEON_2 */
  58283. #define LCDIF_PIGEON_2_COUNT (12U)
  58284. /*! @name LUT_CTRL - Look Up Table Control Register */
  58285. /*! @{ */
  58286. #define LCDIF_LUT_CTRL_LUT_BYPASS_MASK (0x1U)
  58287. #define LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT (0U)
  58288. #define LCDIF_LUT_CTRL_LUT_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT_CTRL_LUT_BYPASS_SHIFT)) & LCDIF_LUT_CTRL_LUT_BYPASS_MASK)
  58289. /*! @} */
  58290. /*! @name LUT0_ADDR - Lookup Table 0 Index Register */
  58291. /*! @{ */
  58292. #define LCDIF_LUT0_ADDR_ADDR_MASK (0xFFU)
  58293. #define LCDIF_LUT0_ADDR_ADDR_SHIFT (0U)
  58294. #define LCDIF_LUT0_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_ADDR_ADDR_SHIFT)) & LCDIF_LUT0_ADDR_ADDR_MASK)
  58295. /*! @} */
  58296. /*! @name LUT0_DATA - Lookup Table 0 Data Register */
  58297. /*! @{ */
  58298. #define LCDIF_LUT0_DATA_DATA_MASK (0xFFFFFFFFU)
  58299. #define LCDIF_LUT0_DATA_DATA_SHIFT (0U)
  58300. #define LCDIF_LUT0_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT0_DATA_DATA_SHIFT)) & LCDIF_LUT0_DATA_DATA_MASK)
  58301. /*! @} */
  58302. /*! @name LUT1_ADDR - Lookup Table 1 Index Register */
  58303. /*! @{ */
  58304. #define LCDIF_LUT1_ADDR_ADDR_MASK (0xFFU)
  58305. #define LCDIF_LUT1_ADDR_ADDR_SHIFT (0U)
  58306. #define LCDIF_LUT1_ADDR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_ADDR_ADDR_SHIFT)) & LCDIF_LUT1_ADDR_ADDR_MASK)
  58307. /*! @} */
  58308. /*! @name LUT1_DATA - Lookup Table 1 Data Register */
  58309. /*! @{ */
  58310. #define LCDIF_LUT1_DATA_DATA_MASK (0xFFFFFFFFU)
  58311. #define LCDIF_LUT1_DATA_DATA_SHIFT (0U)
  58312. #define LCDIF_LUT1_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LCDIF_LUT1_DATA_DATA_SHIFT)) & LCDIF_LUT1_DATA_DATA_MASK)
  58313. /*! @} */
  58314. /*!
  58315. * @}
  58316. */ /* end of group LCDIF_Register_Masks */
  58317. /* LCDIF - Peripheral instance base addresses */
  58318. /** Peripheral LCDIF base address */
  58319. #define LCDIF_BASE (0x40804000u)
  58320. /** Peripheral LCDIF base pointer */
  58321. #define LCDIF ((LCDIF_Type *)LCDIF_BASE)
  58322. /** Array initializer of LCDIF peripheral base addresses */
  58323. #define LCDIF_BASE_ADDRS { LCDIF_BASE }
  58324. /** Array initializer of LCDIF peripheral base pointers */
  58325. #define LCDIF_BASE_PTRS { LCDIF }
  58326. /** Interrupt vectors for the LCDIF peripheral type */
  58327. #define LCDIF_IRQ0_IRQS { eLCDIF_IRQn }
  58328. /*!
  58329. * @}
  58330. */ /* end of group LCDIF_Peripheral_Access_Layer */
  58331. /* ----------------------------------------------------------------------------
  58332. -- LCDIFV2 Peripheral Access Layer
  58333. ---------------------------------------------------------------------------- */
  58334. /*!
  58335. * @addtogroup LCDIFV2_Peripheral_Access_Layer LCDIFV2 Peripheral Access Layer
  58336. * @{
  58337. */
  58338. /** LCDIFV2 - Register Layout Typedef */
  58339. typedef struct {
  58340. __IO uint32_t CTRL; /**< LCDIFv2 display control Register, offset: 0x0 */
  58341. __IO uint32_t CTRL_SET; /**< LCDIFv2 display control Register, offset: 0x4 */
  58342. __IO uint32_t CTRL_CLR; /**< LCDIFv2 display control Register, offset: 0x8 */
  58343. __IO uint32_t CTRL_TOG; /**< LCDIFv2 display control Register, offset: 0xC */
  58344. __IO uint32_t DISP_PARA; /**< Display Parameter Register, offset: 0x10 */
  58345. __IO uint32_t DISP_SIZE; /**< Display Size Register, offset: 0x14 */
  58346. __IO uint32_t HSYN_PARA; /**< Horizontal Sync Parameter Register, offset: 0x18 */
  58347. __IO uint32_t VSYN_PARA; /**< Vertical Sync Parameter Register, offset: 0x1C */
  58348. struct { /* offset: 0x20, array step: 0x10 */
  58349. __IO uint32_t INT_STATUS; /**< Interrupt Status Register for domain 0..Interrupt Status Register for domain 1, array offset: 0x20, array step: 0x10 */
  58350. __IO uint32_t INT_ENABLE; /**< Interrupt Enable Register for domain 0..Interrupt Enable Register for domain 1, array offset: 0x24, array step: 0x10 */
  58351. uint8_t RESERVED_0[8];
  58352. } INT[2];
  58353. __IO uint32_t PDI_PARA; /**< Parallel Data Interface Parameter Register, offset: 0x40 */
  58354. uint8_t RESERVED_0[444];
  58355. struct { /* offset: 0x200, array step: 0x40 */
  58356. __IO uint32_t CTRLDESCL1; /**< Control Descriptor Layer 1 Register, array offset: 0x200, array step: 0x40 */
  58357. __IO uint32_t CTRLDESCL2; /**< Control Descriptor Layer 2 Register, array offset: 0x204, array step: 0x40 */
  58358. __IO uint32_t CTRLDESCL3; /**< Control Descriptor Layer 3 Register, array offset: 0x208, array step: 0x40 */
  58359. __IO uint32_t CTRLDESCL4; /**< Control Descriptor Layer 4 Register, array offset: 0x20C, array step: 0x40 */
  58360. __IO uint32_t CTRLDESCL5; /**< Control Descriptor Layer 5 Register, array offset: 0x210, array step: 0x40 */
  58361. __IO uint32_t CTRLDESCL6; /**< Control Descriptor Layer 6 Register, array offset: 0x214, array step: 0x40 */
  58362. __IO uint32_t CSC_COEF0; /**< Color Space Conversion Coefficient Register 0, array offset: 0x218, array step: 0x40, this item is not available for all array instances */
  58363. __IO uint32_t CSC_COEF1; /**< Color Space Conversion Coefficient Register 1, array offset: 0x21C, array step: 0x40, this item is not available for all array instances */
  58364. __IO uint32_t CSC_COEF2; /**< Color Space Conversion Coefficient Register 2, array offset: 0x220, array step: 0x40, this item is not available for all array instances */
  58365. uint8_t RESERVED_0[28];
  58366. } LAYER[8];
  58367. __IO uint32_t CLUT_LOAD; /**< LCDIFv2 CLUT load Register, offset: 0x400 */
  58368. } LCDIFV2_Type;
  58369. /* ----------------------------------------------------------------------------
  58370. -- LCDIFV2 Register Masks
  58371. ---------------------------------------------------------------------------- */
  58372. /*!
  58373. * @addtogroup LCDIFV2_Register_Masks LCDIFV2 Register Masks
  58374. * @{
  58375. */
  58376. /*! @name CTRL - LCDIFv2 display control Register */
  58377. /*! @{ */
  58378. #define LCDIFV2_CTRL_INV_HS_MASK (0x1U)
  58379. #define LCDIFV2_CTRL_INV_HS_SHIFT (0U)
  58380. /*! INV_HS - Invert Horizontal synchronization signal
  58381. * 0b0..HSYNC signal not inverted (active HIGH)
  58382. * 0b1..Invert HSYNC signal (active LOW)
  58383. */
  58384. #define LCDIFV2_CTRL_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_HS_SHIFT)) & LCDIFV2_CTRL_INV_HS_MASK)
  58385. #define LCDIFV2_CTRL_INV_VS_MASK (0x2U)
  58386. #define LCDIFV2_CTRL_INV_VS_SHIFT (1U)
  58387. /*! INV_VS - Invert Vertical synchronization signal
  58388. * 0b0..VSYNC signal not inverted (active HIGH)
  58389. * 0b1..Invert VSYNC signal (active LOW)
  58390. */
  58391. #define LCDIFV2_CTRL_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_VS_SHIFT)) & LCDIFV2_CTRL_INV_VS_MASK)
  58392. #define LCDIFV2_CTRL_INV_DE_MASK (0x4U)
  58393. #define LCDIFV2_CTRL_INV_DE_SHIFT (2U)
  58394. /*! INV_DE - Invert Data Enable polarity
  58395. * 0b0..Data enable is active high
  58396. * 0b1..Data enable is active low
  58397. */
  58398. #define LCDIFV2_CTRL_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_DE_SHIFT)) & LCDIFV2_CTRL_INV_DE_MASK)
  58399. #define LCDIFV2_CTRL_INV_PXCK_MASK (0x8U)
  58400. #define LCDIFV2_CTRL_INV_PXCK_SHIFT (3U)
  58401. /*! INV_PXCK - Polarity change of Pixel Clock
  58402. * 0b0..Display samples data on the falling edge
  58403. * 0b1..Display samples data on the rising edge
  58404. */
  58405. #define LCDIFV2_CTRL_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_INV_PXCK_MASK)
  58406. #define LCDIFV2_CTRL_NEG_MASK (0x10U)
  58407. #define LCDIFV2_CTRL_NEG_SHIFT (4U)
  58408. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58409. * 0b0..Output is to remain same
  58410. * 0b1..Output to be negated
  58411. */
  58412. #define LCDIFV2_CTRL_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_NEG_SHIFT)) & LCDIFV2_CTRL_NEG_MASK)
  58413. #define LCDIFV2_CTRL_SW_RESET_MASK (0x80000000U)
  58414. #define LCDIFV2_CTRL_SW_RESET_SHIFT (31U)
  58415. /*! SW_RESET - Software Reset
  58416. * 0b0..No action
  58417. * 0b1..All LCDIFv2 internal registers are forced into their reset state. User registers are not affected
  58418. */
  58419. #define LCDIFV2_CTRL_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SW_RESET_SHIFT)) & LCDIFV2_CTRL_SW_RESET_MASK)
  58420. /*! @} */
  58421. /*! @name CTRL_SET - LCDIFv2 display control Register */
  58422. /*! @{ */
  58423. #define LCDIFV2_CTRL_SET_INV_HS_MASK (0x1U)
  58424. #define LCDIFV2_CTRL_SET_INV_HS_SHIFT (0U)
  58425. /*! INV_HS - Invert Horizontal synchronization signal
  58426. */
  58427. #define LCDIFV2_CTRL_SET_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_HS_SHIFT)) & LCDIFV2_CTRL_SET_INV_HS_MASK)
  58428. #define LCDIFV2_CTRL_SET_INV_VS_MASK (0x2U)
  58429. #define LCDIFV2_CTRL_SET_INV_VS_SHIFT (1U)
  58430. /*! INV_VS - Invert Vertical synchronization signal
  58431. */
  58432. #define LCDIFV2_CTRL_SET_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_VS_SHIFT)) & LCDIFV2_CTRL_SET_INV_VS_MASK)
  58433. #define LCDIFV2_CTRL_SET_INV_DE_MASK (0x4U)
  58434. #define LCDIFV2_CTRL_SET_INV_DE_SHIFT (2U)
  58435. /*! INV_DE - Invert Data Enable polarity
  58436. */
  58437. #define LCDIFV2_CTRL_SET_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_DE_SHIFT)) & LCDIFV2_CTRL_SET_INV_DE_MASK)
  58438. #define LCDIFV2_CTRL_SET_INV_PXCK_MASK (0x8U)
  58439. #define LCDIFV2_CTRL_SET_INV_PXCK_SHIFT (3U)
  58440. /*! INV_PXCK - Polarity change of Pixel Clock
  58441. */
  58442. #define LCDIFV2_CTRL_SET_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_SET_INV_PXCK_MASK)
  58443. #define LCDIFV2_CTRL_SET_NEG_MASK (0x10U)
  58444. #define LCDIFV2_CTRL_SET_NEG_SHIFT (4U)
  58445. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58446. */
  58447. #define LCDIFV2_CTRL_SET_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_NEG_SHIFT)) & LCDIFV2_CTRL_SET_NEG_MASK)
  58448. #define LCDIFV2_CTRL_SET_SW_RESET_MASK (0x80000000U)
  58449. #define LCDIFV2_CTRL_SET_SW_RESET_SHIFT (31U)
  58450. /*! SW_RESET - Software Reset
  58451. */
  58452. #define LCDIFV2_CTRL_SET_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_SET_SW_RESET_SHIFT)) & LCDIFV2_CTRL_SET_SW_RESET_MASK)
  58453. /*! @} */
  58454. /*! @name CTRL_CLR - LCDIFv2 display control Register */
  58455. /*! @{ */
  58456. #define LCDIFV2_CTRL_CLR_INV_HS_MASK (0x1U)
  58457. #define LCDIFV2_CTRL_CLR_INV_HS_SHIFT (0U)
  58458. /*! INV_HS - Invert Horizontal synchronization signal
  58459. */
  58460. #define LCDIFV2_CTRL_CLR_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_HS_SHIFT)) & LCDIFV2_CTRL_CLR_INV_HS_MASK)
  58461. #define LCDIFV2_CTRL_CLR_INV_VS_MASK (0x2U)
  58462. #define LCDIFV2_CTRL_CLR_INV_VS_SHIFT (1U)
  58463. /*! INV_VS - Invert Vertical synchronization signal
  58464. */
  58465. #define LCDIFV2_CTRL_CLR_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_VS_SHIFT)) & LCDIFV2_CTRL_CLR_INV_VS_MASK)
  58466. #define LCDIFV2_CTRL_CLR_INV_DE_MASK (0x4U)
  58467. #define LCDIFV2_CTRL_CLR_INV_DE_SHIFT (2U)
  58468. /*! INV_DE - Invert Data Enable polarity
  58469. */
  58470. #define LCDIFV2_CTRL_CLR_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_DE_SHIFT)) & LCDIFV2_CTRL_CLR_INV_DE_MASK)
  58471. #define LCDIFV2_CTRL_CLR_INV_PXCK_MASK (0x8U)
  58472. #define LCDIFV2_CTRL_CLR_INV_PXCK_SHIFT (3U)
  58473. /*! INV_PXCK - Polarity change of Pixel Clock
  58474. */
  58475. #define LCDIFV2_CTRL_CLR_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_CLR_INV_PXCK_MASK)
  58476. #define LCDIFV2_CTRL_CLR_NEG_MASK (0x10U)
  58477. #define LCDIFV2_CTRL_CLR_NEG_SHIFT (4U)
  58478. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58479. */
  58480. #define LCDIFV2_CTRL_CLR_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_NEG_SHIFT)) & LCDIFV2_CTRL_CLR_NEG_MASK)
  58481. #define LCDIFV2_CTRL_CLR_SW_RESET_MASK (0x80000000U)
  58482. #define LCDIFV2_CTRL_CLR_SW_RESET_SHIFT (31U)
  58483. /*! SW_RESET - Software Reset
  58484. */
  58485. #define LCDIFV2_CTRL_CLR_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_CLR_SW_RESET_SHIFT)) & LCDIFV2_CTRL_CLR_SW_RESET_MASK)
  58486. /*! @} */
  58487. /*! @name CTRL_TOG - LCDIFv2 display control Register */
  58488. /*! @{ */
  58489. #define LCDIFV2_CTRL_TOG_INV_HS_MASK (0x1U)
  58490. #define LCDIFV2_CTRL_TOG_INV_HS_SHIFT (0U)
  58491. /*! INV_HS - Invert Horizontal synchronization signal
  58492. */
  58493. #define LCDIFV2_CTRL_TOG_INV_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_HS_SHIFT)) & LCDIFV2_CTRL_TOG_INV_HS_MASK)
  58494. #define LCDIFV2_CTRL_TOG_INV_VS_MASK (0x2U)
  58495. #define LCDIFV2_CTRL_TOG_INV_VS_SHIFT (1U)
  58496. /*! INV_VS - Invert Vertical synchronization signal
  58497. */
  58498. #define LCDIFV2_CTRL_TOG_INV_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_VS_SHIFT)) & LCDIFV2_CTRL_TOG_INV_VS_MASK)
  58499. #define LCDIFV2_CTRL_TOG_INV_DE_MASK (0x4U)
  58500. #define LCDIFV2_CTRL_TOG_INV_DE_SHIFT (2U)
  58501. /*! INV_DE - Invert Data Enable polarity
  58502. */
  58503. #define LCDIFV2_CTRL_TOG_INV_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_DE_SHIFT)) & LCDIFV2_CTRL_TOG_INV_DE_MASK)
  58504. #define LCDIFV2_CTRL_TOG_INV_PXCK_MASK (0x8U)
  58505. #define LCDIFV2_CTRL_TOG_INV_PXCK_SHIFT (3U)
  58506. /*! INV_PXCK - Polarity change of Pixel Clock
  58507. */
  58508. #define LCDIFV2_CTRL_TOG_INV_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_INV_PXCK_SHIFT)) & LCDIFV2_CTRL_TOG_INV_PXCK_MASK)
  58509. #define LCDIFV2_CTRL_TOG_NEG_MASK (0x10U)
  58510. #define LCDIFV2_CTRL_TOG_NEG_SHIFT (4U)
  58511. /*! NEG - Indicates if value at the output (pixel data output) needs to be negated
  58512. */
  58513. #define LCDIFV2_CTRL_TOG_NEG(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_NEG_SHIFT)) & LCDIFV2_CTRL_TOG_NEG_MASK)
  58514. #define LCDIFV2_CTRL_TOG_SW_RESET_MASK (0x80000000U)
  58515. #define LCDIFV2_CTRL_TOG_SW_RESET_SHIFT (31U)
  58516. /*! SW_RESET - Software Reset
  58517. */
  58518. #define LCDIFV2_CTRL_TOG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRL_TOG_SW_RESET_SHIFT)) & LCDIFV2_CTRL_TOG_SW_RESET_MASK)
  58519. /*! @} */
  58520. /*! @name DISP_PARA - Display Parameter Register */
  58521. /*! @{ */
  58522. #define LCDIFV2_DISP_PARA_BGND_B_MASK (0xFFU)
  58523. #define LCDIFV2_DISP_PARA_BGND_B_SHIFT (0U)
  58524. /*! BGND_B - Blue component of the default color displayed in the sectors where no layer is active
  58525. */
  58526. #define LCDIFV2_DISP_PARA_BGND_B(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_B_SHIFT)) & LCDIFV2_DISP_PARA_BGND_B_MASK)
  58527. #define LCDIFV2_DISP_PARA_BGND_G_MASK (0xFF00U)
  58528. #define LCDIFV2_DISP_PARA_BGND_G_SHIFT (8U)
  58529. /*! BGND_G - Green component of the default color displayed in the sectors where no layer is active
  58530. */
  58531. #define LCDIFV2_DISP_PARA_BGND_G(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_G_SHIFT)) & LCDIFV2_DISP_PARA_BGND_G_MASK)
  58532. #define LCDIFV2_DISP_PARA_BGND_R_MASK (0xFF0000U)
  58533. #define LCDIFV2_DISP_PARA_BGND_R_SHIFT (16U)
  58534. /*! BGND_R - Red component of the default color displayed in the sectors where no layer is active
  58535. */
  58536. #define LCDIFV2_DISP_PARA_BGND_R(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_BGND_R_SHIFT)) & LCDIFV2_DISP_PARA_BGND_R_MASK)
  58537. #define LCDIFV2_DISP_PARA_DISP_MODE_MASK (0x3000000U)
  58538. #define LCDIFV2_DISP_PARA_DISP_MODE_SHIFT (24U)
  58539. /*! DISP_MODE - LCDIFv2 operating mode
  58540. * 0b00..Normal mode. Panel content controlled by layer configuration
  58541. * 0b01..Test Mode1(BGND Color Display)
  58542. * 0b10..Test Mode2(Column Color Bar)
  58543. * 0b11..Test Mode3(Row Color Bar)
  58544. */
  58545. #define LCDIFV2_DISP_PARA_DISP_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_DISP_MODE_SHIFT)) & LCDIFV2_DISP_PARA_DISP_MODE_MASK)
  58546. #define LCDIFV2_DISP_PARA_LINE_PATTERN_MASK (0x1C000000U)
  58547. #define LCDIFV2_DISP_PARA_LINE_PATTERN_SHIFT (26U)
  58548. /*! LINE_PATTERN - LCDIFv2 line output order
  58549. * 0b000..RGB
  58550. * 0b001..RBG
  58551. * 0b010..GBR
  58552. * 0b011..GRB
  58553. * 0b100..BRG
  58554. * 0b101..BGR
  58555. */
  58556. #define LCDIFV2_DISP_PARA_LINE_PATTERN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_LINE_PATTERN_SHIFT)) & LCDIFV2_DISP_PARA_LINE_PATTERN_MASK)
  58557. #define LCDIFV2_DISP_PARA_DISP_ON_MASK (0x80000000U)
  58558. #define LCDIFV2_DISP_PARA_DISP_ON_SHIFT (31U)
  58559. /*! DISP_ON - Display panel On/Off mode
  58560. * 0b0..Display Off
  58561. * 0b1..Display On
  58562. */
  58563. #define LCDIFV2_DISP_PARA_DISP_ON(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_PARA_DISP_ON_SHIFT)) & LCDIFV2_DISP_PARA_DISP_ON_MASK)
  58564. /*! @} */
  58565. /*! @name DISP_SIZE - Display Size Register */
  58566. /*! @{ */
  58567. #define LCDIFV2_DISP_SIZE_DELTA_X_MASK (0xFFFU)
  58568. #define LCDIFV2_DISP_SIZE_DELTA_X_SHIFT (0U)
  58569. /*! DELTA_X - Sets the display size horizontal resolution in pixels
  58570. */
  58571. #define LCDIFV2_DISP_SIZE_DELTA_X(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_SIZE_DELTA_X_SHIFT)) & LCDIFV2_DISP_SIZE_DELTA_X_MASK)
  58572. #define LCDIFV2_DISP_SIZE_DELTA_Y_MASK (0xFFF0000U)
  58573. #define LCDIFV2_DISP_SIZE_DELTA_Y_SHIFT (16U)
  58574. /*! DELTA_Y - Sets the display size vertical resolution in pixels
  58575. */
  58576. #define LCDIFV2_DISP_SIZE_DELTA_Y(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_DISP_SIZE_DELTA_Y_SHIFT)) & LCDIFV2_DISP_SIZE_DELTA_Y_MASK)
  58577. /*! @} */
  58578. /*! @name HSYN_PARA - Horizontal Sync Parameter Register */
  58579. /*! @{ */
  58580. #define LCDIFV2_HSYN_PARA_FP_H_MASK (0x1FFU)
  58581. #define LCDIFV2_HSYN_PARA_FP_H_SHIFT (0U)
  58582. /*! FP_H - HSYNC front-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58583. */
  58584. #define LCDIFV2_HSYN_PARA_FP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_FP_H_SHIFT)) & LCDIFV2_HSYN_PARA_FP_H_MASK)
  58585. #define LCDIFV2_HSYN_PARA_PW_H_MASK (0xFF800U)
  58586. #define LCDIFV2_HSYN_PARA_PW_H_SHIFT (11U)
  58587. /*! PW_H - HSYNC active pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58588. */
  58589. #define LCDIFV2_HSYN_PARA_PW_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_PW_H_SHIFT)) & LCDIFV2_HSYN_PARA_PW_H_MASK)
  58590. #define LCDIFV2_HSYN_PARA_BP_H_MASK (0x7FC00000U)
  58591. #define LCDIFV2_HSYN_PARA_BP_H_SHIFT (22U)
  58592. /*! BP_H - HSYNC back-porch pulse width (in pixel clock cycles). Pulse width has a minimum value of 1
  58593. */
  58594. #define LCDIFV2_HSYN_PARA_BP_H(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_HSYN_PARA_BP_H_SHIFT)) & LCDIFV2_HSYN_PARA_BP_H_MASK)
  58595. /*! @} */
  58596. /*! @name VSYN_PARA - Vertical Sync Parameter Register */
  58597. /*! @{ */
  58598. #define LCDIFV2_VSYN_PARA_FP_V_MASK (0x1FFU)
  58599. #define LCDIFV2_VSYN_PARA_FP_V_SHIFT (0U)
  58600. /*! FP_V - VSYNC front-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58601. */
  58602. #define LCDIFV2_VSYN_PARA_FP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_FP_V_SHIFT)) & LCDIFV2_VSYN_PARA_FP_V_MASK)
  58603. #define LCDIFV2_VSYN_PARA_PW_V_MASK (0xFF800U)
  58604. #define LCDIFV2_VSYN_PARA_PW_V_SHIFT (11U)
  58605. /*! PW_V - VSYNC active pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58606. */
  58607. #define LCDIFV2_VSYN_PARA_PW_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_PW_V_SHIFT)) & LCDIFV2_VSYN_PARA_PW_V_MASK)
  58608. #define LCDIFV2_VSYN_PARA_BP_V_MASK (0x7FC00000U)
  58609. #define LCDIFV2_VSYN_PARA_BP_V_SHIFT (22U)
  58610. /*! BP_V - VSYNC back-porch pulse width (in horizontal line cycles). Pulse width has a minimum value of 1
  58611. */
  58612. #define LCDIFV2_VSYN_PARA_BP_V(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_VSYN_PARA_BP_V_SHIFT)) & LCDIFV2_VSYN_PARA_BP_V_MASK)
  58613. /*! @} */
  58614. /*! @name INT_STATUS - Interrupt Status Register for domain 0..Interrupt Status Register for domain 1 */
  58615. /*! @{ */
  58616. #define LCDIFV2_INT_STATUS_VSYNC_MASK (0x1U)
  58617. #define LCDIFV2_INT_STATUS_VSYNC_SHIFT (0U)
  58618. /*! VSYNC - Interrupt flag to indicate that the vertical synchronization phase(The beginning of a frame)
  58619. * 0b0..VSYNC has not started
  58620. * 0b1..VSYNC has started
  58621. */
  58622. #define LCDIFV2_INT_STATUS_VSYNC(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_VSYNC_SHIFT)) & LCDIFV2_INT_STATUS_VSYNC_MASK)
  58623. #define LCDIFV2_INT_STATUS_UNDERRUN_MASK (0x2U)
  58624. #define LCDIFV2_INT_STATUS_UNDERRUN_SHIFT (1U)
  58625. /*! UNDERRUN - Interrupt flag to indicate the output buffer underrun condition
  58626. * 0b0..Output buffer not underrun
  58627. * 0b1..Output buffer underrun
  58628. */
  58629. #define LCDIFV2_INT_STATUS_UNDERRUN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_UNDERRUN_SHIFT)) & LCDIFV2_INT_STATUS_UNDERRUN_MASK)
  58630. #define LCDIFV2_INT_STATUS_VS_BLANK_MASK (0x4U)
  58631. #define LCDIFV2_INT_STATUS_VS_BLANK_SHIFT (2U)
  58632. /*! VS_BLANK - Interrupt flag to indicate vertical blanking period
  58633. * 0b0..Vertical blanking period has not started
  58634. * 0b1..Vertical blanking period has started
  58635. */
  58636. #define LCDIFV2_INT_STATUS_VS_BLANK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_VS_BLANK_SHIFT)) & LCDIFV2_INT_STATUS_VS_BLANK_MASK)
  58637. #define LCDIFV2_INT_STATUS_DMA_ERR_MASK (0xFF00U)
  58638. #define LCDIFV2_INT_STATUS_DMA_ERR_SHIFT (8U)
  58639. /*! DMA_ERR - Interrupt flag to indicate that which PLANE has Read Error on the AXI interface
  58640. */
  58641. #define LCDIFV2_INT_STATUS_DMA_ERR(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_DMA_ERR_SHIFT)) & LCDIFV2_INT_STATUS_DMA_ERR_MASK)
  58642. #define LCDIFV2_INT_STATUS_DMA_DONE_MASK (0xFF0000U)
  58643. #define LCDIFV2_INT_STATUS_DMA_DONE_SHIFT (16U)
  58644. /*! DMA_DONE - Interrupt flag to indicate that which PLANE has fetched the last pixel from memory
  58645. */
  58646. #define LCDIFV2_INT_STATUS_DMA_DONE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_DMA_DONE_SHIFT)) & LCDIFV2_INT_STATUS_DMA_DONE_MASK)
  58647. #define LCDIFV2_INT_STATUS_FIFO_EMPTY_MASK (0xFF000000U)
  58648. #define LCDIFV2_INT_STATUS_FIFO_EMPTY_SHIFT (24U)
  58649. /*! FIFO_EMPTY - Interrupt flag to indicate that which FIFO in the pixel blending underflowed
  58650. */
  58651. #define LCDIFV2_INT_STATUS_FIFO_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_STATUS_FIFO_EMPTY_SHIFT)) & LCDIFV2_INT_STATUS_FIFO_EMPTY_MASK)
  58652. /*! @} */
  58653. /* The count of LCDIFV2_INT_STATUS */
  58654. #define LCDIFV2_INT_STATUS_COUNT (2U)
  58655. /*! @name INT_ENABLE - Interrupt Enable Register for domain 0..Interrupt Enable Register for domain 1 */
  58656. /*! @{ */
  58657. #define LCDIFV2_INT_ENABLE_VSYNC_EN_MASK (0x1U)
  58658. #define LCDIFV2_INT_ENABLE_VSYNC_EN_SHIFT (0U)
  58659. /*! VSYNC_EN - Enable Interrupt flag to indicate that the vertical synchronization phase(The beginning of a frame)
  58660. * 0b0..VSYNC interrupt disable
  58661. * 0b1..VSYNC interrupt enable
  58662. */
  58663. #define LCDIFV2_INT_ENABLE_VSYNC_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_VSYNC_EN_SHIFT)) & LCDIFV2_INT_ENABLE_VSYNC_EN_MASK)
  58664. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN_MASK (0x2U)
  58665. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN_SHIFT (1U)
  58666. /*! UNDERRUN_EN - Enable Interrupt flag to indicate the output buffer underrun condition
  58667. * 0b0..Output buffer underrun disable
  58668. * 0b1..Output buffer underrun enable
  58669. */
  58670. #define LCDIFV2_INT_ENABLE_UNDERRUN_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_UNDERRUN_EN_SHIFT)) & LCDIFV2_INT_ENABLE_UNDERRUN_EN_MASK)
  58671. #define LCDIFV2_INT_ENABLE_VS_BLANK_EN_MASK (0x4U)
  58672. #define LCDIFV2_INT_ENABLE_VS_BLANK_EN_SHIFT (2U)
  58673. /*! VS_BLANK_EN - Enable Interrupt flag to indicate vertical blanking period
  58674. * 0b0..Vertical blanking start interrupt disable
  58675. * 0b1..Vertical blanking start interrupt enable
  58676. */
  58677. #define LCDIFV2_INT_ENABLE_VS_BLANK_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_VS_BLANK_EN_SHIFT)) & LCDIFV2_INT_ENABLE_VS_BLANK_EN_MASK)
  58678. #define LCDIFV2_INT_ENABLE_DMA_ERR_EN_MASK (0xFF00U)
  58679. #define LCDIFV2_INT_ENABLE_DMA_ERR_EN_SHIFT (8U)
  58680. /*! DMA_ERR_EN - Enable Interrupt flag to indicate that which PLANE has Read Error on the AXI interface
  58681. */
  58682. #define LCDIFV2_INT_ENABLE_DMA_ERR_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_DMA_ERR_EN_SHIFT)) & LCDIFV2_INT_ENABLE_DMA_ERR_EN_MASK)
  58683. #define LCDIFV2_INT_ENABLE_DMA_DONE_EN_MASK (0xFF0000U)
  58684. #define LCDIFV2_INT_ENABLE_DMA_DONE_EN_SHIFT (16U)
  58685. /*! DMA_DONE_EN - Enable Interrupt flag to indicate that which PLANE has fetched the last pixel from memory
  58686. */
  58687. #define LCDIFV2_INT_ENABLE_DMA_DONE_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_DMA_DONE_EN_SHIFT)) & LCDIFV2_INT_ENABLE_DMA_DONE_EN_MASK)
  58688. #define LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_MASK (0xFF000000U)
  58689. #define LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_SHIFT (24U)
  58690. /*! FIFO_EMPTY_EN - Enable Interrupt flag to indicate that which FIFO in the pixel blending underflowed
  58691. */
  58692. #define LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_SHIFT)) & LCDIFV2_INT_ENABLE_FIFO_EMPTY_EN_MASK)
  58693. /*! @} */
  58694. /* The count of LCDIFV2_INT_ENABLE */
  58695. #define LCDIFV2_INT_ENABLE_COUNT (2U)
  58696. /*! @name PDI_PARA - Parallel Data Interface Parameter Register */
  58697. /*! @{ */
  58698. #define LCDIFV2_PDI_PARA_INV_PDI_HS_MASK (0x1U)
  58699. #define LCDIFV2_PDI_PARA_INV_PDI_HS_SHIFT (0U)
  58700. /*! INV_PDI_HS - Polarity of PDI input HSYNC
  58701. * 0b0..HSYNC is active HIGH
  58702. * 0b1..HSYNC is active LOW
  58703. */
  58704. #define LCDIFV2_PDI_PARA_INV_PDI_HS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_INV_PDI_HS_SHIFT)) & LCDIFV2_PDI_PARA_INV_PDI_HS_MASK)
  58705. #define LCDIFV2_PDI_PARA_INV_PDI_VS_MASK (0x2U)
  58706. #define LCDIFV2_PDI_PARA_INV_PDI_VS_SHIFT (1U)
  58707. /*! INV_PDI_VS - Polarity of PDI input VSYNC
  58708. * 0b0..VSYNC is active HIGH
  58709. * 0b1..VSYNC is active LOW
  58710. */
  58711. #define LCDIFV2_PDI_PARA_INV_PDI_VS(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_INV_PDI_VS_SHIFT)) & LCDIFV2_PDI_PARA_INV_PDI_VS_MASK)
  58712. #define LCDIFV2_PDI_PARA_INV_PDI_DE_MASK (0x4U)
  58713. #define LCDIFV2_PDI_PARA_INV_PDI_DE_SHIFT (2U)
  58714. /*! INV_PDI_DE - Polarity of PDI input Data Enable
  58715. * 0b0..Data enable is active HIGH
  58716. * 0b1..Data enable is active LOW
  58717. */
  58718. #define LCDIFV2_PDI_PARA_INV_PDI_DE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_INV_PDI_DE_SHIFT)) & LCDIFV2_PDI_PARA_INV_PDI_DE_MASK)
  58719. #define LCDIFV2_PDI_PARA_INV_PDI_PXCK_MASK (0x8U)
  58720. #define LCDIFV2_PDI_PARA_INV_PDI_PXCK_SHIFT (3U)
  58721. /*! INV_PDI_PXCK - Polarity of PDI input Pixel Clock
  58722. * 0b0..Samples data on the falling edge
  58723. * 0b1..Samples data on the rising edge
  58724. */
  58725. #define LCDIFV2_PDI_PARA_INV_PDI_PXCK(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_INV_PDI_PXCK_SHIFT)) & LCDIFV2_PDI_PARA_INV_PDI_PXCK_MASK)
  58726. #define LCDIFV2_PDI_PARA_MODE_MASK (0xF0U)
  58727. #define LCDIFV2_PDI_PARA_MODE_SHIFT (4U)
  58728. /*! MODE - The PDI mode for input data format
  58729. * 0b0000..32 bpp (ARGB8888)
  58730. * 0b0001..24 bpp (RGB888)
  58731. * 0b0010..24 bpp (RGB666)
  58732. * 0b0011..16 bpp (RGB565)
  58733. * 0b0100..16 bpp (RGB444)
  58734. * 0b0101..16 bpp (RGB555)
  58735. * 0b0110..16 bpp (YCbCr422)
  58736. */
  58737. #define LCDIFV2_PDI_PARA_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_MODE_SHIFT)) & LCDIFV2_PDI_PARA_MODE_MASK)
  58738. #define LCDIFV2_PDI_PARA_PDI_SEL_MASK (0x40000000U)
  58739. #define LCDIFV2_PDI_PARA_PDI_SEL_SHIFT (30U)
  58740. /*! PDI_SEL - PDI selected on LCDIFv2 plane number
  58741. * 0b0..PDI selected on LCDIFv2 plane 0
  58742. * 0b1..PDI selected on LCDIFv2 plane 1
  58743. */
  58744. #define LCDIFV2_PDI_PARA_PDI_SEL(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_PDI_SEL_SHIFT)) & LCDIFV2_PDI_PARA_PDI_SEL_MASK)
  58745. #define LCDIFV2_PDI_PARA_PDI_EN_MASK (0x80000000U)
  58746. #define LCDIFV2_PDI_PARA_PDI_EN_SHIFT (31U)
  58747. /*! PDI_EN - Enable PDI input data to LCDIFv2 display
  58748. * 0b0..Disable PDI input data
  58749. * 0b1..Enable PDI input data
  58750. */
  58751. #define LCDIFV2_PDI_PARA_PDI_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_PDI_PARA_PDI_EN_SHIFT)) & LCDIFV2_PDI_PARA_PDI_EN_MASK)
  58752. /*! @} */
  58753. /*! @name CTRLDESCL1 - Control Descriptor Layer 1 Register */
  58754. /*! @{ */
  58755. #define LCDIFV2_CTRLDESCL1_WIDTH_MASK (0xFFFU)
  58756. #define LCDIFV2_CTRLDESCL1_WIDTH_SHIFT (0U)
  58757. /*! WIDTH - Width of the layer in pixels
  58758. */
  58759. #define LCDIFV2_CTRLDESCL1_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL1_WIDTH_SHIFT)) & LCDIFV2_CTRLDESCL1_WIDTH_MASK)
  58760. #define LCDIFV2_CTRLDESCL1_HEIGHT_MASK (0xFFF0000U)
  58761. #define LCDIFV2_CTRLDESCL1_HEIGHT_SHIFT (16U)
  58762. /*! HEIGHT - Height of the layer in pixels
  58763. */
  58764. #define LCDIFV2_CTRLDESCL1_HEIGHT(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL1_HEIGHT_SHIFT)) & LCDIFV2_CTRLDESCL1_HEIGHT_MASK)
  58765. /*! @} */
  58766. /* The count of LCDIFV2_CTRLDESCL1 */
  58767. #define LCDIFV2_CTRLDESCL1_COUNT (8U)
  58768. /*! @name CTRLDESCL2 - Control Descriptor Layer 2 Register */
  58769. /*! @{ */
  58770. #define LCDIFV2_CTRLDESCL2_POSX_MASK (0xFFFU)
  58771. #define LCDIFV2_CTRLDESCL2_POSX_SHIFT (0U)
  58772. /*! POSX - The horizontal position of left-hand column of the layer, where 0 is the left-hand column
  58773. * of the panel, only positive values are to the right the left-hand column of the panel
  58774. */
  58775. #define LCDIFV2_CTRLDESCL2_POSX(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL2_POSX_SHIFT)) & LCDIFV2_CTRLDESCL2_POSX_MASK)
  58776. #define LCDIFV2_CTRLDESCL2_POSY_MASK (0xFFF0000U)
  58777. #define LCDIFV2_CTRLDESCL2_POSY_SHIFT (16U)
  58778. /*! POSY - The vertical position of top row of the layer, where 0 is the top row of the panel, only
  58779. * positive values are below the top row of the panel
  58780. */
  58781. #define LCDIFV2_CTRLDESCL2_POSY(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL2_POSY_SHIFT)) & LCDIFV2_CTRLDESCL2_POSY_MASK)
  58782. /*! @} */
  58783. /* The count of LCDIFV2_CTRLDESCL2 */
  58784. #define LCDIFV2_CTRLDESCL2_COUNT (8U)
  58785. /*! @name CTRLDESCL3 - Control Descriptor Layer 3 Register */
  58786. /*! @{ */
  58787. #define LCDIFV2_CTRLDESCL3_PITCH_MASK (0xFFFFU)
  58788. #define LCDIFV2_CTRLDESCL3_PITCH_SHIFT (0U)
  58789. /*! PITCH - Number of bytes between 2 vertically adjacent pixels in system memory. Byte granularity
  58790. * is supported, but SW should align to 64B boundry
  58791. */
  58792. #define LCDIFV2_CTRLDESCL3_PITCH(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL3_PITCH_SHIFT)) & LCDIFV2_CTRLDESCL3_PITCH_MASK)
  58793. /*! @} */
  58794. /* The count of LCDIFV2_CTRLDESCL3 */
  58795. #define LCDIFV2_CTRLDESCL3_COUNT (8U)
  58796. /*! @name CTRLDESCL4 - Control Descriptor Layer 4 Register */
  58797. /*! @{ */
  58798. #define LCDIFV2_CTRLDESCL4_ADDR_MASK (0xFFFFFFFFU)
  58799. #define LCDIFV2_CTRLDESCL4_ADDR_SHIFT (0U)
  58800. /*! ADDR - Address of layer data in the memory. The address programmed should be 64-bit aligned
  58801. */
  58802. #define LCDIFV2_CTRLDESCL4_ADDR(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL4_ADDR_SHIFT)) & LCDIFV2_CTRLDESCL4_ADDR_MASK)
  58803. /*! @} */
  58804. /* The count of LCDIFV2_CTRLDESCL4 */
  58805. #define LCDIFV2_CTRLDESCL4_COUNT (8U)
  58806. /*! @name CTRLDESCL5 - Control Descriptor Layer 5 Register */
  58807. /*! @{ */
  58808. #define LCDIFV2_CTRLDESCL5_AB_MODE_MASK (0x3U)
  58809. #define LCDIFV2_CTRLDESCL5_AB_MODE_SHIFT (0U)
  58810. /*! AB_MODE - Alpha Blending Mode
  58811. * 0b00..No alpha Blending (The SAFETY_EN bit need set to 1)
  58812. * 0b01..Blend with global ALPHA
  58813. * 0b10..Blend with embedded ALPHA
  58814. * 0b11..Blend with PoterDuff enable
  58815. */
  58816. #define LCDIFV2_CTRLDESCL5_AB_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_AB_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_AB_MODE_MASK)
  58817. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_MASK (0x30U)
  58818. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_SHIFT (4U)
  58819. /*! PD_FACTOR_MODE - PoterDuff factor mode
  58820. * 0b00..Using 1
  58821. * 0b01..Using 0
  58822. * 0b10..Using straight alpha
  58823. * 0b11..Using inverse alpha
  58824. */
  58825. #define LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_FACTOR_MODE_MASK)
  58826. #define LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_MASK (0xC0U)
  58827. #define LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_SHIFT (6U)
  58828. /*! PD_GLOBAL_ALPHA_MODE - PoterDuff global alpha mode
  58829. * 0b00..Using global alpha
  58830. * 0b01..Using local alpha
  58831. * 0b10..Using scaled alpha
  58832. * 0b11..Using scaled alpha
  58833. */
  58834. #define LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_GLOBAL_ALPHA_MODE_MASK)
  58835. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_MASK (0x100U)
  58836. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_SHIFT (8U)
  58837. /*! PD_ALPHA_MODE - PoterDuff alpha mode
  58838. * 0b0..Straight mode for Porter Duff alpha
  58839. * 0b1..Inversed mode for Porter Duff alpha
  58840. */
  58841. #define LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_ALPHA_MODE_MASK)
  58842. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_MASK (0x200U)
  58843. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_SHIFT (9U)
  58844. /*! PD_COLOR_MODE - PoterDuff alpha mode
  58845. * 0b0..Straight mode for Porter Duff color
  58846. * 0b1..Inversed mode for Porter Duff color
  58847. */
  58848. #define LCDIFV2_CTRLDESCL5_PD_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_SHIFT)) & LCDIFV2_CTRLDESCL5_PD_COLOR_MODE_MASK)
  58849. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT_MASK (0xC000U)
  58850. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT_SHIFT (14U)
  58851. /*! YUV_FORMAT - The YUV422 input format selection
  58852. * 0b00..The YVYU422 8bit sequence is U1,Y1,V1,Y2
  58853. * 0b01..The YVYU422 8bit sequence is V1,Y1,U1,Y2
  58854. * 0b10..The YVYU422 8bit sequence is Y1,U1,Y2,V1
  58855. * 0b11..The YVYU422 8bit sequence is Y1,V1,Y2,U1
  58856. */
  58857. #define LCDIFV2_CTRLDESCL5_YUV_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_YUV_FORMAT_SHIFT)) & LCDIFV2_CTRLDESCL5_YUV_FORMAT_MASK)
  58858. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_MASK (0xFF0000U)
  58859. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_SHIFT (16U)
  58860. /*! GLOBAL_ALPHA - Global Alpha
  58861. */
  58862. #define LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_SHIFT)) & LCDIFV2_CTRLDESCL5_GLOBAL_ALPHA_MASK)
  58863. #define LCDIFV2_CTRLDESCL5_BPP_MASK (0xF000000U)
  58864. #define LCDIFV2_CTRLDESCL5_BPP_SHIFT (24U)
  58865. /*! BPP - Layer encoding format (bit per pixel)
  58866. * 0b0000..1 bpp
  58867. * 0b0001..2 bpp
  58868. * 0b0010..4 bpp
  58869. * 0b0011..8 bpp
  58870. * 0b0100..16 bpp (RGB565)
  58871. * 0b0101..16 bpp (ARGB1555)
  58872. * 0b0110..16 bpp (ARGB4444)
  58873. * 0b0111..YCbCr422 (Only layer 0/1 can support this format)
  58874. * 0b1000..24 bpp (RGB888)
  58875. * 0b1001..32 bpp (ARGB8888)
  58876. * 0b1010..32 bpp (ABGR8888)
  58877. */
  58878. #define LCDIFV2_CTRLDESCL5_BPP(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_BPP_SHIFT)) & LCDIFV2_CTRLDESCL5_BPP_MASK)
  58879. #define LCDIFV2_CTRLDESCL5_SAFETY_EN_MASK (0x10000000U)
  58880. #define LCDIFV2_CTRLDESCL5_SAFETY_EN_SHIFT (28U)
  58881. /*! SAFETY_EN - Safety Mode Enable Bit
  58882. * 0b0..Safety Mode is disabled
  58883. * 0b1..Safety Mode is enabled for this layer
  58884. */
  58885. #define LCDIFV2_CTRLDESCL5_SAFETY_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_SAFETY_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_SAFETY_EN_MASK)
  58886. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_MASK (0x40000000U)
  58887. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_SHIFT (30U)
  58888. /*! SHADOW_LOAD_EN - Shadow Load Enable
  58889. */
  58890. #define LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_SHADOW_LOAD_EN_MASK)
  58891. #define LCDIFV2_CTRLDESCL5_EN_MASK (0x80000000U)
  58892. #define LCDIFV2_CTRLDESCL5_EN_SHIFT (31U)
  58893. /*! EN - Enable the layer for DMA
  58894. * 0b0..OFF
  58895. * 0b1..ON
  58896. */
  58897. #define LCDIFV2_CTRLDESCL5_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL5_EN_SHIFT)) & LCDIFV2_CTRLDESCL5_EN_MASK)
  58898. /*! @} */
  58899. /* The count of LCDIFV2_CTRLDESCL5 */
  58900. #define LCDIFV2_CTRLDESCL5_COUNT (8U)
  58901. /*! @name CTRLDESCL6 - Control Descriptor Layer 6 Register */
  58902. /*! @{ */
  58903. #define LCDIFV2_CTRLDESCL6_BCLR_B_MASK (0xFFU)
  58904. #define LCDIFV2_CTRLDESCL6_BCLR_B_SHIFT (0U)
  58905. /*! BCLR_B - Background B component value
  58906. */
  58907. #define LCDIFV2_CTRLDESCL6_BCLR_B(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_B_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_B_MASK)
  58908. #define LCDIFV2_CTRLDESCL6_BCLR_G_MASK (0xFF00U)
  58909. #define LCDIFV2_CTRLDESCL6_BCLR_G_SHIFT (8U)
  58910. /*! BCLR_G - Background G component value
  58911. */
  58912. #define LCDIFV2_CTRLDESCL6_BCLR_G(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_G_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_G_MASK)
  58913. #define LCDIFV2_CTRLDESCL6_BCLR_R_MASK (0xFF0000U)
  58914. #define LCDIFV2_CTRLDESCL6_BCLR_R_SHIFT (16U)
  58915. /*! BCLR_R - Background R component value
  58916. */
  58917. #define LCDIFV2_CTRLDESCL6_BCLR_R(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CTRLDESCL6_BCLR_R_SHIFT)) & LCDIFV2_CTRLDESCL6_BCLR_R_MASK)
  58918. /*! @} */
  58919. /* The count of LCDIFV2_CTRLDESCL6 */
  58920. #define LCDIFV2_CTRLDESCL6_COUNT (8U)
  58921. /*! @name CSC_COEF0 - Color Space Conversion Coefficient Register 0 */
  58922. /*! @{ */
  58923. #define LCDIFV2_CSC_COEF0_Y_OFFSET_MASK (0x1FFU)
  58924. #define LCDIFV2_CSC_COEF0_Y_OFFSET_SHIFT (0U)
  58925. /*! Y_OFFSET - Two's compliment amplitude offset implicit in the Y data. For YUV, this is typically
  58926. * 0 and for YCbCr, this is typically -16 (0x1F0)
  58927. */
  58928. #define LCDIFV2_CSC_COEF0_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_Y_OFFSET_SHIFT)) & LCDIFV2_CSC_COEF0_Y_OFFSET_MASK)
  58929. #define LCDIFV2_CSC_COEF0_UV_OFFSET_MASK (0x3FE00U)
  58930. #define LCDIFV2_CSC_COEF0_UV_OFFSET_SHIFT (9U)
  58931. /*! UV_OFFSET - Two's compliment phase offset implicit for CbCr data. Generally used for YCbCr to
  58932. * RGB conversion. YCbCr=0x180, YUV=0x000 (typically -128 or 0x180 to indicate normalized -0.5 to
  58933. * 0.5 range)
  58934. */
  58935. #define LCDIFV2_CSC_COEF0_UV_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_UV_OFFSET_SHIFT)) & LCDIFV2_CSC_COEF0_UV_OFFSET_MASK)
  58936. #define LCDIFV2_CSC_COEF0_C0_MASK (0x1FFC0000U)
  58937. #define LCDIFV2_CSC_COEF0_C0_SHIFT (18U)
  58938. /*! C0 - Two's compliment Y multiplier coefficient. YUV=0x100 (1.000) YCbCr=0x12A (1.164)
  58939. */
  58940. #define LCDIFV2_CSC_COEF0_C0(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_C0_SHIFT)) & LCDIFV2_CSC_COEF0_C0_MASK)
  58941. #define LCDIFV2_CSC_COEF0_ENABLE_MASK (0x40000000U)
  58942. #define LCDIFV2_CSC_COEF0_ENABLE_SHIFT (30U)
  58943. /*! ENABLE - Enable the CSC unit in the LCDIFv2 plane data path
  58944. * 0b0..The CSC is bypassed and the input pixels are RGB data already
  58945. * 0b1..The CSC is enabled and the pixels will be converted to RGB data
  58946. */
  58947. #define LCDIFV2_CSC_COEF0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_ENABLE_SHIFT)) & LCDIFV2_CSC_COEF0_ENABLE_MASK)
  58948. #define LCDIFV2_CSC_COEF0_YCBCR_MODE_MASK (0x80000000U)
  58949. #define LCDIFV2_CSC_COEF0_YCBCR_MODE_SHIFT (31U)
  58950. /*! YCBCR_MODE - This bit changes the behavior when performing U/V converting
  58951. * 0b0..Converting YUV to RGB data
  58952. * 0b1..Converting YCbCr to RGB data
  58953. */
  58954. #define LCDIFV2_CSC_COEF0_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF0_YCBCR_MODE_SHIFT)) & LCDIFV2_CSC_COEF0_YCBCR_MODE_MASK)
  58955. /*! @} */
  58956. /* The count of LCDIFV2_CSC_COEF0 */
  58957. #define LCDIFV2_CSC_COEF0_COUNT (8U)
  58958. /*! @name CSC_COEF1 - Color Space Conversion Coefficient Register 1 */
  58959. /*! @{ */
  58960. #define LCDIFV2_CSC_COEF1_C4_MASK (0x7FFU)
  58961. #define LCDIFV2_CSC_COEF1_C4_SHIFT (0U)
  58962. /*! C4 - Two's compliment Blue U/Cb multiplier coefficient. YUV=0x208 (2.032) YCbCr=0x204 (2.017)
  58963. */
  58964. #define LCDIFV2_CSC_COEF1_C4(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF1_C4_SHIFT)) & LCDIFV2_CSC_COEF1_C4_MASK)
  58965. #define LCDIFV2_CSC_COEF1_C1_MASK (0x7FF0000U)
  58966. #define LCDIFV2_CSC_COEF1_C1_SHIFT (16U)
  58967. /*! C1 - Two's compliment Red V/Cr multiplier coefficient. YUV=0x123 (1.140) YCbCr=0x198 (1.596)
  58968. */
  58969. #define LCDIFV2_CSC_COEF1_C1(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF1_C1_SHIFT)) & LCDIFV2_CSC_COEF1_C1_MASK)
  58970. /*! @} */
  58971. /* The count of LCDIFV2_CSC_COEF1 */
  58972. #define LCDIFV2_CSC_COEF1_COUNT (8U)
  58973. /*! @name CSC_COEF2 - Color Space Conversion Coefficient Register 2 */
  58974. /*! @{ */
  58975. #define LCDIFV2_CSC_COEF2_C3_MASK (0x7FFU)
  58976. #define LCDIFV2_CSC_COEF2_C3_SHIFT (0U)
  58977. /*! C3 - Two's compliment Green U/Cb multiplier coefficient. YUV=0x79C (-0.394) YCbCr=0x79C (-0.392)
  58978. */
  58979. #define LCDIFV2_CSC_COEF2_C3(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF2_C3_SHIFT)) & LCDIFV2_CSC_COEF2_C3_MASK)
  58980. #define LCDIFV2_CSC_COEF2_C2_MASK (0x7FF0000U)
  58981. #define LCDIFV2_CSC_COEF2_C2_SHIFT (16U)
  58982. /*! C2 - Two's compliment Green V/Cr multiplier coefficient. YUV=0x76B (-0.581) YCbCr=0x730 (-0.813)
  58983. */
  58984. #define LCDIFV2_CSC_COEF2_C2(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CSC_COEF2_C2_SHIFT)) & LCDIFV2_CSC_COEF2_C2_MASK)
  58985. /*! @} */
  58986. /* The count of LCDIFV2_CSC_COEF2 */
  58987. #define LCDIFV2_CSC_COEF2_COUNT (8U)
  58988. /*! @name CLUT_LOAD - LCDIFv2 CLUT load Register */
  58989. /*! @{ */
  58990. #define LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_MASK (0x1U)
  58991. #define LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_SHIFT (0U)
  58992. /*! CLUT_UPDATE_EN - CLUT Update Enable
  58993. */
  58994. #define LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_SHIFT)) & LCDIFV2_CLUT_LOAD_CLUT_UPDATE_EN_MASK)
  58995. #define LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_MASK (0x70U)
  58996. #define LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_SHIFT (4U)
  58997. /*! SEL_CLUT_NUM - Selected CLUT Number
  58998. */
  58999. #define LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM(x) (((uint32_t)(((uint32_t)(x)) << LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_SHIFT)) & LCDIFV2_CLUT_LOAD_SEL_CLUT_NUM_MASK)
  59000. /*! @} */
  59001. /*!
  59002. * @}
  59003. */ /* end of group LCDIFV2_Register_Masks */
  59004. /* LCDIFV2 - Peripheral instance base addresses */
  59005. /** Peripheral LCDIFV2 base address */
  59006. #define LCDIFV2_BASE (0x40808000u)
  59007. /** Peripheral LCDIFV2 base pointer */
  59008. #define LCDIFV2 ((LCDIFV2_Type *)LCDIFV2_BASE)
  59009. /** Array initializer of LCDIFV2 peripheral base addresses */
  59010. #define LCDIFV2_BASE_ADDRS { LCDIFV2_BASE }
  59011. /** Array initializer of LCDIFV2 peripheral base pointers */
  59012. #define LCDIFV2_BASE_PTRS { LCDIFV2 }
  59013. /*!
  59014. * @}
  59015. */ /* end of group LCDIFV2_Peripheral_Access_Layer */
  59016. /* ----------------------------------------------------------------------------
  59017. -- LPI2C Peripheral Access Layer
  59018. ---------------------------------------------------------------------------- */
  59019. /*!
  59020. * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer
  59021. * @{
  59022. */
  59023. /** LPI2C - Register Layout Typedef */
  59024. typedef struct {
  59025. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  59026. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  59027. uint8_t RESERVED_0[8];
  59028. __IO uint32_t MCR; /**< Master Control, offset: 0x10 */
  59029. __IO uint32_t MSR; /**< Master Status, offset: 0x14 */
  59030. __IO uint32_t MIER; /**< Master Interrupt Enable, offset: 0x18 */
  59031. __IO uint32_t MDER; /**< Master DMA Enable, offset: 0x1C */
  59032. __IO uint32_t MCFGR0; /**< Master Configuration 0, offset: 0x20 */
  59033. __IO uint32_t MCFGR1; /**< Master Configuration 1, offset: 0x24 */
  59034. __IO uint32_t MCFGR2; /**< Master Configuration 2, offset: 0x28 */
  59035. __IO uint32_t MCFGR3; /**< Master Configuration 3, offset: 0x2C */
  59036. uint8_t RESERVED_1[16];
  59037. __IO uint32_t MDMR; /**< Master Data Match, offset: 0x40 */
  59038. uint8_t RESERVED_2[4];
  59039. __IO uint32_t MCCR0; /**< Master Clock Configuration 0, offset: 0x48 */
  59040. uint8_t RESERVED_3[4];
  59041. __IO uint32_t MCCR1; /**< Master Clock Configuration 1, offset: 0x50 */
  59042. uint8_t RESERVED_4[4];
  59043. __IO uint32_t MFCR; /**< Master FIFO Control, offset: 0x58 */
  59044. __I uint32_t MFSR; /**< Master FIFO Status, offset: 0x5C */
  59045. __O uint32_t MTDR; /**< Master Transmit Data, offset: 0x60 */
  59046. uint8_t RESERVED_5[12];
  59047. __I uint32_t MRDR; /**< Master Receive Data, offset: 0x70 */
  59048. uint8_t RESERVED_6[156];
  59049. __IO uint32_t SCR; /**< Slave Control, offset: 0x110 */
  59050. __IO uint32_t SSR; /**< Slave Status, offset: 0x114 */
  59051. __IO uint32_t SIER; /**< Slave Interrupt Enable, offset: 0x118 */
  59052. __IO uint32_t SDER; /**< Slave DMA Enable, offset: 0x11C */
  59053. uint8_t RESERVED_7[4];
  59054. __IO uint32_t SCFGR1; /**< Slave Configuration 1, offset: 0x124 */
  59055. __IO uint32_t SCFGR2; /**< Slave Configuration 2, offset: 0x128 */
  59056. uint8_t RESERVED_8[20];
  59057. __IO uint32_t SAMR; /**< Slave Address Match, offset: 0x140 */
  59058. uint8_t RESERVED_9[12];
  59059. __I uint32_t SASR; /**< Slave Address Status, offset: 0x150 */
  59060. __IO uint32_t STAR; /**< Slave Transmit ACK, offset: 0x154 */
  59061. uint8_t RESERVED_10[8];
  59062. __O uint32_t STDR; /**< Slave Transmit Data, offset: 0x160 */
  59063. uint8_t RESERVED_11[12];
  59064. __I uint32_t SRDR; /**< Slave Receive Data, offset: 0x170 */
  59065. } LPI2C_Type;
  59066. /* ----------------------------------------------------------------------------
  59067. -- LPI2C Register Masks
  59068. ---------------------------------------------------------------------------- */
  59069. /*!
  59070. * @addtogroup LPI2C_Register_Masks LPI2C Register Masks
  59071. * @{
  59072. */
  59073. /*! @name VERID - Version ID */
  59074. /*! @{ */
  59075. #define LPI2C_VERID_FEATURE_MASK (0xFFFFU)
  59076. #define LPI2C_VERID_FEATURE_SHIFT (0U)
  59077. /*! FEATURE - Feature Specification Number
  59078. * 0b0000000000000010..Master only, with standard feature set
  59079. * 0b0000000000000011..Master and slave, with standard feature set
  59080. */
  59081. #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK)
  59082. #define LPI2C_VERID_MINOR_MASK (0xFF0000U)
  59083. #define LPI2C_VERID_MINOR_SHIFT (16U)
  59084. /*! MINOR - Minor Version Number
  59085. */
  59086. #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK)
  59087. #define LPI2C_VERID_MAJOR_MASK (0xFF000000U)
  59088. #define LPI2C_VERID_MAJOR_SHIFT (24U)
  59089. /*! MAJOR - Major Version Number
  59090. */
  59091. #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK)
  59092. /*! @} */
  59093. /*! @name PARAM - Parameter */
  59094. /*! @{ */
  59095. #define LPI2C_PARAM_MTXFIFO_MASK (0xFU)
  59096. #define LPI2C_PARAM_MTXFIFO_SHIFT (0U)
  59097. /*! MTXFIFO - Master Transmit FIFO Size
  59098. */
  59099. #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK)
  59100. #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U)
  59101. #define LPI2C_PARAM_MRXFIFO_SHIFT (8U)
  59102. /*! MRXFIFO - Master Receive FIFO Size
  59103. */
  59104. #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK)
  59105. /*! @} */
  59106. /*! @name MCR - Master Control */
  59107. /*! @{ */
  59108. #define LPI2C_MCR_MEN_MASK (0x1U)
  59109. #define LPI2C_MCR_MEN_SHIFT (0U)
  59110. /*! MEN - Master Enable
  59111. * 0b0..Master logic is disabled
  59112. * 0b1..Master logic is enabled
  59113. */
  59114. #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK)
  59115. #define LPI2C_MCR_RST_MASK (0x2U)
  59116. #define LPI2C_MCR_RST_SHIFT (1U)
  59117. /*! RST - Software Reset
  59118. * 0b0..Master logic is not reset
  59119. * 0b1..Master logic is reset
  59120. */
  59121. #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK)
  59122. #define LPI2C_MCR_DOZEN_MASK (0x4U)
  59123. #define LPI2C_MCR_DOZEN_SHIFT (2U)
  59124. /*! DOZEN - Doze mode enable
  59125. * 0b0..Master is enabled in Doze mode
  59126. * 0b1..Master is disabled in Doze mode
  59127. */
  59128. #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK)
  59129. #define LPI2C_MCR_DBGEN_MASK (0x8U)
  59130. #define LPI2C_MCR_DBGEN_SHIFT (3U)
  59131. /*! DBGEN - Debug Enable
  59132. * 0b0..Master is disabled in debug mode
  59133. * 0b1..Master is enabled in debug mode
  59134. */
  59135. #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK)
  59136. #define LPI2C_MCR_RTF_MASK (0x100U)
  59137. #define LPI2C_MCR_RTF_SHIFT (8U)
  59138. /*! RTF - Reset Transmit FIFO
  59139. * 0b0..No effect
  59140. * 0b1..Transmit FIFO is reset
  59141. */
  59142. #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK)
  59143. #define LPI2C_MCR_RRF_MASK (0x200U)
  59144. #define LPI2C_MCR_RRF_SHIFT (9U)
  59145. /*! RRF - Reset Receive FIFO
  59146. * 0b0..No effect
  59147. * 0b1..Receive FIFO is reset
  59148. */
  59149. #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK)
  59150. /*! @} */
  59151. /*! @name MSR - Master Status */
  59152. /*! @{ */
  59153. #define LPI2C_MSR_TDF_MASK (0x1U)
  59154. #define LPI2C_MSR_TDF_SHIFT (0U)
  59155. /*! TDF - Transmit Data Flag
  59156. * 0b0..Transmit data is not requested
  59157. * 0b1..Transmit data is requested
  59158. */
  59159. #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK)
  59160. #define LPI2C_MSR_RDF_MASK (0x2U)
  59161. #define LPI2C_MSR_RDF_SHIFT (1U)
  59162. /*! RDF - Receive Data Flag
  59163. * 0b0..Receive Data is not ready
  59164. * 0b1..Receive data is ready
  59165. */
  59166. #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK)
  59167. #define LPI2C_MSR_EPF_MASK (0x100U)
  59168. #define LPI2C_MSR_EPF_SHIFT (8U)
  59169. /*! EPF - End Packet Flag
  59170. * 0b0..Master has not generated a STOP or Repeated START condition
  59171. * 0b1..Master has generated a STOP or Repeated START condition
  59172. */
  59173. #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK)
  59174. #define LPI2C_MSR_SDF_MASK (0x200U)
  59175. #define LPI2C_MSR_SDF_SHIFT (9U)
  59176. /*! SDF - STOP Detect Flag
  59177. * 0b0..Master has not generated a STOP condition
  59178. * 0b1..Master has generated a STOP condition
  59179. */
  59180. #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK)
  59181. #define LPI2C_MSR_NDF_MASK (0x400U)
  59182. #define LPI2C_MSR_NDF_SHIFT (10U)
  59183. /*! NDF - NACK Detect Flag
  59184. * 0b0..Unexpected NACK was not detected
  59185. * 0b1..Unexpected NACK was detected
  59186. */
  59187. #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK)
  59188. #define LPI2C_MSR_ALF_MASK (0x800U)
  59189. #define LPI2C_MSR_ALF_SHIFT (11U)
  59190. /*! ALF - Arbitration Lost Flag
  59191. * 0b0..Master has not lost arbitration
  59192. * 0b1..Master has lost arbitration
  59193. */
  59194. #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK)
  59195. #define LPI2C_MSR_FEF_MASK (0x1000U)
  59196. #define LPI2C_MSR_FEF_SHIFT (12U)
  59197. /*! FEF - FIFO Error Flag
  59198. * 0b0..No error
  59199. * 0b1..Master sending or receiving data without a START condition
  59200. */
  59201. #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK)
  59202. #define LPI2C_MSR_PLTF_MASK (0x2000U)
  59203. #define LPI2C_MSR_PLTF_SHIFT (13U)
  59204. /*! PLTF - Pin Low Timeout Flag
  59205. * 0b0..Pin low timeout has not occurred or is disabled
  59206. * 0b1..Pin low timeout has occurred
  59207. */
  59208. #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK)
  59209. #define LPI2C_MSR_DMF_MASK (0x4000U)
  59210. #define LPI2C_MSR_DMF_SHIFT (14U)
  59211. /*! DMF - Data Match Flag
  59212. * 0b0..Have not received matching data
  59213. * 0b1..Have received matching data
  59214. */
  59215. #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK)
  59216. #define LPI2C_MSR_MBF_MASK (0x1000000U)
  59217. #define LPI2C_MSR_MBF_SHIFT (24U)
  59218. /*! MBF - Master Busy Flag
  59219. * 0b0..I2C Master is idle
  59220. * 0b1..I2C Master is busy
  59221. */
  59222. #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK)
  59223. #define LPI2C_MSR_BBF_MASK (0x2000000U)
  59224. #define LPI2C_MSR_BBF_SHIFT (25U)
  59225. /*! BBF - Bus Busy Flag
  59226. * 0b0..I2C Bus is idle
  59227. * 0b1..I2C Bus is busy
  59228. */
  59229. #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK)
  59230. /*! @} */
  59231. /*! @name MIER - Master Interrupt Enable */
  59232. /*! @{ */
  59233. #define LPI2C_MIER_TDIE_MASK (0x1U)
  59234. #define LPI2C_MIER_TDIE_SHIFT (0U)
  59235. /*! TDIE - Transmit Data Interrupt Enable
  59236. * 0b0..Disabled
  59237. * 0b1..Enabled
  59238. */
  59239. #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK)
  59240. #define LPI2C_MIER_RDIE_MASK (0x2U)
  59241. #define LPI2C_MIER_RDIE_SHIFT (1U)
  59242. /*! RDIE - Receive Data Interrupt Enable
  59243. * 0b0..Disabled
  59244. * 0b1..Enabled
  59245. */
  59246. #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK)
  59247. #define LPI2C_MIER_EPIE_MASK (0x100U)
  59248. #define LPI2C_MIER_EPIE_SHIFT (8U)
  59249. /*! EPIE - End Packet Interrupt Enable
  59250. * 0b0..Disabled
  59251. * 0b1..Enabled
  59252. */
  59253. #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK)
  59254. #define LPI2C_MIER_SDIE_MASK (0x200U)
  59255. #define LPI2C_MIER_SDIE_SHIFT (9U)
  59256. /*! SDIE - STOP Detect Interrupt Enable
  59257. * 0b0..Disabled
  59258. * 0b1..Enabled
  59259. */
  59260. #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK)
  59261. #define LPI2C_MIER_NDIE_MASK (0x400U)
  59262. #define LPI2C_MIER_NDIE_SHIFT (10U)
  59263. /*! NDIE - NACK Detect Interrupt Enable
  59264. * 0b0..Disabled
  59265. * 0b1..Enabled
  59266. */
  59267. #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK)
  59268. #define LPI2C_MIER_ALIE_MASK (0x800U)
  59269. #define LPI2C_MIER_ALIE_SHIFT (11U)
  59270. /*! ALIE - Arbitration Lost Interrupt Enable
  59271. * 0b0..Disabled
  59272. * 0b1..Enabled
  59273. */
  59274. #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK)
  59275. #define LPI2C_MIER_FEIE_MASK (0x1000U)
  59276. #define LPI2C_MIER_FEIE_SHIFT (12U)
  59277. /*! FEIE - FIFO Error Interrupt Enable
  59278. * 0b0..Enabled
  59279. * 0b1..Disabled
  59280. */
  59281. #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK)
  59282. #define LPI2C_MIER_PLTIE_MASK (0x2000U)
  59283. #define LPI2C_MIER_PLTIE_SHIFT (13U)
  59284. /*! PLTIE - Pin Low Timeout Interrupt Enable
  59285. * 0b0..Disabled
  59286. * 0b1..Enabled
  59287. */
  59288. #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK)
  59289. #define LPI2C_MIER_DMIE_MASK (0x4000U)
  59290. #define LPI2C_MIER_DMIE_SHIFT (14U)
  59291. /*! DMIE - Data Match Interrupt Enable
  59292. * 0b0..Disabled
  59293. * 0b1..Enabled
  59294. */
  59295. #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK)
  59296. /*! @} */
  59297. /*! @name MDER - Master DMA Enable */
  59298. /*! @{ */
  59299. #define LPI2C_MDER_TDDE_MASK (0x1U)
  59300. #define LPI2C_MDER_TDDE_SHIFT (0U)
  59301. /*! TDDE - Transmit Data DMA Enable
  59302. * 0b0..DMA request is disabled
  59303. * 0b1..DMA request is enabled
  59304. */
  59305. #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK)
  59306. #define LPI2C_MDER_RDDE_MASK (0x2U)
  59307. #define LPI2C_MDER_RDDE_SHIFT (1U)
  59308. /*! RDDE - Receive Data DMA Enable
  59309. * 0b0..DMA request is disabled
  59310. * 0b1..DMA request is enabled
  59311. */
  59312. #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK)
  59313. /*! @} */
  59314. /*! @name MCFGR0 - Master Configuration 0 */
  59315. /*! @{ */
  59316. #define LPI2C_MCFGR0_HREN_MASK (0x1U)
  59317. #define LPI2C_MCFGR0_HREN_SHIFT (0U)
  59318. /*! HREN - Host Request Enable
  59319. * 0b0..Host request input is disabled
  59320. * 0b1..Host request input is enabled
  59321. */
  59322. #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK)
  59323. #define LPI2C_MCFGR0_HRPOL_MASK (0x2U)
  59324. #define LPI2C_MCFGR0_HRPOL_SHIFT (1U)
  59325. /*! HRPOL - Host Request Polarity
  59326. * 0b0..Active low
  59327. * 0b1..Active high
  59328. */
  59329. #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK)
  59330. #define LPI2C_MCFGR0_HRSEL_MASK (0x4U)
  59331. #define LPI2C_MCFGR0_HRSEL_SHIFT (2U)
  59332. /*! HRSEL - Host Request Select
  59333. * 0b0..Host request input is pin HREQ
  59334. * 0b1..Host request input is input trigger
  59335. */
  59336. #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK)
  59337. #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U)
  59338. #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U)
  59339. /*! CIRFIFO - Circular FIFO Enable
  59340. * 0b0..Circular FIFO is disabled
  59341. * 0b1..Circular FIFO is enabled
  59342. */
  59343. #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK)
  59344. #define LPI2C_MCFGR0_RDMO_MASK (0x200U)
  59345. #define LPI2C_MCFGR0_RDMO_SHIFT (9U)
  59346. /*! RDMO - Receive Data Match Only
  59347. * 0b0..Received data is stored in the receive FIFO
  59348. * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set
  59349. */
  59350. #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK)
  59351. /*! @} */
  59352. /*! @name MCFGR1 - Master Configuration 1 */
  59353. /*! @{ */
  59354. #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U)
  59355. #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U)
  59356. /*! PRESCALE - Prescaler
  59357. * 0b000..Divide by 1
  59358. * 0b001..Divide by 2
  59359. * 0b010..Divide by 4
  59360. * 0b011..Divide by 8
  59361. * 0b100..Divide by 16
  59362. * 0b101..Divide by 32
  59363. * 0b110..Divide by 64
  59364. * 0b111..Divide by 128
  59365. */
  59366. #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK)
  59367. #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U)
  59368. #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U)
  59369. /*! AUTOSTOP - Automatic STOP Generation
  59370. * 0b0..No effect
  59371. * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy
  59372. */
  59373. #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK)
  59374. #define LPI2C_MCFGR1_IGNACK_MASK (0x200U)
  59375. #define LPI2C_MCFGR1_IGNACK_SHIFT (9U)
  59376. /*! IGNACK - IGNACK
  59377. * 0b0..LPI2C Master receives ACK and NACK normally
  59378. * 0b1..LPI2C Master treats a received NACK as if it (NACK) was an ACK
  59379. */
  59380. #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK)
  59381. #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U)
  59382. #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U)
  59383. /*! TIMECFG - Timeout Configuration
  59384. * 0b0..MSR[PLTF] sets if SCL is low for longer than the configured timeout
  59385. * 0b1..MSR[PLTF] sets if either SCL or SDA is low for longer than the configured timeout
  59386. */
  59387. #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK)
  59388. #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U)
  59389. #define LPI2C_MCFGR1_MATCFG_SHIFT (16U)
  59390. /*! MATCFG - Match Configuration
  59391. * 0b000..Match is disabled
  59392. * 0b001..Reserved
  59393. * 0b010..Match is enabled (1st data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  59394. * 0b011..Match is enabled (any data word equals MDMR[MATCH0] OR MDMR[MATCH1])
  59395. * 0b100..Match is enabled (1st data word equals MDMR[MATCH0] AND 2nd data word equals MDMR[MATCH1)
  59396. * 0b101..Match is enabled (any data word equals MDMR[MATCH0] AND next data word equals MDMR[MATCH1)
  59397. * 0b110..Match is enabled (1st data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  59398. * 0b111..Match is enabled (any data word AND MDMR[MATCH1] equals MDMR[MATCH0] AND MDMR[MATCH1])
  59399. */
  59400. #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK)
  59401. #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U)
  59402. #define LPI2C_MCFGR1_PINCFG_SHIFT (24U)
  59403. /*! PINCFG - Pin Configuration
  59404. * 0b000..2-pin open drain mode
  59405. * 0b001..2-pin output only mode (ultra-fast mode)
  59406. * 0b010..2-pin push-pull mode
  59407. * 0b011..4-pin push-pull mode
  59408. * 0b100..2-pin open drain mode with separate LPI2C slave
  59409. * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave
  59410. * 0b110..2-pin push-pull mode with separate LPI2C slave
  59411. * 0b111..4-pin push-pull mode (inverted outputs)
  59412. */
  59413. #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK)
  59414. /*! @} */
  59415. /*! @name MCFGR2 - Master Configuration 2 */
  59416. /*! @{ */
  59417. #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU)
  59418. #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U)
  59419. /*! BUSIDLE - Bus Idle Timeout
  59420. */
  59421. #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK)
  59422. #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U)
  59423. #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U)
  59424. /*! FILTSCL - Glitch Filter SCL
  59425. */
  59426. #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK)
  59427. #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U)
  59428. #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U)
  59429. /*! FILTSDA - Glitch Filter SDA
  59430. */
  59431. #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK)
  59432. /*! @} */
  59433. /*! @name MCFGR3 - Master Configuration 3 */
  59434. /*! @{ */
  59435. #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U)
  59436. #define LPI2C_MCFGR3_PINLOW_SHIFT (8U)
  59437. /*! PINLOW - Pin Low Timeout
  59438. */
  59439. #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK)
  59440. /*! @} */
  59441. /*! @name MDMR - Master Data Match */
  59442. /*! @{ */
  59443. #define LPI2C_MDMR_MATCH0_MASK (0xFFU)
  59444. #define LPI2C_MDMR_MATCH0_SHIFT (0U)
  59445. /*! MATCH0 - Match 0 Value
  59446. */
  59447. #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK)
  59448. #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U)
  59449. #define LPI2C_MDMR_MATCH1_SHIFT (16U)
  59450. /*! MATCH1 - Match 1 Value
  59451. */
  59452. #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK)
  59453. /*! @} */
  59454. /*! @name MCCR0 - Master Clock Configuration 0 */
  59455. /*! @{ */
  59456. #define LPI2C_MCCR0_CLKLO_MASK (0x3FU)
  59457. #define LPI2C_MCCR0_CLKLO_SHIFT (0U)
  59458. /*! CLKLO - Clock Low Period
  59459. */
  59460. #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK)
  59461. #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U)
  59462. #define LPI2C_MCCR0_CLKHI_SHIFT (8U)
  59463. /*! CLKHI - Clock High Period
  59464. */
  59465. #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK)
  59466. #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U)
  59467. #define LPI2C_MCCR0_SETHOLD_SHIFT (16U)
  59468. /*! SETHOLD - Setup Hold Delay
  59469. */
  59470. #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK)
  59471. #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U)
  59472. #define LPI2C_MCCR0_DATAVD_SHIFT (24U)
  59473. /*! DATAVD - Data Valid Delay
  59474. */
  59475. #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK)
  59476. /*! @} */
  59477. /*! @name MCCR1 - Master Clock Configuration 1 */
  59478. /*! @{ */
  59479. #define LPI2C_MCCR1_CLKLO_MASK (0x3FU)
  59480. #define LPI2C_MCCR1_CLKLO_SHIFT (0U)
  59481. /*! CLKLO - Clock Low Period
  59482. */
  59483. #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK)
  59484. #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U)
  59485. #define LPI2C_MCCR1_CLKHI_SHIFT (8U)
  59486. /*! CLKHI - Clock High Period
  59487. */
  59488. #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK)
  59489. #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U)
  59490. #define LPI2C_MCCR1_SETHOLD_SHIFT (16U)
  59491. /*! SETHOLD - Setup Hold Delay
  59492. */
  59493. #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK)
  59494. #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U)
  59495. #define LPI2C_MCCR1_DATAVD_SHIFT (24U)
  59496. /*! DATAVD - Data Valid Delay
  59497. */
  59498. #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK)
  59499. /*! @} */
  59500. /*! @name MFCR - Master FIFO Control */
  59501. /*! @{ */
  59502. #define LPI2C_MFCR_TXWATER_MASK (0x3U)
  59503. #define LPI2C_MFCR_TXWATER_SHIFT (0U)
  59504. /*! TXWATER - Transmit FIFO Watermark
  59505. */
  59506. #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK)
  59507. #define LPI2C_MFCR_RXWATER_MASK (0x30000U)
  59508. #define LPI2C_MFCR_RXWATER_SHIFT (16U)
  59509. /*! RXWATER - Receive FIFO Watermark
  59510. */
  59511. #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK)
  59512. /*! @} */
  59513. /*! @name MFSR - Master FIFO Status */
  59514. /*! @{ */
  59515. #define LPI2C_MFSR_TXCOUNT_MASK (0x7U)
  59516. #define LPI2C_MFSR_TXCOUNT_SHIFT (0U)
  59517. /*! TXCOUNT - Transmit FIFO Count
  59518. */
  59519. #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK)
  59520. #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U)
  59521. #define LPI2C_MFSR_RXCOUNT_SHIFT (16U)
  59522. /*! RXCOUNT - Receive FIFO Count
  59523. */
  59524. #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK)
  59525. /*! @} */
  59526. /*! @name MTDR - Master Transmit Data */
  59527. /*! @{ */
  59528. #define LPI2C_MTDR_DATA_MASK (0xFFU)
  59529. #define LPI2C_MTDR_DATA_SHIFT (0U)
  59530. /*! DATA - Transmit Data
  59531. */
  59532. #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK)
  59533. #define LPI2C_MTDR_CMD_MASK (0x700U)
  59534. #define LPI2C_MTDR_CMD_SHIFT (8U)
  59535. /*! CMD - Command Data
  59536. * 0b000..Transmit DATA[7:0]
  59537. * 0b001..Receive (DATA[7:0] + 1) bytes
  59538. * 0b010..Generate STOP condition
  59539. * 0b011..Receive and discard (DATA[7:0] + 1) bytes
  59540. * 0b100..Generate (repeated) START and transmit address in DATA[7:0]
  59541. * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned.
  59542. * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode
  59543. * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned.
  59544. */
  59545. #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK)
  59546. /*! @} */
  59547. /*! @name MRDR - Master Receive Data */
  59548. /*! @{ */
  59549. #define LPI2C_MRDR_DATA_MASK (0xFFU)
  59550. #define LPI2C_MRDR_DATA_SHIFT (0U)
  59551. /*! DATA - Receive Data
  59552. */
  59553. #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK)
  59554. #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U)
  59555. #define LPI2C_MRDR_RXEMPTY_SHIFT (14U)
  59556. /*! RXEMPTY - RX Empty
  59557. * 0b0..Receive FIFO is not empty
  59558. * 0b1..Receive FIFO is empty
  59559. */
  59560. #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK)
  59561. /*! @} */
  59562. /*! @name SCR - Slave Control */
  59563. /*! @{ */
  59564. #define LPI2C_SCR_SEN_MASK (0x1U)
  59565. #define LPI2C_SCR_SEN_SHIFT (0U)
  59566. /*! SEN - Slave Enable
  59567. * 0b0..I2C Slave mode is disabled
  59568. * 0b1..I2C Slave mode is enabled
  59569. */
  59570. #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK)
  59571. #define LPI2C_SCR_RST_MASK (0x2U)
  59572. #define LPI2C_SCR_RST_SHIFT (1U)
  59573. /*! RST - Software Reset
  59574. * 0b0..Slave mode logic is not reset
  59575. * 0b1..Slave mode logic is reset
  59576. */
  59577. #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK)
  59578. #define LPI2C_SCR_FILTEN_MASK (0x10U)
  59579. #define LPI2C_SCR_FILTEN_SHIFT (4U)
  59580. /*! FILTEN - Filter Enable
  59581. * 0b0..Disable digital filter and output delay counter for slave mode
  59582. * 0b1..Enable digital filter and output delay counter for slave mode
  59583. */
  59584. #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK)
  59585. #define LPI2C_SCR_FILTDZ_MASK (0x20U)
  59586. #define LPI2C_SCR_FILTDZ_SHIFT (5U)
  59587. /*! FILTDZ - Filter Doze Enable
  59588. * 0b0..Filter remains enabled in Doze mode
  59589. * 0b1..Filter is disabled in Doze mode
  59590. */
  59591. #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK)
  59592. #define LPI2C_SCR_RTF_MASK (0x100U)
  59593. #define LPI2C_SCR_RTF_SHIFT (8U)
  59594. /*! RTF - Reset Transmit FIFO
  59595. * 0b0..No effect
  59596. * 0b1..Transmit Data Register is now empty
  59597. */
  59598. #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK)
  59599. #define LPI2C_SCR_RRF_MASK (0x200U)
  59600. #define LPI2C_SCR_RRF_SHIFT (9U)
  59601. /*! RRF - Reset Receive FIFO
  59602. * 0b0..No effect
  59603. * 0b1..Receive Data Register is now empty
  59604. */
  59605. #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK)
  59606. /*! @} */
  59607. /*! @name SSR - Slave Status */
  59608. /*! @{ */
  59609. #define LPI2C_SSR_TDF_MASK (0x1U)
  59610. #define LPI2C_SSR_TDF_SHIFT (0U)
  59611. /*! TDF - Transmit Data Flag
  59612. * 0b0..Transmit data not requested
  59613. * 0b1..Transmit data is requested
  59614. */
  59615. #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK)
  59616. #define LPI2C_SSR_RDF_MASK (0x2U)
  59617. #define LPI2C_SSR_RDF_SHIFT (1U)
  59618. /*! RDF - Receive Data Flag
  59619. * 0b0..Receive data is not ready
  59620. * 0b1..Receive data is ready
  59621. */
  59622. #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK)
  59623. #define LPI2C_SSR_AVF_MASK (0x4U)
  59624. #define LPI2C_SSR_AVF_SHIFT (2U)
  59625. /*! AVF - Address Valid Flag
  59626. * 0b0..Address Status Register is not valid
  59627. * 0b1..Address Status Register is valid
  59628. */
  59629. #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK)
  59630. #define LPI2C_SSR_TAF_MASK (0x8U)
  59631. #define LPI2C_SSR_TAF_SHIFT (3U)
  59632. /*! TAF - Transmit ACK Flag
  59633. * 0b0..Transmit ACK/NACK is not required
  59634. * 0b1..Transmit ACK/NACK is required
  59635. */
  59636. #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK)
  59637. #define LPI2C_SSR_RSF_MASK (0x100U)
  59638. #define LPI2C_SSR_RSF_SHIFT (8U)
  59639. /*! RSF - Repeated Start Flag
  59640. * 0b0..Slave has not detected a Repeated START condition
  59641. * 0b1..Slave has detected a Repeated START condition
  59642. */
  59643. #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK)
  59644. #define LPI2C_SSR_SDF_MASK (0x200U)
  59645. #define LPI2C_SSR_SDF_SHIFT (9U)
  59646. /*! SDF - STOP Detect Flag
  59647. * 0b0..Slave has not detected a STOP condition
  59648. * 0b1..Slave has detected a STOP condition
  59649. */
  59650. #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK)
  59651. #define LPI2C_SSR_BEF_MASK (0x400U)
  59652. #define LPI2C_SSR_BEF_SHIFT (10U)
  59653. /*! BEF - Bit Error Flag
  59654. * 0b0..Slave has not detected a bit error
  59655. * 0b1..Slave has detected a bit error
  59656. */
  59657. #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK)
  59658. #define LPI2C_SSR_FEF_MASK (0x800U)
  59659. #define LPI2C_SSR_FEF_SHIFT (11U)
  59660. /*! FEF - FIFO Error Flag
  59661. * 0b0..FIFO underflow or overflow was not detected
  59662. * 0b1..FIFO underflow or overflow was detected
  59663. */
  59664. #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK)
  59665. #define LPI2C_SSR_AM0F_MASK (0x1000U)
  59666. #define LPI2C_SSR_AM0F_SHIFT (12U)
  59667. /*! AM0F - Address Match 0 Flag
  59668. * 0b0..Have not received an ADDR0 matching address
  59669. * 0b1..Have received an ADDR0 matching address
  59670. */
  59671. #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK)
  59672. #define LPI2C_SSR_AM1F_MASK (0x2000U)
  59673. #define LPI2C_SSR_AM1F_SHIFT (13U)
  59674. /*! AM1F - Address Match 1 Flag
  59675. * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address
  59676. * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address
  59677. */
  59678. #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK)
  59679. #define LPI2C_SSR_GCF_MASK (0x4000U)
  59680. #define LPI2C_SSR_GCF_SHIFT (14U)
  59681. /*! GCF - General Call Flag
  59682. * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled
  59683. * 0b1..Slave has detected the General Call Address
  59684. */
  59685. #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK)
  59686. #define LPI2C_SSR_SARF_MASK (0x8000U)
  59687. #define LPI2C_SSR_SARF_SHIFT (15U)
  59688. /*! SARF - SMBus Alert Response Flag
  59689. * 0b0..SMBus Alert Response is disabled or not detected
  59690. * 0b1..SMBus Alert Response is enabled and detected
  59691. */
  59692. #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK)
  59693. #define LPI2C_SSR_SBF_MASK (0x1000000U)
  59694. #define LPI2C_SSR_SBF_SHIFT (24U)
  59695. /*! SBF - Slave Busy Flag
  59696. * 0b0..I2C Slave is idle
  59697. * 0b1..I2C Slave is busy
  59698. */
  59699. #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK)
  59700. #define LPI2C_SSR_BBF_MASK (0x2000000U)
  59701. #define LPI2C_SSR_BBF_SHIFT (25U)
  59702. /*! BBF - Bus Busy Flag
  59703. * 0b0..I2C Bus is idle
  59704. * 0b1..I2C Bus is busy
  59705. */
  59706. #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK)
  59707. /*! @} */
  59708. /*! @name SIER - Slave Interrupt Enable */
  59709. /*! @{ */
  59710. #define LPI2C_SIER_TDIE_MASK (0x1U)
  59711. #define LPI2C_SIER_TDIE_SHIFT (0U)
  59712. /*! TDIE - Transmit Data Interrupt Enable
  59713. * 0b0..Disabled
  59714. * 0b1..Enabled
  59715. */
  59716. #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK)
  59717. #define LPI2C_SIER_RDIE_MASK (0x2U)
  59718. #define LPI2C_SIER_RDIE_SHIFT (1U)
  59719. /*! RDIE - Receive Data Interrupt Enable
  59720. * 0b0..Disabled
  59721. * 0b1..Enabled
  59722. */
  59723. #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK)
  59724. #define LPI2C_SIER_AVIE_MASK (0x4U)
  59725. #define LPI2C_SIER_AVIE_SHIFT (2U)
  59726. /*! AVIE - Address Valid Interrupt Enable
  59727. * 0b0..Disabled
  59728. * 0b1..Enabled
  59729. */
  59730. #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK)
  59731. #define LPI2C_SIER_TAIE_MASK (0x8U)
  59732. #define LPI2C_SIER_TAIE_SHIFT (3U)
  59733. /*! TAIE - Transmit ACK Interrupt Enable
  59734. * 0b0..Disabled
  59735. * 0b1..Enabled
  59736. */
  59737. #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK)
  59738. #define LPI2C_SIER_RSIE_MASK (0x100U)
  59739. #define LPI2C_SIER_RSIE_SHIFT (8U)
  59740. /*! RSIE - Repeated Start Interrupt Enable
  59741. * 0b0..Disabled
  59742. * 0b1..Enabled
  59743. */
  59744. #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK)
  59745. #define LPI2C_SIER_SDIE_MASK (0x200U)
  59746. #define LPI2C_SIER_SDIE_SHIFT (9U)
  59747. /*! SDIE - STOP Detect Interrupt Enable
  59748. * 0b0..Disabled
  59749. * 0b1..Enabled
  59750. */
  59751. #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK)
  59752. #define LPI2C_SIER_BEIE_MASK (0x400U)
  59753. #define LPI2C_SIER_BEIE_SHIFT (10U)
  59754. /*! BEIE - Bit Error Interrupt Enable
  59755. * 0b0..Disabled
  59756. * 0b1..Enabled
  59757. */
  59758. #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK)
  59759. #define LPI2C_SIER_FEIE_MASK (0x800U)
  59760. #define LPI2C_SIER_FEIE_SHIFT (11U)
  59761. /*! FEIE - FIFO Error Interrupt Enable
  59762. * 0b0..Disabled
  59763. * 0b1..Enabled
  59764. */
  59765. #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK)
  59766. #define LPI2C_SIER_AM0IE_MASK (0x1000U)
  59767. #define LPI2C_SIER_AM0IE_SHIFT (12U)
  59768. /*! AM0IE - Address Match 0 Interrupt Enable
  59769. * 0b0..Disabled
  59770. * 0b1..Enabled
  59771. */
  59772. #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK)
  59773. #define LPI2C_SIER_AM1IE_MASK (0x2000U)
  59774. #define LPI2C_SIER_AM1IE_SHIFT (13U)
  59775. /*! AM1IE - Address Match 1 Interrupt Enable
  59776. * 0b0..Disabled
  59777. * 0b1..Enabled
  59778. */
  59779. #define LPI2C_SIER_AM1IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1IE_SHIFT)) & LPI2C_SIER_AM1IE_MASK)
  59780. #define LPI2C_SIER_GCIE_MASK (0x4000U)
  59781. #define LPI2C_SIER_GCIE_SHIFT (14U)
  59782. /*! GCIE - General Call Interrupt Enable
  59783. * 0b0..Disabled
  59784. * 0b1..Enabled
  59785. */
  59786. #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK)
  59787. #define LPI2C_SIER_SARIE_MASK (0x8000U)
  59788. #define LPI2C_SIER_SARIE_SHIFT (15U)
  59789. /*! SARIE - SMBus Alert Response Interrupt Enable
  59790. * 0b0..Disabled
  59791. * 0b1..Enabled
  59792. */
  59793. #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK)
  59794. /*! @} */
  59795. /*! @name SDER - Slave DMA Enable */
  59796. /*! @{ */
  59797. #define LPI2C_SDER_TDDE_MASK (0x1U)
  59798. #define LPI2C_SDER_TDDE_SHIFT (0U)
  59799. /*! TDDE - Transmit Data DMA Enable
  59800. * 0b0..DMA request is disabled
  59801. * 0b1..DMA request is enabled
  59802. */
  59803. #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK)
  59804. #define LPI2C_SDER_RDDE_MASK (0x2U)
  59805. #define LPI2C_SDER_RDDE_SHIFT (1U)
  59806. /*! RDDE - Receive Data DMA Enable
  59807. * 0b0..DMA request is disabled
  59808. * 0b1..DMA request is enabled
  59809. */
  59810. #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK)
  59811. #define LPI2C_SDER_AVDE_MASK (0x4U)
  59812. #define LPI2C_SDER_AVDE_SHIFT (2U)
  59813. /*! AVDE - Address Valid DMA Enable
  59814. * 0b0..DMA request is disabled
  59815. * 0b1..DMA request is enabled
  59816. */
  59817. #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK)
  59818. /*! @} */
  59819. /*! @name SCFGR1 - Slave Configuration 1 */
  59820. /*! @{ */
  59821. #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U)
  59822. #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U)
  59823. /*! ADRSTALL - Address SCL Stall
  59824. * 0b0..Clock stretching is disabled
  59825. * 0b1..Clock stretching is enabled
  59826. */
  59827. #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK)
  59828. #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U)
  59829. #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U)
  59830. /*! RXSTALL - RX SCL Stall
  59831. * 0b0..Clock stretching is disabled
  59832. * 0b1..Clock stretching is enabled
  59833. */
  59834. #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK)
  59835. #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U)
  59836. #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U)
  59837. /*! TXDSTALL - TX Data SCL Stall
  59838. * 0b0..Clock stretching is disabled
  59839. * 0b1..Clock stretching is enabled
  59840. */
  59841. #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK)
  59842. #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U)
  59843. #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U)
  59844. /*! ACKSTALL - ACK SCL Stall
  59845. * 0b0..Clock stretching is disabled
  59846. * 0b1..Clock stretching is enabled
  59847. */
  59848. #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK)
  59849. #define LPI2C_SCFGR1_GCEN_MASK (0x100U)
  59850. #define LPI2C_SCFGR1_GCEN_SHIFT (8U)
  59851. /*! GCEN - General Call Enable
  59852. * 0b0..General Call address is disabled
  59853. * 0b1..General Call address is enabled
  59854. */
  59855. #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK)
  59856. #define LPI2C_SCFGR1_SAEN_MASK (0x200U)
  59857. #define LPI2C_SCFGR1_SAEN_SHIFT (9U)
  59858. /*! SAEN - SMBus Alert Enable
  59859. * 0b0..Disables match on SMBus Alert
  59860. * 0b1..Enables match on SMBus Alert
  59861. */
  59862. #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK)
  59863. #define LPI2C_SCFGR1_TXCFG_MASK (0x400U)
  59864. #define LPI2C_SCFGR1_TXCFG_SHIFT (10U)
  59865. /*! TXCFG - Transmit Flag Configuration
  59866. * 0b0..Transmit Data Flag only asserts during a slave-transmit transfer when the Transmit Data register is empty
  59867. * 0b1..Transmit Data Flag asserts whenever the Transmit Data register is empty
  59868. */
  59869. #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK)
  59870. #define LPI2C_SCFGR1_RXCFG_MASK (0x800U)
  59871. #define LPI2C_SCFGR1_RXCFG_SHIFT (11U)
  59872. /*! RXCFG - Receive Data Configuration
  59873. * 0b0..Reading the Receive Data register returns received data and clears the Receive Data flag (MSR[RDF]).
  59874. * 0b1..Reading the Receive Data register when the Address Valid flag (SSR[AVF])is set, returns the Address
  59875. * Status register and clear the Address Valid flag. Reading the Receive Data register when the Address Valid flag
  59876. * is clear, returns received data and clears the Receive Data flag (MSR[RDF]).
  59877. */
  59878. #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK)
  59879. #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U)
  59880. #define LPI2C_SCFGR1_IGNACK_SHIFT (12U)
  59881. /*! IGNACK - Ignore NACK
  59882. * 0b0..Slave ends transfer when NACK is detected
  59883. * 0b1..Slave does not end transfer when NACK detected
  59884. */
  59885. #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK)
  59886. #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U)
  59887. #define LPI2C_SCFGR1_HSMEN_SHIFT (13U)
  59888. /*! HSMEN - High Speed Mode Enable
  59889. * 0b0..Disables detection of HS-mode master code
  59890. * 0b1..Enables detection of HS-mode master code
  59891. */
  59892. #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK)
  59893. #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U)
  59894. #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U)
  59895. /*! ADDRCFG - Address Configuration
  59896. * 0b000..Address match 0 (7-bit)
  59897. * 0b001..Address match 0 (10-bit)
  59898. * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit)
  59899. * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit)
  59900. * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit)
  59901. * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit)
  59902. * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit)
  59903. * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit)
  59904. */
  59905. #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK)
  59906. /*! @} */
  59907. /*! @name SCFGR2 - Slave Configuration 2 */
  59908. /*! @{ */
  59909. #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU)
  59910. #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U)
  59911. /*! CLKHOLD - Clock Hold Time
  59912. */
  59913. #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK)
  59914. #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U)
  59915. #define LPI2C_SCFGR2_DATAVD_SHIFT (8U)
  59916. /*! DATAVD - Data Valid Delay
  59917. */
  59918. #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK)
  59919. #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U)
  59920. #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U)
  59921. /*! FILTSCL - Glitch Filter SCL
  59922. */
  59923. #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK)
  59924. #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U)
  59925. #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U)
  59926. /*! FILTSDA - Glitch Filter SDA
  59927. */
  59928. #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK)
  59929. /*! @} */
  59930. /*! @name SAMR - Slave Address Match */
  59931. /*! @{ */
  59932. #define LPI2C_SAMR_ADDR0_MASK (0x7FEU)
  59933. #define LPI2C_SAMR_ADDR0_SHIFT (1U)
  59934. /*! ADDR0 - Address 0 Value
  59935. */
  59936. #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK)
  59937. #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U)
  59938. #define LPI2C_SAMR_ADDR1_SHIFT (17U)
  59939. /*! ADDR1 - Address 1 Value
  59940. */
  59941. #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK)
  59942. /*! @} */
  59943. /*! @name SASR - Slave Address Status */
  59944. /*! @{ */
  59945. #define LPI2C_SASR_RADDR_MASK (0x7FFU)
  59946. #define LPI2C_SASR_RADDR_SHIFT (0U)
  59947. /*! RADDR - Received Address
  59948. */
  59949. #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK)
  59950. #define LPI2C_SASR_ANV_MASK (0x4000U)
  59951. #define LPI2C_SASR_ANV_SHIFT (14U)
  59952. /*! ANV - Address Not Valid
  59953. * 0b0..Received Address (RADDR) is valid
  59954. * 0b1..Received Address (RADDR) is not valid
  59955. */
  59956. #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK)
  59957. /*! @} */
  59958. /*! @name STAR - Slave Transmit ACK */
  59959. /*! @{ */
  59960. #define LPI2C_STAR_TXNACK_MASK (0x1U)
  59961. #define LPI2C_STAR_TXNACK_SHIFT (0U)
  59962. /*! TXNACK - Transmit NACK
  59963. * 0b0..Write a Transmit ACK for each received word
  59964. * 0b1..Write a Transmit NACK for each received word
  59965. */
  59966. #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK)
  59967. /*! @} */
  59968. /*! @name STDR - Slave Transmit Data */
  59969. /*! @{ */
  59970. #define LPI2C_STDR_DATA_MASK (0xFFU)
  59971. #define LPI2C_STDR_DATA_SHIFT (0U)
  59972. /*! DATA - Transmit Data
  59973. */
  59974. #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK)
  59975. /*! @} */
  59976. /*! @name SRDR - Slave Receive Data */
  59977. /*! @{ */
  59978. #define LPI2C_SRDR_DATA_MASK (0xFFU)
  59979. #define LPI2C_SRDR_DATA_SHIFT (0U)
  59980. /*! DATA - Receive Data
  59981. */
  59982. #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK)
  59983. #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U)
  59984. #define LPI2C_SRDR_RXEMPTY_SHIFT (14U)
  59985. /*! RXEMPTY - RX Empty
  59986. * 0b0..The Receive Data Register is not empty
  59987. * 0b1..The Receive Data Register is empty
  59988. */
  59989. #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK)
  59990. #define LPI2C_SRDR_SOF_MASK (0x8000U)
  59991. #define LPI2C_SRDR_SOF_SHIFT (15U)
  59992. /*! SOF - Start Of Frame
  59993. * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition
  59994. * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition
  59995. */
  59996. #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK)
  59997. /*! @} */
  59998. /*!
  59999. * @}
  60000. */ /* end of group LPI2C_Register_Masks */
  60001. /* LPI2C - Peripheral instance base addresses */
  60002. /** Peripheral LPI2C1 base address */
  60003. #define LPI2C1_BASE (0x40104000u)
  60004. /** Peripheral LPI2C1 base pointer */
  60005. #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE)
  60006. /** Peripheral LPI2C2 base address */
  60007. #define LPI2C2_BASE (0x40108000u)
  60008. /** Peripheral LPI2C2 base pointer */
  60009. #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE)
  60010. /** Peripheral LPI2C3 base address */
  60011. #define LPI2C3_BASE (0x4010C000u)
  60012. /** Peripheral LPI2C3 base pointer */
  60013. #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE)
  60014. /** Peripheral LPI2C4 base address */
  60015. #define LPI2C4_BASE (0x40110000u)
  60016. /** Peripheral LPI2C4 base pointer */
  60017. #define LPI2C4 ((LPI2C_Type *)LPI2C4_BASE)
  60018. /** Peripheral LPI2C5 base address */
  60019. #define LPI2C5_BASE (0x40C34000u)
  60020. /** Peripheral LPI2C5 base pointer */
  60021. #define LPI2C5 ((LPI2C_Type *)LPI2C5_BASE)
  60022. /** Peripheral LPI2C6 base address */
  60023. #define LPI2C6_BASE (0x40C38000u)
  60024. /** Peripheral LPI2C6 base pointer */
  60025. #define LPI2C6 ((LPI2C_Type *)LPI2C6_BASE)
  60026. /** Array initializer of LPI2C peripheral base addresses */
  60027. #define LPI2C_BASE_ADDRS { 0u, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE, LPI2C4_BASE, LPI2C5_BASE, LPI2C6_BASE }
  60028. /** Array initializer of LPI2C peripheral base pointers */
  60029. #define LPI2C_BASE_PTRS { (LPI2C_Type *)0u, LPI2C1, LPI2C2, LPI2C3, LPI2C4, LPI2C5, LPI2C6 }
  60030. /** Interrupt vectors for the LPI2C peripheral type */
  60031. #define LPI2C_IRQS { NotAvail_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn, LPI2C4_IRQn, LPI2C5_IRQn, LPI2C6_IRQn }
  60032. /*!
  60033. * @}
  60034. */ /* end of group LPI2C_Peripheral_Access_Layer */
  60035. /* ----------------------------------------------------------------------------
  60036. -- LPSPI Peripheral Access Layer
  60037. ---------------------------------------------------------------------------- */
  60038. /*!
  60039. * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer
  60040. * @{
  60041. */
  60042. /** LPSPI - Register Layout Typedef */
  60043. typedef struct {
  60044. __I uint32_t VERID; /**< Version ID, offset: 0x0 */
  60045. __I uint32_t PARAM; /**< Parameter, offset: 0x4 */
  60046. uint8_t RESERVED_0[8];
  60047. __IO uint32_t CR; /**< Control, offset: 0x10 */
  60048. __IO uint32_t SR; /**< Status, offset: 0x14 */
  60049. __IO uint32_t IER; /**< Interrupt Enable, offset: 0x18 */
  60050. __IO uint32_t DER; /**< DMA Enable, offset: 0x1C */
  60051. __IO uint32_t CFGR0; /**< Configuration 0, offset: 0x20 */
  60052. __IO uint32_t CFGR1; /**< Configuration 1, offset: 0x24 */
  60053. uint8_t RESERVED_1[8];
  60054. __IO uint32_t DMR0; /**< Data Match 0, offset: 0x30 */
  60055. __IO uint32_t DMR1; /**< Data Match 1, offset: 0x34 */
  60056. uint8_t RESERVED_2[8];
  60057. __IO uint32_t CCR; /**< Clock Configuration, offset: 0x40 */
  60058. uint8_t RESERVED_3[20];
  60059. __IO uint32_t FCR; /**< FIFO Control, offset: 0x58 */
  60060. __I uint32_t FSR; /**< FIFO Status, offset: 0x5C */
  60061. __IO uint32_t TCR; /**< Transmit Command, offset: 0x60 */
  60062. __O uint32_t TDR; /**< Transmit Data, offset: 0x64 */
  60063. uint8_t RESERVED_4[8];
  60064. __I uint32_t RSR; /**< Receive Status, offset: 0x70 */
  60065. __I uint32_t RDR; /**< Receive Data, offset: 0x74 */
  60066. } LPSPI_Type;
  60067. /* ----------------------------------------------------------------------------
  60068. -- LPSPI Register Masks
  60069. ---------------------------------------------------------------------------- */
  60070. /*!
  60071. * @addtogroup LPSPI_Register_Masks LPSPI Register Masks
  60072. * @{
  60073. */
  60074. /*! @name VERID - Version ID */
  60075. /*! @{ */
  60076. #define LPSPI_VERID_FEATURE_MASK (0xFFFFU)
  60077. #define LPSPI_VERID_FEATURE_SHIFT (0U)
  60078. /*! FEATURE - Module Identification Number
  60079. * 0b0000000000000100..Standard feature set supporting a 32-bit shift register.
  60080. */
  60081. #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK)
  60082. #define LPSPI_VERID_MINOR_MASK (0xFF0000U)
  60083. #define LPSPI_VERID_MINOR_SHIFT (16U)
  60084. /*! MINOR - Minor Version Number
  60085. */
  60086. #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK)
  60087. #define LPSPI_VERID_MAJOR_MASK (0xFF000000U)
  60088. #define LPSPI_VERID_MAJOR_SHIFT (24U)
  60089. /*! MAJOR - Major Version Number
  60090. */
  60091. #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK)
  60092. /*! @} */
  60093. /*! @name PARAM - Parameter */
  60094. /*! @{ */
  60095. #define LPSPI_PARAM_TXFIFO_MASK (0xFFU)
  60096. #define LPSPI_PARAM_TXFIFO_SHIFT (0U)
  60097. /*! TXFIFO - Transmit FIFO Size
  60098. */
  60099. #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK)
  60100. #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U)
  60101. #define LPSPI_PARAM_RXFIFO_SHIFT (8U)
  60102. /*! RXFIFO - Receive FIFO Size
  60103. */
  60104. #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK)
  60105. #define LPSPI_PARAM_PCSNUM_MASK (0xFF0000U)
  60106. #define LPSPI_PARAM_PCSNUM_SHIFT (16U)
  60107. /*! PCSNUM - PCS Number
  60108. */
  60109. #define LPSPI_PARAM_PCSNUM(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_PCSNUM_SHIFT)) & LPSPI_PARAM_PCSNUM_MASK)
  60110. /*! @} */
  60111. /*! @name CR - Control */
  60112. /*! @{ */
  60113. #define LPSPI_CR_MEN_MASK (0x1U)
  60114. #define LPSPI_CR_MEN_SHIFT (0U)
  60115. /*! MEN - Module Enable
  60116. * 0b0..Module is disabled
  60117. * 0b1..Module is enabled
  60118. */
  60119. #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK)
  60120. #define LPSPI_CR_RST_MASK (0x2U)
  60121. #define LPSPI_CR_RST_SHIFT (1U)
  60122. /*! RST - Software Reset
  60123. * 0b0..Module is not reset
  60124. * 0b1..Module is reset
  60125. */
  60126. #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK)
  60127. #define LPSPI_CR_DOZEN_MASK (0x4U)
  60128. #define LPSPI_CR_DOZEN_SHIFT (2U)
  60129. /*! DOZEN - Doze Mode Enable
  60130. * 0b0..LPSPI module is enabled in Doze mode
  60131. * 0b1..LPSPI module is disabled in Doze mode
  60132. */
  60133. #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK)
  60134. #define LPSPI_CR_DBGEN_MASK (0x8U)
  60135. #define LPSPI_CR_DBGEN_SHIFT (3U)
  60136. /*! DBGEN - Debug Enable
  60137. * 0b0..LPSPI module is disabled in debug mode
  60138. * 0b1..LPSPI module is enabled in debug mode
  60139. */
  60140. #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK)
  60141. #define LPSPI_CR_RTF_MASK (0x100U)
  60142. #define LPSPI_CR_RTF_SHIFT (8U)
  60143. /*! RTF - Reset Transmit FIFO
  60144. * 0b0..No effect
  60145. * 0b1..Reset the Transmit FIFO. The register bit always reads zero.
  60146. */
  60147. #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK)
  60148. #define LPSPI_CR_RRF_MASK (0x200U)
  60149. #define LPSPI_CR_RRF_SHIFT (9U)
  60150. /*! RRF - Reset Receive FIFO
  60151. * 0b0..No effect
  60152. * 0b1..Reset the Receive FIFO. The register bit always reads zero.
  60153. */
  60154. #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK)
  60155. /*! @} */
  60156. /*! @name SR - Status */
  60157. /*! @{ */
  60158. #define LPSPI_SR_TDF_MASK (0x1U)
  60159. #define LPSPI_SR_TDF_SHIFT (0U)
  60160. /*! TDF - Transmit Data Flag
  60161. * 0b0..Transmit data not requested
  60162. * 0b1..Transmit data is requested
  60163. */
  60164. #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK)
  60165. #define LPSPI_SR_RDF_MASK (0x2U)
  60166. #define LPSPI_SR_RDF_SHIFT (1U)
  60167. /*! RDF - Receive Data Flag
  60168. * 0b0..Receive Data is not ready
  60169. * 0b1..Receive data is ready
  60170. */
  60171. #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK)
  60172. #define LPSPI_SR_WCF_MASK (0x100U)
  60173. #define LPSPI_SR_WCF_SHIFT (8U)
  60174. /*! WCF - Word Complete Flag
  60175. * 0b0..Transfer of a received word has not yet completed
  60176. * 0b1..Transfer of a received word has completed
  60177. */
  60178. #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK)
  60179. #define LPSPI_SR_FCF_MASK (0x200U)
  60180. #define LPSPI_SR_FCF_SHIFT (9U)
  60181. /*! FCF - Frame Complete Flag
  60182. * 0b0..Frame transfer has not completed
  60183. * 0b1..Frame transfer has completed
  60184. */
  60185. #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK)
  60186. #define LPSPI_SR_TCF_MASK (0x400U)
  60187. #define LPSPI_SR_TCF_SHIFT (10U)
  60188. /*! TCF - Transfer Complete Flag
  60189. * 0b0..All transfers have not completed
  60190. * 0b1..All transfers have completed
  60191. */
  60192. #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK)
  60193. #define LPSPI_SR_TEF_MASK (0x800U)
  60194. #define LPSPI_SR_TEF_SHIFT (11U)
  60195. /*! TEF - Transmit Error Flag
  60196. * 0b0..Transmit FIFO underrun has not occurred
  60197. * 0b1..Transmit FIFO underrun has occurred
  60198. */
  60199. #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK)
  60200. #define LPSPI_SR_REF_MASK (0x1000U)
  60201. #define LPSPI_SR_REF_SHIFT (12U)
  60202. /*! REF - Receive Error Flag
  60203. * 0b0..Receive FIFO has not overflowed
  60204. * 0b1..Receive FIFO has overflowed
  60205. */
  60206. #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK)
  60207. #define LPSPI_SR_DMF_MASK (0x2000U)
  60208. #define LPSPI_SR_DMF_SHIFT (13U)
  60209. /*! DMF - Data Match Flag
  60210. * 0b0..Have not received matching data
  60211. * 0b1..Have received matching data
  60212. */
  60213. #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK)
  60214. #define LPSPI_SR_MBF_MASK (0x1000000U)
  60215. #define LPSPI_SR_MBF_SHIFT (24U)
  60216. /*! MBF - Module Busy Flag
  60217. * 0b0..LPSPI is idle
  60218. * 0b1..LPSPI is busy
  60219. */
  60220. #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK)
  60221. /*! @} */
  60222. /*! @name IER - Interrupt Enable */
  60223. /*! @{ */
  60224. #define LPSPI_IER_TDIE_MASK (0x1U)
  60225. #define LPSPI_IER_TDIE_SHIFT (0U)
  60226. /*! TDIE - Transmit Data Interrupt Enable
  60227. * 0b0..Disabled
  60228. * 0b1..Enabled
  60229. */
  60230. #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK)
  60231. #define LPSPI_IER_RDIE_MASK (0x2U)
  60232. #define LPSPI_IER_RDIE_SHIFT (1U)
  60233. /*! RDIE - Receive Data Interrupt Enable
  60234. * 0b0..Disabled
  60235. * 0b1..Enabled
  60236. */
  60237. #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK)
  60238. #define LPSPI_IER_WCIE_MASK (0x100U)
  60239. #define LPSPI_IER_WCIE_SHIFT (8U)
  60240. /*! WCIE - Word Complete Interrupt Enable
  60241. * 0b0..Disabled
  60242. * 0b1..Enabled
  60243. */
  60244. #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK)
  60245. #define LPSPI_IER_FCIE_MASK (0x200U)
  60246. #define LPSPI_IER_FCIE_SHIFT (9U)
  60247. /*! FCIE - Frame Complete Interrupt Enable
  60248. * 0b0..Disabled
  60249. * 0b1..Enabled
  60250. */
  60251. #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK)
  60252. #define LPSPI_IER_TCIE_MASK (0x400U)
  60253. #define LPSPI_IER_TCIE_SHIFT (10U)
  60254. /*! TCIE - Transfer Complete Interrupt Enable
  60255. * 0b0..Disabled
  60256. * 0b1..Enabled
  60257. */
  60258. #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK)
  60259. #define LPSPI_IER_TEIE_MASK (0x800U)
  60260. #define LPSPI_IER_TEIE_SHIFT (11U)
  60261. /*! TEIE - Transmit Error Interrupt Enable
  60262. * 0b0..Disabled
  60263. * 0b1..Enabled
  60264. */
  60265. #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK)
  60266. #define LPSPI_IER_REIE_MASK (0x1000U)
  60267. #define LPSPI_IER_REIE_SHIFT (12U)
  60268. /*! REIE - Receive Error Interrupt Enable
  60269. * 0b0..Disabled
  60270. * 0b1..Enabled
  60271. */
  60272. #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK)
  60273. #define LPSPI_IER_DMIE_MASK (0x2000U)
  60274. #define LPSPI_IER_DMIE_SHIFT (13U)
  60275. /*! DMIE - Data Match Interrupt Enable
  60276. * 0b0..Disabled
  60277. * 0b1..Enabled
  60278. */
  60279. #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK)
  60280. /*! @} */
  60281. /*! @name DER - DMA Enable */
  60282. /*! @{ */
  60283. #define LPSPI_DER_TDDE_MASK (0x1U)
  60284. #define LPSPI_DER_TDDE_SHIFT (0U)
  60285. /*! TDDE - Transmit Data DMA Enable
  60286. * 0b0..DMA request is disabled
  60287. * 0b1..DMA request is enabled
  60288. */
  60289. #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK)
  60290. #define LPSPI_DER_RDDE_MASK (0x2U)
  60291. #define LPSPI_DER_RDDE_SHIFT (1U)
  60292. /*! RDDE - Receive Data DMA Enable
  60293. * 0b0..DMA request is disabled
  60294. * 0b1..DMA request is enabled
  60295. */
  60296. #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK)
  60297. /*! @} */
  60298. /*! @name CFGR0 - Configuration 0 */
  60299. /*! @{ */
  60300. #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U)
  60301. #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U)
  60302. /*! CIRFIFO - Circular FIFO Enable
  60303. * 0b0..Circular FIFO is disabled
  60304. * 0b1..Circular FIFO is enabled
  60305. */
  60306. #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK)
  60307. #define LPSPI_CFGR0_RDMO_MASK (0x200U)
  60308. #define LPSPI_CFGR0_RDMO_SHIFT (9U)
  60309. /*! RDMO - Receive Data Match Only
  60310. * 0b0..Received data is stored in the receive FIFO as in normal operations
  60311. * 0b1..Received data is discarded unless the SR[DMF] = 1
  60312. */
  60313. #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK)
  60314. /*! @} */
  60315. /*! @name CFGR1 - Configuration 1 */
  60316. /*! @{ */
  60317. #define LPSPI_CFGR1_MASTER_MASK (0x1U)
  60318. #define LPSPI_CFGR1_MASTER_SHIFT (0U)
  60319. /*! MASTER - Master Mode
  60320. * 0b0..Slave mode
  60321. * 0b1..Master mode
  60322. */
  60323. #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK)
  60324. #define LPSPI_CFGR1_SAMPLE_MASK (0x2U)
  60325. #define LPSPI_CFGR1_SAMPLE_SHIFT (1U)
  60326. /*! SAMPLE - Sample Point
  60327. * 0b0..Input data is sampled on SCK edge
  60328. * 0b1..Input data is sampled on delayed SCK edge
  60329. */
  60330. #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK)
  60331. #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U)
  60332. #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U)
  60333. /*! AUTOPCS - Automatic PCS
  60334. * 0b0..Automatic PCS generation is disabled
  60335. * 0b1..Automatic PCS generation is enabled
  60336. */
  60337. #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK)
  60338. #define LPSPI_CFGR1_NOSTALL_MASK (0x8U)
  60339. #define LPSPI_CFGR1_NOSTALL_SHIFT (3U)
  60340. /*! NOSTALL - No Stall
  60341. * 0b0..Transfers stall when the transmit FIFO is empty
  60342. * 0b1..Transfers do not stall, allowing transmit FIFO underruns to occur
  60343. */
  60344. #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK)
  60345. #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U)
  60346. #define LPSPI_CFGR1_PCSPOL_SHIFT (8U)
  60347. /*! PCSPOL - Peripheral Chip Select Polarity
  60348. */
  60349. #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK)
  60350. #define LPSPI_CFGR1_MATCFG_MASK (0x70000U)
  60351. #define LPSPI_CFGR1_MATCFG_SHIFT (16U)
  60352. /*! MATCFG - Match Configuration
  60353. * 0b000..Match is disabled
  60354. * 0b001..Reserved
  60355. * 0b010..Match is enabled is 1st data word is MATCH0 or MATCH1
  60356. * 0b011..Match is enabled on any data word equal MATCH0 or MATCH1
  60357. * 0b100..Match is enabled on data match sequence
  60358. * 0b101..Match is enabled on data match sequence
  60359. * 0b110..Match is enabled
  60360. * 0b111..Match is enabled
  60361. */
  60362. #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK)
  60363. #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U)
  60364. #define LPSPI_CFGR1_PINCFG_SHIFT (24U)
  60365. /*! PINCFG - Pin Configuration
  60366. * 0b00..SIN is used for input data and SOUT is used for output data
  60367. * 0b01..SIN is used for both input and output data, only half-duplex serial transfers are supported
  60368. * 0b10..SOUT is used for both input and output data, only half-duplex serial transfers are supported
  60369. * 0b11..SOUT is used for input data and SIN is used for output data
  60370. */
  60371. #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK)
  60372. #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U)
  60373. #define LPSPI_CFGR1_OUTCFG_SHIFT (26U)
  60374. /*! OUTCFG - Output Configuration
  60375. * 0b0..Output data retains last value when chip select is negated
  60376. * 0b1..Output data is tristated when chip select is negated
  60377. */
  60378. #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK)
  60379. #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U)
  60380. #define LPSPI_CFGR1_PCSCFG_SHIFT (27U)
  60381. /*! PCSCFG - Peripheral Chip Select Configuration
  60382. * 0b0..PCS[3:2] are configured for chip select function
  60383. * 0b1..PCS[3:2] are configured for half-duplex 4-bit transfers (PCS[3:2] = DATA[3:2])
  60384. */
  60385. #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK)
  60386. /*! @} */
  60387. /*! @name DMR0 - Data Match 0 */
  60388. /*! @{ */
  60389. #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU)
  60390. #define LPSPI_DMR0_MATCH0_SHIFT (0U)
  60391. /*! MATCH0 - Match 0 Value
  60392. */
  60393. #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK)
  60394. /*! @} */
  60395. /*! @name DMR1 - Data Match 1 */
  60396. /*! @{ */
  60397. #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU)
  60398. #define LPSPI_DMR1_MATCH1_SHIFT (0U)
  60399. /*! MATCH1 - Match 1 Value
  60400. */
  60401. #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK)
  60402. /*! @} */
  60403. /*! @name CCR - Clock Configuration */
  60404. /*! @{ */
  60405. #define LPSPI_CCR_SCKDIV_MASK (0xFFU)
  60406. #define LPSPI_CCR_SCKDIV_SHIFT (0U)
  60407. /*! SCKDIV - SCK Divider
  60408. */
  60409. #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK)
  60410. #define LPSPI_CCR_DBT_MASK (0xFF00U)
  60411. #define LPSPI_CCR_DBT_SHIFT (8U)
  60412. /*! DBT - Delay Between Transfers
  60413. */
  60414. #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK)
  60415. #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U)
  60416. #define LPSPI_CCR_PCSSCK_SHIFT (16U)
  60417. /*! PCSSCK - PCS-to-SCK Delay
  60418. */
  60419. #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK)
  60420. #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U)
  60421. #define LPSPI_CCR_SCKPCS_SHIFT (24U)
  60422. /*! SCKPCS - SCK-to-PCS Delay
  60423. */
  60424. #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK)
  60425. /*! @} */
  60426. /*! @name FCR - FIFO Control */
  60427. /*! @{ */
  60428. #define LPSPI_FCR_TXWATER_MASK (0xFU)
  60429. #define LPSPI_FCR_TXWATER_SHIFT (0U)
  60430. /*! TXWATER - Transmit FIFO Watermark
  60431. */
  60432. #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK)
  60433. #define LPSPI_FCR_RXWATER_MASK (0xF0000U)
  60434. #define LPSPI_FCR_RXWATER_SHIFT (16U)
  60435. /*! RXWATER - Receive FIFO Watermark
  60436. */
  60437. #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK)
  60438. /*! @} */
  60439. /*! @name FSR - FIFO Status */
  60440. /*! @{ */
  60441. #define LPSPI_FSR_TXCOUNT_MASK (0x1FU)
  60442. #define LPSPI_FSR_TXCOUNT_SHIFT (0U)
  60443. /*! TXCOUNT - Transmit FIFO Count
  60444. */
  60445. #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK)
  60446. #define LPSPI_FSR_RXCOUNT_MASK (0x1F0000U)
  60447. #define LPSPI_FSR_RXCOUNT_SHIFT (16U)
  60448. /*! RXCOUNT - Receive FIFO Count
  60449. */
  60450. #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK)
  60451. /*! @} */
  60452. /*! @name TCR - Transmit Command */
  60453. /*! @{ */
  60454. #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU)
  60455. #define LPSPI_TCR_FRAMESZ_SHIFT (0U)
  60456. /*! FRAMESZ - Frame Size
  60457. */
  60458. #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK)
  60459. #define LPSPI_TCR_WIDTH_MASK (0x30000U)
  60460. #define LPSPI_TCR_WIDTH_SHIFT (16U)
  60461. /*! WIDTH - Transfer Width
  60462. * 0b00..1 bit transfer
  60463. * 0b01..2 bit transfer
  60464. * 0b10..4 bit transfer
  60465. * 0b11..Reserved
  60466. */
  60467. #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK)
  60468. #define LPSPI_TCR_TXMSK_MASK (0x40000U)
  60469. #define LPSPI_TCR_TXMSK_SHIFT (18U)
  60470. /*! TXMSK - Transmit Data Mask
  60471. * 0b0..Normal transfer
  60472. * 0b1..Mask transmit data
  60473. */
  60474. #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK)
  60475. #define LPSPI_TCR_RXMSK_MASK (0x80000U)
  60476. #define LPSPI_TCR_RXMSK_SHIFT (19U)
  60477. /*! RXMSK - Receive Data Mask
  60478. * 0b0..Normal transfer
  60479. * 0b1..Receive data is masked
  60480. */
  60481. #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK)
  60482. #define LPSPI_TCR_CONTC_MASK (0x100000U)
  60483. #define LPSPI_TCR_CONTC_SHIFT (20U)
  60484. /*! CONTC - Continuing Command
  60485. * 0b0..Command word for start of new transfer
  60486. * 0b1..Command word for continuing transfer
  60487. */
  60488. #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK)
  60489. #define LPSPI_TCR_CONT_MASK (0x200000U)
  60490. #define LPSPI_TCR_CONT_SHIFT (21U)
  60491. /*! CONT - Continuous Transfer
  60492. * 0b0..Continuous transfer is disabled
  60493. * 0b1..Continuous transfer is enabled
  60494. */
  60495. #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK)
  60496. #define LPSPI_TCR_BYSW_MASK (0x400000U)
  60497. #define LPSPI_TCR_BYSW_SHIFT (22U)
  60498. /*! BYSW - Byte Swap
  60499. * 0b0..Byte swap is disabled
  60500. * 0b1..Byte swap is enabled
  60501. */
  60502. #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK)
  60503. #define LPSPI_TCR_LSBF_MASK (0x800000U)
  60504. #define LPSPI_TCR_LSBF_SHIFT (23U)
  60505. /*! LSBF - LSB First
  60506. * 0b0..Data is transferred MSB first
  60507. * 0b1..Data is transferred LSB first
  60508. */
  60509. #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK)
  60510. #define LPSPI_TCR_PCS_MASK (0x3000000U)
  60511. #define LPSPI_TCR_PCS_SHIFT (24U)
  60512. /*! PCS - Peripheral Chip Select
  60513. * 0b00..Transfer using PCS[0]
  60514. * 0b01..Transfer using PCS[1]
  60515. * 0b10..Transfer using PCS[2]
  60516. * 0b11..Transfer using PCS[3]
  60517. */
  60518. #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK)
  60519. #define LPSPI_TCR_PRESCALE_MASK (0x38000000U)
  60520. #define LPSPI_TCR_PRESCALE_SHIFT (27U)
  60521. /*! PRESCALE - Prescaler Value
  60522. * 0b000..Divide by 1
  60523. * 0b001..Divide by 2
  60524. * 0b010..Divide by 4
  60525. * 0b011..Divide by 8
  60526. * 0b100..Divide by 16
  60527. * 0b101..Divide by 32
  60528. * 0b110..Divide by 64
  60529. * 0b111..Divide by 128
  60530. */
  60531. #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK)
  60532. #define LPSPI_TCR_CPHA_MASK (0x40000000U)
  60533. #define LPSPI_TCR_CPHA_SHIFT (30U)
  60534. /*! CPHA - Clock Phase
  60535. * 0b0..Captured
  60536. * 0b1..Changed
  60537. */
  60538. #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK)
  60539. #define LPSPI_TCR_CPOL_MASK (0x80000000U)
  60540. #define LPSPI_TCR_CPOL_SHIFT (31U)
  60541. /*! CPOL - Clock Polarity
  60542. * 0b0..The inactive state value of SCK is low
  60543. * 0b1..The inactive state value of SCK is high
  60544. */
  60545. #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK)
  60546. /*! @} */
  60547. /*! @name TDR - Transmit Data */
  60548. /*! @{ */
  60549. #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU)
  60550. #define LPSPI_TDR_DATA_SHIFT (0U)
  60551. /*! DATA - Transmit Data
  60552. */
  60553. #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK)
  60554. /*! @} */
  60555. /*! @name RSR - Receive Status */
  60556. /*! @{ */
  60557. #define LPSPI_RSR_SOF_MASK (0x1U)
  60558. #define LPSPI_RSR_SOF_SHIFT (0U)
  60559. /*! SOF - Start Of Frame
  60560. * 0b0..Subsequent data word received after PCS assertion
  60561. * 0b1..First data word received after PCS assertion
  60562. */
  60563. #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK)
  60564. #define LPSPI_RSR_RXEMPTY_MASK (0x2U)
  60565. #define LPSPI_RSR_RXEMPTY_SHIFT (1U)
  60566. /*! RXEMPTY - RX FIFO Empty
  60567. * 0b0..RX FIFO is not empty
  60568. * 0b1..RX FIFO is empty
  60569. */
  60570. #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK)
  60571. /*! @} */
  60572. /*! @name RDR - Receive Data */
  60573. /*! @{ */
  60574. #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU)
  60575. #define LPSPI_RDR_DATA_SHIFT (0U)
  60576. /*! DATA - Receive Data
  60577. */
  60578. #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK)
  60579. /*! @} */
  60580. /*!
  60581. * @}
  60582. */ /* end of group LPSPI_Register_Masks */
  60583. /* LPSPI - Peripheral instance base addresses */
  60584. /** Peripheral LPSPI1 base address */
  60585. #define LPSPI1_BASE (0x40114000u)
  60586. /** Peripheral LPSPI1 base pointer */
  60587. #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE)
  60588. /** Peripheral LPSPI2 base address */
  60589. #define LPSPI2_BASE (0x40118000u)
  60590. /** Peripheral LPSPI2 base pointer */
  60591. #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE)
  60592. /** Peripheral LPSPI3 base address */
  60593. #define LPSPI3_BASE (0x4011C000u)
  60594. /** Peripheral LPSPI3 base pointer */
  60595. #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE)
  60596. /** Peripheral LPSPI4 base address */
  60597. #define LPSPI4_BASE (0x40120000u)
  60598. /** Peripheral LPSPI4 base pointer */
  60599. #define LPSPI4 ((LPSPI_Type *)LPSPI4_BASE)
  60600. /** Peripheral LPSPI5 base address */
  60601. #define LPSPI5_BASE (0x40C2C000u)
  60602. /** Peripheral LPSPI5 base pointer */
  60603. #define LPSPI5 ((LPSPI_Type *)LPSPI5_BASE)
  60604. /** Peripheral LPSPI6 base address */
  60605. #define LPSPI6_BASE (0x40C30000u)
  60606. /** Peripheral LPSPI6 base pointer */
  60607. #define LPSPI6 ((LPSPI_Type *)LPSPI6_BASE)
  60608. /** Array initializer of LPSPI peripheral base addresses */
  60609. #define LPSPI_BASE_ADDRS { 0u, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE, LPSPI4_BASE, LPSPI5_BASE, LPSPI6_BASE }
  60610. /** Array initializer of LPSPI peripheral base pointers */
  60611. #define LPSPI_BASE_PTRS { (LPSPI_Type *)0u, LPSPI1, LPSPI2, LPSPI3, LPSPI4, LPSPI5, LPSPI6 }
  60612. /** Interrupt vectors for the LPSPI peripheral type */
  60613. #define LPSPI_IRQS { NotAvail_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn, LPSPI4_IRQn, LPSPI5_IRQn, LPSPI6_IRQn }
  60614. /*!
  60615. * @}
  60616. */ /* end of group LPSPI_Peripheral_Access_Layer */
  60617. /* ----------------------------------------------------------------------------
  60618. -- LPUART Peripheral Access Layer
  60619. ---------------------------------------------------------------------------- */
  60620. /*!
  60621. * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer
  60622. * @{
  60623. */
  60624. /** LPUART - Register Layout Typedef */
  60625. typedef struct {
  60626. __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */
  60627. __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */
  60628. __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */
  60629. __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */
  60630. __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */
  60631. __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */
  60632. __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */
  60633. __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */
  60634. __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */
  60635. __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */
  60636. __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */
  60637. __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */
  60638. } LPUART_Type;
  60639. /* ----------------------------------------------------------------------------
  60640. -- LPUART Register Masks
  60641. ---------------------------------------------------------------------------- */
  60642. /*!
  60643. * @addtogroup LPUART_Register_Masks LPUART Register Masks
  60644. * @{
  60645. */
  60646. /*! @name VERID - Version ID Register */
  60647. /*! @{ */
  60648. #define LPUART_VERID_FEATURE_MASK (0xFFFFU)
  60649. #define LPUART_VERID_FEATURE_SHIFT (0U)
  60650. /*! FEATURE - Feature Identification Number
  60651. * 0b0000000000000001..Standard feature set.
  60652. * 0b0000000000000011..Standard feature set with MODEM/IrDA support.
  60653. */
  60654. #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK)
  60655. #define LPUART_VERID_MINOR_MASK (0xFF0000U)
  60656. #define LPUART_VERID_MINOR_SHIFT (16U)
  60657. /*! MINOR - Minor Version Number
  60658. */
  60659. #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK)
  60660. #define LPUART_VERID_MAJOR_MASK (0xFF000000U)
  60661. #define LPUART_VERID_MAJOR_SHIFT (24U)
  60662. /*! MAJOR - Major Version Number
  60663. */
  60664. #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK)
  60665. /*! @} */
  60666. /*! @name PARAM - Parameter Register */
  60667. /*! @{ */
  60668. #define LPUART_PARAM_TXFIFO_MASK (0xFFU)
  60669. #define LPUART_PARAM_TXFIFO_SHIFT (0U)
  60670. /*! TXFIFO - Transmit FIFO Size
  60671. */
  60672. #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK)
  60673. #define LPUART_PARAM_RXFIFO_MASK (0xFF00U)
  60674. #define LPUART_PARAM_RXFIFO_SHIFT (8U)
  60675. /*! RXFIFO - Receive FIFO Size
  60676. */
  60677. #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK)
  60678. /*! @} */
  60679. /*! @name GLOBAL - LPUART Global Register */
  60680. /*! @{ */
  60681. #define LPUART_GLOBAL_RST_MASK (0x2U)
  60682. #define LPUART_GLOBAL_RST_SHIFT (1U)
  60683. /*! RST - Software Reset
  60684. * 0b0..Module is not reset.
  60685. * 0b1..Module is reset.
  60686. */
  60687. #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK)
  60688. /*! @} */
  60689. /*! @name PINCFG - LPUART Pin Configuration Register */
  60690. /*! @{ */
  60691. #define LPUART_PINCFG_TRGSEL_MASK (0x3U)
  60692. #define LPUART_PINCFG_TRGSEL_SHIFT (0U)
  60693. /*! TRGSEL - Trigger Select
  60694. * 0b00..Input trigger is disabled.
  60695. * 0b01..Input trigger is used instead of RXD pin input.
  60696. * 0b10..Input trigger is used instead of CTS_B pin input.
  60697. * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is
  60698. * internally ANDed with the input trigger.
  60699. */
  60700. #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK)
  60701. /*! @} */
  60702. /*! @name BAUD - LPUART Baud Rate Register */
  60703. /*! @{ */
  60704. #define LPUART_BAUD_SBR_MASK (0x1FFFU)
  60705. #define LPUART_BAUD_SBR_SHIFT (0U)
  60706. /*! SBR - Baud Rate Modulo Divisor.
  60707. */
  60708. #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK)
  60709. #define LPUART_BAUD_SBNS_MASK (0x2000U)
  60710. #define LPUART_BAUD_SBNS_SHIFT (13U)
  60711. /*! SBNS - Stop Bit Number Select
  60712. * 0b0..One stop bit.
  60713. * 0b1..Two stop bits.
  60714. */
  60715. #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK)
  60716. #define LPUART_BAUD_RXEDGIE_MASK (0x4000U)
  60717. #define LPUART_BAUD_RXEDGIE_SHIFT (14U)
  60718. /*! RXEDGIE - RX Input Active Edge Interrupt Enable
  60719. * 0b0..Hardware interrupts from STAT[RXEDGIF] are disabled.
  60720. * 0b1..Hardware interrupt is requested when STAT[RXEDGIF] flag is 1.
  60721. */
  60722. #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK)
  60723. #define LPUART_BAUD_LBKDIE_MASK (0x8000U)
  60724. #define LPUART_BAUD_LBKDIE_SHIFT (15U)
  60725. /*! LBKDIE - LIN Break Detect Interrupt Enable
  60726. * 0b0..Hardware interrupts from STAT[LBKDIF] flag are disabled (use polling).
  60727. * 0b1..Hardware interrupt is requested when STAT[LBKDIF] flag is 1.
  60728. */
  60729. #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK)
  60730. #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U)
  60731. #define LPUART_BAUD_RESYNCDIS_SHIFT (16U)
  60732. /*! RESYNCDIS - Resynchronization Disable
  60733. * 0b0..Resynchronization during received data word is supported.
  60734. * 0b1..Resynchronization during received data word is disabled.
  60735. */
  60736. #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK)
  60737. #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U)
  60738. #define LPUART_BAUD_BOTHEDGE_SHIFT (17U)
  60739. /*! BOTHEDGE - Both Edge Sampling
  60740. * 0b0..Receiver samples input data using the rising edge of the baud rate clock.
  60741. * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock.
  60742. */
  60743. #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK)
  60744. #define LPUART_BAUD_MATCFG_MASK (0xC0000U)
  60745. #define LPUART_BAUD_MATCFG_SHIFT (18U)
  60746. /*! MATCFG - Match Configuration
  60747. * 0b00..Address Match Wakeup
  60748. * 0b01..Idle Match Wakeup
  60749. * 0b10..Match On and Match Off
  60750. * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input
  60751. */
  60752. #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK)
  60753. #define LPUART_BAUD_RDMAE_MASK (0x200000U)
  60754. #define LPUART_BAUD_RDMAE_SHIFT (21U)
  60755. /*! RDMAE - Receiver Full DMA Enable
  60756. * 0b0..DMA request disabled.
  60757. * 0b1..DMA request enabled.
  60758. */
  60759. #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK)
  60760. #define LPUART_BAUD_TDMAE_MASK (0x800000U)
  60761. #define LPUART_BAUD_TDMAE_SHIFT (23U)
  60762. /*! TDMAE - Transmitter DMA Enable
  60763. * 0b0..DMA request disabled.
  60764. * 0b1..DMA request enabled.
  60765. */
  60766. #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK)
  60767. #define LPUART_BAUD_OSR_MASK (0x1F000000U)
  60768. #define LPUART_BAUD_OSR_SHIFT (24U)
  60769. /*! OSR - Oversampling Ratio
  60770. * 0b00000..Writing 0 to this field results in an oversampling ratio of 16
  60771. * 0b00001..Reserved
  60772. * 0b00010..Reserved
  60773. * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set.
  60774. * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set.
  60775. * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set.
  60776. * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set.
  60777. * 0b00111..Oversampling ratio of 8.
  60778. * 0b01000..Oversampling ratio of 9.
  60779. * 0b01001..Oversampling ratio of 10.
  60780. * 0b01010..Oversampling ratio of 11.
  60781. * 0b01011..Oversampling ratio of 12.
  60782. * 0b01100..Oversampling ratio of 13.
  60783. * 0b01101..Oversampling ratio of 14.
  60784. * 0b01110..Oversampling ratio of 15.
  60785. * 0b01111..Oversampling ratio of 16.
  60786. * 0b10000..Oversampling ratio of 17.
  60787. * 0b10001..Oversampling ratio of 18.
  60788. * 0b10010..Oversampling ratio of 19.
  60789. * 0b10011..Oversampling ratio of 20.
  60790. * 0b10100..Oversampling ratio of 21.
  60791. * 0b10101..Oversampling ratio of 22.
  60792. * 0b10110..Oversampling ratio of 23.
  60793. * 0b10111..Oversampling ratio of 24.
  60794. * 0b11000..Oversampling ratio of 25.
  60795. * 0b11001..Oversampling ratio of 26.
  60796. * 0b11010..Oversampling ratio of 27.
  60797. * 0b11011..Oversampling ratio of 28.
  60798. * 0b11100..Oversampling ratio of 29.
  60799. * 0b11101..Oversampling ratio of 30.
  60800. * 0b11110..Oversampling ratio of 31.
  60801. * 0b11111..Oversampling ratio of 32.
  60802. */
  60803. #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK)
  60804. #define LPUART_BAUD_M10_MASK (0x20000000U)
  60805. #define LPUART_BAUD_M10_SHIFT (29U)
  60806. /*! M10 - 10-bit Mode select
  60807. * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters.
  60808. * 0b1..Receiver and transmitter use 10-bit data characters.
  60809. */
  60810. #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK)
  60811. #define LPUART_BAUD_MAEN2_MASK (0x40000000U)
  60812. #define LPUART_BAUD_MAEN2_SHIFT (30U)
  60813. /*! MAEN2 - Match Address Mode Enable 2
  60814. * 0b0..Normal operation.
  60815. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2].
  60816. */
  60817. #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK)
  60818. #define LPUART_BAUD_MAEN1_MASK (0x80000000U)
  60819. #define LPUART_BAUD_MAEN1_SHIFT (31U)
  60820. /*! MAEN1 - Match Address Mode Enable 1
  60821. * 0b0..Normal operation.
  60822. * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1].
  60823. */
  60824. #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK)
  60825. /*! @} */
  60826. /*! @name STAT - LPUART Status Register */
  60827. /*! @{ */
  60828. #define LPUART_STAT_MA2F_MASK (0x4000U)
  60829. #define LPUART_STAT_MA2F_SHIFT (14U)
  60830. /*! MA2F - Match 2 Flag
  60831. * 0b0..Received data is not equal to MA2
  60832. * 0b1..Received data is equal to MA2
  60833. */
  60834. #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK)
  60835. #define LPUART_STAT_MA1F_MASK (0x8000U)
  60836. #define LPUART_STAT_MA1F_SHIFT (15U)
  60837. /*! MA1F - Match 1 Flag
  60838. * 0b0..Received data is not equal to MA1
  60839. * 0b1..Received data is equal to MA1
  60840. */
  60841. #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK)
  60842. #define LPUART_STAT_PF_MASK (0x10000U)
  60843. #define LPUART_STAT_PF_SHIFT (16U)
  60844. /*! PF - Parity Error Flag
  60845. * 0b0..No parity error.
  60846. * 0b1..Parity error.
  60847. */
  60848. #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK)
  60849. #define LPUART_STAT_FE_MASK (0x20000U)
  60850. #define LPUART_STAT_FE_SHIFT (17U)
  60851. /*! FE - Framing Error Flag
  60852. * 0b0..No framing error detected. This does not guarantee the framing is correct.
  60853. * 0b1..Framing error.
  60854. */
  60855. #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK)
  60856. #define LPUART_STAT_NF_MASK (0x40000U)
  60857. #define LPUART_STAT_NF_SHIFT (18U)
  60858. /*! NF - Noise Flag
  60859. * 0b0..No noise detected.
  60860. * 0b1..Noise detected in the received character in the DATA register.
  60861. */
  60862. #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK)
  60863. #define LPUART_STAT_OR_MASK (0x80000U)
  60864. #define LPUART_STAT_OR_SHIFT (19U)
  60865. /*! OR - Receiver Overrun Flag
  60866. * 0b0..No overrun.
  60867. * 0b1..Receive overrun (new LPUART data lost).
  60868. */
  60869. #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK)
  60870. #define LPUART_STAT_IDLE_MASK (0x100000U)
  60871. #define LPUART_STAT_IDLE_SHIFT (20U)
  60872. /*! IDLE - Idle Line Flag
  60873. * 0b0..No idle line detected.
  60874. * 0b1..Idle line is detected.
  60875. */
  60876. #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK)
  60877. #define LPUART_STAT_RDRF_MASK (0x200000U)
  60878. #define LPUART_STAT_RDRF_SHIFT (21U)
  60879. /*! RDRF - Receive Data Register Full Flag
  60880. * 0b0..Receive FIFO level is less than watermark.
  60881. * 0b1..Receive FIFO level is equal or greater than watermark.
  60882. */
  60883. #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK)
  60884. #define LPUART_STAT_TC_MASK (0x400000U)
  60885. #define LPUART_STAT_TC_SHIFT (22U)
  60886. /*! TC - Transmission Complete Flag
  60887. * 0b0..Transmitter active (sending data, a preamble, or a break).
  60888. * 0b1..Transmitter idle (transmission activity complete).
  60889. */
  60890. #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK)
  60891. #define LPUART_STAT_TDRE_MASK (0x800000U)
  60892. #define LPUART_STAT_TDRE_SHIFT (23U)
  60893. /*! TDRE - Transmit Data Register Empty Flag
  60894. * 0b0..Transmit FIFO level is greater than watermark.
  60895. * 0b1..Transmit FIFO level is equal or less than watermark.
  60896. */
  60897. #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK)
  60898. #define LPUART_STAT_RAF_MASK (0x1000000U)
  60899. #define LPUART_STAT_RAF_SHIFT (24U)
  60900. /*! RAF - Receiver Active Flag
  60901. * 0b0..LPUART receiver idle waiting for a start bit.
  60902. * 0b1..LPUART receiver active (RXD input not idle).
  60903. */
  60904. #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK)
  60905. #define LPUART_STAT_LBKDE_MASK (0x2000000U)
  60906. #define LPUART_STAT_LBKDE_SHIFT (25U)
  60907. /*! LBKDE - LIN Break Detection Enable
  60908. * 0b0..LIN break detect is disabled, normal break character can be detected.
  60909. * 0b1..LIN break detect is enabled. LIN break character is detected at length of 11 bit times (if M = 0) or 12 (if M = 1) or 13 (M10 = 1).
  60910. */
  60911. #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK)
  60912. #define LPUART_STAT_BRK13_MASK (0x4000000U)
  60913. #define LPUART_STAT_BRK13_SHIFT (26U)
  60914. /*! BRK13 - Break Character Generation Length
  60915. * 0b0..Break character is transmitted with length of 9 to 13 bit times.
  60916. * 0b1..Break character is transmitted with length of 12 to 15 bit times.
  60917. */
  60918. #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK)
  60919. #define LPUART_STAT_RWUID_MASK (0x8000000U)
  60920. #define LPUART_STAT_RWUID_SHIFT (27U)
  60921. /*! RWUID - Receive Wake Up Idle Detect
  60922. * 0b0..During receive standby state (RWU = 1), the IDLE bit does not get set upon detection of an idle
  60923. * character. During address match wakeup, the IDLE bit does not set when an address does not match.
  60924. * 0b1..During receive standby state (RWU = 1), the IDLE bit gets set upon detection of an idle character. During
  60925. * address match wakeup, the IDLE bit does set when an address does not match.
  60926. */
  60927. #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK)
  60928. #define LPUART_STAT_RXINV_MASK (0x10000000U)
  60929. #define LPUART_STAT_RXINV_SHIFT (28U)
  60930. /*! RXINV - Receive Data Inversion
  60931. * 0b0..Receive data not inverted.
  60932. * 0b1..Receive data inverted.
  60933. */
  60934. #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK)
  60935. #define LPUART_STAT_MSBF_MASK (0x20000000U)
  60936. #define LPUART_STAT_MSBF_SHIFT (29U)
  60937. /*! MSBF - MSB First
  60938. * 0b0..LSB (bit0) is the first bit that is transmitted following the start bit. Further, the first bit received
  60939. * after the start bit is identified as bit0.
  60940. * 0b1..MSB (identified as bit9, bit8, bit7 or bit6) is the first bit that is transmitted following the start bit
  60941. * depending on the setting of CTRL[M], CTRL[PE] and BAUD[M10]. .
  60942. */
  60943. #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK)
  60944. #define LPUART_STAT_RXEDGIF_MASK (0x40000000U)
  60945. #define LPUART_STAT_RXEDGIF_SHIFT (30U)
  60946. /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag
  60947. * 0b0..No active edge on the receive pin has occurred.
  60948. * 0b1..An active edge on the receive pin has occurred.
  60949. */
  60950. #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK)
  60951. #define LPUART_STAT_LBKDIF_MASK (0x80000000U)
  60952. #define LPUART_STAT_LBKDIF_SHIFT (31U)
  60953. /*! LBKDIF - LIN Break Detect Interrupt Flag
  60954. * 0b0..No LIN break character has been detected.
  60955. * 0b1..LIN break character has been detected.
  60956. */
  60957. #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK)
  60958. /*! @} */
  60959. /*! @name CTRL - LPUART Control Register */
  60960. /*! @{ */
  60961. #define LPUART_CTRL_PT_MASK (0x1U)
  60962. #define LPUART_CTRL_PT_SHIFT (0U)
  60963. /*! PT - Parity Type
  60964. * 0b0..Even parity.
  60965. * 0b1..Odd parity.
  60966. */
  60967. #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK)
  60968. #define LPUART_CTRL_PE_MASK (0x2U)
  60969. #define LPUART_CTRL_PE_SHIFT (1U)
  60970. /*! PE - Parity Enable
  60971. * 0b0..No hardware parity generation or checking.
  60972. * 0b1..Parity enabled.
  60973. */
  60974. #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK)
  60975. #define LPUART_CTRL_ILT_MASK (0x4U)
  60976. #define LPUART_CTRL_ILT_SHIFT (2U)
  60977. /*! ILT - Idle Line Type Select
  60978. * 0b0..Idle character bit count starts after start bit.
  60979. * 0b1..Idle character bit count starts after stop bit.
  60980. */
  60981. #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK)
  60982. #define LPUART_CTRL_WAKE_MASK (0x8U)
  60983. #define LPUART_CTRL_WAKE_SHIFT (3U)
  60984. /*! WAKE - Receiver Wakeup Method Select
  60985. * 0b0..Configures RWU for idle-line wakeup.
  60986. * 0b1..Configures RWU with address-mark wakeup.
  60987. */
  60988. #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK)
  60989. #define LPUART_CTRL_M_MASK (0x10U)
  60990. #define LPUART_CTRL_M_SHIFT (4U)
  60991. /*! M - 9-Bit or 8-Bit Mode Select
  60992. * 0b0..Receiver and transmitter use 8-bit data characters.
  60993. * 0b1..Receiver and transmitter use 9-bit data characters.
  60994. */
  60995. #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK)
  60996. #define LPUART_CTRL_RSRC_MASK (0x20U)
  60997. #define LPUART_CTRL_RSRC_SHIFT (5U)
  60998. /*! RSRC - Receiver Source Select
  60999. * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin.
  61000. * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input.
  61001. */
  61002. #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK)
  61003. #define LPUART_CTRL_DOZEEN_MASK (0x40U)
  61004. #define LPUART_CTRL_DOZEEN_SHIFT (6U)
  61005. /*! DOZEEN - Doze Enable
  61006. * 0b0..LPUART is enabled in Doze mode.
  61007. * 0b1..LPUART is disabled in Doze mode .
  61008. */
  61009. #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK)
  61010. #define LPUART_CTRL_LOOPS_MASK (0x80U)
  61011. #define LPUART_CTRL_LOOPS_SHIFT (7U)
  61012. /*! LOOPS - Loop Mode Select
  61013. * 0b0..Normal operation - RXD and TXD use separate pins.
  61014. * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit).
  61015. */
  61016. #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK)
  61017. #define LPUART_CTRL_IDLECFG_MASK (0x700U)
  61018. #define LPUART_CTRL_IDLECFG_SHIFT (8U)
  61019. /*! IDLECFG - Idle Configuration
  61020. * 0b000..1 idle character
  61021. * 0b001..2 idle characters
  61022. * 0b010..4 idle characters
  61023. * 0b011..8 idle characters
  61024. * 0b100..16 idle characters
  61025. * 0b101..32 idle characters
  61026. * 0b110..64 idle characters
  61027. * 0b111..128 idle characters
  61028. */
  61029. #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK)
  61030. #define LPUART_CTRL_M7_MASK (0x800U)
  61031. #define LPUART_CTRL_M7_SHIFT (11U)
  61032. /*! M7 - 7-Bit Mode Select
  61033. * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters.
  61034. * 0b1..Receiver and transmitter use 7-bit data characters.
  61035. */
  61036. #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK)
  61037. #define LPUART_CTRL_MA2IE_MASK (0x4000U)
  61038. #define LPUART_CTRL_MA2IE_SHIFT (14U)
  61039. /*! MA2IE - Match 2 Interrupt Enable
  61040. * 0b0..MA2F interrupt disabled
  61041. * 0b1..MA2F interrupt enabled
  61042. */
  61043. #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK)
  61044. #define LPUART_CTRL_MA1IE_MASK (0x8000U)
  61045. #define LPUART_CTRL_MA1IE_SHIFT (15U)
  61046. /*! MA1IE - Match 1 Interrupt Enable
  61047. * 0b0..MA1F interrupt disabled
  61048. * 0b1..MA1F interrupt enabled
  61049. */
  61050. #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK)
  61051. #define LPUART_CTRL_SBK_MASK (0x10000U)
  61052. #define LPUART_CTRL_SBK_SHIFT (16U)
  61053. /*! SBK - Send Break
  61054. * 0b0..Normal transmitter operation.
  61055. * 0b1..Queue break character(s) to be sent.
  61056. */
  61057. #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK)
  61058. #define LPUART_CTRL_RWU_MASK (0x20000U)
  61059. #define LPUART_CTRL_RWU_SHIFT (17U)
  61060. /*! RWU - Receiver Wakeup Control
  61061. * 0b0..Normal receiver operation.
  61062. * 0b1..LPUART receiver in standby waiting for wakeup condition.
  61063. */
  61064. #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK)
  61065. #define LPUART_CTRL_RE_MASK (0x40000U)
  61066. #define LPUART_CTRL_RE_SHIFT (18U)
  61067. /*! RE - Receiver Enable
  61068. * 0b0..Receiver disabled.
  61069. * 0b1..Receiver enabled.
  61070. */
  61071. #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK)
  61072. #define LPUART_CTRL_TE_MASK (0x80000U)
  61073. #define LPUART_CTRL_TE_SHIFT (19U)
  61074. /*! TE - Transmitter Enable
  61075. * 0b0..Transmitter disabled.
  61076. * 0b1..Transmitter enabled.
  61077. */
  61078. #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK)
  61079. #define LPUART_CTRL_ILIE_MASK (0x100000U)
  61080. #define LPUART_CTRL_ILIE_SHIFT (20U)
  61081. /*! ILIE - Idle Line Interrupt Enable
  61082. * 0b0..Hardware interrupts from IDLE disabled; use polling.
  61083. * 0b1..Hardware interrupt is requested when IDLE flag is 1.
  61084. */
  61085. #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK)
  61086. #define LPUART_CTRL_RIE_MASK (0x200000U)
  61087. #define LPUART_CTRL_RIE_SHIFT (21U)
  61088. /*! RIE - Receiver Interrupt Enable
  61089. * 0b0..Hardware interrupts from RDRF disabled.
  61090. * 0b1..Hardware interrupt is requested when RDRF flag is 1.
  61091. */
  61092. #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK)
  61093. #define LPUART_CTRL_TCIE_MASK (0x400000U)
  61094. #define LPUART_CTRL_TCIE_SHIFT (22U)
  61095. /*! TCIE - Transmission Complete Interrupt Enable for
  61096. * 0b0..Hardware interrupts from TC disabled.
  61097. * 0b1..Hardware interrupt is requested when TC flag is 1.
  61098. */
  61099. #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK)
  61100. #define LPUART_CTRL_TIE_MASK (0x800000U)
  61101. #define LPUART_CTRL_TIE_SHIFT (23U)
  61102. /*! TIE - Transmit Interrupt Enable
  61103. * 0b0..Hardware interrupts from TDRE disabled.
  61104. * 0b1..Hardware interrupt is requested when TDRE flag is 1.
  61105. */
  61106. #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK)
  61107. #define LPUART_CTRL_PEIE_MASK (0x1000000U)
  61108. #define LPUART_CTRL_PEIE_SHIFT (24U)
  61109. /*! PEIE - Parity Error Interrupt Enable
  61110. * 0b0..PF interrupts disabled; use polling).
  61111. * 0b1..Hardware interrupt is requested when PF is set.
  61112. */
  61113. #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK)
  61114. #define LPUART_CTRL_FEIE_MASK (0x2000000U)
  61115. #define LPUART_CTRL_FEIE_SHIFT (25U)
  61116. /*! FEIE - Framing Error Interrupt Enable
  61117. * 0b0..FE interrupts disabled; use polling.
  61118. * 0b1..Hardware interrupt is requested when FE is set.
  61119. */
  61120. #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK)
  61121. #define LPUART_CTRL_NEIE_MASK (0x4000000U)
  61122. #define LPUART_CTRL_NEIE_SHIFT (26U)
  61123. /*! NEIE - Noise Error Interrupt Enable
  61124. * 0b0..NF interrupts disabled; use polling.
  61125. * 0b1..Hardware interrupt is requested when NF is set.
  61126. */
  61127. #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK)
  61128. #define LPUART_CTRL_ORIE_MASK (0x8000000U)
  61129. #define LPUART_CTRL_ORIE_SHIFT (27U)
  61130. /*! ORIE - Overrun Interrupt Enable
  61131. * 0b0..OR interrupts disabled; use polling.
  61132. * 0b1..Hardware interrupt is requested when OR is set.
  61133. */
  61134. #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK)
  61135. #define LPUART_CTRL_TXINV_MASK (0x10000000U)
  61136. #define LPUART_CTRL_TXINV_SHIFT (28U)
  61137. /*! TXINV - Transmit Data Inversion
  61138. * 0b0..Transmit data not inverted.
  61139. * 0b1..Transmit data inverted.
  61140. */
  61141. #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK)
  61142. #define LPUART_CTRL_TXDIR_MASK (0x20000000U)
  61143. #define LPUART_CTRL_TXDIR_SHIFT (29U)
  61144. /*! TXDIR - TXD Pin Direction in Single-Wire Mode
  61145. * 0b0..TXD pin is an input in single-wire mode.
  61146. * 0b1..TXD pin is an output in single-wire mode.
  61147. */
  61148. #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK)
  61149. #define LPUART_CTRL_R9T8_MASK (0x40000000U)
  61150. #define LPUART_CTRL_R9T8_SHIFT (30U)
  61151. /*! R9T8 - Receive Bit 9 / Transmit Bit 8
  61152. */
  61153. #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK)
  61154. #define LPUART_CTRL_R8T9_MASK (0x80000000U)
  61155. #define LPUART_CTRL_R8T9_SHIFT (31U)
  61156. /*! R8T9 - Receive Bit 8 / Transmit Bit 9
  61157. */
  61158. #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK)
  61159. /*! @} */
  61160. /*! @name DATA - LPUART Data Register */
  61161. /*! @{ */
  61162. #define LPUART_DATA_R0T0_MASK (0x1U)
  61163. #define LPUART_DATA_R0T0_SHIFT (0U)
  61164. /*! R0T0 - R0T0
  61165. */
  61166. #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK)
  61167. #define LPUART_DATA_R1T1_MASK (0x2U)
  61168. #define LPUART_DATA_R1T1_SHIFT (1U)
  61169. /*! R1T1 - R1T1
  61170. */
  61171. #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK)
  61172. #define LPUART_DATA_R2T2_MASK (0x4U)
  61173. #define LPUART_DATA_R2T2_SHIFT (2U)
  61174. /*! R2T2 - R2T2
  61175. */
  61176. #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK)
  61177. #define LPUART_DATA_R3T3_MASK (0x8U)
  61178. #define LPUART_DATA_R3T3_SHIFT (3U)
  61179. /*! R3T3 - R3T3
  61180. */
  61181. #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK)
  61182. #define LPUART_DATA_R4T4_MASK (0x10U)
  61183. #define LPUART_DATA_R4T4_SHIFT (4U)
  61184. /*! R4T4 - R4T4
  61185. */
  61186. #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK)
  61187. #define LPUART_DATA_R5T5_MASK (0x20U)
  61188. #define LPUART_DATA_R5T5_SHIFT (5U)
  61189. /*! R5T5 - R5T5
  61190. */
  61191. #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK)
  61192. #define LPUART_DATA_R6T6_MASK (0x40U)
  61193. #define LPUART_DATA_R6T6_SHIFT (6U)
  61194. /*! R6T6 - R6T6
  61195. */
  61196. #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK)
  61197. #define LPUART_DATA_R7T7_MASK (0x80U)
  61198. #define LPUART_DATA_R7T7_SHIFT (7U)
  61199. /*! R7T7 - R7T7
  61200. */
  61201. #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK)
  61202. #define LPUART_DATA_R8T8_MASK (0x100U)
  61203. #define LPUART_DATA_R8T8_SHIFT (8U)
  61204. /*! R8T8 - R8T8
  61205. */
  61206. #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK)
  61207. #define LPUART_DATA_R9T9_MASK (0x200U)
  61208. #define LPUART_DATA_R9T9_SHIFT (9U)
  61209. /*! R9T9 - R9T9
  61210. */
  61211. #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK)
  61212. #define LPUART_DATA_IDLINE_MASK (0x800U)
  61213. #define LPUART_DATA_IDLINE_SHIFT (11U)
  61214. /*! IDLINE - Idle Line
  61215. * 0b0..Receiver was not idle before receiving this character.
  61216. * 0b1..Receiver was idle before receiving this character.
  61217. */
  61218. #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK)
  61219. #define LPUART_DATA_RXEMPT_MASK (0x1000U)
  61220. #define LPUART_DATA_RXEMPT_SHIFT (12U)
  61221. /*! RXEMPT - Receive Buffer Empty
  61222. * 0b0..Receive buffer contains valid data.
  61223. * 0b1..Receive buffer is empty, data returned on read is not valid.
  61224. */
  61225. #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK)
  61226. #define LPUART_DATA_FRETSC_MASK (0x2000U)
  61227. #define LPUART_DATA_FRETSC_SHIFT (13U)
  61228. /*! FRETSC - Frame Error / Transmit Special Character
  61229. * 0b0..The dataword is received without a frame error on read, or transmit a normal character on write.
  61230. * 0b1..The dataword is received with a frame error, or transmit an idle or break character on transmit.
  61231. */
  61232. #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK)
  61233. #define LPUART_DATA_PARITYE_MASK (0x4000U)
  61234. #define LPUART_DATA_PARITYE_SHIFT (14U)
  61235. /*! PARITYE - Parity Error
  61236. * 0b0..The dataword is received without a parity error.
  61237. * 0b1..The dataword is received with a parity error.
  61238. */
  61239. #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK)
  61240. #define LPUART_DATA_NOISY_MASK (0x8000U)
  61241. #define LPUART_DATA_NOISY_SHIFT (15U)
  61242. /*! NOISY - Noisy Data Received
  61243. * 0b0..The dataword is received without noise.
  61244. * 0b1..The data is received with noise.
  61245. */
  61246. #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK)
  61247. /*! @} */
  61248. /*! @name MATCH - LPUART Match Address Register */
  61249. /*! @{ */
  61250. #define LPUART_MATCH_MA1_MASK (0x3FFU)
  61251. #define LPUART_MATCH_MA1_SHIFT (0U)
  61252. /*! MA1 - Match Address 1
  61253. */
  61254. #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK)
  61255. #define LPUART_MATCH_MA2_MASK (0x3FF0000U)
  61256. #define LPUART_MATCH_MA2_SHIFT (16U)
  61257. /*! MA2 - Match Address 2
  61258. */
  61259. #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK)
  61260. /*! @} */
  61261. /*! @name MODIR - LPUART Modem IrDA Register */
  61262. /*! @{ */
  61263. #define LPUART_MODIR_TXCTSE_MASK (0x1U)
  61264. #define LPUART_MODIR_TXCTSE_SHIFT (0U)
  61265. /*! TXCTSE - Transmitter clear-to-send enable
  61266. * 0b0..CTS has no effect on the transmitter.
  61267. * 0b1..Enables clear-to-send operation. The transmitter checks the state of CTS each time it is ready to send a
  61268. * character. If CTS is asserted, the character is sent. If CTS is deasserted, the signal TXD remains in the
  61269. * mark state and transmission is delayed until CTS is asserted. Changes in CTS as a character is being sent
  61270. * do not affect its transmission.
  61271. */
  61272. #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK)
  61273. #define LPUART_MODIR_TXRTSE_MASK (0x2U)
  61274. #define LPUART_MODIR_TXRTSE_SHIFT (1U)
  61275. /*! TXRTSE - Transmitter request-to-send enable
  61276. * 0b0..The transmitter has no effect on RTS.
  61277. * 0b1..When a character is placed into an empty transmit shift register, RTS asserts one bit time before the
  61278. * start bit is transmitted. RTS deasserts one bit time after all characters in the transmitter FIFO and shift
  61279. * register are completely sent, including the last stop bit.
  61280. */
  61281. #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK)
  61282. #define LPUART_MODIR_TXRTSPOL_MASK (0x4U)
  61283. #define LPUART_MODIR_TXRTSPOL_SHIFT (2U)
  61284. /*! TXRTSPOL - Transmitter request-to-send polarity
  61285. * 0b0..Transmitter RTS is active low.
  61286. * 0b1..Transmitter RTS is active high.
  61287. */
  61288. #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK)
  61289. #define LPUART_MODIR_RXRTSE_MASK (0x8U)
  61290. #define LPUART_MODIR_RXRTSE_SHIFT (3U)
  61291. /*! RXRTSE - Receiver request-to-send enable
  61292. * 0b0..The receiver has no effect on RTS.
  61293. * 0b1..RTS is deasserted if the receiver data register is full or a start bit has been detected that would cause
  61294. * the receiver data register to become full. RTS is asserted if the receiver data register is not full and
  61295. * has not detected a start bit that would cause the receiver data register to become full.
  61296. */
  61297. #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK)
  61298. #define LPUART_MODIR_TXCTSC_MASK (0x10U)
  61299. #define LPUART_MODIR_TXCTSC_SHIFT (4U)
  61300. /*! TXCTSC - Transmit CTS Configuration
  61301. * 0b0..CTS input is sampled at the start of each character.
  61302. * 0b1..CTS input is sampled when the transmitter is idle.
  61303. */
  61304. #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK)
  61305. #define LPUART_MODIR_TXCTSSRC_MASK (0x20U)
  61306. #define LPUART_MODIR_TXCTSSRC_SHIFT (5U)
  61307. /*! TXCTSSRC - Transmit CTS Source
  61308. * 0b0..CTS input is the CTS_B pin.
  61309. * 0b1..CTS input is an internal connection to the receiver address match result.
  61310. */
  61311. #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK)
  61312. #define LPUART_MODIR_RTSWATER_MASK (0x300U)
  61313. #define LPUART_MODIR_RTSWATER_SHIFT (8U)
  61314. /*! RTSWATER - Receive RTS Configuration
  61315. */
  61316. #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK)
  61317. #define LPUART_MODIR_TNP_MASK (0x30000U)
  61318. #define LPUART_MODIR_TNP_SHIFT (16U)
  61319. /*! TNP - Transmitter narrow pulse
  61320. * 0b00..1/OSR.
  61321. * 0b01..2/OSR.
  61322. * 0b10..3/OSR.
  61323. * 0b11..4/OSR.
  61324. */
  61325. #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK)
  61326. #define LPUART_MODIR_IREN_MASK (0x40000U)
  61327. #define LPUART_MODIR_IREN_SHIFT (18U)
  61328. /*! IREN - Infrared enable
  61329. * 0b0..IR disabled.
  61330. * 0b1..IR enabled.
  61331. */
  61332. #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK)
  61333. /*! @} */
  61334. /*! @name FIFO - LPUART FIFO Register */
  61335. /*! @{ */
  61336. #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U)
  61337. #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U)
  61338. /*! RXFIFOSIZE - Receive FIFO Buffer Depth
  61339. * 0b000..Receive FIFO/Buffer depth = 1 dataword.
  61340. * 0b001..Receive FIFO/Buffer depth = 4 datawords.
  61341. * 0b010..Receive FIFO/Buffer depth = 8 datawords.
  61342. * 0b011..Receive FIFO/Buffer depth = 16 datawords.
  61343. * 0b100..Receive FIFO/Buffer depth = 32 datawords.
  61344. * 0b101..Receive FIFO/Buffer depth = 64 datawords.
  61345. * 0b110..Receive FIFO/Buffer depth = 128 datawords.
  61346. * 0b111..Receive FIFO/Buffer depth = 256 datawords.
  61347. */
  61348. #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK)
  61349. #define LPUART_FIFO_RXFE_MASK (0x8U)
  61350. #define LPUART_FIFO_RXFE_SHIFT (3U)
  61351. /*! RXFE - Receive FIFO Enable
  61352. * 0b0..Receive FIFO is not enabled. Buffer depth is 1.
  61353. * 0b1..Receive FIFO is enabled. Buffer depth is indicted by RXFIFOSIZE.
  61354. */
  61355. #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK)
  61356. #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U)
  61357. #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U)
  61358. /*! TXFIFOSIZE - Transmit FIFO Buffer Depth
  61359. * 0b000..Transmit FIFO/Buffer depth = 1 dataword.
  61360. * 0b001..Transmit FIFO/Buffer depth = 4 datawords.
  61361. * 0b010..Transmit FIFO/Buffer depth = 8 datawords.
  61362. * 0b011..Transmit FIFO/Buffer depth = 16 datawords.
  61363. * 0b100..Transmit FIFO/Buffer depth = 32 datawords.
  61364. * 0b101..Transmit FIFO/Buffer depth = 64 datawords.
  61365. * 0b110..Transmit FIFO/Buffer depth = 128 datawords.
  61366. * 0b111..Transmit FIFO/Buffer depth = 256 datawords
  61367. */
  61368. #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK)
  61369. #define LPUART_FIFO_TXFE_MASK (0x80U)
  61370. #define LPUART_FIFO_TXFE_SHIFT (7U)
  61371. /*! TXFE - Transmit FIFO Enable
  61372. * 0b0..Transmit FIFO is not enabled. Buffer depth is 1.
  61373. * 0b1..Transmit FIFO is enabled. Buffer depth is indicated by TXFIFOSIZE.
  61374. */
  61375. #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK)
  61376. #define LPUART_FIFO_RXUFE_MASK (0x100U)
  61377. #define LPUART_FIFO_RXUFE_SHIFT (8U)
  61378. /*! RXUFE - Receive FIFO Underflow Interrupt Enable
  61379. * 0b0..RXUF flag does not generate an interrupt to the host.
  61380. * 0b1..RXUF flag generates an interrupt to the host.
  61381. */
  61382. #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK)
  61383. #define LPUART_FIFO_TXOFE_MASK (0x200U)
  61384. #define LPUART_FIFO_TXOFE_SHIFT (9U)
  61385. /*! TXOFE - Transmit FIFO Overflow Interrupt Enable
  61386. * 0b0..TXOF flag does not generate an interrupt to the host.
  61387. * 0b1..TXOF flag generates an interrupt to the host.
  61388. */
  61389. #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK)
  61390. #define LPUART_FIFO_RXIDEN_MASK (0x1C00U)
  61391. #define LPUART_FIFO_RXIDEN_SHIFT (10U)
  61392. /*! RXIDEN - Receiver Idle Empty Enable
  61393. * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle.
  61394. * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character.
  61395. * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters.
  61396. * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters.
  61397. * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters.
  61398. * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters.
  61399. * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters.
  61400. * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters.
  61401. */
  61402. #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK)
  61403. #define LPUART_FIFO_RXFLUSH_MASK (0x4000U)
  61404. #define LPUART_FIFO_RXFLUSH_SHIFT (14U)
  61405. /*! RXFLUSH - Receive FIFO Flush
  61406. * 0b0..No flush operation occurs.
  61407. * 0b1..All data in the receive FIFO/buffer is cleared out.
  61408. */
  61409. #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK)
  61410. #define LPUART_FIFO_TXFLUSH_MASK (0x8000U)
  61411. #define LPUART_FIFO_TXFLUSH_SHIFT (15U)
  61412. /*! TXFLUSH - Transmit FIFO Flush
  61413. * 0b0..No flush operation occurs.
  61414. * 0b1..All data in the transmit FIFO is cleared out.
  61415. */
  61416. #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK)
  61417. #define LPUART_FIFO_RXUF_MASK (0x10000U)
  61418. #define LPUART_FIFO_RXUF_SHIFT (16U)
  61419. /*! RXUF - Receiver FIFO Underflow Flag
  61420. * 0b0..No receive FIFO underflow has occurred since the last time the flag was cleared.
  61421. * 0b1..At least one receive FIFO underflow has occurred since the last time the flag was cleared.
  61422. */
  61423. #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK)
  61424. #define LPUART_FIFO_TXOF_MASK (0x20000U)
  61425. #define LPUART_FIFO_TXOF_SHIFT (17U)
  61426. /*! TXOF - Transmitter FIFO Overflow Flag
  61427. * 0b0..No transmit FIFO overflow has occurred since the last time the flag was cleared.
  61428. * 0b1..At least one transmit FIFO overflow has occurred since the last time the flag was cleared.
  61429. */
  61430. #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK)
  61431. #define LPUART_FIFO_RXEMPT_MASK (0x400000U)
  61432. #define LPUART_FIFO_RXEMPT_SHIFT (22U)
  61433. /*! RXEMPT - Receive FIFO/Buffer Empty
  61434. * 0b0..Receive buffer is not empty.
  61435. * 0b1..Receive buffer is empty.
  61436. */
  61437. #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK)
  61438. #define LPUART_FIFO_TXEMPT_MASK (0x800000U)
  61439. #define LPUART_FIFO_TXEMPT_SHIFT (23U)
  61440. /*! TXEMPT - Transmit FIFO/Buffer Empty
  61441. * 0b0..Transmit buffer is not empty.
  61442. * 0b1..Transmit buffer is empty.
  61443. */
  61444. #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK)
  61445. /*! @} */
  61446. /*! @name WATER - LPUART Watermark Register */
  61447. /*! @{ */
  61448. #define LPUART_WATER_TXWATER_MASK (0x3U)
  61449. #define LPUART_WATER_TXWATER_SHIFT (0U)
  61450. /*! TXWATER - Transmit Watermark
  61451. */
  61452. #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK)
  61453. #define LPUART_WATER_TXCOUNT_MASK (0x700U)
  61454. #define LPUART_WATER_TXCOUNT_SHIFT (8U)
  61455. /*! TXCOUNT - Transmit Counter
  61456. */
  61457. #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK)
  61458. #define LPUART_WATER_RXWATER_MASK (0x30000U)
  61459. #define LPUART_WATER_RXWATER_SHIFT (16U)
  61460. /*! RXWATER - Receive Watermark
  61461. */
  61462. #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK)
  61463. #define LPUART_WATER_RXCOUNT_MASK (0x7000000U)
  61464. #define LPUART_WATER_RXCOUNT_SHIFT (24U)
  61465. /*! RXCOUNT - Receive Counter
  61466. */
  61467. #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK)
  61468. /*! @} */
  61469. /*!
  61470. * @}
  61471. */ /* end of group LPUART_Register_Masks */
  61472. /* LPUART - Peripheral instance base addresses */
  61473. /** Peripheral LPUART1 base address */
  61474. #define LPUART1_BASE (0x4007C000u)
  61475. /** Peripheral LPUART1 base pointer */
  61476. #define LPUART1 ((LPUART_Type *)LPUART1_BASE)
  61477. /** Peripheral LPUART2 base address */
  61478. #define LPUART2_BASE (0x40080000u)
  61479. /** Peripheral LPUART2 base pointer */
  61480. #define LPUART2 ((LPUART_Type *)LPUART2_BASE)
  61481. /** Peripheral LPUART3 base address */
  61482. #define LPUART3_BASE (0x40084000u)
  61483. /** Peripheral LPUART3 base pointer */
  61484. #define LPUART3 ((LPUART_Type *)LPUART3_BASE)
  61485. /** Peripheral LPUART4 base address */
  61486. #define LPUART4_BASE (0x40088000u)
  61487. /** Peripheral LPUART4 base pointer */
  61488. #define LPUART4 ((LPUART_Type *)LPUART4_BASE)
  61489. /** Peripheral LPUART5 base address */
  61490. #define LPUART5_BASE (0x4008C000u)
  61491. /** Peripheral LPUART5 base pointer */
  61492. #define LPUART5 ((LPUART_Type *)LPUART5_BASE)
  61493. /** Peripheral LPUART6 base address */
  61494. #define LPUART6_BASE (0x40090000u)
  61495. /** Peripheral LPUART6 base pointer */
  61496. #define LPUART6 ((LPUART_Type *)LPUART6_BASE)
  61497. /** Peripheral LPUART7 base address */
  61498. #define LPUART7_BASE (0x40094000u)
  61499. /** Peripheral LPUART7 base pointer */
  61500. #define LPUART7 ((LPUART_Type *)LPUART7_BASE)
  61501. /** Peripheral LPUART8 base address */
  61502. #define LPUART8_BASE (0x40098000u)
  61503. /** Peripheral LPUART8 base pointer */
  61504. #define LPUART8 ((LPUART_Type *)LPUART8_BASE)
  61505. /** Peripheral LPUART9 base address */
  61506. #define LPUART9_BASE (0x4009C000u)
  61507. /** Peripheral LPUART9 base pointer */
  61508. #define LPUART9 ((LPUART_Type *)LPUART9_BASE)
  61509. /** Peripheral LPUART10 base address */
  61510. #define LPUART10_BASE (0x400A0000u)
  61511. /** Peripheral LPUART10 base pointer */
  61512. #define LPUART10 ((LPUART_Type *)LPUART10_BASE)
  61513. /** Peripheral LPUART11 base address */
  61514. #define LPUART11_BASE (0x40C24000u)
  61515. /** Peripheral LPUART11 base pointer */
  61516. #define LPUART11 ((LPUART_Type *)LPUART11_BASE)
  61517. /** Peripheral LPUART12 base address */
  61518. #define LPUART12_BASE (0x40C28000u)
  61519. /** Peripheral LPUART12 base pointer */
  61520. #define LPUART12 ((LPUART_Type *)LPUART12_BASE)
  61521. /** Array initializer of LPUART peripheral base addresses */
  61522. #define LPUART_BASE_ADDRS { 0u, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE, LPUART4_BASE, LPUART5_BASE, LPUART6_BASE, LPUART7_BASE, LPUART8_BASE, LPUART9_BASE, LPUART10_BASE, LPUART11_BASE, LPUART12_BASE }
  61523. /** Array initializer of LPUART peripheral base pointers */
  61524. #define LPUART_BASE_PTRS { (LPUART_Type *)0u, LPUART1, LPUART2, LPUART3, LPUART4, LPUART5, LPUART6, LPUART7, LPUART8, LPUART9, LPUART10, LPUART11, LPUART12 }
  61525. /** Interrupt vectors for the LPUART peripheral type */
  61526. #define LPUART_RX_TX_IRQS { NotAvail_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn, LPUART4_IRQn, LPUART5_IRQn, LPUART6_IRQn, LPUART7_IRQn, LPUART8_IRQn, LPUART9_IRQn, LPUART10_IRQn, LPUART11_IRQn, LPUART12_IRQn }
  61527. /*!
  61528. * @}
  61529. */ /* end of group LPUART_Peripheral_Access_Layer */
  61530. /* ----------------------------------------------------------------------------
  61531. -- MCM Peripheral Access Layer
  61532. ---------------------------------------------------------------------------- */
  61533. /*!
  61534. * @addtogroup MCM_Peripheral_Access_Layer MCM Peripheral Access Layer
  61535. * @{
  61536. */
  61537. /** MCM - Register Layout Typedef */
  61538. typedef struct {
  61539. uint8_t RESERVED_0[16];
  61540. __IO uint32_t ISCR; /**< Interrupt Status and Control Register, offset: 0x10 */
  61541. } MCM_Type;
  61542. /* ----------------------------------------------------------------------------
  61543. -- MCM Register Masks
  61544. ---------------------------------------------------------------------------- */
  61545. /*!
  61546. * @addtogroup MCM_Register_Masks MCM Register Masks
  61547. * @{
  61548. */
  61549. /*! @name ISCR - Interrupt Status and Control Register */
  61550. /*! @{ */
  61551. #define MCM_ISCR_WABS_MASK (0x20U)
  61552. #define MCM_ISCR_WABS_SHIFT (5U)
  61553. /*! WABS - Write Abort on Slave
  61554. * 0b0..No abort
  61555. * 0b1..Abort
  61556. */
  61557. #define MCM_ISCR_WABS(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_WABS_SHIFT)) & MCM_ISCR_WABS_MASK)
  61558. #define MCM_ISCR_WABSO_MASK (0x40U)
  61559. #define MCM_ISCR_WABSO_SHIFT (6U)
  61560. /*! WABSO - Write Abort on Slave Overrun
  61561. * 0b0..No write abort overrun
  61562. * 0b1..Write abort overrun occurred
  61563. */
  61564. #define MCM_ISCR_WABSO(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_WABSO_SHIFT)) & MCM_ISCR_WABSO_MASK)
  61565. #define MCM_ISCR_FIOC_MASK (0x100U)
  61566. #define MCM_ISCR_FIOC_SHIFT (8U)
  61567. /*! FIOC - FPU Invalid Operation interrupt Status
  61568. * 0b0..No interrupt
  61569. * 0b1..Interrupt occured
  61570. */
  61571. #define MCM_ISCR_FIOC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOC_SHIFT)) & MCM_ISCR_FIOC_MASK)
  61572. #define MCM_ISCR_FDZC_MASK (0x200U)
  61573. #define MCM_ISCR_FDZC_SHIFT (9U)
  61574. /*! FDZC - FPU Divide-by-Zero Interrupt Status
  61575. * 0b0..No interrupt
  61576. * 0b1..Interrupt occured
  61577. */
  61578. #define MCM_ISCR_FDZC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZC_SHIFT)) & MCM_ISCR_FDZC_MASK)
  61579. #define MCM_ISCR_FOFC_MASK (0x400U)
  61580. #define MCM_ISCR_FOFC_SHIFT (10U)
  61581. /*! FOFC - FPU Overflow interrupt status
  61582. * 0b0..No interrupt
  61583. * 0b1..Interrupt occured
  61584. */
  61585. #define MCM_ISCR_FOFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFC_SHIFT)) & MCM_ISCR_FOFC_MASK)
  61586. #define MCM_ISCR_FUFC_MASK (0x800U)
  61587. #define MCM_ISCR_FUFC_SHIFT (11U)
  61588. /*! FUFC - FPU Underflow Interrupt Status
  61589. * 0b0..No interrupt
  61590. * 0b1..Interrupt occured
  61591. */
  61592. #define MCM_ISCR_FUFC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFC_SHIFT)) & MCM_ISCR_FUFC_MASK)
  61593. #define MCM_ISCR_FIXC_MASK (0x1000U)
  61594. #define MCM_ISCR_FIXC_SHIFT (12U)
  61595. /*! FIXC - FPU Inexact Interrupt Status
  61596. * 0b0..No interrupt
  61597. * 0b1..Interrupt occured
  61598. */
  61599. #define MCM_ISCR_FIXC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXC_SHIFT)) & MCM_ISCR_FIXC_MASK)
  61600. #define MCM_ISCR_FIDC_MASK (0x8000U)
  61601. #define MCM_ISCR_FIDC_SHIFT (15U)
  61602. /*! FIDC - FPU Input Denormal Interrupt Status
  61603. * 0b0..No interrupt
  61604. * 0b1..Interrupt occured
  61605. */
  61606. #define MCM_ISCR_FIDC(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDC_SHIFT)) & MCM_ISCR_FIDC_MASK)
  61607. #define MCM_ISCR_WABE_MASK (0x200000U)
  61608. #define MCM_ISCR_WABE_SHIFT (21U)
  61609. /*! WABE - TCM Write Abort Interrupt enable
  61610. * 0b0..Disable interrupt
  61611. * 0b1..Enable interrupt
  61612. */
  61613. #define MCM_ISCR_WABE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_WABE_SHIFT)) & MCM_ISCR_WABE_MASK)
  61614. #define MCM_ISCR_FIOCE_MASK (0x1000000U)
  61615. #define MCM_ISCR_FIOCE_SHIFT (24U)
  61616. /*! FIOCE - FPU Invalid Operation Interrupt Enable
  61617. * 0b0..Disable interrupt
  61618. * 0b1..Enable interrupt
  61619. */
  61620. #define MCM_ISCR_FIOCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIOCE_SHIFT)) & MCM_ISCR_FIOCE_MASK)
  61621. #define MCM_ISCR_FDZCE_MASK (0x2000000U)
  61622. #define MCM_ISCR_FDZCE_SHIFT (25U)
  61623. /*! FDZCE - FPU Divide-by-Zero Interrupt Enable
  61624. * 0b0..Disable interrupt
  61625. * 0b1..Enable interrupt
  61626. */
  61627. #define MCM_ISCR_FDZCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FDZCE_SHIFT)) & MCM_ISCR_FDZCE_MASK)
  61628. #define MCM_ISCR_FOFCE_MASK (0x4000000U)
  61629. #define MCM_ISCR_FOFCE_SHIFT (26U)
  61630. /*! FOFCE - FPU Overflow Interrupt Enable
  61631. * 0b0..Disable interrupt
  61632. * 0b1..Enable interrupt
  61633. */
  61634. #define MCM_ISCR_FOFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FOFCE_SHIFT)) & MCM_ISCR_FOFCE_MASK)
  61635. #define MCM_ISCR_FUFCE_MASK (0x8000000U)
  61636. #define MCM_ISCR_FUFCE_SHIFT (27U)
  61637. /*! FUFCE - FPU Underflow Interrupt Enable
  61638. * 0b0..Disable interrupt
  61639. * 0b1..Enable interrupt
  61640. */
  61641. #define MCM_ISCR_FUFCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FUFCE_SHIFT)) & MCM_ISCR_FUFCE_MASK)
  61642. #define MCM_ISCR_FIXCE_MASK (0x10000000U)
  61643. #define MCM_ISCR_FIXCE_SHIFT (28U)
  61644. /*! FIXCE - FPU Inexact Interrupt Enable
  61645. * 0b0..Disable interrupt
  61646. * 0b1..Enable interrupt
  61647. */
  61648. #define MCM_ISCR_FIXCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIXCE_SHIFT)) & MCM_ISCR_FIXCE_MASK)
  61649. #define MCM_ISCR_FIDCE_MASK (0x80000000U)
  61650. #define MCM_ISCR_FIDCE_SHIFT (31U)
  61651. /*! FIDCE - FPU Input Denormal Interrupt Enable
  61652. * 0b0..Disable interrupt
  61653. * 0b1..Enable interrupt
  61654. */
  61655. #define MCM_ISCR_FIDCE(x) (((uint32_t)(((uint32_t)(x)) << MCM_ISCR_FIDCE_SHIFT)) & MCM_ISCR_FIDCE_MASK)
  61656. /*! @} */
  61657. /*!
  61658. * @}
  61659. */ /* end of group MCM_Register_Masks */
  61660. /* MCM - Peripheral instance base addresses */
  61661. /** Peripheral CM7_MCM base address */
  61662. #define CM7_MCM_BASE (0xE0080000u)
  61663. /** Peripheral CM7_MCM base pointer */
  61664. #define CM7_MCM ((MCM_Type *)CM7_MCM_BASE)
  61665. /** Array initializer of MCM peripheral base addresses */
  61666. #define MCM_BASE_ADDRS { CM7_MCM_BASE }
  61667. /** Array initializer of MCM peripheral base pointers */
  61668. #define MCM_BASE_PTRS { CM7_MCM }
  61669. /*!
  61670. * @}
  61671. */ /* end of group MCM_Peripheral_Access_Layer */
  61672. /* ----------------------------------------------------------------------------
  61673. -- MECC Peripheral Access Layer
  61674. ---------------------------------------------------------------------------- */
  61675. /*!
  61676. * @addtogroup MECC_Peripheral_Access_Layer MECC Peripheral Access Layer
  61677. * @{
  61678. */
  61679. /** MECC - Register Layout Typedef */
  61680. typedef struct {
  61681. __IO uint32_t ERR_STATUS; /**< Error Interrupt Status Register, offset: 0x0 */
  61682. __IO uint32_t ERR_STAT_EN; /**< Error Interrupt Status Enable Register, offset: 0x4 */
  61683. __IO uint32_t ERR_SIG_EN; /**< Error Interrupt Enable Register, offset: 0x8 */
  61684. __IO uint32_t ERR_DATA_INJ_LOW0; /**< Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data, offset: 0xC */
  61685. __IO uint32_t ERR_DATA_INJ_HIGH0; /**< Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data, offset: 0x10 */
  61686. __IO uint32_t ERR_ECC_INJ0; /**< Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data, offset: 0x14 */
  61687. __IO uint32_t ERR_DATA_INJ_LOW1; /**< Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data, offset: 0x18 */
  61688. __IO uint32_t ERR_DATA_INJ_HIGH1; /**< Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data, offset: 0x1C */
  61689. __IO uint32_t ERR_ECC_INJ1; /**< Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data, offset: 0x20 */
  61690. __IO uint32_t ERR_DATA_INJ_LOW2; /**< Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data, offset: 0x24 */
  61691. __IO uint32_t ERR_DATA_INJ_HIGH2; /**< Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data, offset: 0x28 */
  61692. __IO uint32_t ERR_ECC_INJ2; /**< Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data, offset: 0x2C */
  61693. __IO uint32_t ERR_DATA_INJ_LOW3; /**< Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data, offset: 0x30 */
  61694. __IO uint32_t ERR_DATA_INJ_HIGH3; /**< Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data, offset: 0x34 */
  61695. __IO uint32_t ERR_ECC_INJ3; /**< Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data, offset: 0x38 */
  61696. __I uint32_t SINGLE_ERR_ADDR_ECC0; /**< Single Error Address And ECC code On OCRAM Bank0, offset: 0x3C */
  61697. __I uint32_t SINGLE_ERR_DATA_LOW0; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank0, offset: 0x40 */
  61698. __I uint32_t SINGLE_ERR_DATA_HIGH0; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank0, offset: 0x44 */
  61699. __I uint32_t SINGLE_ERR_POS_LOW0; /**< LOW Single Error Bit Position On OCRAM Bank0, offset: 0x48 */
  61700. __I uint32_t SINGLE_ERR_POS_HIGH0; /**< HIGH Single Error Bit Position On OCRAM Bank0, offset: 0x4C */
  61701. __I uint32_t SINGLE_ERR_ADDR_ECC1; /**< Single Error Address And ECC code On OCRAM Bank1, offset: 0x50 */
  61702. __I uint32_t SINGLE_ERR_DATA_LOW1; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank1, offset: 0x54 */
  61703. __I uint32_t SINGLE_ERR_DATA_HIGH1; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank1, offset: 0x58 */
  61704. __I uint32_t SINGLE_ERR_POS_LOW1; /**< LOW Single Error Bit Position On OCRAM Bank1, offset: 0x5C */
  61705. __I uint32_t SINGLE_ERR_POS_HIGH1; /**< HIGH Single Error Bit Position On OCRAM Bank1, offset: 0x60 */
  61706. __I uint32_t SINGLE_ERR_ADDR_ECC2; /**< Single Error Address And ECC code On OCRAM Bank2, offset: 0x64 */
  61707. __I uint32_t SINGLE_ERR_DATA_LOW2; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank2, offset: 0x68 */
  61708. __I uint32_t SINGLE_ERR_DATA_HIGH2; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank2, offset: 0x6C */
  61709. __I uint32_t SINGLE_ERR_POS_LOW2; /**< LOW Single Error Bit Position On OCRAM Bank2, offset: 0x70 */
  61710. __I uint32_t SINGLE_ERR_POS_HIGH2; /**< HIGH Single Error Bit Position On OCRAM Bank2, offset: 0x74 */
  61711. __I uint32_t SINGLE_ERR_ADDR_ECC3; /**< Single Error Address And ECC code On OCRAM Bank3, offset: 0x78 */
  61712. __I uint32_t SINGLE_ERR_DATA_LOW3; /**< LOW 32 Bits Single Error Read Data On OCRAM Bank3, offset: 0x7C */
  61713. __I uint32_t SINGLE_ERR_DATA_HIGH3; /**< HIGH 32 Bits Single Error Read Data On OCRAM Bank3, offset: 0x80 */
  61714. __I uint32_t SINGLE_ERR_POS_LOW3; /**< LOW Single Error Bit Position On OCRAM Bank3, offset: 0x84 */
  61715. __I uint32_t SINGLE_ERR_POS_HIGH3; /**< HIGH Single Error Bit Position On OCRAM Bank3, offset: 0x88 */
  61716. __I uint32_t MULTI_ERR_ADDR_ECC0; /**< Multiple Error Address And ECC code On OCRAM Bank0, offset: 0x8C */
  61717. __I uint32_t MULTI_ERR_DATA_LOW0; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank0, offset: 0x90 */
  61718. __I uint32_t MULTI_ERR_DATA_HIGH0; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0, offset: 0x94 */
  61719. __I uint32_t MULTI_ERR_ADDR_ECC1; /**< Multiple Error Address And ECC code On OCRAM Bank1, offset: 0x98 */
  61720. __I uint32_t MULTI_ERR_DATA_LOW1; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank1, offset: 0x9C */
  61721. __I uint32_t MULTI_ERR_DATA_HIGH1; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1, offset: 0xA0 */
  61722. __I uint32_t MULTI_ERR_ADDR_ECC2; /**< Multiple Error Address And ECC code On OCRAM Bank2, offset: 0xA4 */
  61723. __I uint32_t MULTI_ERR_DATA_LOW2; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank2, offset: 0xA8 */
  61724. __I uint32_t MULTI_ERR_DATA_HIGH2; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2, offset: 0xAC */
  61725. __I uint32_t MULTI_ERR_ADDR_ECC3; /**< Multiple Error Address And ECC code On OCRAM Bank3, offset: 0xB0 */
  61726. __I uint32_t MULTI_ERR_DATA_LOW3; /**< LOW 32 Bits Multiple Error Read Data On OCRAM Bank3, offset: 0xB4 */
  61727. __I uint32_t MULTI_ERR_DATA_HIGH3; /**< HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3, offset: 0xB8 */
  61728. uint8_t RESERVED_0[68];
  61729. __IO uint32_t PIPE_ECC_EN; /**< OCRAM Pipeline And ECC Enable, offset: 0x100 */
  61730. __I uint32_t PENDING_STAT; /**< Pending Status, offset: 0x104 */
  61731. } MECC_Type;
  61732. /* ----------------------------------------------------------------------------
  61733. -- MECC Register Masks
  61734. ---------------------------------------------------------------------------- */
  61735. /*!
  61736. * @addtogroup MECC_Register_Masks MECC Register Masks
  61737. * @{
  61738. */
  61739. /*! @name ERR_STATUS - Error Interrupt Status Register */
  61740. /*! @{ */
  61741. #define MECC_ERR_STATUS_SINGLE_ERR0_MASK (0x1U)
  61742. #define MECC_ERR_STATUS_SINGLE_ERR0_SHIFT (0U)
  61743. /*! SINGLE_ERR0 - Single Bit Error On OCRAM Bank0
  61744. * 0b0..Single bit error does not happen on OCRAM bank0.
  61745. * 0b1..Single bit error happens on OCRAM bank0.
  61746. */
  61747. #define MECC_ERR_STATUS_SINGLE_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR0_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR0_MASK)
  61748. #define MECC_ERR_STATUS_SINGLE_ERR1_MASK (0x2U)
  61749. #define MECC_ERR_STATUS_SINGLE_ERR1_SHIFT (1U)
  61750. /*! SINGLE_ERR1 - Single Bit Error On OCRAM Bank1
  61751. * 0b0..Single bit error does not happen on OCRAM bank1.
  61752. * 0b1..Single bit error happens on OCRAM bank1.
  61753. */
  61754. #define MECC_ERR_STATUS_SINGLE_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR1_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR1_MASK)
  61755. #define MECC_ERR_STATUS_SINGLE_ERR2_MASK (0x4U)
  61756. #define MECC_ERR_STATUS_SINGLE_ERR2_SHIFT (2U)
  61757. /*! SINGLE_ERR2 - Single Bit Error On OCRAM Bank2
  61758. * 0b0..Single bit error does not happen on OCRAM bank2.
  61759. * 0b1..Single bit error happens on OCRAM bank2.
  61760. */
  61761. #define MECC_ERR_STATUS_SINGLE_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR2_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR2_MASK)
  61762. #define MECC_ERR_STATUS_SINGLE_ERR3_MASK (0x8U)
  61763. #define MECC_ERR_STATUS_SINGLE_ERR3_SHIFT (3U)
  61764. /*! SINGLE_ERR3 - Single Bit Error On OCRAM Bank3
  61765. * 0b0..Single bit error does not happen on OCRAM bank3.
  61766. * 0b1..Single bit error happens on OCRAM bank3.
  61767. */
  61768. #define MECC_ERR_STATUS_SINGLE_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_SINGLE_ERR3_SHIFT)) & MECC_ERR_STATUS_SINGLE_ERR3_MASK)
  61769. #define MECC_ERR_STATUS_MULTI_ERR0_MASK (0x10U)
  61770. #define MECC_ERR_STATUS_MULTI_ERR0_SHIFT (4U)
  61771. /*! MULTI_ERR0 - Multiple Bits Error On OCRAM Bank0
  61772. * 0b0..Multiple bits error does not happen on OCRAM bank0.
  61773. * 0b1..Multiple bits error happens on OCRAM bank0.
  61774. */
  61775. #define MECC_ERR_STATUS_MULTI_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR0_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR0_MASK)
  61776. #define MECC_ERR_STATUS_MULTI_ERR1_MASK (0x20U)
  61777. #define MECC_ERR_STATUS_MULTI_ERR1_SHIFT (5U)
  61778. /*! MULTI_ERR1 - Multiple Bits Error On OCRAM Bank1
  61779. * 0b0..Multiple bits error does not happen on OCRAM bank1.
  61780. * 0b1..Multiple bits error happens on OCRAM bank1.
  61781. */
  61782. #define MECC_ERR_STATUS_MULTI_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR1_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR1_MASK)
  61783. #define MECC_ERR_STATUS_MULTI_ERR2_MASK (0x40U)
  61784. #define MECC_ERR_STATUS_MULTI_ERR2_SHIFT (6U)
  61785. /*! MULTI_ERR2 - Multiple Bits Error On OCRAM Bank2
  61786. * 0b0..Multiple bits error does not happen on OCRAM bank2.
  61787. * 0b1..Multiple bits error happens on OCRAM bank2.
  61788. */
  61789. #define MECC_ERR_STATUS_MULTI_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR2_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR2_MASK)
  61790. #define MECC_ERR_STATUS_MULTI_ERR3_MASK (0x80U)
  61791. #define MECC_ERR_STATUS_MULTI_ERR3_SHIFT (7U)
  61792. /*! MULTI_ERR3 - Multiple Bits Error On OCRAM Bank3
  61793. * 0b0..Multiple bits error does not happen on OCRAM bank3.
  61794. * 0b1..Multiple bits error happens on OCRAM bank3.
  61795. */
  61796. #define MECC_ERR_STATUS_MULTI_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_MULTI_ERR3_SHIFT)) & MECC_ERR_STATUS_MULTI_ERR3_MASK)
  61797. #define MECC_ERR_STATUS_STRB_ERR0_MASK (0x100U)
  61798. #define MECC_ERR_STATUS_STRB_ERR0_SHIFT (8U)
  61799. /*! STRB_ERR0 - AXI Strobe Error On OCRAM Bank0
  61800. * 0b0..AXI strobe error does not happen on OCRAM bank0.
  61801. * 0b1..AXI strobe error happens on OCRAM bank0.
  61802. */
  61803. #define MECC_ERR_STATUS_STRB_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR0_SHIFT)) & MECC_ERR_STATUS_STRB_ERR0_MASK)
  61804. #define MECC_ERR_STATUS_STRB_ERR1_MASK (0x200U)
  61805. #define MECC_ERR_STATUS_STRB_ERR1_SHIFT (9U)
  61806. /*! STRB_ERR1 - AXI Strobe Error On OCRAM Bank1
  61807. * 0b0..AXI strobe error does not happen on OCRAM bank1.
  61808. * 0b1..AXI strobe error happens on OCRAM bank1.
  61809. */
  61810. #define MECC_ERR_STATUS_STRB_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR1_SHIFT)) & MECC_ERR_STATUS_STRB_ERR1_MASK)
  61811. #define MECC_ERR_STATUS_STRB_ERR2_MASK (0x400U)
  61812. #define MECC_ERR_STATUS_STRB_ERR2_SHIFT (10U)
  61813. /*! STRB_ERR2 - AXI Strobe Error On OCRAM Bank2
  61814. * 0b0..AXI strobe error does not happen on OCRAM bank2.
  61815. * 0b1..AXI strobe error happens on OCRAM bank2.
  61816. */
  61817. #define MECC_ERR_STATUS_STRB_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR2_SHIFT)) & MECC_ERR_STATUS_STRB_ERR2_MASK)
  61818. #define MECC_ERR_STATUS_STRB_ERR3_MASK (0x800U)
  61819. #define MECC_ERR_STATUS_STRB_ERR3_SHIFT (11U)
  61820. /*! STRB_ERR3 - AXI Strobe Error On OCRAM Bank3
  61821. * 0b0..AXI strobe error does not happen on OCRAM bank3.
  61822. * 0b1..AXI strobe error happens on OCRAM bank3.
  61823. */
  61824. #define MECC_ERR_STATUS_STRB_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_STRB_ERR3_SHIFT)) & MECC_ERR_STATUS_STRB_ERR3_MASK)
  61825. #define MECC_ERR_STATUS_ADDR_ERR0_MASK (0x1000U)
  61826. #define MECC_ERR_STATUS_ADDR_ERR0_SHIFT (12U)
  61827. /*! ADDR_ERR0 - OCRAM Access Error On Bank0
  61828. * 0b0..OCRAM access error does not happen on OCRAM bank0.
  61829. * 0b1..OCRAM access error happens on OCRAM bank0.
  61830. */
  61831. #define MECC_ERR_STATUS_ADDR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR0_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR0_MASK)
  61832. #define MECC_ERR_STATUS_ADDR_ERR1_MASK (0x2000U)
  61833. #define MECC_ERR_STATUS_ADDR_ERR1_SHIFT (13U)
  61834. /*! ADDR_ERR1 - OCRAM Access Error On Bank1
  61835. * 0b0..OCRAM access error does not happen on OCRAM bank1.
  61836. * 0b1..OCRAM access error happens on OCRAM bank1.
  61837. */
  61838. #define MECC_ERR_STATUS_ADDR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR1_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR1_MASK)
  61839. #define MECC_ERR_STATUS_ADDR_ERR2_MASK (0x4000U)
  61840. #define MECC_ERR_STATUS_ADDR_ERR2_SHIFT (14U)
  61841. /*! ADDR_ERR2 - OCRAM Access Error On Bank2
  61842. * 0b0..OCRAM access error does not happen on OCRAM bank2.
  61843. * 0b1..OCRAM access error happens on OCRAM bank2.
  61844. */
  61845. #define MECC_ERR_STATUS_ADDR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR2_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR2_MASK)
  61846. #define MECC_ERR_STATUS_ADDR_ERR3_MASK (0x8000U)
  61847. #define MECC_ERR_STATUS_ADDR_ERR3_SHIFT (15U)
  61848. /*! ADDR_ERR3 - OCRAM Access Error On Bank3
  61849. * 0b0..OCRAM access error does not happen on OCRAM bank3.
  61850. * 0b1..OCRAM access error happens on OCRAM bank3.
  61851. */
  61852. #define MECC_ERR_STATUS_ADDR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STATUS_ADDR_ERR3_SHIFT)) & MECC_ERR_STATUS_ADDR_ERR3_MASK)
  61853. /*! @} */
  61854. /*! @name ERR_STAT_EN - Error Interrupt Status Enable Register */
  61855. /*! @{ */
  61856. #define MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_MASK (0x1U)
  61857. #define MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_SHIFT (0U)
  61858. /*! SINGLE_ERR0_STAT_EN - Single Bit Error Status Enable On OCRAM Bank0
  61859. * 0b0..Disabled
  61860. * 0b1..Enabled
  61861. */
  61862. #define MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_SINGLE_ERR0_STAT_EN_MASK)
  61863. #define MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_MASK (0x2U)
  61864. #define MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_SHIFT (1U)
  61865. /*! SINGLE_ERR1_STAT_EN - Single Bit Error Status Enable On OCRAM Bank1
  61866. * 0b0..Disabled
  61867. * 0b1..Enabled
  61868. */
  61869. #define MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_SINGLE_ERR1_STAT_EN_MASK)
  61870. #define MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_MASK (0x4U)
  61871. #define MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_SHIFT (2U)
  61872. /*! SINGLE_ERR2_STAT_EN - Single Bit Error Status Enable On OCRAM Bank2
  61873. * 0b0..Disabled
  61874. * 0b1..Enabled
  61875. */
  61876. #define MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_SINGLE_ERR2_STAT_EN_MASK)
  61877. #define MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_MASK (0x8U)
  61878. #define MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_SHIFT (3U)
  61879. /*! SINGLE_ERR3_STAT_EN - Single Bit Error Status Enable On OCRAM Bank3
  61880. * 0b0..Disabled
  61881. * 0b1..Enabled
  61882. */
  61883. #define MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_SINGLE_ERR3_STAT_EN_MASK)
  61884. #define MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_MASK (0x10U)
  61885. #define MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_SHIFT (4U)
  61886. /*! MULTI_ERR0_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank0
  61887. * 0b0..Disabled
  61888. * 0b1..Enabled
  61889. */
  61890. #define MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_MULTI_ERR0_STAT_EN_MASK)
  61891. #define MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_MASK (0x20U)
  61892. #define MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_SHIFT (5U)
  61893. /*! MULTI_ERR1_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank1
  61894. * 0b0..Disabled
  61895. * 0b1..Enabled
  61896. */
  61897. #define MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_MULTI_ERR1_STAT_EN_MASK)
  61898. #define MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_MASK (0x40U)
  61899. #define MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_SHIFT (6U)
  61900. /*! MULTI_ERR2_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank2
  61901. * 0b0..Disabled
  61902. * 0b1..Enabled
  61903. */
  61904. #define MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_MULTI_ERR2_STAT_EN_MASK)
  61905. #define MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_MASK (0x80U)
  61906. #define MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_SHIFT (7U)
  61907. /*! MULTI_ERR3_STAT_EN - Multiple Bits Error Status Enable On OCRAM Bank3
  61908. * 0b0..Disabled
  61909. * 0b1..Enabled
  61910. */
  61911. #define MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_MULTI_ERR3_STAT_EN_MASK)
  61912. #define MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_MASK (0x100U)
  61913. #define MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_SHIFT (8U)
  61914. /*! STRB_ERR0_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank0
  61915. * 0b0..Disabled
  61916. * 0b1..Enabled
  61917. */
  61918. #define MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_STRB_ERR0_STAT_EN_MASK)
  61919. #define MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_MASK (0x200U)
  61920. #define MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_SHIFT (9U)
  61921. /*! STRB_ERR1_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank1
  61922. * 0b0..Disabled
  61923. * 0b1..Enabled
  61924. */
  61925. #define MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_STRB_ERR1_STAT_EN_MASK)
  61926. #define MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_MASK (0x400U)
  61927. #define MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_SHIFT (10U)
  61928. /*! STRB_ERR2_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank2
  61929. * 0b0..Disabled
  61930. * 0b1..Enabled
  61931. */
  61932. #define MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_STRB_ERR2_STAT_EN_MASK)
  61933. #define MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_MASK (0x800U)
  61934. #define MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_SHIFT (11U)
  61935. /*! STRB_ERR3_STAT_EN - AXI Strobe Error Status Enable On OCRAM Bank3
  61936. * 0b0..Disabled
  61937. * 0b1..Enabled
  61938. */
  61939. #define MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_STRB_ERR3_STAT_EN_MASK)
  61940. #define MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_MASK (0x1000U)
  61941. #define MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_SHIFT (12U)
  61942. /*! ADDR_ERR0_STAT_EN - OCRAM Access Error Status Enable On Bank0
  61943. * 0b0..Disabled
  61944. * 0b1..Enabled
  61945. */
  61946. #define MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_ADDR_ERR0_STAT_EN_MASK)
  61947. #define MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_MASK (0x2000U)
  61948. #define MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_SHIFT (13U)
  61949. /*! ADDR_ERR1_STAT_EN - OCRAM Access Error Status Enable On Bank1
  61950. * 0b0..Disabled
  61951. * 0b1..Enabled
  61952. */
  61953. #define MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_ADDR_ERR1_STAT_EN_MASK)
  61954. #define MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_MASK (0x4000U)
  61955. #define MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_SHIFT (14U)
  61956. /*! ADDR_ERR2_STAT_EN - OCRAM Access Error Status Enable On Bank2
  61957. * 0b0..Disabled
  61958. * 0b1..Enabled
  61959. */
  61960. #define MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_ADDR_ERR2_STAT_EN_MASK)
  61961. #define MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_MASK (0x8000U)
  61962. #define MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_SHIFT (15U)
  61963. /*! ADDR_ERR3_STAT_EN - OCRAM Access Error Status Enable On Bank3
  61964. * 0b0..Disabled
  61965. * 0b1..Enabled
  61966. */
  61967. #define MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_SHIFT)) & MECC_ERR_STAT_EN_ADDR_ERR3_STAT_EN_MASK)
  61968. /*! @} */
  61969. /*! @name ERR_SIG_EN - Error Interrupt Enable Register */
  61970. /*! @{ */
  61971. #define MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_MASK (0x1U)
  61972. #define MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_SHIFT (0U)
  61973. /*! SINGLE_ERR0_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank0
  61974. * 0b0..Disabled
  61975. * 0b1..Enabled
  61976. */
  61977. #define MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_SINGLE_ERR0_SIG_EN_MASK)
  61978. #define MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_MASK (0x2U)
  61979. #define MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_SHIFT (1U)
  61980. /*! SINGLE_ERR1_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank1
  61981. * 0b0..Disabled
  61982. * 0b1..Enabled
  61983. */
  61984. #define MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_SINGLE_ERR1_SIG_EN_MASK)
  61985. #define MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_MASK (0x4U)
  61986. #define MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_SHIFT (2U)
  61987. /*! SINGLE_ERR2_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank2
  61988. * 0b0..Disabled
  61989. * 0b1..Enabled
  61990. */
  61991. #define MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_SINGLE_ERR2_SIG_EN_MASK)
  61992. #define MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_MASK (0x8U)
  61993. #define MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_SHIFT (3U)
  61994. /*! SINGLE_ERR3_SIG_EN - Single Bit Error Interrupt Enable On OCRAM Bank3
  61995. * 0b0..Disabled
  61996. * 0b1..Enabled
  61997. */
  61998. #define MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_SINGLE_ERR3_SIG_EN_MASK)
  61999. #define MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_MASK (0x10U)
  62000. #define MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_SHIFT (4U)
  62001. /*! MULTI_ERR0_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank0
  62002. * 0b0..Disabled
  62003. * 0b1..Enabled
  62004. */
  62005. #define MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_MULTI_ERR0_SIG_EN_MASK)
  62006. #define MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_MASK (0x20U)
  62007. #define MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_SHIFT (5U)
  62008. /*! MULTI_ERR1_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank1
  62009. * 0b0..Disabled
  62010. * 0b1..Enabled
  62011. */
  62012. #define MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_MULTI_ERR1_SIG_EN_MASK)
  62013. #define MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_MASK (0x40U)
  62014. #define MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_SHIFT (6U)
  62015. /*! MULTI_ERR2_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank2
  62016. * 0b0..Disabled
  62017. * 0b1..Enabled
  62018. */
  62019. #define MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_MULTI_ERR2_SIG_EN_MASK)
  62020. #define MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_MASK (0x80U)
  62021. #define MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_SHIFT (7U)
  62022. /*! MULTI_ERR3_SIG_EN - Multiple Bits Error Interrupt Enable On OCRAM Bank3
  62023. * 0b0..Disabled
  62024. * 0b1..Enabled
  62025. */
  62026. #define MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_MULTI_ERR3_SIG_EN_MASK)
  62027. #define MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_MASK (0x100U)
  62028. #define MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_SHIFT (8U)
  62029. /*! STRB_ERR0_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank0
  62030. * 0b0..Disabled
  62031. * 0b1..Enabled
  62032. */
  62033. #define MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_STRB_ERR0_SIG_EN_MASK)
  62034. #define MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_MASK (0x200U)
  62035. #define MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_SHIFT (9U)
  62036. /*! STRB_ERR1_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank1
  62037. * 0b0..Disabled
  62038. * 0b1..Enabled
  62039. */
  62040. #define MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_STRB_ERR1_SIG_EN_MASK)
  62041. #define MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_MASK (0x400U)
  62042. #define MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_SHIFT (10U)
  62043. /*! STRB_ERR2_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank2
  62044. * 0b0..Disabled
  62045. * 0b1..Enabled
  62046. */
  62047. #define MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_STRB_ERR2_SIG_EN_MASK)
  62048. #define MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_MASK (0x800U)
  62049. #define MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_SHIFT (11U)
  62050. /*! STRB_ERR3_SIG_EN - AXI Strobe Error Interrupt Enable On OCRAM Bank3
  62051. * 0b0..Disabled
  62052. * 0b1..Enabled
  62053. */
  62054. #define MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_STRB_ERR3_SIG_EN_MASK)
  62055. #define MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_MASK (0x1000U)
  62056. #define MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_SHIFT (12U)
  62057. /*! ADDR_ERR0_SIG_EN - OCRAM Access Error Interrupt Enable On Bank0
  62058. * 0b0..Disabled
  62059. * 0b1..Enabled
  62060. */
  62061. #define MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_ADDR_ERR0_SIG_EN_MASK)
  62062. #define MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_MASK (0x2000U)
  62063. #define MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_SHIFT (13U)
  62064. /*! ADDR_ERR1_SIG_EN - OCRAM Access Error Interrupt Enable On Bank1
  62065. * 0b0..Disabled
  62066. * 0b1..Enabled
  62067. */
  62068. #define MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_ADDR_ERR1_SIG_EN_MASK)
  62069. #define MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_MASK (0x4000U)
  62070. #define MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_SHIFT (14U)
  62071. /*! ADDR_ERR2_SIG_EN - OCRAM Access Error Interrupt Enable On Bank2
  62072. * 0b0..Disabled
  62073. * 0b1..Enabled
  62074. */
  62075. #define MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_ADDR_ERR2_SIG_EN_MASK)
  62076. #define MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_MASK (0x8000U)
  62077. #define MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_SHIFT (15U)
  62078. /*! ADDR_ERR3_SIG_EN - OCRAM Access Error Interrupt Enable On Bank3
  62079. * 0b0..Disabled
  62080. * 0b1..Enabled
  62081. */
  62082. #define MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_SHIFT)) & MECC_ERR_SIG_EN_ADDR_ERR3_SIG_EN_MASK)
  62083. /*! @} */
  62084. /*! @name ERR_DATA_INJ_LOW0 - Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data */
  62085. /*! @{ */
  62086. #define MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62087. #define MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_SHIFT (0U)
  62088. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank0 Write Data
  62089. */
  62090. #define MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_LOW0_ERR_DATA_INJ_MASK)
  62091. /*! @} */
  62092. /*! @name ERR_DATA_INJ_HIGH0 - Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data */
  62093. /*! @{ */
  62094. #define MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62095. #define MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_SHIFT (0U)
  62096. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank0 Write Data
  62097. */
  62098. #define MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_HIGH0_ERR_DATA_INJ_MASK)
  62099. /*! @} */
  62100. /*! @name ERR_ECC_INJ0 - Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data */
  62101. /*! @{ */
  62102. #define MECC_ERR_ECC_INJ0_ERR_ECC_INJ_MASK (0xFFU)
  62103. #define MECC_ERR_ECC_INJ0_ERR_ECC_INJ_SHIFT (0U)
  62104. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank0 Write Data
  62105. */
  62106. #define MECC_ERR_ECC_INJ0_ERR_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_ECC_INJ0_ERR_ECC_INJ_SHIFT)) & MECC_ERR_ECC_INJ0_ERR_ECC_INJ_MASK)
  62107. /*! @} */
  62108. /*! @name ERR_DATA_INJ_LOW1 - Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data */
  62109. /*! @{ */
  62110. #define MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62111. #define MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_SHIFT (0U)
  62112. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank1 Write Data
  62113. */
  62114. #define MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_LOW1_ERR_DATA_INJ_MASK)
  62115. /*! @} */
  62116. /*! @name ERR_DATA_INJ_HIGH1 - Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data */
  62117. /*! @{ */
  62118. #define MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62119. #define MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_SHIFT (0U)
  62120. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank1 Write Data
  62121. */
  62122. #define MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_HIGH1_ERR_DATA_INJ_MASK)
  62123. /*! @} */
  62124. /*! @name ERR_ECC_INJ1 - Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data */
  62125. /*! @{ */
  62126. #define MECC_ERR_ECC_INJ1_ERR_ECC_INJ_MASK (0xFFU)
  62127. #define MECC_ERR_ECC_INJ1_ERR_ECC_INJ_SHIFT (0U)
  62128. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank1 Write Data
  62129. */
  62130. #define MECC_ERR_ECC_INJ1_ERR_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_ECC_INJ1_ERR_ECC_INJ_SHIFT)) & MECC_ERR_ECC_INJ1_ERR_ECC_INJ_MASK)
  62131. /*! @} */
  62132. /*! @name ERR_DATA_INJ_LOW2 - Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data */
  62133. /*! @{ */
  62134. #define MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62135. #define MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_SHIFT (0U)
  62136. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank2 Write Data
  62137. */
  62138. #define MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_LOW2_ERR_DATA_INJ_MASK)
  62139. /*! @} */
  62140. /*! @name ERR_DATA_INJ_HIGH2 - Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data */
  62141. /*! @{ */
  62142. #define MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62143. #define MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_SHIFT (0U)
  62144. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank2 Write Data
  62145. */
  62146. #define MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_HIGH2_ERR_DATA_INJ_MASK)
  62147. /*! @} */
  62148. /*! @name ERR_ECC_INJ2 - Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data */
  62149. /*! @{ */
  62150. #define MECC_ERR_ECC_INJ2_ERR_ECC_INJ_MASK (0xFFU)
  62151. #define MECC_ERR_ECC_INJ2_ERR_ECC_INJ_SHIFT (0U)
  62152. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank2 Write Data
  62153. */
  62154. #define MECC_ERR_ECC_INJ2_ERR_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_ECC_INJ2_ERR_ECC_INJ_SHIFT)) & MECC_ERR_ECC_INJ2_ERR_ECC_INJ_MASK)
  62155. /*! @} */
  62156. /*! @name ERR_DATA_INJ_LOW3 - Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data */
  62157. /*! @{ */
  62158. #define MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62159. #define MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_SHIFT (0U)
  62160. /*! ERR_DATA_INJ - Error Injection On LOW 32 bits Of OCRAM Bank3 Write Data
  62161. */
  62162. #define MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_LOW3_ERR_DATA_INJ_MASK)
  62163. /*! @} */
  62164. /*! @name ERR_DATA_INJ_HIGH3 - Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data */
  62165. /*! @{ */
  62166. #define MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  62167. #define MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_SHIFT (0U)
  62168. /*! ERR_DATA_INJ - Error Injection On HIGH 32 bits Of OCRAM Bank3 Write Data
  62169. */
  62170. #define MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_SHIFT)) & MECC_ERR_DATA_INJ_HIGH3_ERR_DATA_INJ_MASK)
  62171. /*! @} */
  62172. /*! @name ERR_ECC_INJ3 - Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data */
  62173. /*! @{ */
  62174. #define MECC_ERR_ECC_INJ3_ERR_ECC_INJ_MASK (0xFFU)
  62175. #define MECC_ERR_ECC_INJ3_ERR_ECC_INJ_SHIFT (0U)
  62176. /*! ERR_ECC_INJ - Error Injection On 8 bits ECC code Of OCRAM Bank3 Write Data
  62177. */
  62178. #define MECC_ERR_ECC_INJ3_ERR_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << MECC_ERR_ECC_INJ3_ERR_ECC_INJ_SHIFT)) & MECC_ERR_ECC_INJ3_ERR_ECC_INJ_MASK)
  62179. /*! @} */
  62180. /*! @name SINGLE_ERR_ADDR_ECC0 - Single Error Address And ECC code On OCRAM Bank0 */
  62181. /*! @{ */
  62182. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_MASK (0xFFU)
  62183. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_SHIFT (0U)
  62184. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank0
  62185. */
  62186. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ECC_MASK)
  62187. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62188. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_SHIFT (8U)
  62189. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank0
  62190. */
  62191. #define MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC0_SINGLE_ERR_ADDR_MASK)
  62192. /*! @} */
  62193. /*! @name SINGLE_ERR_DATA_LOW0 - LOW 32 Bits Single Error Read Data On OCRAM Bank0 */
  62194. /*! @{ */
  62195. #define MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62196. #define MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_SHIFT (0U)
  62197. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank0
  62198. */
  62199. #define MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_LOW0_SINGLE_ERR_DATA_MASK)
  62200. /*! @} */
  62201. /*! @name SINGLE_ERR_DATA_HIGH0 - HIGH 32 Bits Single Error Read Data On OCRAM Bank0 */
  62202. /*! @{ */
  62203. #define MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62204. #define MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_SHIFT (0U)
  62205. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank0
  62206. */
  62207. #define MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_HIGH0_SINGLE_ERR_DATA_MASK)
  62208. /*! @} */
  62209. /*! @name SINGLE_ERR_POS_LOW0 - LOW Single Error Bit Position On OCRAM Bank0 */
  62210. /*! @{ */
  62211. #define MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62212. #define MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_SHIFT (0U)
  62213. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank0
  62214. */
  62215. #define MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_LOW0_SINGLE_ERR_POS_MASK)
  62216. /*! @} */
  62217. /*! @name SINGLE_ERR_POS_HIGH0 - HIGH Single Error Bit Position On OCRAM Bank0 */
  62218. /*! @{ */
  62219. #define MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62220. #define MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_SHIFT (0U)
  62221. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank0
  62222. */
  62223. #define MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_HIGH0_SINGLE_ERR_POS_MASK)
  62224. /*! @} */
  62225. /*! @name SINGLE_ERR_ADDR_ECC1 - Single Error Address And ECC code On OCRAM Bank1 */
  62226. /*! @{ */
  62227. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_MASK (0xFFU)
  62228. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_SHIFT (0U)
  62229. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank1
  62230. */
  62231. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ECC_MASK)
  62232. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62233. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_SHIFT (8U)
  62234. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank1
  62235. */
  62236. #define MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC1_SINGLE_ERR_ADDR_MASK)
  62237. /*! @} */
  62238. /*! @name SINGLE_ERR_DATA_LOW1 - LOW 32 Bits Single Error Read Data On OCRAM Bank1 */
  62239. /*! @{ */
  62240. #define MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62241. #define MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_SHIFT (0U)
  62242. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank1
  62243. */
  62244. #define MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_LOW1_SINGLE_ERR_DATA_MASK)
  62245. /*! @} */
  62246. /*! @name SINGLE_ERR_DATA_HIGH1 - HIGH 32 Bits Single Error Read Data On OCRAM Bank1 */
  62247. /*! @{ */
  62248. #define MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62249. #define MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_SHIFT (0U)
  62250. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank1
  62251. */
  62252. #define MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_HIGH1_SINGLE_ERR_DATA_MASK)
  62253. /*! @} */
  62254. /*! @name SINGLE_ERR_POS_LOW1 - LOW Single Error Bit Position On OCRAM Bank1 */
  62255. /*! @{ */
  62256. #define MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62257. #define MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_SHIFT (0U)
  62258. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank1
  62259. */
  62260. #define MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_LOW1_SINGLE_ERR_POS_MASK)
  62261. /*! @} */
  62262. /*! @name SINGLE_ERR_POS_HIGH1 - HIGH Single Error Bit Position On OCRAM Bank1 */
  62263. /*! @{ */
  62264. #define MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62265. #define MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_SHIFT (0U)
  62266. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank1
  62267. */
  62268. #define MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_HIGH1_SINGLE_ERR_POS_MASK)
  62269. /*! @} */
  62270. /*! @name SINGLE_ERR_ADDR_ECC2 - Single Error Address And ECC code On OCRAM Bank2 */
  62271. /*! @{ */
  62272. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_MASK (0xFFU)
  62273. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_SHIFT (0U)
  62274. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank2
  62275. */
  62276. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ECC_MASK)
  62277. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62278. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_SHIFT (8U)
  62279. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank2
  62280. */
  62281. #define MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC2_SINGLE_ERR_ADDR_MASK)
  62282. /*! @} */
  62283. /*! @name SINGLE_ERR_DATA_LOW2 - LOW 32 Bits Single Error Read Data On OCRAM Bank2 */
  62284. /*! @{ */
  62285. #define MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62286. #define MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_SHIFT (0U)
  62287. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank2
  62288. */
  62289. #define MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_LOW2_SINGLE_ERR_DATA_MASK)
  62290. /*! @} */
  62291. /*! @name SINGLE_ERR_DATA_HIGH2 - HIGH 32 Bits Single Error Read Data On OCRAM Bank2 */
  62292. /*! @{ */
  62293. #define MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62294. #define MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_SHIFT (0U)
  62295. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank2
  62296. */
  62297. #define MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_HIGH2_SINGLE_ERR_DATA_MASK)
  62298. /*! @} */
  62299. /*! @name SINGLE_ERR_POS_LOW2 - LOW Single Error Bit Position On OCRAM Bank2 */
  62300. /*! @{ */
  62301. #define MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62302. #define MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_SHIFT (0U)
  62303. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank2
  62304. */
  62305. #define MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_LOW2_SINGLE_ERR_POS_MASK)
  62306. /*! @} */
  62307. /*! @name SINGLE_ERR_POS_HIGH2 - HIGH Single Error Bit Position On OCRAM Bank2 */
  62308. /*! @{ */
  62309. #define MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62310. #define MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_SHIFT (0U)
  62311. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank2
  62312. */
  62313. #define MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_HIGH2_SINGLE_ERR_POS_MASK)
  62314. /*! @} */
  62315. /*! @name SINGLE_ERR_ADDR_ECC3 - Single Error Address And ECC code On OCRAM Bank3 */
  62316. /*! @{ */
  62317. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_MASK (0xFFU)
  62318. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_SHIFT (0U)
  62319. /*! SINGLE_ERR_ECC - Single Error ECC code On OCRAM Bank3
  62320. */
  62321. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ECC_MASK)
  62322. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_MASK (0x7FFFF00U)
  62323. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_SHIFT (8U)
  62324. /*! SINGLE_ERR_ADDR - Single Error Address On OCRAM Bank3
  62325. */
  62326. #define MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_SHIFT)) & MECC_SINGLE_ERR_ADDR_ECC3_SINGLE_ERR_ADDR_MASK)
  62327. /*! @} */
  62328. /*! @name SINGLE_ERR_DATA_LOW3 - LOW 32 Bits Single Error Read Data On OCRAM Bank3 */
  62329. /*! @{ */
  62330. #define MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62331. #define MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_SHIFT (0U)
  62332. /*! SINGLE_ERR_DATA - LOW 32 Bits Single Error Read Data On OCRAM Bank3
  62333. */
  62334. #define MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_LOW3_SINGLE_ERR_DATA_MASK)
  62335. /*! @} */
  62336. /*! @name SINGLE_ERR_DATA_HIGH3 - HIGH 32 Bits Single Error Read Data On OCRAM Bank3 */
  62337. /*! @{ */
  62338. #define MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  62339. #define MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_SHIFT (0U)
  62340. /*! SINGLE_ERR_DATA - HIGH 32 Bits Single Error Read Data On OCRAM Bank3
  62341. */
  62342. #define MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_SHIFT)) & MECC_SINGLE_ERR_DATA_HIGH3_SINGLE_ERR_DATA_MASK)
  62343. /*! @} */
  62344. /*! @name SINGLE_ERR_POS_LOW3 - LOW Single Error Bit Position On OCRAM Bank3 */
  62345. /*! @{ */
  62346. #define MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62347. #define MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_SHIFT (0U)
  62348. /*! SINGLE_ERR_POS - LOW Single Error Bit Position On OCRAM Bank3
  62349. */
  62350. #define MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_LOW3_SINGLE_ERR_POS_MASK)
  62351. /*! @} */
  62352. /*! @name SINGLE_ERR_POS_HIGH3 - HIGH Single Error Bit Position On OCRAM Bank3 */
  62353. /*! @{ */
  62354. #define MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  62355. #define MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_SHIFT (0U)
  62356. /*! SINGLE_ERR_POS - HIGH Single Error Bit Position On OCRAM Bank3
  62357. */
  62358. #define MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_SHIFT)) & MECC_SINGLE_ERR_POS_HIGH3_SINGLE_ERR_POS_MASK)
  62359. /*! @} */
  62360. /*! @name MULTI_ERR_ADDR_ECC0 - Multiple Error Address And ECC code On OCRAM Bank0 */
  62361. /*! @{ */
  62362. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_MASK (0xFFU)
  62363. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_SHIFT (0U)
  62364. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank0
  62365. */
  62366. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ECC_MASK)
  62367. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  62368. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_SHIFT (8U)
  62369. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank0
  62370. */
  62371. #define MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC0_MULTI_ERR_ADDR_MASK)
  62372. /*! @} */
  62373. /*! @name MULTI_ERR_DATA_LOW0 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank0 */
  62374. /*! @{ */
  62375. #define MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62376. #define MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_SHIFT (0U)
  62377. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank0
  62378. */
  62379. #define MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_LOW0_MULTI_ERR_DATA_MASK)
  62380. /*! @} */
  62381. /*! @name MULTI_ERR_DATA_HIGH0 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0 */
  62382. /*! @{ */
  62383. #define MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62384. #define MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_SHIFT (0U)
  62385. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank0
  62386. */
  62387. #define MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_HIGH0_MULTI_ERR_DATA_MASK)
  62388. /*! @} */
  62389. /*! @name MULTI_ERR_ADDR_ECC1 - Multiple Error Address And ECC code On OCRAM Bank1 */
  62390. /*! @{ */
  62391. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_MASK (0xFFU)
  62392. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_SHIFT (0U)
  62393. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank1
  62394. */
  62395. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ECC_MASK)
  62396. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  62397. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_SHIFT (8U)
  62398. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank1
  62399. */
  62400. #define MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC1_MULTI_ERR_ADDR_MASK)
  62401. /*! @} */
  62402. /*! @name MULTI_ERR_DATA_LOW1 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank1 */
  62403. /*! @{ */
  62404. #define MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62405. #define MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_SHIFT (0U)
  62406. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank1
  62407. */
  62408. #define MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_LOW1_MULTI_ERR_DATA_MASK)
  62409. /*! @} */
  62410. /*! @name MULTI_ERR_DATA_HIGH1 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1 */
  62411. /*! @{ */
  62412. #define MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62413. #define MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_SHIFT (0U)
  62414. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank1
  62415. */
  62416. #define MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_HIGH1_MULTI_ERR_DATA_MASK)
  62417. /*! @} */
  62418. /*! @name MULTI_ERR_ADDR_ECC2 - Multiple Error Address And ECC code On OCRAM Bank2 */
  62419. /*! @{ */
  62420. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_MASK (0xFFU)
  62421. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_SHIFT (0U)
  62422. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank2
  62423. */
  62424. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ECC_MASK)
  62425. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  62426. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_SHIFT (8U)
  62427. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank2
  62428. */
  62429. #define MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC2_MULTI_ERR_ADDR_MASK)
  62430. /*! @} */
  62431. /*! @name MULTI_ERR_DATA_LOW2 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank2 */
  62432. /*! @{ */
  62433. #define MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62434. #define MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_SHIFT (0U)
  62435. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank2
  62436. */
  62437. #define MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_LOW2_MULTI_ERR_DATA_MASK)
  62438. /*! @} */
  62439. /*! @name MULTI_ERR_DATA_HIGH2 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2 */
  62440. /*! @{ */
  62441. #define MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62442. #define MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_SHIFT (0U)
  62443. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank2
  62444. */
  62445. #define MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_HIGH2_MULTI_ERR_DATA_MASK)
  62446. /*! @} */
  62447. /*! @name MULTI_ERR_ADDR_ECC3 - Multiple Error Address And ECC code On OCRAM Bank3 */
  62448. /*! @{ */
  62449. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_MASK (0xFFU)
  62450. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_SHIFT (0U)
  62451. /*! MULTI_ERR_ECC - Multiple Error ECC code On OCRAM Bank3
  62452. */
  62453. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ECC_MASK)
  62454. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_MASK (0x7FFFF00U)
  62455. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_SHIFT (8U)
  62456. /*! MULTI_ERR_ADDR - Multiple Error Address On OCRAM Bank3
  62457. */
  62458. #define MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_SHIFT)) & MECC_MULTI_ERR_ADDR_ECC3_MULTI_ERR_ADDR_MASK)
  62459. /*! @} */
  62460. /*! @name MULTI_ERR_DATA_LOW3 - LOW 32 Bits Multiple Error Read Data On OCRAM Bank3 */
  62461. /*! @{ */
  62462. #define MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62463. #define MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_SHIFT (0U)
  62464. /*! MULTI_ERR_DATA - LOW 32 Bits Multiple Error Read Data On OCRAM Bank3
  62465. */
  62466. #define MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_LOW3_MULTI_ERR_DATA_MASK)
  62467. /*! @} */
  62468. /*! @name MULTI_ERR_DATA_HIGH3 - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3 */
  62469. /*! @{ */
  62470. #define MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  62471. #define MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_SHIFT (0U)
  62472. /*! MULTI_ERR_DATA - HIGH 32 Bits Multiple Error Read Data On OCRAM Bank3
  62473. */
  62474. #define MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_SHIFT)) & MECC_MULTI_ERR_DATA_HIGH3_MULTI_ERR_DATA_MASK)
  62475. /*! @} */
  62476. /*! @name PIPE_ECC_EN - OCRAM Pipeline And ECC Enable */
  62477. /*! @{ */
  62478. #define MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_MASK (0x1U)
  62479. #define MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_SHIFT (0U)
  62480. /*! READ_DATA_WAIT_EN - Read Data Wait Enable
  62481. * 0b0..Disable.
  62482. * 0b1..Enable.
  62483. */
  62484. #define MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_SHIFT)) & MECC_PIPE_ECC_EN_READ_DATA_WAIT_EN_MASK)
  62485. #define MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_MASK (0x2U)
  62486. #define MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_SHIFT (1U)
  62487. /*! READ_ADDR_PIPE_EN - Read Address Pipeline Enable
  62488. * 0b0..Disable.
  62489. * 0b1..Enable.
  62490. */
  62491. #define MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_SHIFT)) & MECC_PIPE_ECC_EN_READ_ADDR_PIPE_EN_MASK)
  62492. #define MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_MASK (0x4U)
  62493. #define MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_SHIFT (2U)
  62494. /*! WRITE_DATA_PIPE_EN - Write Data Pipeline Enable
  62495. * 0b0..Disable.
  62496. * 0b1..Enable.
  62497. */
  62498. #define MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_SHIFT)) & MECC_PIPE_ECC_EN_WRITE_DATA_PIPE_EN_MASK)
  62499. #define MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_MASK (0x8U)
  62500. #define MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_SHIFT (3U)
  62501. /*! WRITE_ADDR_PIPE_EN - Write Address Pipeline Enable
  62502. * 0b0..Disable.
  62503. * 0b1..Enable.
  62504. */
  62505. #define MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_SHIFT)) & MECC_PIPE_ECC_EN_WRITE_ADDR_PIPE_EN_MASK)
  62506. #define MECC_PIPE_ECC_EN_ECC_EN_MASK (0x10U)
  62507. #define MECC_PIPE_ECC_EN_ECC_EN_SHIFT (4U)
  62508. /*! ECC_EN - ECC Function Enable
  62509. * 0b0..Disable.
  62510. * 0b1..Enable.
  62511. */
  62512. #define MECC_PIPE_ECC_EN_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << MECC_PIPE_ECC_EN_ECC_EN_SHIFT)) & MECC_PIPE_ECC_EN_ECC_EN_MASK)
  62513. /*! @} */
  62514. /*! @name PENDING_STAT - Pending Status */
  62515. /*! @{ */
  62516. #define MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_MASK (0x1U)
  62517. #define MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_SHIFT (0U)
  62518. /*! READ_DATA_WAIT_PENDING - Read Data Wait Pending
  62519. * 0b0..No update pending status for READ_DATA_WAIT_EN.
  62520. * 0b1..When READ_DATA_WAIT_EN register bit is changed, this register bit will be set until the new setup becomes valid in the controller.
  62521. */
  62522. #define MECC_PENDING_STAT_READ_DATA_WAIT_PENDING(x) (((uint32_t)(((uint32_t)(x)) << MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_SHIFT)) & MECC_PENDING_STAT_READ_DATA_WAIT_PENDING_MASK)
  62523. #define MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_MASK (0x2U)
  62524. #define MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_SHIFT (1U)
  62525. /*! READ_ADDR_PIPE_PENDING - Read Address Pipeline Pending
  62526. * 0b0..No update pending status for READ_ADDR_PIPE_EN.
  62527. * 0b1..When READ_ADDR_PIPE_EN register bit is changed, this register bit will be set until the new setup becomes valid in the controller.
  62528. */
  62529. #define MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_SHIFT)) & MECC_PENDING_STAT_READ_ADDR_PIPE_PENDING_MASK)
  62530. #define MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_MASK (0x4U)
  62531. #define MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_SHIFT (2U)
  62532. /*! WRITE_DATA_PIPE_PENDING - Write Data Pipeline Pending
  62533. * 0b0..No update pending status for WRITE_DATA_PIPE_EN.
  62534. * 0b1..When WRITE_DATA_PIPE_EN register bit is changed, this register bit will be set until the new setup becomes valid in the controller.
  62535. */
  62536. #define MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_SHIFT)) & MECC_PENDING_STAT_WRITE_DATA_PIPE_PENDING_MASK)
  62537. #define MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_MASK (0x8U)
  62538. #define MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_SHIFT (3U)
  62539. /*! WRITE_ADDR_PIPE_PENDING - Write Address Pipeline Pending
  62540. * 0b0..No update pending status for WRITE_ADDR_PIPE_EN.
  62541. * 0b1..When WRITE_ADDR_PIPE_EN register bit is changed, this register bit will be set until the new setup becomes valid in the controller.
  62542. */
  62543. #define MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_SHIFT)) & MECC_PENDING_STAT_WRITE_ADDR_PIPE_PENDING_MASK)
  62544. /*! @} */
  62545. /*!
  62546. * @}
  62547. */ /* end of group MECC_Register_Masks */
  62548. /* MECC - Peripheral instance base addresses */
  62549. /** Peripheral MECC1 base address */
  62550. #define MECC1_BASE (0x40014000u)
  62551. /** Peripheral MECC1 base pointer */
  62552. #define MECC1 ((MECC_Type *)MECC1_BASE)
  62553. /** Peripheral MECC2 base address */
  62554. #define MECC2_BASE (0x40018000u)
  62555. /** Peripheral MECC2 base pointer */
  62556. #define MECC2 ((MECC_Type *)MECC2_BASE)
  62557. /** Array initializer of MECC peripheral base addresses */
  62558. #define MECC_BASE_ADDRS { 0u, MECC1_BASE, MECC2_BASE }
  62559. /** Array initializer of MECC peripheral base pointers */
  62560. #define MECC_BASE_PTRS { (MECC_Type *)0u, MECC1, MECC2 }
  62561. /*!
  62562. * @}
  62563. */ /* end of group MECC_Peripheral_Access_Layer */
  62564. /* ----------------------------------------------------------------------------
  62565. -- MIPI_CSI2RX Peripheral Access Layer
  62566. ---------------------------------------------------------------------------- */
  62567. /*!
  62568. * @addtogroup MIPI_CSI2RX_Peripheral_Access_Layer MIPI_CSI2RX Peripheral Access Layer
  62569. * @{
  62570. */
  62571. /** MIPI_CSI2RX - Register Layout Typedef */
  62572. typedef struct {
  62573. uint8_t RESERVED_0[256];
  62574. __IO uint32_t CFG_NUM_LANES; /**< Lane Configuration Register, offset: 0x100 */
  62575. __IO uint32_t CFG_DISABLE_DATA_LANES; /**< Disable Data Lane Register, offset: 0x104 */
  62576. __I uint32_t BIT_ERR; /**< ECC and CRC Error Status Register, offset: 0x108 */
  62577. __I uint32_t IRQ_STATUS; /**< IRQ Status Register, offset: 0x10C */
  62578. __IO uint32_t IRQ_MASK; /**< IRQ Mask Setting Register, offset: 0x110 */
  62579. __I uint32_t ULPS_STATUS; /**< Ultra Low Power State (ULPS) Status Register, offset: 0x114 */
  62580. __I uint32_t PPI_ERRSOT_HS; /**< ERRSot HS Status Register, offset: 0x118 */
  62581. __I uint32_t PPI_ERRSOTSYNC_HS; /**< ErrSotSync HS Status Register, offset: 0x11C */
  62582. __I uint32_t PPI_ERRESC; /**< ErrEsc Status Register, offset: 0x120 */
  62583. __I uint32_t PPI_ERRSYNCESC; /**< ErrSyncEsc Status Register, offset: 0x124 */
  62584. __I uint32_t PPI_ERRCONTROL; /**< ErrControl Status Register, offset: 0x128 */
  62585. __IO uint32_t CFG_DISABLE_PAYLOAD_0; /**< Disable Payload 0 Register, offset: 0x12C */
  62586. __IO uint32_t CFG_DISABLE_PAYLOAD_1; /**< Disable Payload 1 Register, offset: 0x130 */
  62587. uint8_t RESERVED_1[76];
  62588. __IO uint32_t CFG_IGNORE_VC; /**< Ignore Virtual Channel Register, offset: 0x180 */
  62589. __IO uint32_t CFG_VID_VC; /**< Virtual Channel value Register, offset: 0x184 */
  62590. __IO uint32_t CFG_VID_P_FIFO_SEND_LEVEL; /**< FIFO Send Level Configuration Register, offset: 0x188 */
  62591. __IO uint32_t CFG_VID_VSYNC; /**< VSYNC Configuration Register, offset: 0x18C */
  62592. __IO uint32_t CFG_VID_HSYNC_FP; /**< Start of HSYNC Delay control Register, offset: 0x190 */
  62593. __IO uint32_t CFG_VID_HSYNC; /**< HSYNC Configuration Register, offset: 0x194 */
  62594. __IO uint32_t CFG_VID_HSYNC_BP; /**< End of HSYNC Delay Control Register, offset: 0x198 */
  62595. } MIPI_CSI2RX_Type;
  62596. /* ----------------------------------------------------------------------------
  62597. -- MIPI_CSI2RX Register Masks
  62598. ---------------------------------------------------------------------------- */
  62599. /*!
  62600. * @addtogroup MIPI_CSI2RX_Register_Masks MIPI_CSI2RX Register Masks
  62601. * @{
  62602. */
  62603. /*! @name CFG_NUM_LANES - Lane Configuration Register */
  62604. /*! @{ */
  62605. #define MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_MASK (0x3U)
  62606. #define MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_SHIFT (0U)
  62607. /*! CFG_NUM_LANES - This field is used to set the number of active lanes for receiving data.
  62608. * 0b00..1 Lane
  62609. * 0b01..2 Lane
  62610. * 0b10-0b11..Reserved
  62611. */
  62612. #define MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_SHIFT)) & MIPI_CSI2RX_CFG_NUM_LANES_CFG_NUM_LANES_MASK)
  62613. /*! @} */
  62614. /*! @name CFG_DISABLE_DATA_LANES - Disable Data Lane Register */
  62615. /*! @{ */
  62616. #define MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_MASK (0xFU)
  62617. #define MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_SHIFT (0U)
  62618. /*! CFG_DISABLE_DATA_LANES - This field is used to disable data lanes.
  62619. */
  62620. #define MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_DATA_LANES_CFG_DISABLE_DATA_LANES_MASK)
  62621. /*! @} */
  62622. /*! @name BIT_ERR - ECC and CRC Error Status Register */
  62623. /*! @{ */
  62624. #define MIPI_CSI2RX_BIT_ERR_BIT_ERR_MASK (0x3FFU)
  62625. #define MIPI_CSI2RX_BIT_ERR_BIT_ERR_SHIFT (0U)
  62626. /*! BIT_ERR - This field shows the error status of ECC and CRC
  62627. */
  62628. #define MIPI_CSI2RX_BIT_ERR_BIT_ERR(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_BIT_ERR_BIT_ERR_SHIFT)) & MIPI_CSI2RX_BIT_ERR_BIT_ERR_MASK)
  62629. /*! @} */
  62630. /*! @name IRQ_STATUS - IRQ Status Register */
  62631. /*! @{ */
  62632. #define MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_MASK (0x1FFU)
  62633. #define MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_SHIFT (0U)
  62634. /*! IRQ_STATUS - This field shows the IRQ status
  62635. */
  62636. #define MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_SHIFT)) & MIPI_CSI2RX_IRQ_STATUS_IRQ_STATUS_MASK)
  62637. /*! @} */
  62638. /*! @name IRQ_MASK - IRQ Mask Setting Register */
  62639. /*! @{ */
  62640. #define MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_MASK (0x1FFU)
  62641. #define MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_SHIFT (0U)
  62642. /*! IRQ_MASK - This field shows the IRQ Mask setting
  62643. */
  62644. #define MIPI_CSI2RX_IRQ_MASK_IRQ_MASK(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_SHIFT)) & MIPI_CSI2RX_IRQ_MASK_IRQ_MASK_MASK)
  62645. /*! @} */
  62646. /*! @name ULPS_STATUS - Ultra Low Power State (ULPS) Status Register */
  62647. /*! @{ */
  62648. #define MIPI_CSI2RX_ULPS_STATUS_STATUS_MASK (0x3FFU)
  62649. #define MIPI_CSI2RX_ULPS_STATUS_STATUS_SHIFT (0U)
  62650. /*! STATUS - This field shows the status of Rx D-PHY ULPS state
  62651. */
  62652. #define MIPI_CSI2RX_ULPS_STATUS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_ULPS_STATUS_STATUS_SHIFT)) & MIPI_CSI2RX_ULPS_STATUS_STATUS_MASK)
  62653. /*! @} */
  62654. /*! @name PPI_ERRSOT_HS - ERRSot HS Status Register */
  62655. /*! @{ */
  62656. #define MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_MASK (0xFU)
  62657. #define MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_SHIFT (0U)
  62658. /*! STATUS - This field indicates PPI ErrSotHS captured status from D-PHY
  62659. */
  62660. #define MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRSOT_HS_STATUS_MASK)
  62661. /*! @} */
  62662. /*! @name PPI_ERRSOTSYNC_HS - ErrSotSync HS Status Register */
  62663. /*! @{ */
  62664. #define MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_MASK (0xFU)
  62665. #define MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_SHIFT (0U)
  62666. /*! STATUS - This field indicates PPI ErrSotSync_HS captured status from D-PHY
  62667. */
  62668. #define MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRSOTSYNC_HS_STATUS_MASK)
  62669. /*! @} */
  62670. /*! @name PPI_ERRESC - ErrEsc Status Register */
  62671. /*! @{ */
  62672. #define MIPI_CSI2RX_PPI_ERRESC_STATUS_MASK (0xFU)
  62673. #define MIPI_CSI2RX_PPI_ERRESC_STATUS_SHIFT (0U)
  62674. /*! STATUS - This field indicates PPI ErrEsc captured status from D-PHY
  62675. */
  62676. #define MIPI_CSI2RX_PPI_ERRESC_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRESC_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRESC_STATUS_MASK)
  62677. /*! @} */
  62678. /*! @name PPI_ERRSYNCESC - ErrSyncEsc Status Register */
  62679. /*! @{ */
  62680. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_MASK (0xFU)
  62681. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_SHIFT (0U)
  62682. /*! STATUS - This field indicates PPI ErrSyncEsc captured status from D-PHY
  62683. */
  62684. #define MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRSYNCESC_STATUS_MASK)
  62685. /*! @} */
  62686. /*! @name PPI_ERRCONTROL - ErrControl Status Register */
  62687. /*! @{ */
  62688. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_MASK (0xFU)
  62689. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_SHIFT (0U)
  62690. /*! STATUS - This field indicates PPI ErrControl captured status from D-PHY
  62691. */
  62692. #define MIPI_CSI2RX_PPI_ERRCONTROL_STATUS(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_SHIFT)) & MIPI_CSI2RX_PPI_ERRCONTROL_STATUS_MASK)
  62693. /*! @} */
  62694. /*! @name CFG_DISABLE_PAYLOAD_0 - Disable Payload 0 Register */
  62695. /*! @{ */
  62696. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_MASK (0x1U)
  62697. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_SHIFT (0U)
  62698. /*! DIS_PAYLOAD_NULL - Null
  62699. */
  62700. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_NULL_MASK)
  62701. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_MASK (0x2U)
  62702. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_SHIFT (1U)
  62703. /*! DIS_PAYLOAD_BLANK - Blank
  62704. */
  62705. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_BLANK_MASK)
  62706. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_MASK (0x4U)
  62707. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_SHIFT (2U)
  62708. /*! DIS_PAYLOAD_EMBEDDED - Embedded
  62709. */
  62710. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_EMBEDDED_MASK)
  62711. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_MASK (0x400U)
  62712. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_SHIFT (10U)
  62713. /*! DIS_PAYLOAD_YUV420 - Legacy YUV 420 8 bit
  62714. */
  62715. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV420_MASK)
  62716. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_MASK (0x4000U)
  62717. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_SHIFT (14U)
  62718. /*! DIS_PAYLOAD_YUV422_8BIT - YUV422 8 bit
  62719. */
  62720. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_YUV422_8BIT_MASK)
  62721. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_MASK (0x10000U)
  62722. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_SHIFT (16U)
  62723. /*! DIS_PAYLOAD_RGB444 - RGB444
  62724. */
  62725. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB444_MASK)
  62726. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_MASK (0x20000U)
  62727. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_SHIFT (17U)
  62728. /*! DIS_PAYLOAD_RGB555 - RGB555
  62729. */
  62730. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB555_MASK)
  62731. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_MASK (0x40000U)
  62732. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_SHIFT (18U)
  62733. /*! DIS_PAYLOAD_RGB565 - RGB565
  62734. */
  62735. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB565_MASK)
  62736. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_MASK (0x80000U)
  62737. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_SHIFT (19U)
  62738. /*! DIS_PAYLOAD_RGB666 - RGB666
  62739. */
  62740. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB666_MASK)
  62741. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_MASK (0x100000U)
  62742. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_SHIFT (20U)
  62743. /*! DIS_PAYLOAD_RGB888 - RGB888
  62744. */
  62745. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_0_DIS_PAYLOAD_RGB888_MASK)
  62746. /*! @} */
  62747. /*! @name CFG_DISABLE_PAYLOAD_1 - Disable Payload 1 Register */
  62748. /*! @{ */
  62749. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_MASK (0x1U)
  62750. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_SHIFT (0U)
  62751. /*! DIS_PAYLOAD_UDEF_30 - User defined type 0x31
  62752. */
  62753. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_30_MASK)
  62754. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_MASK (0x2U)
  62755. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_SHIFT (1U)
  62756. /*! DIS_PAYLOAD_UDEF_31 - User defined type 0x32
  62757. */
  62758. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_31_MASK)
  62759. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_MASK (0x4U)
  62760. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_SHIFT (2U)
  62761. /*! DIS_PAYLOAD_UDEF_32 - User defined type 0x33
  62762. */
  62763. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_32_MASK)
  62764. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_MASK (0x8U)
  62765. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_SHIFT (3U)
  62766. /*! DIS_PAYLOAD_UDEF_33 - User defined type 0x34
  62767. */
  62768. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_33_MASK)
  62769. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_MASK (0x10U)
  62770. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_SHIFT (4U)
  62771. /*! DIS_PAYLOAD_UDEF_34 - User defined type 0x35
  62772. */
  62773. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_34_MASK)
  62774. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_MASK (0x20U)
  62775. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_SHIFT (5U)
  62776. /*! DIS_PAYLOAD_UDEF_35 - User defined type 0x35
  62777. */
  62778. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_35_MASK)
  62779. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_MASK (0x40U)
  62780. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_SHIFT (6U)
  62781. /*! DIS_PAYLOAD_UDEF_36 - User defined type 0x36
  62782. */
  62783. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_36_MASK)
  62784. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_MASK (0x80U)
  62785. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_SHIFT (7U)
  62786. /*! DIS_PAYLOAD_UDEF_37 - User defined type 0x37
  62787. */
  62788. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UDEF_37_MASK)
  62789. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_MASK (0x10000U)
  62790. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_SHIFT (16U)
  62791. /*! DIS_PAYLOAD_UNSUPPORTED - Unsupported Data Types
  62792. */
  62793. #define MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_SHIFT)) & MIPI_CSI2RX_CFG_DISABLE_PAYLOAD_1_DIS_PAYLOAD_UNSUPPORTED_MASK)
  62794. /*! @} */
  62795. /*! @name CFG_IGNORE_VC - Ignore Virtual Channel Register */
  62796. /*! @{ */
  62797. #define MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_MASK (0x1U)
  62798. #define MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_SHIFT (0U)
  62799. #define MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_SHIFT)) & MIPI_CSI2RX_CFG_IGNORE_VC_IGNORE_VC_MASK)
  62800. /*! @} */
  62801. /*! @name CFG_VID_VC - Virtual Channel value Register */
  62802. /*! @{ */
  62803. #define MIPI_CSI2RX_CFG_VID_VC_VID_VC_MASK (0x3U)
  62804. #define MIPI_CSI2RX_CFG_VID_VC_VID_VC_SHIFT (0U)
  62805. #define MIPI_CSI2RX_CFG_VID_VC_VID_VC(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_VC_VID_VC_SHIFT)) & MIPI_CSI2RX_CFG_VID_VC_VID_VC_MASK)
  62806. /*! @} */
  62807. /*! @name CFG_VID_P_FIFO_SEND_LEVEL - FIFO Send Level Configuration Register */
  62808. /*! @{ */
  62809. #define MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_MASK (0xFFFFU)
  62810. #define MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_SHIFT (0U)
  62811. /*! SEND_LEVEL - FIFO Send Level field
  62812. */
  62813. #define MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_SHIFT)) & MIPI_CSI2RX_CFG_VID_P_FIFO_SEND_LEVEL_SEND_LEVEL_MASK)
  62814. /*! @} */
  62815. /*! @name CFG_VID_VSYNC - VSYNC Configuration Register */
  62816. /*! @{ */
  62817. #define MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_MASK (0xFFU)
  62818. #define MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_SHIFT (0U)
  62819. /*! WIDTH - Width of VSYNC
  62820. */
  62821. #define MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_SHIFT)) & MIPI_CSI2RX_CFG_VID_VSYNC_WIDTH_MASK)
  62822. /*! @} */
  62823. /*! @name CFG_VID_HSYNC_FP - Start of HSYNC Delay control Register */
  62824. /*! @{ */
  62825. #define MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_MASK (0xFFU)
  62826. #define MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_SHIFT (0U)
  62827. /*! DELAY_CTL - Delay control for beginning of HSYNC pulse
  62828. */
  62829. #define MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_SHIFT)) & MIPI_CSI2RX_CFG_VID_HSYNC_FP_DELAY_CTL_MASK)
  62830. /*! @} */
  62831. /*! @name CFG_VID_HSYNC - HSYNC Configuration Register */
  62832. /*! @{ */
  62833. #define MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_MASK (0xFFU)
  62834. #define MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_SHIFT (0U)
  62835. /*! WIDTH - Width of HSYNC
  62836. */
  62837. #define MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_SHIFT)) & MIPI_CSI2RX_CFG_VID_HSYNC_WIDTH_MASK)
  62838. /*! @} */
  62839. /*! @name CFG_VID_HSYNC_BP - End of HSYNC Delay Control Register */
  62840. /*! @{ */
  62841. #define MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_MASK (0xFFU)
  62842. #define MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_SHIFT (0U)
  62843. /*! DELAY_CTL - Delay Control for end of HSYNC pulse
  62844. */
  62845. #define MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL(x) (((uint32_t)(((uint32_t)(x)) << MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_SHIFT)) & MIPI_CSI2RX_CFG_VID_HSYNC_BP_DELAY_CTL_MASK)
  62846. /*! @} */
  62847. /*!
  62848. * @}
  62849. */ /* end of group MIPI_CSI2RX_Register_Masks */
  62850. /* MIPI_CSI2RX - Peripheral instance base addresses */
  62851. /** Peripheral MIPI_CSI2RX base address */
  62852. #define MIPI_CSI2RX_BASE (0x40810000u)
  62853. /** Peripheral MIPI_CSI2RX base pointer */
  62854. #define MIPI_CSI2RX ((MIPI_CSI2RX_Type *)MIPI_CSI2RX_BASE)
  62855. /** Array initializer of MIPI_CSI2RX peripheral base addresses */
  62856. #define MIPI_CSI2RX_BASE_ADDRS { MIPI_CSI2RX_BASE }
  62857. /** Array initializer of MIPI_CSI2RX peripheral base pointers */
  62858. #define MIPI_CSI2RX_BASE_PTRS { MIPI_CSI2RX }
  62859. /*!
  62860. * @}
  62861. */ /* end of group MIPI_CSI2RX_Peripheral_Access_Layer */
  62862. /* ----------------------------------------------------------------------------
  62863. -- MU Peripheral Access Layer
  62864. ---------------------------------------------------------------------------- */
  62865. /*!
  62866. * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer
  62867. * @{
  62868. */
  62869. /** MU - Register Layout Typedef */
  62870. typedef struct {
  62871. __IO uint32_t TR[4]; /**< Processor A Transmit Register 0..Processor A Transmit Register 3, array offset: 0x0, array step: 0x4 */
  62872. __I uint32_t RR[4]; /**< Processor A Receive Register 0..Processor A Receive Register 3, array offset: 0x10, array step: 0x4 */
  62873. __IO uint32_t SR; /**< Processor A Status Register, offset: 0x20 */
  62874. __IO uint32_t CR; /**< Processor A Control Register, offset: 0x24 */
  62875. } MU_Type;
  62876. /* ----------------------------------------------------------------------------
  62877. -- MU Register Masks
  62878. ---------------------------------------------------------------------------- */
  62879. /*!
  62880. * @addtogroup MU_Register_Masks MU Register Masks
  62881. * @{
  62882. */
  62883. /*! @name TR - Processor A Transmit Register 0..Processor A Transmit Register 3 */
  62884. /*! @{ */
  62885. #define MU_TR_DATA_MASK (0xFFFFFFFFU)
  62886. #define MU_TR_DATA_SHIFT (0U)
  62887. /*! DATA - TR3
  62888. */
  62889. #define MU_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_DATA_SHIFT)) & MU_TR_DATA_MASK)
  62890. /*! @} */
  62891. /* The count of MU_TR */
  62892. #define MU_TR_COUNT (4U)
  62893. /*! @name RR - Processor A Receive Register 0..Processor A Receive Register 3 */
  62894. /*! @{ */
  62895. #define MU_RR_DATA_MASK (0xFFFFFFFFU)
  62896. #define MU_RR_DATA_SHIFT (0U)
  62897. /*! DATA - RR3
  62898. */
  62899. #define MU_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_DATA_SHIFT)) & MU_RR_DATA_MASK)
  62900. /*! @} */
  62901. /* The count of MU_RR */
  62902. #define MU_RR_COUNT (4U)
  62903. /*! @name SR - Processor A Status Register */
  62904. /*! @{ */
  62905. #define MU_SR_Fn_MASK (0x7U)
  62906. #define MU_SR_Fn_SHIFT (0U)
  62907. /*! Fn - Fn
  62908. * 0b000..BAFn bit in MUB.CR register is written 0 (default).
  62909. * 0b001..BAFn bit in MUB.CR register is written 1.
  62910. */
  62911. #define MU_SR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_Fn_SHIFT)) & MU_SR_Fn_MASK)
  62912. #define MU_SR_EP_MASK (0x10U)
  62913. #define MU_SR_EP_SHIFT (4U)
  62914. /*! EP - EP
  62915. * 0b0..The Processor A-side event is not pending (default).
  62916. * 0b1..The Processor A-side event is pending.
  62917. */
  62918. #define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK)
  62919. #define MU_SR_RS_MASK (0x80U)
  62920. #define MU_SR_RS_SHIFT (7U)
  62921. /*! RS - RS
  62922. * 0b0..The Processor B-side of the MU is not in reset.
  62923. * 0b1..The Processor B-side of the MU is in reset.
  62924. */
  62925. #define MU_SR_RS(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RS_SHIFT)) & MU_SR_RS_MASK)
  62926. #define MU_SR_FUP_MASK (0x100U)
  62927. #define MU_SR_FUP_SHIFT (8U)
  62928. /*! FUP - FUP
  62929. * 0b0..No flags updated, initiated by the Processor A, in progress (default)
  62930. * 0b1..Processor A initiated flags update, processing
  62931. */
  62932. #define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK)
  62933. #define MU_SR_TEn_MASK (0xF00000U)
  62934. #define MU_SR_TEn_SHIFT (20U)
  62935. /*! TEn - TEn
  62936. * 0b0000..MUA.TRn register is not empty.
  62937. * 0b0001..MUA.TRn register is empty (default).
  62938. */
  62939. #define MU_SR_TEn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEn_SHIFT)) & MU_SR_TEn_MASK)
  62940. #define MU_SR_RFn_MASK (0xF000000U)
  62941. #define MU_SR_RFn_SHIFT (24U)
  62942. /*! RFn - RFn
  62943. * 0b0000..MUA.RRn register is not full (default).
  62944. * 0b0001..MUA.RRn register has received data from MUB.TRn register and is ready to be read by the Processor A.
  62945. */
  62946. #define MU_SR_RFn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFn_SHIFT)) & MU_SR_RFn_MASK)
  62947. #define MU_SR_GIPn_MASK (0xF0000000U)
  62948. #define MU_SR_GIPn_SHIFT (28U)
  62949. /*! GIPn - GIPn
  62950. * 0b0000..Processor A general purpose interrupt n is not pending. (default)
  62951. * 0b0001..Processor A general purpose interrupt n is pending.
  62952. */
  62953. #define MU_SR_GIPn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIPn_SHIFT)) & MU_SR_GIPn_MASK)
  62954. /*! @} */
  62955. /*! @name CR - Processor A Control Register */
  62956. /*! @{ */
  62957. #define MU_CR_Fn_MASK (0x7U)
  62958. #define MU_CR_Fn_SHIFT (0U)
  62959. /*! Fn - Fn
  62960. * 0b000..N/A. Self clearing bit (default).
  62961. * 0b001..Asserts the Processor A MU reset.
  62962. */
  62963. #define MU_CR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_Fn_SHIFT)) & MU_CR_Fn_MASK)
  62964. #define MU_CR_MUR_MASK (0x20U)
  62965. #define MU_CR_MUR_SHIFT (5U)
  62966. /*! MUR - MUR
  62967. * 0b0..N/A. Self clearing bit (default).
  62968. * 0b1..Asserts the Processor A MU reset.
  62969. */
  62970. #define MU_CR_MUR(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MUR_SHIFT)) & MU_CR_MUR_MASK)
  62971. #define MU_CR_GIRn_MASK (0xF0000U)
  62972. #define MU_CR_GIRn_SHIFT (16U)
  62973. /*! GIRn - GIRn
  62974. * 0b0000..Processor A General Interrupt n is not requested to the Processor B (default).
  62975. * 0b0001..Processor A General Interrupt n is requested to the Processor B.
  62976. */
  62977. #define MU_CR_GIRn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIRn_SHIFT)) & MU_CR_GIRn_MASK)
  62978. #define MU_CR_TIEn_MASK (0xF00000U)
  62979. #define MU_CR_TIEn_SHIFT (20U)
  62980. /*! TIEn - TIEn
  62981. * 0b0000..Disables Processor A Transmit Interrupt n. (default)
  62982. * 0b0001..Enables Processor A Transmit Interrupt n.
  62983. */
  62984. #define MU_CR_TIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_TIEn_SHIFT)) & MU_CR_TIEn_MASK)
  62985. #define MU_CR_RIEn_MASK (0xF000000U)
  62986. #define MU_CR_RIEn_SHIFT (24U)
  62987. /*! RIEn - RIEn
  62988. * 0b0000..Disables Processor A Receive Interrupt n. (default)
  62989. * 0b0001..Enables Processor A Receive Interrupt n.
  62990. */
  62991. #define MU_CR_RIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RIEn_SHIFT)) & MU_CR_RIEn_MASK)
  62992. #define MU_CR_GIEn_MASK (0xF0000000U)
  62993. #define MU_CR_GIEn_SHIFT (28U)
  62994. /*! GIEn - GIEn
  62995. * 0b0000..Disables Processor A General Interrupt n. (default)
  62996. * 0b0001..Enables Processor A General Interrupt n.
  62997. */
  62998. #define MU_CR_GIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIEn_SHIFT)) & MU_CR_GIEn_MASK)
  62999. /*! @} */
  63000. /*!
  63001. * @}
  63002. */ /* end of group MU_Register_Masks */
  63003. /* MU - Peripheral instance base addresses */
  63004. /** Peripheral MUA base address */
  63005. #define MUA_BASE (0x40C48000u)
  63006. /** Peripheral MUA base pointer */
  63007. #define MUA ((MU_Type *)MUA_BASE)
  63008. /** Array initializer of MU peripheral base addresses */
  63009. #define MU_BASE_ADDRS { MUA_BASE }
  63010. /** Array initializer of MU peripheral base pointers */
  63011. #define MU_BASE_PTRS { MUA }
  63012. /** Interrupt vectors for the MU peripheral type */
  63013. #define MU_IRQS { MUA_IRQn }
  63014. /*!
  63015. * @}
  63016. */ /* end of group MU_Peripheral_Access_Layer */
  63017. /* ----------------------------------------------------------------------------
  63018. -- OCOTP Peripheral Access Layer
  63019. ---------------------------------------------------------------------------- */
  63020. /*!
  63021. * @addtogroup OCOTP_Peripheral_Access_Layer OCOTP Peripheral Access Layer
  63022. * @{
  63023. */
  63024. /** OCOTP - Register Layout Typedef */
  63025. typedef struct {
  63026. __IO uint32_t CTRL; /**< OTP Controller Control and Status Register, offset: 0x0 */
  63027. __IO uint32_t CTRL_SET; /**< OTP Controller Control and Status Register, offset: 0x4 */
  63028. __IO uint32_t CTRL_CLR; /**< OTP Controller Control and Status Register, offset: 0x8 */
  63029. __IO uint32_t CTRL_TOG; /**< OTP Controller Control and Status Register, offset: 0xC */
  63030. __IO uint32_t PDN; /**< OTP Controller PDN Register, offset: 0x10 */
  63031. uint8_t RESERVED_0[12];
  63032. __IO uint32_t DATA; /**< OTP Controller Write Data Register, offset: 0x20 */
  63033. uint8_t RESERVED_1[12];
  63034. __IO uint32_t READ_CTRL; /**< OTP Controller Read Control Register, offset: 0x30 */
  63035. uint8_t RESERVED_2[92];
  63036. __IO uint32_t OUT_STATUS; /**< 8K OTP Memory STATUS Register, offset: 0x90 */
  63037. __IO uint32_t OUT_STATUS_SET; /**< 8K OTP Memory STATUS Register, offset: 0x94 */
  63038. __IO uint32_t OUT_STATUS_CLR; /**< 8K OTP Memory STATUS Register, offset: 0x98 */
  63039. __IO uint32_t OUT_STATUS_TOG; /**< 8K OTP Memory STATUS Register, offset: 0x9C */
  63040. uint8_t RESERVED_3[16];
  63041. __I uint32_t VERSION; /**< OTP Controller Version Register, offset: 0xB0 */
  63042. uint8_t RESERVED_4[76];
  63043. struct { /* offset: 0x100, array step: 0x10 */
  63044. __IO uint32_t READ_FUSE_DATA; /**< OTP Controller Read Data 0 Register..OTP Controller Read Data 3 Register, array offset: 0x100, array step: 0x10 */
  63045. uint8_t RESERVED_0[12];
  63046. } READ_FUSE_DATAS[4];
  63047. __IO uint32_t SW_LOCK; /**< SW_LOCK Register, offset: 0x140 */
  63048. uint8_t RESERVED_5[12];
  63049. __IO uint32_t BIT_LOCK; /**< BIT_LOCK Register, offset: 0x150 */
  63050. uint8_t RESERVED_6[1196];
  63051. __I uint32_t LOCKED0; /**< OTP Controller Program Locked Status 0 Register, offset: 0x600 */
  63052. uint8_t RESERVED_7[12];
  63053. __I uint32_t LOCKED1; /**< OTP Controller Program Locked Status 1 Register, offset: 0x610 */
  63054. uint8_t RESERVED_8[12];
  63055. __I uint32_t LOCKED2; /**< OTP Controller Program Locked Status 2 Register, offset: 0x620 */
  63056. uint8_t RESERVED_9[12];
  63057. __I uint32_t LOCKED3; /**< OTP Controller Program Locked Status 3 Register, offset: 0x630 */
  63058. uint8_t RESERVED_10[12];
  63059. __I uint32_t LOCKED4; /**< OTP Controller Program Locked Status 4 Register, offset: 0x640 */
  63060. uint8_t RESERVED_11[444];
  63061. struct { /* offset: 0x800, array step: 0x10 */
  63062. __I uint32_t FUSE; /**< Value of fuse word 0..Value of fuse word 143, array offset: 0x800, array step: 0x10 */
  63063. uint8_t RESERVED_0[12];
  63064. } FUSEN[144];
  63065. } OCOTP_Type;
  63066. /* ----------------------------------------------------------------------------
  63067. -- OCOTP Register Masks
  63068. ---------------------------------------------------------------------------- */
  63069. /*!
  63070. * @addtogroup OCOTP_Register_Masks OCOTP Register Masks
  63071. * @{
  63072. */
  63073. /*! @name CTRL - OTP Controller Control and Status Register */
  63074. /*! @{ */
  63075. #define OCOTP_CTRL_ADDR_MASK (0x3FFU)
  63076. #define OCOTP_CTRL_ADDR_SHIFT (0U)
  63077. /*! ADDR - OTP write and read access address register
  63078. * 0b0000000000-0b0000001111..Address of one of the 16 supplementary fuse words in OTP memory.
  63079. * 0b0000010000-0b0100001111..Address of one of the 256 user fuse words in OTP memory.
  63080. */
  63081. #define OCOTP_CTRL_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ADDR_SHIFT)) & OCOTP_CTRL_ADDR_MASK)
  63082. #define OCOTP_CTRL_BUSY_MASK (0x400U)
  63083. #define OCOTP_CTRL_BUSY_SHIFT (10U)
  63084. /*! BUSY - OTP controller status bit
  63085. * 0b0..No write or read access to OTP started.
  63086. * 0b1..Write or read access to OTP started.
  63087. */
  63088. #define OCOTP_CTRL_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_BUSY_SHIFT)) & OCOTP_CTRL_BUSY_MASK)
  63089. #define OCOTP_CTRL_ERROR_MASK (0x800U)
  63090. #define OCOTP_CTRL_ERROR_SHIFT (11U)
  63091. /*! ERROR - Locked Region Access Error
  63092. * 0b0..No error.
  63093. * 0b1..Error - access to a locked region requested.
  63094. */
  63095. #define OCOTP_CTRL_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_ERROR_SHIFT)) & OCOTP_CTRL_ERROR_MASK)
  63096. #define OCOTP_CTRL_RELOAD_SHADOWS_MASK (0x1000U)
  63097. #define OCOTP_CTRL_RELOAD_SHADOWS_SHIFT (12U)
  63098. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63099. * 0b0..Do not force shadow register re-load.
  63100. * 0b1..Force shadow register re-load. This bit is cleared automatically after shadow registers are re-loaded.
  63101. */
  63102. #define OCOTP_CTRL_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_RELOAD_SHADOWS_MASK)
  63103. #define OCOTP_CTRL_WORDLOCK_MASK (0x8000U)
  63104. #define OCOTP_CTRL_WORDLOCK_SHIFT (15U)
  63105. /*! WORDLOCK - Lock fuse word
  63106. * 0b0..No change to LOCK bit when programming a word using redundancy
  63107. * 0b1..LOCK bit for fuse word will be set after successfully programming a word using redundancy
  63108. */
  63109. #define OCOTP_CTRL_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WORDLOCK_SHIFT)) & OCOTP_CTRL_WORDLOCK_MASK)
  63110. #define OCOTP_CTRL_WR_UNLOCK_MASK (0xFFFF0000U)
  63111. #define OCOTP_CTRL_WR_UNLOCK_SHIFT (16U)
  63112. /*! WR_UNLOCK - Write unlock
  63113. * 0b0000000000000000..OTP write access is locked.
  63114. * 0b0011111001110111..OTP write access is unlocked.
  63115. */
  63116. #define OCOTP_CTRL_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_WR_UNLOCK_MASK)
  63117. /*! @} */
  63118. /*! @name CTRL_SET - OTP Controller Control and Status Register */
  63119. /*! @{ */
  63120. #define OCOTP_CTRL_SET_ADDR_MASK (0x3FFU)
  63121. #define OCOTP_CTRL_SET_ADDR_SHIFT (0U)
  63122. /*! ADDR - OTP write and read access address register
  63123. */
  63124. #define OCOTP_CTRL_SET_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ADDR_SHIFT)) & OCOTP_CTRL_SET_ADDR_MASK)
  63125. #define OCOTP_CTRL_SET_BUSY_MASK (0x400U)
  63126. #define OCOTP_CTRL_SET_BUSY_SHIFT (10U)
  63127. /*! BUSY - OTP controller status bit
  63128. */
  63129. #define OCOTP_CTRL_SET_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_BUSY_SHIFT)) & OCOTP_CTRL_SET_BUSY_MASK)
  63130. #define OCOTP_CTRL_SET_ERROR_MASK (0x800U)
  63131. #define OCOTP_CTRL_SET_ERROR_SHIFT (11U)
  63132. /*! ERROR - Locked Region Access Error
  63133. */
  63134. #define OCOTP_CTRL_SET_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_ERROR_SHIFT)) & OCOTP_CTRL_SET_ERROR_MASK)
  63135. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK (0x1000U)
  63136. #define OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT (12U)
  63137. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63138. */
  63139. #define OCOTP_CTRL_SET_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_SET_RELOAD_SHADOWS_MASK)
  63140. #define OCOTP_CTRL_SET_WORDLOCK_MASK (0x8000U)
  63141. #define OCOTP_CTRL_SET_WORDLOCK_SHIFT (15U)
  63142. /*! WORDLOCK - Lock fuse word
  63143. */
  63144. #define OCOTP_CTRL_SET_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WORDLOCK_SHIFT)) & OCOTP_CTRL_SET_WORDLOCK_MASK)
  63145. #define OCOTP_CTRL_SET_WR_UNLOCK_MASK (0xFFFF0000U)
  63146. #define OCOTP_CTRL_SET_WR_UNLOCK_SHIFT (16U)
  63147. /*! WR_UNLOCK - Write unlock
  63148. */
  63149. #define OCOTP_CTRL_SET_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_SET_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_SET_WR_UNLOCK_MASK)
  63150. /*! @} */
  63151. /*! @name CTRL_CLR - OTP Controller Control and Status Register */
  63152. /*! @{ */
  63153. #define OCOTP_CTRL_CLR_ADDR_MASK (0x3FFU)
  63154. #define OCOTP_CTRL_CLR_ADDR_SHIFT (0U)
  63155. /*! ADDR - OTP write and read access address register
  63156. */
  63157. #define OCOTP_CTRL_CLR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ADDR_SHIFT)) & OCOTP_CTRL_CLR_ADDR_MASK)
  63158. #define OCOTP_CTRL_CLR_BUSY_MASK (0x400U)
  63159. #define OCOTP_CTRL_CLR_BUSY_SHIFT (10U)
  63160. /*! BUSY - OTP controller status bit
  63161. */
  63162. #define OCOTP_CTRL_CLR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_BUSY_SHIFT)) & OCOTP_CTRL_CLR_BUSY_MASK)
  63163. #define OCOTP_CTRL_CLR_ERROR_MASK (0x800U)
  63164. #define OCOTP_CTRL_CLR_ERROR_SHIFT (11U)
  63165. /*! ERROR - Locked Region Access Error
  63166. */
  63167. #define OCOTP_CTRL_CLR_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_ERROR_SHIFT)) & OCOTP_CTRL_CLR_ERROR_MASK)
  63168. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK (0x1000U)
  63169. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT (12U)
  63170. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63171. */
  63172. #define OCOTP_CTRL_CLR_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_CLR_RELOAD_SHADOWS_MASK)
  63173. #define OCOTP_CTRL_CLR_WORDLOCK_MASK (0x8000U)
  63174. #define OCOTP_CTRL_CLR_WORDLOCK_SHIFT (15U)
  63175. /*! WORDLOCK - Lock fuse word
  63176. */
  63177. #define OCOTP_CTRL_CLR_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WORDLOCK_SHIFT)) & OCOTP_CTRL_CLR_WORDLOCK_MASK)
  63178. #define OCOTP_CTRL_CLR_WR_UNLOCK_MASK (0xFFFF0000U)
  63179. #define OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT (16U)
  63180. /*! WR_UNLOCK - Write unlock
  63181. */
  63182. #define OCOTP_CTRL_CLR_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_CLR_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_CLR_WR_UNLOCK_MASK)
  63183. /*! @} */
  63184. /*! @name CTRL_TOG - OTP Controller Control and Status Register */
  63185. /*! @{ */
  63186. #define OCOTP_CTRL_TOG_ADDR_MASK (0x3FFU)
  63187. #define OCOTP_CTRL_TOG_ADDR_SHIFT (0U)
  63188. /*! ADDR - OTP write and read access address register
  63189. */
  63190. #define OCOTP_CTRL_TOG_ADDR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ADDR_SHIFT)) & OCOTP_CTRL_TOG_ADDR_MASK)
  63191. #define OCOTP_CTRL_TOG_BUSY_MASK (0x400U)
  63192. #define OCOTP_CTRL_TOG_BUSY_SHIFT (10U)
  63193. /*! BUSY - OTP controller status bit
  63194. */
  63195. #define OCOTP_CTRL_TOG_BUSY(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_BUSY_SHIFT)) & OCOTP_CTRL_TOG_BUSY_MASK)
  63196. #define OCOTP_CTRL_TOG_ERROR_MASK (0x800U)
  63197. #define OCOTP_CTRL_TOG_ERROR_SHIFT (11U)
  63198. /*! ERROR - Locked Region Access Error
  63199. */
  63200. #define OCOTP_CTRL_TOG_ERROR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_ERROR_SHIFT)) & OCOTP_CTRL_TOG_ERROR_MASK)
  63201. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK (0x1000U)
  63202. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT (12U)
  63203. /*! RELOAD_SHADOWS - Reload Shadow Registers
  63204. */
  63205. #define OCOTP_CTRL_TOG_RELOAD_SHADOWS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_RELOAD_SHADOWS_SHIFT)) & OCOTP_CTRL_TOG_RELOAD_SHADOWS_MASK)
  63206. #define OCOTP_CTRL_TOG_WORDLOCK_MASK (0x8000U)
  63207. #define OCOTP_CTRL_TOG_WORDLOCK_SHIFT (15U)
  63208. /*! WORDLOCK - Lock fuse word
  63209. */
  63210. #define OCOTP_CTRL_TOG_WORDLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WORDLOCK_SHIFT)) & OCOTP_CTRL_TOG_WORDLOCK_MASK)
  63211. #define OCOTP_CTRL_TOG_WR_UNLOCK_MASK (0xFFFF0000U)
  63212. #define OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT (16U)
  63213. /*! WR_UNLOCK - Write unlock
  63214. */
  63215. #define OCOTP_CTRL_TOG_WR_UNLOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_CTRL_TOG_WR_UNLOCK_SHIFT)) & OCOTP_CTRL_TOG_WR_UNLOCK_MASK)
  63216. /*! @} */
  63217. /*! @name PDN - OTP Controller PDN Register */
  63218. /*! @{ */
  63219. #define OCOTP_PDN_PDN_MASK (0x1U)
  63220. #define OCOTP_PDN_PDN_SHIFT (0U)
  63221. /*! PDN - PDN value
  63222. * 0b0..OTP memory is not powered
  63223. * 0b1..OTP memory is powered
  63224. */
  63225. #define OCOTP_PDN_PDN(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_PDN_PDN_SHIFT)) & OCOTP_PDN_PDN_MASK)
  63226. /*! @} */
  63227. /*! @name DATA - OTP Controller Write Data Register */
  63228. /*! @{ */
  63229. #define OCOTP_DATA_DATA_MASK (0xFFFFFFFFU)
  63230. #define OCOTP_DATA_DATA_SHIFT (0U)
  63231. /*! DATA - Data
  63232. */
  63233. #define OCOTP_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_DATA_DATA_SHIFT)) & OCOTP_DATA_DATA_MASK)
  63234. /*! @} */
  63235. /*! @name READ_CTRL - OTP Controller Read Control Register */
  63236. /*! @{ */
  63237. #define OCOTP_READ_CTRL_READ_FUSE_MASK (0x1U)
  63238. #define OCOTP_READ_CTRL_READ_FUSE_SHIFT (0U)
  63239. /*! READ_FUSE - Read Fuse
  63240. * 0b0..Do not initiate a read from OTP
  63241. * 0b1..Initiate a read from OTP
  63242. */
  63243. #define OCOTP_READ_CTRL_READ_FUSE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_MASK)
  63244. #define OCOTP_READ_CTRL_READ_FUSE_CNTR_MASK (0x6U)
  63245. #define OCOTP_READ_CTRL_READ_FUSE_CNTR_SHIFT (1U)
  63246. /*! READ_FUSE_CNTR - Number of words to read.
  63247. * 0b00..1 word
  63248. * 0b01..2 words
  63249. * 0b10..3 words
  63250. * 0b11..4 words
  63251. */
  63252. #define OCOTP_READ_CTRL_READ_FUSE_CNTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_CNTR_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_CNTR_MASK)
  63253. #define OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_MASK (0x8U)
  63254. #define OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_SHIFT (3U)
  63255. /*! READ_FUSE_DONE_INTR_ENA - Enable read-done interrupt
  63256. * 0b0..Disable
  63257. * 0b1..Enable
  63258. */
  63259. #define OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_DONE_INTR_ENA_MASK)
  63260. #define OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_MASK (0x10U)
  63261. #define OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_SHIFT (4U)
  63262. /*! READ_FUSE_ERROR_INTR_ENA - Enable read-error interrupt
  63263. * 0b0..Disable
  63264. * 0b1..Enable
  63265. */
  63266. #define OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_SHIFT)) & OCOTP_READ_CTRL_READ_FUSE_ERROR_INTR_ENA_MASK)
  63267. /*! @} */
  63268. /*! @name OUT_STATUS - 8K OTP Memory STATUS Register */
  63269. /*! @{ */
  63270. #define OCOTP_OUT_STATUS_SEC_MASK (0x200U)
  63271. #define OCOTP_OUT_STATUS_SEC_SHIFT (9U)
  63272. /*! SEC - Single Error Correct
  63273. */
  63274. #define OCOTP_OUT_STATUS_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SEC_SHIFT)) & OCOTP_OUT_STATUS_SEC_MASK)
  63275. #define OCOTP_OUT_STATUS_DED_MASK (0x400U)
  63276. #define OCOTP_OUT_STATUS_DED_SHIFT (10U)
  63277. /*! DED - Double error detect
  63278. */
  63279. #define OCOTP_OUT_STATUS_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED_SHIFT)) & OCOTP_OUT_STATUS_DED_MASK)
  63280. #define OCOTP_OUT_STATUS_LOCKED_MASK (0x800U)
  63281. #define OCOTP_OUT_STATUS_LOCKED_SHIFT (11U)
  63282. /*! LOCKED - Word Locked
  63283. */
  63284. #define OCOTP_OUT_STATUS_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_LOCKED_MASK)
  63285. #define OCOTP_OUT_STATUS_PROGFAIL_MASK (0x1000U)
  63286. #define OCOTP_OUT_STATUS_PROGFAIL_SHIFT (12U)
  63287. /*! PROGFAIL - Programming failed
  63288. */
  63289. #define OCOTP_OUT_STATUS_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_PROGFAIL_MASK)
  63290. #define OCOTP_OUT_STATUS_ACK_MASK (0x2000U)
  63291. #define OCOTP_OUT_STATUS_ACK_SHIFT (13U)
  63292. /*! ACK - Acknowledge
  63293. */
  63294. #define OCOTP_OUT_STATUS_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_ACK_SHIFT)) & OCOTP_OUT_STATUS_ACK_MASK)
  63295. #define OCOTP_OUT_STATUS_PWOK_MASK (0x4000U)
  63296. #define OCOTP_OUT_STATUS_PWOK_SHIFT (14U)
  63297. /*! PWOK - Power OK
  63298. */
  63299. #define OCOTP_OUT_STATUS_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_PWOK_SHIFT)) & OCOTP_OUT_STATUS_PWOK_MASK)
  63300. #define OCOTP_OUT_STATUS_FLAGSTATE_MASK (0x78000U)
  63301. #define OCOTP_OUT_STATUS_FLAGSTATE_SHIFT (15U)
  63302. /*! FLAGSTATE - Flag state
  63303. */
  63304. #define OCOTP_OUT_STATUS_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_FLAGSTATE_MASK)
  63305. #define OCOTP_OUT_STATUS_SEC_RELOAD_MASK (0x80000U)
  63306. #define OCOTP_OUT_STATUS_SEC_RELOAD_SHIFT (19U)
  63307. /*! SEC_RELOAD - Indicates single error correction occured on reload
  63308. */
  63309. #define OCOTP_OUT_STATUS_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SEC_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_SEC_RELOAD_MASK)
  63310. #define OCOTP_OUT_STATUS_DED_RELOAD_MASK (0x100000U)
  63311. #define OCOTP_OUT_STATUS_DED_RELOAD_SHIFT (20U)
  63312. /*! DED_RELOAD - Indicates double error detection occured on reload
  63313. */
  63314. #define OCOTP_OUT_STATUS_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_DED_RELOAD_MASK)
  63315. #define OCOTP_OUT_STATUS_CALIBRATED_MASK (0x200000U)
  63316. #define OCOTP_OUT_STATUS_CALIBRATED_SHIFT (21U)
  63317. /*! CALIBRATED - Calibrated status
  63318. */
  63319. #define OCOTP_OUT_STATUS_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_CALIBRATED_MASK)
  63320. #define OCOTP_OUT_STATUS_READ_DONE_INTR_MASK (0x400000U)
  63321. #define OCOTP_OUT_STATUS_READ_DONE_INTR_SHIFT (22U)
  63322. /*! READ_DONE_INTR - Read fuse done
  63323. */
  63324. #define OCOTP_OUT_STATUS_READ_DONE_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_READ_DONE_INTR_SHIFT)) & OCOTP_OUT_STATUS_READ_DONE_INTR_MASK)
  63325. #define OCOTP_OUT_STATUS_READ_ERROR_INTR_MASK (0x800000U)
  63326. #define OCOTP_OUT_STATUS_READ_ERROR_INTR_SHIFT (23U)
  63327. /*! READ_ERROR_INTR - Fuse read error
  63328. * 0b0..Read operation finished with out any error
  63329. * 0b1..Read operation finished with an error
  63330. */
  63331. #define OCOTP_OUT_STATUS_READ_ERROR_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_READ_ERROR_INTR_SHIFT)) & OCOTP_OUT_STATUS_READ_ERROR_INTR_MASK)
  63332. #define OCOTP_OUT_STATUS_DED0_MASK (0x1000000U)
  63333. #define OCOTP_OUT_STATUS_DED0_SHIFT (24U)
  63334. /*! DED0 - Double error detect
  63335. */
  63336. #define OCOTP_OUT_STATUS_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED0_SHIFT)) & OCOTP_OUT_STATUS_DED0_MASK)
  63337. #define OCOTP_OUT_STATUS_DED1_MASK (0x2000000U)
  63338. #define OCOTP_OUT_STATUS_DED1_SHIFT (25U)
  63339. /*! DED1 - Double error detect
  63340. */
  63341. #define OCOTP_OUT_STATUS_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED1_SHIFT)) & OCOTP_OUT_STATUS_DED1_MASK)
  63342. #define OCOTP_OUT_STATUS_DED2_MASK (0x4000000U)
  63343. #define OCOTP_OUT_STATUS_DED2_SHIFT (26U)
  63344. /*! DED2 - Double error detect
  63345. */
  63346. #define OCOTP_OUT_STATUS_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED2_SHIFT)) & OCOTP_OUT_STATUS_DED2_MASK)
  63347. #define OCOTP_OUT_STATUS_DED3_MASK (0x8000000U)
  63348. #define OCOTP_OUT_STATUS_DED3_SHIFT (27U)
  63349. /*! DED3 - Double error detect
  63350. */
  63351. #define OCOTP_OUT_STATUS_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_DED3_SHIFT)) & OCOTP_OUT_STATUS_DED3_MASK)
  63352. /*! @} */
  63353. /*! @name OUT_STATUS_SET - 8K OTP Memory STATUS Register */
  63354. /*! @{ */
  63355. #define OCOTP_OUT_STATUS_SET_SEC_MASK (0x200U)
  63356. #define OCOTP_OUT_STATUS_SET_SEC_SHIFT (9U)
  63357. /*! SEC - Single Error Correct
  63358. */
  63359. #define OCOTP_OUT_STATUS_SET_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_SEC_SHIFT)) & OCOTP_OUT_STATUS_SET_SEC_MASK)
  63360. #define OCOTP_OUT_STATUS_SET_DED_MASK (0x400U)
  63361. #define OCOTP_OUT_STATUS_SET_DED_SHIFT (10U)
  63362. /*! DED - Double error detect
  63363. */
  63364. #define OCOTP_OUT_STATUS_SET_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED_SHIFT)) & OCOTP_OUT_STATUS_SET_DED_MASK)
  63365. #define OCOTP_OUT_STATUS_SET_LOCKED_MASK (0x800U)
  63366. #define OCOTP_OUT_STATUS_SET_LOCKED_SHIFT (11U)
  63367. /*! LOCKED - Word Locked
  63368. */
  63369. #define OCOTP_OUT_STATUS_SET_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_SET_LOCKED_MASK)
  63370. #define OCOTP_OUT_STATUS_SET_PROGFAIL_MASK (0x1000U)
  63371. #define OCOTP_OUT_STATUS_SET_PROGFAIL_SHIFT (12U)
  63372. /*! PROGFAIL - Programming failed
  63373. */
  63374. #define OCOTP_OUT_STATUS_SET_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_SET_PROGFAIL_MASK)
  63375. #define OCOTP_OUT_STATUS_SET_ACK_MASK (0x2000U)
  63376. #define OCOTP_OUT_STATUS_SET_ACK_SHIFT (13U)
  63377. /*! ACK - Acknowledge
  63378. */
  63379. #define OCOTP_OUT_STATUS_SET_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_ACK_SHIFT)) & OCOTP_OUT_STATUS_SET_ACK_MASK)
  63380. #define OCOTP_OUT_STATUS_SET_PWOK_MASK (0x4000U)
  63381. #define OCOTP_OUT_STATUS_SET_PWOK_SHIFT (14U)
  63382. /*! PWOK - Power OK
  63383. */
  63384. #define OCOTP_OUT_STATUS_SET_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_PWOK_SHIFT)) & OCOTP_OUT_STATUS_SET_PWOK_MASK)
  63385. #define OCOTP_OUT_STATUS_SET_FLAGSTATE_MASK (0x78000U)
  63386. #define OCOTP_OUT_STATUS_SET_FLAGSTATE_SHIFT (15U)
  63387. /*! FLAGSTATE - Flag state
  63388. */
  63389. #define OCOTP_OUT_STATUS_SET_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_SET_FLAGSTATE_MASK)
  63390. #define OCOTP_OUT_STATUS_SET_SEC_RELOAD_MASK (0x80000U)
  63391. #define OCOTP_OUT_STATUS_SET_SEC_RELOAD_SHIFT (19U)
  63392. /*! SEC_RELOAD - Indicates single error correction occured on reload
  63393. */
  63394. #define OCOTP_OUT_STATUS_SET_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_SEC_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_SET_SEC_RELOAD_MASK)
  63395. #define OCOTP_OUT_STATUS_SET_DED_RELOAD_MASK (0x100000U)
  63396. #define OCOTP_OUT_STATUS_SET_DED_RELOAD_SHIFT (20U)
  63397. /*! DED_RELOAD - Indicates double error detection occured on reload
  63398. */
  63399. #define OCOTP_OUT_STATUS_SET_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_SET_DED_RELOAD_MASK)
  63400. #define OCOTP_OUT_STATUS_SET_CALIBRATED_MASK (0x200000U)
  63401. #define OCOTP_OUT_STATUS_SET_CALIBRATED_SHIFT (21U)
  63402. /*! CALIBRATED - Calibrated status
  63403. */
  63404. #define OCOTP_OUT_STATUS_SET_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_SET_CALIBRATED_MASK)
  63405. #define OCOTP_OUT_STATUS_SET_READ_DONE_INTR_MASK (0x400000U)
  63406. #define OCOTP_OUT_STATUS_SET_READ_DONE_INTR_SHIFT (22U)
  63407. /*! READ_DONE_INTR - Read fuse done
  63408. */
  63409. #define OCOTP_OUT_STATUS_SET_READ_DONE_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_READ_DONE_INTR_SHIFT)) & OCOTP_OUT_STATUS_SET_READ_DONE_INTR_MASK)
  63410. #define OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_MASK (0x800000U)
  63411. #define OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_SHIFT (23U)
  63412. /*! READ_ERROR_INTR - Fuse read error
  63413. */
  63414. #define OCOTP_OUT_STATUS_SET_READ_ERROR_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_SHIFT)) & OCOTP_OUT_STATUS_SET_READ_ERROR_INTR_MASK)
  63415. #define OCOTP_OUT_STATUS_SET_DED0_MASK (0x1000000U)
  63416. #define OCOTP_OUT_STATUS_SET_DED0_SHIFT (24U)
  63417. /*! DED0 - Double error detect
  63418. */
  63419. #define OCOTP_OUT_STATUS_SET_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED0_SHIFT)) & OCOTP_OUT_STATUS_SET_DED0_MASK)
  63420. #define OCOTP_OUT_STATUS_SET_DED1_MASK (0x2000000U)
  63421. #define OCOTP_OUT_STATUS_SET_DED1_SHIFT (25U)
  63422. /*! DED1 - Double error detect
  63423. */
  63424. #define OCOTP_OUT_STATUS_SET_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED1_SHIFT)) & OCOTP_OUT_STATUS_SET_DED1_MASK)
  63425. #define OCOTP_OUT_STATUS_SET_DED2_MASK (0x4000000U)
  63426. #define OCOTP_OUT_STATUS_SET_DED2_SHIFT (26U)
  63427. /*! DED2 - Double error detect
  63428. */
  63429. #define OCOTP_OUT_STATUS_SET_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED2_SHIFT)) & OCOTP_OUT_STATUS_SET_DED2_MASK)
  63430. #define OCOTP_OUT_STATUS_SET_DED3_MASK (0x8000000U)
  63431. #define OCOTP_OUT_STATUS_SET_DED3_SHIFT (27U)
  63432. /*! DED3 - Double error detect
  63433. */
  63434. #define OCOTP_OUT_STATUS_SET_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_SET_DED3_SHIFT)) & OCOTP_OUT_STATUS_SET_DED3_MASK)
  63435. /*! @} */
  63436. /*! @name OUT_STATUS_CLR - 8K OTP Memory STATUS Register */
  63437. /*! @{ */
  63438. #define OCOTP_OUT_STATUS_CLR_SEC_MASK (0x200U)
  63439. #define OCOTP_OUT_STATUS_CLR_SEC_SHIFT (9U)
  63440. /*! SEC - Single Error Correct
  63441. */
  63442. #define OCOTP_OUT_STATUS_CLR_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_SEC_SHIFT)) & OCOTP_OUT_STATUS_CLR_SEC_MASK)
  63443. #define OCOTP_OUT_STATUS_CLR_DED_MASK (0x400U)
  63444. #define OCOTP_OUT_STATUS_CLR_DED_SHIFT (10U)
  63445. /*! DED - Double error detect
  63446. */
  63447. #define OCOTP_OUT_STATUS_CLR_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED_MASK)
  63448. #define OCOTP_OUT_STATUS_CLR_LOCKED_MASK (0x800U)
  63449. #define OCOTP_OUT_STATUS_CLR_LOCKED_SHIFT (11U)
  63450. /*! LOCKED - Word Locked
  63451. */
  63452. #define OCOTP_OUT_STATUS_CLR_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_CLR_LOCKED_MASK)
  63453. #define OCOTP_OUT_STATUS_CLR_PROGFAIL_MASK (0x1000U)
  63454. #define OCOTP_OUT_STATUS_CLR_PROGFAIL_SHIFT (12U)
  63455. /*! PROGFAIL - Programming failed
  63456. */
  63457. #define OCOTP_OUT_STATUS_CLR_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_CLR_PROGFAIL_MASK)
  63458. #define OCOTP_OUT_STATUS_CLR_ACK_MASK (0x2000U)
  63459. #define OCOTP_OUT_STATUS_CLR_ACK_SHIFT (13U)
  63460. /*! ACK - Acknowledge
  63461. */
  63462. #define OCOTP_OUT_STATUS_CLR_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_ACK_SHIFT)) & OCOTP_OUT_STATUS_CLR_ACK_MASK)
  63463. #define OCOTP_OUT_STATUS_CLR_PWOK_MASK (0x4000U)
  63464. #define OCOTP_OUT_STATUS_CLR_PWOK_SHIFT (14U)
  63465. /*! PWOK - Power OK
  63466. */
  63467. #define OCOTP_OUT_STATUS_CLR_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_PWOK_SHIFT)) & OCOTP_OUT_STATUS_CLR_PWOK_MASK)
  63468. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE_MASK (0x78000U)
  63469. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE_SHIFT (15U)
  63470. /*! FLAGSTATE - Flag state
  63471. */
  63472. #define OCOTP_OUT_STATUS_CLR_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_CLR_FLAGSTATE_MASK)
  63473. #define OCOTP_OUT_STATUS_CLR_SEC_RELOAD_MASK (0x80000U)
  63474. #define OCOTP_OUT_STATUS_CLR_SEC_RELOAD_SHIFT (19U)
  63475. /*! SEC_RELOAD - Indicates single error correction occured on reload
  63476. */
  63477. #define OCOTP_OUT_STATUS_CLR_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_SEC_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_CLR_SEC_RELOAD_MASK)
  63478. #define OCOTP_OUT_STATUS_CLR_DED_RELOAD_MASK (0x100000U)
  63479. #define OCOTP_OUT_STATUS_CLR_DED_RELOAD_SHIFT (20U)
  63480. /*! DED_RELOAD - Indicates double error detection occured on reload
  63481. */
  63482. #define OCOTP_OUT_STATUS_CLR_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED_RELOAD_MASK)
  63483. #define OCOTP_OUT_STATUS_CLR_CALIBRATED_MASK (0x200000U)
  63484. #define OCOTP_OUT_STATUS_CLR_CALIBRATED_SHIFT (21U)
  63485. /*! CALIBRATED - Calibrated status
  63486. */
  63487. #define OCOTP_OUT_STATUS_CLR_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_CLR_CALIBRATED_MASK)
  63488. #define OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_MASK (0x400000U)
  63489. #define OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_SHIFT (22U)
  63490. /*! READ_DONE_INTR - Read fuse done
  63491. */
  63492. #define OCOTP_OUT_STATUS_CLR_READ_DONE_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_SHIFT)) & OCOTP_OUT_STATUS_CLR_READ_DONE_INTR_MASK)
  63493. #define OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_MASK (0x800000U)
  63494. #define OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_SHIFT (23U)
  63495. /*! READ_ERROR_INTR - Fuse read error
  63496. */
  63497. #define OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_SHIFT)) & OCOTP_OUT_STATUS_CLR_READ_ERROR_INTR_MASK)
  63498. #define OCOTP_OUT_STATUS_CLR_DED0_MASK (0x1000000U)
  63499. #define OCOTP_OUT_STATUS_CLR_DED0_SHIFT (24U)
  63500. /*! DED0 - Double error detect
  63501. */
  63502. #define OCOTP_OUT_STATUS_CLR_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED0_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED0_MASK)
  63503. #define OCOTP_OUT_STATUS_CLR_DED1_MASK (0x2000000U)
  63504. #define OCOTP_OUT_STATUS_CLR_DED1_SHIFT (25U)
  63505. /*! DED1 - Double error detect
  63506. */
  63507. #define OCOTP_OUT_STATUS_CLR_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED1_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED1_MASK)
  63508. #define OCOTP_OUT_STATUS_CLR_DED2_MASK (0x4000000U)
  63509. #define OCOTP_OUT_STATUS_CLR_DED2_SHIFT (26U)
  63510. /*! DED2 - Double error detect
  63511. */
  63512. #define OCOTP_OUT_STATUS_CLR_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED2_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED2_MASK)
  63513. #define OCOTP_OUT_STATUS_CLR_DED3_MASK (0x8000000U)
  63514. #define OCOTP_OUT_STATUS_CLR_DED3_SHIFT (27U)
  63515. /*! DED3 - Double error detect
  63516. */
  63517. #define OCOTP_OUT_STATUS_CLR_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_CLR_DED3_SHIFT)) & OCOTP_OUT_STATUS_CLR_DED3_MASK)
  63518. /*! @} */
  63519. /*! @name OUT_STATUS_TOG - 8K OTP Memory STATUS Register */
  63520. /*! @{ */
  63521. #define OCOTP_OUT_STATUS_TOG_SEC_MASK (0x200U)
  63522. #define OCOTP_OUT_STATUS_TOG_SEC_SHIFT (9U)
  63523. /*! SEC - Single Error Correct
  63524. */
  63525. #define OCOTP_OUT_STATUS_TOG_SEC(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_SEC_SHIFT)) & OCOTP_OUT_STATUS_TOG_SEC_MASK)
  63526. #define OCOTP_OUT_STATUS_TOG_DED_MASK (0x400U)
  63527. #define OCOTP_OUT_STATUS_TOG_DED_SHIFT (10U)
  63528. /*! DED - Double error detect
  63529. */
  63530. #define OCOTP_OUT_STATUS_TOG_DED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED_MASK)
  63531. #define OCOTP_OUT_STATUS_TOG_LOCKED_MASK (0x800U)
  63532. #define OCOTP_OUT_STATUS_TOG_LOCKED_SHIFT (11U)
  63533. /*! LOCKED - Word Locked
  63534. */
  63535. #define OCOTP_OUT_STATUS_TOG_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_LOCKED_SHIFT)) & OCOTP_OUT_STATUS_TOG_LOCKED_MASK)
  63536. #define OCOTP_OUT_STATUS_TOG_PROGFAIL_MASK (0x1000U)
  63537. #define OCOTP_OUT_STATUS_TOG_PROGFAIL_SHIFT (12U)
  63538. /*! PROGFAIL - Programming failed
  63539. */
  63540. #define OCOTP_OUT_STATUS_TOG_PROGFAIL(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_PROGFAIL_SHIFT)) & OCOTP_OUT_STATUS_TOG_PROGFAIL_MASK)
  63541. #define OCOTP_OUT_STATUS_TOG_ACK_MASK (0x2000U)
  63542. #define OCOTP_OUT_STATUS_TOG_ACK_SHIFT (13U)
  63543. /*! ACK - Acknowledge
  63544. */
  63545. #define OCOTP_OUT_STATUS_TOG_ACK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_ACK_SHIFT)) & OCOTP_OUT_STATUS_TOG_ACK_MASK)
  63546. #define OCOTP_OUT_STATUS_TOG_PWOK_MASK (0x4000U)
  63547. #define OCOTP_OUT_STATUS_TOG_PWOK_SHIFT (14U)
  63548. /*! PWOK - Power OK
  63549. */
  63550. #define OCOTP_OUT_STATUS_TOG_PWOK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_PWOK_SHIFT)) & OCOTP_OUT_STATUS_TOG_PWOK_MASK)
  63551. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE_MASK (0x78000U)
  63552. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE_SHIFT (15U)
  63553. /*! FLAGSTATE - Flag state
  63554. */
  63555. #define OCOTP_OUT_STATUS_TOG_FLAGSTATE(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_FLAGSTATE_SHIFT)) & OCOTP_OUT_STATUS_TOG_FLAGSTATE_MASK)
  63556. #define OCOTP_OUT_STATUS_TOG_SEC_RELOAD_MASK (0x80000U)
  63557. #define OCOTP_OUT_STATUS_TOG_SEC_RELOAD_SHIFT (19U)
  63558. /*! SEC_RELOAD - Indicates single error correction occured on reload
  63559. */
  63560. #define OCOTP_OUT_STATUS_TOG_SEC_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_SEC_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_TOG_SEC_RELOAD_MASK)
  63561. #define OCOTP_OUT_STATUS_TOG_DED_RELOAD_MASK (0x100000U)
  63562. #define OCOTP_OUT_STATUS_TOG_DED_RELOAD_SHIFT (20U)
  63563. /*! DED_RELOAD - Indicates double error detection occured on reload
  63564. */
  63565. #define OCOTP_OUT_STATUS_TOG_DED_RELOAD(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED_RELOAD_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED_RELOAD_MASK)
  63566. #define OCOTP_OUT_STATUS_TOG_CALIBRATED_MASK (0x200000U)
  63567. #define OCOTP_OUT_STATUS_TOG_CALIBRATED_SHIFT (21U)
  63568. /*! CALIBRATED - Calibrated status
  63569. */
  63570. #define OCOTP_OUT_STATUS_TOG_CALIBRATED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_CALIBRATED_SHIFT)) & OCOTP_OUT_STATUS_TOG_CALIBRATED_MASK)
  63571. #define OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_MASK (0x400000U)
  63572. #define OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_SHIFT (22U)
  63573. /*! READ_DONE_INTR - Read fuse done
  63574. */
  63575. #define OCOTP_OUT_STATUS_TOG_READ_DONE_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_SHIFT)) & OCOTP_OUT_STATUS_TOG_READ_DONE_INTR_MASK)
  63576. #define OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_MASK (0x800000U)
  63577. #define OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_SHIFT (23U)
  63578. /*! READ_ERROR_INTR - Fuse read error
  63579. */
  63580. #define OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_SHIFT)) & OCOTP_OUT_STATUS_TOG_READ_ERROR_INTR_MASK)
  63581. #define OCOTP_OUT_STATUS_TOG_DED0_MASK (0x1000000U)
  63582. #define OCOTP_OUT_STATUS_TOG_DED0_SHIFT (24U)
  63583. /*! DED0 - Double error detect
  63584. */
  63585. #define OCOTP_OUT_STATUS_TOG_DED0(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED0_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED0_MASK)
  63586. #define OCOTP_OUT_STATUS_TOG_DED1_MASK (0x2000000U)
  63587. #define OCOTP_OUT_STATUS_TOG_DED1_SHIFT (25U)
  63588. /*! DED1 - Double error detect
  63589. */
  63590. #define OCOTP_OUT_STATUS_TOG_DED1(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED1_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED1_MASK)
  63591. #define OCOTP_OUT_STATUS_TOG_DED2_MASK (0x4000000U)
  63592. #define OCOTP_OUT_STATUS_TOG_DED2_SHIFT (26U)
  63593. /*! DED2 - Double error detect
  63594. */
  63595. #define OCOTP_OUT_STATUS_TOG_DED2(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED2_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED2_MASK)
  63596. #define OCOTP_OUT_STATUS_TOG_DED3_MASK (0x8000000U)
  63597. #define OCOTP_OUT_STATUS_TOG_DED3_SHIFT (27U)
  63598. /*! DED3 - Double error detect
  63599. */
  63600. #define OCOTP_OUT_STATUS_TOG_DED3(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_OUT_STATUS_TOG_DED3_SHIFT)) & OCOTP_OUT_STATUS_TOG_DED3_MASK)
  63601. /*! @} */
  63602. /*! @name VERSION - OTP Controller Version Register */
  63603. /*! @{ */
  63604. #define OCOTP_VERSION_STEP_MASK (0xFFFFU)
  63605. #define OCOTP_VERSION_STEP_SHIFT (0U)
  63606. /*! STEP - RTL Version Stepping
  63607. */
  63608. #define OCOTP_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_STEP_SHIFT)) & OCOTP_VERSION_STEP_MASK)
  63609. #define OCOTP_VERSION_MINOR_MASK (0xFF0000U)
  63610. #define OCOTP_VERSION_MINOR_SHIFT (16U)
  63611. /*! MINOR - Minor RTL Version
  63612. */
  63613. #define OCOTP_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MINOR_SHIFT)) & OCOTP_VERSION_MINOR_MASK)
  63614. #define OCOTP_VERSION_MAJOR_MASK (0xFF000000U)
  63615. #define OCOTP_VERSION_MAJOR_SHIFT (24U)
  63616. /*! MAJOR - Major RTL Version
  63617. */
  63618. #define OCOTP_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_VERSION_MAJOR_SHIFT)) & OCOTP_VERSION_MAJOR_MASK)
  63619. /*! @} */
  63620. /*! @name READ_FUSE_DATA - OTP Controller Read Data 0 Register..OTP Controller Read Data 3 Register */
  63621. /*! @{ */
  63622. #define OCOTP_READ_FUSE_DATA_DATA_MASK (0xFFFFFFFFU)
  63623. #define OCOTP_READ_FUSE_DATA_DATA_SHIFT (0U)
  63624. /*! DATA - Data
  63625. */
  63626. #define OCOTP_READ_FUSE_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_READ_FUSE_DATA_DATA_SHIFT)) & OCOTP_READ_FUSE_DATA_DATA_MASK)
  63627. /*! @} */
  63628. /* The count of OCOTP_READ_FUSE_DATA */
  63629. #define OCOTP_READ_FUSE_DATA_COUNT (4U)
  63630. /*! @name SW_LOCK - SW_LOCK Register */
  63631. /*! @{ */
  63632. #define OCOTP_SW_LOCK_SW_LOCK_MASK (0xFFFFFFFFU)
  63633. #define OCOTP_SW_LOCK_SW_LOCK_SHIFT (0U)
  63634. #define OCOTP_SW_LOCK_SW_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_SW_LOCK_SW_LOCK_SHIFT)) & OCOTP_SW_LOCK_SW_LOCK_MASK)
  63635. /*! @} */
  63636. /*! @name BIT_LOCK - BIT_LOCK Register */
  63637. /*! @{ */
  63638. #define OCOTP_BIT_LOCK_BIT_LOCK_MASK (0xFFFFFFFFU)
  63639. #define OCOTP_BIT_LOCK_BIT_LOCK_SHIFT (0U)
  63640. #define OCOTP_BIT_LOCK_BIT_LOCK(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_BIT_LOCK_BIT_LOCK_SHIFT)) & OCOTP_BIT_LOCK_BIT_LOCK_MASK)
  63641. /*! @} */
  63642. /*! @name LOCKED0 - OTP Controller Program Locked Status 0 Register */
  63643. /*! @{ */
  63644. #define OCOTP_LOCKED0_LOCKED_MASK (0xFFFFU)
  63645. #define OCOTP_LOCKED0_LOCKED_SHIFT (0U)
  63646. #define OCOTP_LOCKED0_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED0_LOCKED_SHIFT)) & OCOTP_LOCKED0_LOCKED_MASK)
  63647. /*! @} */
  63648. /*! @name LOCKED1 - OTP Controller Program Locked Status 1 Register */
  63649. /*! @{ */
  63650. #define OCOTP_LOCKED1_LOCKED_MASK (0xFFFFFFFFU)
  63651. #define OCOTP_LOCKED1_LOCKED_SHIFT (0U)
  63652. #define OCOTP_LOCKED1_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED1_LOCKED_SHIFT)) & OCOTP_LOCKED1_LOCKED_MASK)
  63653. /*! @} */
  63654. /*! @name LOCKED2 - OTP Controller Program Locked Status 2 Register */
  63655. /*! @{ */
  63656. #define OCOTP_LOCKED2_LOCKED_MASK (0xFFFFFFFFU)
  63657. #define OCOTP_LOCKED2_LOCKED_SHIFT (0U)
  63658. #define OCOTP_LOCKED2_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED2_LOCKED_SHIFT)) & OCOTP_LOCKED2_LOCKED_MASK)
  63659. /*! @} */
  63660. /*! @name LOCKED3 - OTP Controller Program Locked Status 3 Register */
  63661. /*! @{ */
  63662. #define OCOTP_LOCKED3_LOCKED_MASK (0xFFFFFFFFU)
  63663. #define OCOTP_LOCKED3_LOCKED_SHIFT (0U)
  63664. #define OCOTP_LOCKED3_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED3_LOCKED_SHIFT)) & OCOTP_LOCKED3_LOCKED_MASK)
  63665. /*! @} */
  63666. /*! @name LOCKED4 - OTP Controller Program Locked Status 4 Register */
  63667. /*! @{ */
  63668. #define OCOTP_LOCKED4_LOCKED_MASK (0xFFFFFFFFU)
  63669. #define OCOTP_LOCKED4_LOCKED_SHIFT (0U)
  63670. #define OCOTP_LOCKED4_LOCKED(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_LOCKED4_LOCKED_SHIFT)) & OCOTP_LOCKED4_LOCKED_MASK)
  63671. /*! @} */
  63672. /*! @name FUSE - Value of fuse word 0..Value of fuse word 143 */
  63673. /*! @{ */
  63674. #define OCOTP_FUSE_BITS_MASK (0xFFFFFFFFU)
  63675. #define OCOTP_FUSE_BITS_SHIFT (0U)
  63676. /*! BITS - Reflects value of the fuse word
  63677. */
  63678. #define OCOTP_FUSE_BITS(x) (((uint32_t)(((uint32_t)(x)) << OCOTP_FUSE_BITS_SHIFT)) & OCOTP_FUSE_BITS_MASK)
  63679. /*! @} */
  63680. /* The count of OCOTP_FUSE */
  63681. #define OCOTP_FUSE_COUNT (144U)
  63682. /*!
  63683. * @}
  63684. */ /* end of group OCOTP_Register_Masks */
  63685. /* OCOTP - Peripheral instance base addresses */
  63686. /** Peripheral OCOTP base address */
  63687. #define OCOTP_BASE (0x40CAC000u)
  63688. /** Peripheral OCOTP base pointer */
  63689. #define OCOTP ((OCOTP_Type *)OCOTP_BASE)
  63690. /** Array initializer of OCOTP peripheral base addresses */
  63691. #define OCOTP_BASE_ADDRS { OCOTP_BASE }
  63692. /** Array initializer of OCOTP peripheral base pointers */
  63693. #define OCOTP_BASE_PTRS { OCOTP }
  63694. /*!
  63695. * @}
  63696. */ /* end of group OCOTP_Peripheral_Access_Layer */
  63697. /* ----------------------------------------------------------------------------
  63698. -- OSC_RC_400M Peripheral Access Layer
  63699. ---------------------------------------------------------------------------- */
  63700. /*!
  63701. * @addtogroup OSC_RC_400M_Peripheral_Access_Layer OSC_RC_400M Peripheral Access Layer
  63702. * @{
  63703. */
  63704. /** OSC_RC_400M - Register Layout Typedef */
  63705. typedef struct {
  63706. struct { /* offset: 0x0 */
  63707. __IO uint32_t RW; /**< Control Register 0, offset: 0x0 */
  63708. __IO uint32_t SET; /**< Control Register 0, offset: 0x4 */
  63709. __IO uint32_t CLR; /**< Control Register 0, offset: 0x8 */
  63710. __IO uint32_t TOG; /**< Control Register 0, offset: 0xC */
  63711. } CTRL0;
  63712. struct { /* offset: 0x10 */
  63713. __IO uint32_t RW; /**< Control Register 1, offset: 0x10 */
  63714. __IO uint32_t SET; /**< Control Register 1, offset: 0x14 */
  63715. __IO uint32_t CLR; /**< Control Register 1, offset: 0x18 */
  63716. __IO uint32_t TOG; /**< Control Register 1, offset: 0x1C */
  63717. } CTRL1;
  63718. struct { /* offset: 0x20 */
  63719. __IO uint32_t RW; /**< Control Register 2, offset: 0x20 */
  63720. __IO uint32_t SET; /**< Control Register 2, offset: 0x24 */
  63721. __IO uint32_t CLR; /**< Control Register 2, offset: 0x28 */
  63722. __IO uint32_t TOG; /**< Control Register 2, offset: 0x2C */
  63723. } CTRL2;
  63724. struct { /* offset: 0x30 */
  63725. __IO uint32_t RW; /**< Control Register 3, offset: 0x30 */
  63726. __IO uint32_t SET; /**< Control Register 3, offset: 0x34 */
  63727. __IO uint32_t CLR; /**< Control Register 3, offset: 0x38 */
  63728. __IO uint32_t TOG; /**< Control Register 3, offset: 0x3C */
  63729. } CTRL3;
  63730. uint8_t RESERVED_0[16];
  63731. struct { /* offset: 0x50 */
  63732. __I uint32_t RW; /**< Status Register 0, offset: 0x50 */
  63733. __I uint32_t SET; /**< Status Register 0, offset: 0x54 */
  63734. __I uint32_t CLR; /**< Status Register 0, offset: 0x58 */
  63735. __I uint32_t TOG; /**< Status Register 0, offset: 0x5C */
  63736. } STAT0;
  63737. struct { /* offset: 0x60 */
  63738. __I uint32_t RW; /**< Status Register 1, offset: 0x60 */
  63739. __I uint32_t SET; /**< Status Register 1, offset: 0x64 */
  63740. __I uint32_t CLR; /**< Status Register 1, offset: 0x68 */
  63741. __I uint32_t TOG; /**< Status Register 1, offset: 0x6C */
  63742. } STAT1;
  63743. struct { /* offset: 0x70 */
  63744. __I uint32_t RW; /**< Status Register 2, offset: 0x70 */
  63745. __I uint32_t SET; /**< Status Register 2, offset: 0x74 */
  63746. __I uint32_t CLR; /**< Status Register 2, offset: 0x78 */
  63747. __I uint32_t TOG; /**< Status Register 2, offset: 0x7C */
  63748. } STAT2;
  63749. } OSC_RC_400M_Type;
  63750. /* ----------------------------------------------------------------------------
  63751. -- OSC_RC_400M Register Masks
  63752. ---------------------------------------------------------------------------- */
  63753. /*!
  63754. * @addtogroup OSC_RC_400M_Register_Masks OSC_RC_400M Register Masks
  63755. * @{
  63756. */
  63757. /*! @name CTRL0 - Control Register 0 */
  63758. /*! @{ */
  63759. #define OSC_RC_400M_CTRL0_REF_CLK_DIV_MASK (0x3F000000U)
  63760. #define OSC_RC_400M_CTRL0_REF_CLK_DIV_SHIFT (24U)
  63761. /*! REF_CLK_DIV - Divide value for ref_clk to generate slow_clk (used inside this IP)
  63762. */
  63763. #define OSC_RC_400M_CTRL0_REF_CLK_DIV(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL0_REF_CLK_DIV_SHIFT)) & OSC_RC_400M_CTRL0_REF_CLK_DIV_MASK)
  63764. /*! @} */
  63765. /*! @name CTRL1 - Control Register 1 */
  63766. /*! @{ */
  63767. #define OSC_RC_400M_CTRL1_HYST_MINUS_MASK (0xFU)
  63768. #define OSC_RC_400M_CTRL1_HYST_MINUS_SHIFT (0U)
  63769. /*! HYST_MINUS - Negative hysteresis value for the tuned clock
  63770. */
  63771. #define OSC_RC_400M_CTRL1_HYST_MINUS(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL1_HYST_MINUS_SHIFT)) & OSC_RC_400M_CTRL1_HYST_MINUS_MASK)
  63772. #define OSC_RC_400M_CTRL1_HYST_PLUS_MASK (0xF00U)
  63773. #define OSC_RC_400M_CTRL1_HYST_PLUS_SHIFT (8U)
  63774. /*! HYST_PLUS - Positive hysteresis value for the tuned clock
  63775. */
  63776. #define OSC_RC_400M_CTRL1_HYST_PLUS(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL1_HYST_PLUS_SHIFT)) & OSC_RC_400M_CTRL1_HYST_PLUS_MASK)
  63777. #define OSC_RC_400M_CTRL1_TARGET_COUNT_MASK (0xFFFF0000U)
  63778. #define OSC_RC_400M_CTRL1_TARGET_COUNT_SHIFT (16U)
  63779. /*! TARGET_COUNT - Target count for the fast clock
  63780. */
  63781. #define OSC_RC_400M_CTRL1_TARGET_COUNT(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL1_TARGET_COUNT_SHIFT)) & OSC_RC_400M_CTRL1_TARGET_COUNT_MASK)
  63782. /*! @} */
  63783. /*! @name CTRL2 - Control Register 2 */
  63784. /*! @{ */
  63785. #define OSC_RC_400M_CTRL2_TUNE_BYP_MASK (0x400U)
  63786. #define OSC_RC_400M_CTRL2_TUNE_BYP_SHIFT (10U)
  63787. /*! TUNE_BYP - Bypass the tuning logic
  63788. * 0b0..Use the output of tuning logic to run the oscillator
  63789. * 0b1..Bypass the tuning logic and use the programmed OSC_TUNE_VAL to run the oscillator
  63790. */
  63791. #define OSC_RC_400M_CTRL2_TUNE_BYP(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL2_TUNE_BYP_SHIFT)) & OSC_RC_400M_CTRL2_TUNE_BYP_MASK)
  63792. #define OSC_RC_400M_CTRL2_TUNE_EN_MASK (0x1000U)
  63793. #define OSC_RC_400M_CTRL2_TUNE_EN_SHIFT (12U)
  63794. /*! TUNE_EN - Freeze/Unfreeze the tuning value
  63795. * 0b0..Freezes the tuning at the current tuned value. Oscillator runs at the frozen tuning value
  63796. * 0b1..Unfreezes and continues the tuning operation
  63797. */
  63798. #define OSC_RC_400M_CTRL2_TUNE_EN(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL2_TUNE_EN_SHIFT)) & OSC_RC_400M_CTRL2_TUNE_EN_MASK)
  63799. #define OSC_RC_400M_CTRL2_TUNE_START_MASK (0x4000U)
  63800. #define OSC_RC_400M_CTRL2_TUNE_START_SHIFT (14U)
  63801. /*! TUNE_START - Start/Stop tuning
  63802. * 0b0..Stop tuning and reset the tuning logic. Oscillator runs using programmed OSC_TUNE_VAL
  63803. * 0b1..Start tuning
  63804. */
  63805. #define OSC_RC_400M_CTRL2_TUNE_START(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL2_TUNE_START_SHIFT)) & OSC_RC_400M_CTRL2_TUNE_START_MASK)
  63806. #define OSC_RC_400M_CTRL2_OSC_TUNE_VAL_MASK (0xFF000000U)
  63807. #define OSC_RC_400M_CTRL2_OSC_TUNE_VAL_SHIFT (24U)
  63808. /*! OSC_TUNE_VAL - Program the oscillator frequency
  63809. */
  63810. #define OSC_RC_400M_CTRL2_OSC_TUNE_VAL(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL2_OSC_TUNE_VAL_SHIFT)) & OSC_RC_400M_CTRL2_OSC_TUNE_VAL_MASK)
  63811. /*! @} */
  63812. /*! @name CTRL3 - Control Register 3 */
  63813. /*! @{ */
  63814. #define OSC_RC_400M_CTRL3_CLR_ERR_MASK (0x1U)
  63815. #define OSC_RC_400M_CTRL3_CLR_ERR_SHIFT (0U)
  63816. /*! CLR_ERR - Clear the error flag CLK1M_ERR
  63817. * 0b0..No effect
  63818. * 0b1..Clears the error flag CLK1M_ERR in status register STAT0
  63819. */
  63820. #define OSC_RC_400M_CTRL3_CLR_ERR(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL3_CLR_ERR_SHIFT)) & OSC_RC_400M_CTRL3_CLR_ERR_MASK)
  63821. #define OSC_RC_400M_CTRL3_EN_1M_CLK_MASK (0x100U)
  63822. #define OSC_RC_400M_CTRL3_EN_1M_CLK_SHIFT (8U)
  63823. /*! EN_1M_CLK - Enable 1MHz output Clock
  63824. * 0b0..Enable the output (clk_1m_out)
  63825. * 0b1..Disable the output (clk_1m_out)
  63826. */
  63827. #define OSC_RC_400M_CTRL3_EN_1M_CLK(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL3_EN_1M_CLK_SHIFT)) & OSC_RC_400M_CTRL3_EN_1M_CLK_MASK)
  63828. #define OSC_RC_400M_CTRL3_MUX_1M_CLK_MASK (0x400U)
  63829. #define OSC_RC_400M_CTRL3_MUX_1M_CLK_SHIFT (10U)
  63830. /*! MUX_1M_CLK - Select free/locked 1MHz output
  63831. * 0b0..Select free-running 1MHz to be put out on clk_1m_out
  63832. * 0b1..Select locked 1MHz to be put out on clk_1m_out
  63833. */
  63834. #define OSC_RC_400M_CTRL3_MUX_1M_CLK(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL3_MUX_1M_CLK_SHIFT)) & OSC_RC_400M_CTRL3_MUX_1M_CLK_MASK)
  63835. #define OSC_RC_400M_CTRL3_COUNT_1M_CLK_MASK (0xFFFF0000U)
  63836. #define OSC_RC_400M_CTRL3_COUNT_1M_CLK_SHIFT (16U)
  63837. /*! COUNT_1M_CLK - Count for the locked clk_1m_out
  63838. */
  63839. #define OSC_RC_400M_CTRL3_COUNT_1M_CLK(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_CTRL3_COUNT_1M_CLK_SHIFT)) & OSC_RC_400M_CTRL3_COUNT_1M_CLK_MASK)
  63840. /*! @} */
  63841. /*! @name STAT0 - Status Register 0 */
  63842. /*! @{ */
  63843. #define OSC_RC_400M_STAT0_CLK1M_ERR_MASK (0x1U)
  63844. #define OSC_RC_400M_STAT0_CLK1M_ERR_SHIFT (0U)
  63845. /*! CLK1M_ERR - Error flag for clk_1m_locked
  63846. * 0b0..No effect
  63847. * 0b1..The count value has been reached within one divided ref_clk period
  63848. */
  63849. #define OSC_RC_400M_STAT0_CLK1M_ERR(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_STAT0_CLK1M_ERR_SHIFT)) & OSC_RC_400M_STAT0_CLK1M_ERR_MASK)
  63850. /*! @} */
  63851. /*! @name STAT1 - Status Register 1 */
  63852. /*! @{ */
  63853. #define OSC_RC_400M_STAT1_CURR_COUNT_VAL_MASK (0xFFFF0000U)
  63854. #define OSC_RC_400M_STAT1_CURR_COUNT_VAL_SHIFT (16U)
  63855. /*! CURR_COUNT_VAL - Current count for the fast clock
  63856. */
  63857. #define OSC_RC_400M_STAT1_CURR_COUNT_VAL(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_STAT1_CURR_COUNT_VAL_SHIFT)) & OSC_RC_400M_STAT1_CURR_COUNT_VAL_MASK)
  63858. /*! @} */
  63859. /*! @name STAT2 - Status Register 2 */
  63860. /*! @{ */
  63861. #define OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_MASK (0xFF000000U)
  63862. #define OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_SHIFT (24U)
  63863. /*! CURR_OSC_TUNE_VAL - Current tuning value used by oscillator
  63864. */
  63865. #define OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL(x) (((uint32_t)(((uint32_t)(x)) << OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_SHIFT)) & OSC_RC_400M_STAT2_CURR_OSC_TUNE_VAL_MASK)
  63866. /*! @} */
  63867. /*!
  63868. * @}
  63869. */ /* end of group OSC_RC_400M_Register_Masks */
  63870. /* OSC_RC_400M - Peripheral instance base addresses */
  63871. /** Peripheral OSC_RC_400M base address */
  63872. #define OSC_RC_400M_BASE (0u)
  63873. /** Peripheral OSC_RC_400M base pointer */
  63874. #define OSC_RC_400M ((OSC_RC_400M_Type *)OSC_RC_400M_BASE)
  63875. /** Array initializer of OSC_RC_400M peripheral base addresses */
  63876. #define OSC_RC_400M_BASE_ADDRS { OSC_RC_400M_BASE }
  63877. /** Array initializer of OSC_RC_400M peripheral base pointers */
  63878. #define OSC_RC_400M_BASE_PTRS { OSC_RC_400M }
  63879. /*!
  63880. * @}
  63881. */ /* end of group OSC_RC_400M_Peripheral_Access_Layer */
  63882. /* ----------------------------------------------------------------------------
  63883. -- OTFAD Peripheral Access Layer
  63884. ---------------------------------------------------------------------------- */
  63885. /*!
  63886. * @addtogroup OTFAD_Peripheral_Access_Layer OTFAD Peripheral Access Layer
  63887. * @{
  63888. */
  63889. /** OTFAD - Register Layout Typedef */
  63890. typedef struct {
  63891. uint8_t RESERVED_0[3072];
  63892. __IO uint32_t CR; /**< Control Register, offset: 0xC00 */
  63893. __IO uint32_t SR; /**< Status Register, offset: 0xC04 */
  63894. uint8_t RESERVED_1[248];
  63895. struct { /* offset: 0xD00, array step: 0x40 */
  63896. __IO uint32_t KEY[4]; /**< AES Key Word, array offset: 0xD00, array step: index*0x40, index2*0x4 */
  63897. __IO uint32_t CTR[2]; /**< AES Counter Word, array offset: 0xD10, array step: index*0x40, index2*0x4 */
  63898. __IO uint32_t RGD_W0; /**< AES Region Descriptor Word0, array offset: 0xD18, array step: 0x40 */
  63899. __IO uint32_t RGD_W1; /**< AES Region Descriptor Word1, array offset: 0xD1C, array step: 0x40 */
  63900. uint8_t RESERVED_0[32];
  63901. } CTX[4];
  63902. } OTFAD_Type;
  63903. /* ----------------------------------------------------------------------------
  63904. -- OTFAD Register Masks
  63905. ---------------------------------------------------------------------------- */
  63906. /*!
  63907. * @addtogroup OTFAD_Register_Masks OTFAD Register Masks
  63908. * @{
  63909. */
  63910. /*! @name CR - Control Register */
  63911. /*! @{ */
  63912. #define OTFAD_CR_FERR_MASK (0x2U)
  63913. #define OTFAD_CR_FERR_SHIFT (1U)
  63914. /*! FERR - Force Error
  63915. * 0b0..No effect on the SR[KBERE] indicator.
  63916. * 0b1..SR[KBERR] is immediately set after a write with this data bit set.
  63917. */
  63918. #define OTFAD_CR_FERR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_FERR_SHIFT)) & OTFAD_CR_FERR_MASK)
  63919. #define OTFAD_CR_FLDM_MASK (0x8U)
  63920. #define OTFAD_CR_FLDM_SHIFT (3U)
  63921. /*! FLDM - Force Logically Disabled Mode
  63922. * 0b0..No effect on the operating mode.
  63923. * 0b1..Force entry into LDM after a write with this data bit set. SR[MODE] signals the operating mode.
  63924. */
  63925. #define OTFAD_CR_FLDM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_FLDM_SHIFT)) & OTFAD_CR_FLDM_MASK)
  63926. #define OTFAD_CR_KBSE_MASK (0x10U)
  63927. #define OTFAD_CR_KBSE_SHIFT (4U)
  63928. /*! KBSE - Key Blob Scramble Enable
  63929. * 0b0..Key blob KEK scrambling is disabled.
  63930. * 0b1..Key blob KEK scrambling is enabled.
  63931. */
  63932. #define OTFAD_CR_KBSE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_KBSE_SHIFT)) & OTFAD_CR_KBSE_MASK)
  63933. #define OTFAD_CR_KBPE_MASK (0x20U)
  63934. #define OTFAD_CR_KBPE_SHIFT (5U)
  63935. /*! KBPE - Key Blob Processing Enable
  63936. * 0b0..Key blob processing is disabled.
  63937. * 0b1..Key blob processing is enabled.
  63938. */
  63939. #define OTFAD_CR_KBPE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_KBPE_SHIFT)) & OTFAD_CR_KBPE_MASK)
  63940. #define OTFAD_CR_RRAE_MASK (0x80U)
  63941. #define OTFAD_CR_RRAE_SHIFT (7U)
  63942. /*! RRAE - Restricted Register Access Enable
  63943. * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
  63944. * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
  63945. */
  63946. #define OTFAD_CR_RRAE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_RRAE_SHIFT)) & OTFAD_CR_RRAE_MASK)
  63947. #define OTFAD_CR_SKBP_MASK (0x40000000U)
  63948. #define OTFAD_CR_SKBP_SHIFT (30U)
  63949. /*! SKBP - Start key blob processing
  63950. * 0b0..Key blob processing is not initiated.
  63951. * 0b1..Properly-enabled key blob processing is initiated.
  63952. */
  63953. #define OTFAD_CR_SKBP(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_SKBP_SHIFT)) & OTFAD_CR_SKBP_MASK)
  63954. #define OTFAD_CR_GE_MASK (0x80000000U)
  63955. #define OTFAD_CR_GE_SHIFT (31U)
  63956. /*! GE - Global OTFAD Enable
  63957. * 0b0..OTFAD has decryption disabled. All data fetched by the FlexSPI bypasses OTFAD processing.
  63958. * 0b1..OTFAD has decryption enabled, and processes data fetched by the FlexSPI as defined by the hardware configuration.
  63959. */
  63960. #define OTFAD_CR_GE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CR_GE_SHIFT)) & OTFAD_CR_GE_MASK)
  63961. /*! @} */
  63962. /*! @name SR - Status Register */
  63963. /*! @{ */
  63964. #define OTFAD_SR_KBERR_MASK (0x1U)
  63965. #define OTFAD_SR_KBERR_SHIFT (0U)
  63966. /*! KBERR - Key Blob Error
  63967. * 0b0..No key blob error detected.
  63968. * 0b1..One or more key blob errors has been detected.
  63969. */
  63970. #define OTFAD_SR_KBERR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBERR_SHIFT)) & OTFAD_SR_KBERR_MASK)
  63971. #define OTFAD_SR_MDPCP_MASK (0x2U)
  63972. #define OTFAD_SR_MDPCP_SHIFT (1U)
  63973. /*! MDPCP - MDPC Present
  63974. */
  63975. #define OTFAD_SR_MDPCP(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MDPCP_SHIFT)) & OTFAD_SR_MDPCP_MASK)
  63976. #define OTFAD_SR_MODE_MASK (0xCU)
  63977. #define OTFAD_SR_MODE_SHIFT (2U)
  63978. /*! MODE - Operating Mode
  63979. * 0b00..Operating in Normal mode (NRM)
  63980. * 0b01..Unused (reserved)
  63981. * 0b10..Unused (reserved)
  63982. * 0b11..Operating in Logically Disabled Mode (LDM)
  63983. */
  63984. #define OTFAD_SR_MODE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_MODE_SHIFT)) & OTFAD_SR_MODE_MASK)
  63985. #define OTFAD_SR_NCTX_MASK (0xF0U)
  63986. #define OTFAD_SR_NCTX_SHIFT (4U)
  63987. /*! NCTX - Number of Contexts
  63988. */
  63989. #define OTFAD_SR_NCTX(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_NCTX_SHIFT)) & OTFAD_SR_NCTX_MASK)
  63990. #define OTFAD_SR_CTXER0_MASK (0x100U)
  63991. #define OTFAD_SR_CTXER0_SHIFT (8U)
  63992. /*! CTXER0 - Context Error
  63993. * 0b0..No key blob error was detected for context "n".
  63994. * 0b1..A key blob integrity error might have been detected in context "n".
  63995. */
  63996. #define OTFAD_SR_CTXER0(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER0_SHIFT)) & OTFAD_SR_CTXER0_MASK)
  63997. #define OTFAD_SR_CTXER1_MASK (0x200U)
  63998. #define OTFAD_SR_CTXER1_SHIFT (9U)
  63999. /*! CTXER1 - Context Error
  64000. * 0b0..No key blob error was detected for context "n".
  64001. * 0b1..A key blob integrity error might have been detected in context "n".
  64002. */
  64003. #define OTFAD_SR_CTXER1(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER1_SHIFT)) & OTFAD_SR_CTXER1_MASK)
  64004. #define OTFAD_SR_CTXER2_MASK (0x400U)
  64005. #define OTFAD_SR_CTXER2_SHIFT (10U)
  64006. /*! CTXER2 - Context Error
  64007. * 0b0..No key blob error was detected for context "n".
  64008. * 0b1..A key blob integrity error might have been detected in context "n".
  64009. */
  64010. #define OTFAD_SR_CTXER2(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER2_SHIFT)) & OTFAD_SR_CTXER2_MASK)
  64011. #define OTFAD_SR_CTXER3_MASK (0x800U)
  64012. #define OTFAD_SR_CTXER3_SHIFT (11U)
  64013. /*! CTXER3 - Context Error
  64014. * 0b0..No key blob error was detected for context "n".
  64015. * 0b1..A key blob integrity error might have been detected in context "n".
  64016. */
  64017. #define OTFAD_SR_CTXER3(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXER3_SHIFT)) & OTFAD_SR_CTXER3_MASK)
  64018. #define OTFAD_SR_CTXIE0_MASK (0x10000U)
  64019. #define OTFAD_SR_CTXIE0_SHIFT (16U)
  64020. /*! CTXIE0 - Context Integrity Error
  64021. * 0b0..No key blob integrity error was detected for context "n".
  64022. * 0b1..A key blob integrity error was detected in context "n".
  64023. */
  64024. #define OTFAD_SR_CTXIE0(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE0_SHIFT)) & OTFAD_SR_CTXIE0_MASK)
  64025. #define OTFAD_SR_CTXIE1_MASK (0x20000U)
  64026. #define OTFAD_SR_CTXIE1_SHIFT (17U)
  64027. /*! CTXIE1 - Context Integrity Error
  64028. * 0b0..No key blob integrity error was detected for context "n".
  64029. * 0b1..A key blob integrity error was detected in context "n".
  64030. */
  64031. #define OTFAD_SR_CTXIE1(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE1_SHIFT)) & OTFAD_SR_CTXIE1_MASK)
  64032. #define OTFAD_SR_CTXIE2_MASK (0x40000U)
  64033. #define OTFAD_SR_CTXIE2_SHIFT (18U)
  64034. /*! CTXIE2 - Context Integrity Error
  64035. * 0b0..No key blob integrity error was detected for context "n".
  64036. * 0b1..A key blob integrity error was detected in context "n".
  64037. */
  64038. #define OTFAD_SR_CTXIE2(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE2_SHIFT)) & OTFAD_SR_CTXIE2_MASK)
  64039. #define OTFAD_SR_CTXIE3_MASK (0x80000U)
  64040. #define OTFAD_SR_CTXIE3_SHIFT (19U)
  64041. /*! CTXIE3 - Context Integrity Error
  64042. * 0b0..No key blob integrity error was detected for context "n".
  64043. * 0b1..A key blob integrity error was detected in context "n".
  64044. */
  64045. #define OTFAD_SR_CTXIE3(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_CTXIE3_SHIFT)) & OTFAD_SR_CTXIE3_MASK)
  64046. #define OTFAD_SR_HRL_MASK (0xF000000U)
  64047. #define OTFAD_SR_HRL_SHIFT (24U)
  64048. /*! HRL - Hardware Revision Level
  64049. */
  64050. #define OTFAD_SR_HRL(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_HRL_SHIFT)) & OTFAD_SR_HRL_MASK)
  64051. #define OTFAD_SR_RRAM_MASK (0x10000000U)
  64052. #define OTFAD_SR_RRAM_SHIFT (28U)
  64053. /*! RRAM - Restricted Register Access Mode
  64054. * 0b0..Register access is fully enabled. The OTFAD programming model registers can be accessed "normally".
  64055. * 0b1..Register access is restricted and only the CR, SR and optional MDPC registers can be accessed; others are treated as RAZ/WI.
  64056. */
  64057. #define OTFAD_SR_RRAM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_RRAM_SHIFT)) & OTFAD_SR_RRAM_MASK)
  64058. #define OTFAD_SR_GEM_MASK (0x20000000U)
  64059. #define OTFAD_SR_GEM_SHIFT (29U)
  64060. /*! GEM - Global Enable Mode
  64061. * 0b0..OTFAD is disabled. All data fetched by the FlexSPI bypasses OTFAD processing.
  64062. * 0b1..OTFAD is enabled, and processes data fetched by the FlexSPI as defined by the hardware configuration.
  64063. */
  64064. #define OTFAD_SR_GEM(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_GEM_SHIFT)) & OTFAD_SR_GEM_MASK)
  64065. #define OTFAD_SR_KBPE_MASK (0x40000000U)
  64066. #define OTFAD_SR_KBPE_SHIFT (30U)
  64067. /*! KBPE - Key Blob Processing Enable
  64068. * 0b0..Key blob processing is not enabled.
  64069. * 0b1..Key blob processing is enabled.
  64070. */
  64071. #define OTFAD_SR_KBPE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBPE_SHIFT)) & OTFAD_SR_KBPE_MASK)
  64072. #define OTFAD_SR_KBD_MASK (0x80000000U)
  64073. #define OTFAD_SR_KBD_SHIFT (31U)
  64074. /*! KBD - Key Blob Processing Done
  64075. * 0b0..Key blob processing was not enabled, or is not complete.
  64076. * 0b1..Key blob processing was enabled and is complete.
  64077. */
  64078. #define OTFAD_SR_KBD(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_SR_KBD_SHIFT)) & OTFAD_SR_KBD_MASK)
  64079. /*! @} */
  64080. /*! @name KEY - AES Key Word */
  64081. /*! @{ */
  64082. #define OTFAD_KEY_KEY_MASK (0xFFFFFFFFU)
  64083. #define OTFAD_KEY_KEY_SHIFT (0U)
  64084. /*! KEY - AES Key
  64085. */
  64086. #define OTFAD_KEY_KEY(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_KEY_KEY_SHIFT)) & OTFAD_KEY_KEY_MASK)
  64087. /*! @} */
  64088. /* The count of OTFAD_KEY */
  64089. #define OTFAD_KEY_COUNT (4U)
  64090. /* The count of OTFAD_KEY */
  64091. #define OTFAD_KEY_COUNT2 (4U)
  64092. /*! @name CTR - AES Counter Word */
  64093. /*! @{ */
  64094. #define OTFAD_CTR_CTR_MASK (0xFFFFFFFFU)
  64095. #define OTFAD_CTR_CTR_SHIFT (0U)
  64096. /*! CTR - AES Counter
  64097. */
  64098. #define OTFAD_CTR_CTR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_CTR_CTR_SHIFT)) & OTFAD_CTR_CTR_MASK)
  64099. /*! @} */
  64100. /* The count of OTFAD_CTR */
  64101. #define OTFAD_CTR_COUNT (4U)
  64102. /* The count of OTFAD_CTR */
  64103. #define OTFAD_CTR_COUNT2 (2U)
  64104. /*! @name RGD_W0 - AES Region Descriptor Word0 */
  64105. /*! @{ */
  64106. #define OTFAD_RGD_W0_SRTADDR_MASK (0xFFFFFC00U)
  64107. #define OTFAD_RGD_W0_SRTADDR_SHIFT (10U)
  64108. /*! SRTADDR - Start Address
  64109. */
  64110. #define OTFAD_RGD_W0_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W0_SRTADDR_SHIFT)) & OTFAD_RGD_W0_SRTADDR_MASK)
  64111. /*! @} */
  64112. /* The count of OTFAD_RGD_W0 */
  64113. #define OTFAD_RGD_W0_COUNT (4U)
  64114. /*! @name RGD_W1 - AES Region Descriptor Word1 */
  64115. /*! @{ */
  64116. #define OTFAD_RGD_W1_VLD_MASK (0x1U)
  64117. #define OTFAD_RGD_W1_VLD_SHIFT (0U)
  64118. /*! VLD - Valid
  64119. * 0b0..Context is invalid.
  64120. * 0b1..Context is valid.
  64121. */
  64122. #define OTFAD_RGD_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_VLD_SHIFT)) & OTFAD_RGD_W1_VLD_MASK)
  64123. #define OTFAD_RGD_W1_ADE_MASK (0x2U)
  64124. #define OTFAD_RGD_W1_ADE_SHIFT (1U)
  64125. /*! ADE - AES Decryption Enable.
  64126. * 0b0..Bypass the fetched data.
  64127. * 0b1..Perform the CTR-AES128 mode decryption on the fetched data.
  64128. */
  64129. #define OTFAD_RGD_W1_ADE(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ADE_SHIFT)) & OTFAD_RGD_W1_ADE_MASK)
  64130. #define OTFAD_RGD_W1_RO_MASK (0x4U)
  64131. #define OTFAD_RGD_W1_RO_SHIFT (2U)
  64132. /*! RO - Read-Only
  64133. * 0b0..The context registers can be accessed normally (as defined by SR[RRAM]).
  64134. * 0b1..The context registers are read-only and accesses may be further restricted based on SR[RRAM].
  64135. */
  64136. #define OTFAD_RGD_W1_RO(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_RO_SHIFT)) & OTFAD_RGD_W1_RO_MASK)
  64137. #define OTFAD_RGD_W1_ENDADDR_MASK (0xFFFFFC00U)
  64138. #define OTFAD_RGD_W1_ENDADDR_SHIFT (10U)
  64139. /*! ENDADDR - End Address
  64140. */
  64141. #define OTFAD_RGD_W1_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << OTFAD_RGD_W1_ENDADDR_SHIFT)) & OTFAD_RGD_W1_ENDADDR_MASK)
  64142. /*! @} */
  64143. /* The count of OTFAD_RGD_W1 */
  64144. #define OTFAD_RGD_W1_COUNT (4U)
  64145. /*!
  64146. * @}
  64147. */ /* end of group OTFAD_Register_Masks */
  64148. /* OTFAD - Peripheral instance base addresses */
  64149. /** Peripheral OTFAD1 base address */
  64150. #define OTFAD1_BASE (0x400CC000u)
  64151. /** Peripheral OTFAD1 base pointer */
  64152. #define OTFAD1 ((OTFAD_Type *)OTFAD1_BASE)
  64153. /** Peripheral OTFAD2 base address */
  64154. #define OTFAD2_BASE (0x400D0000u)
  64155. /** Peripheral OTFAD2 base pointer */
  64156. #define OTFAD2 ((OTFAD_Type *)OTFAD2_BASE)
  64157. /** Array initializer of OTFAD peripheral base addresses */
  64158. #define OTFAD_BASE_ADDRS { 0u, OTFAD1_BASE, OTFAD2_BASE }
  64159. /** Array initializer of OTFAD peripheral base pointers */
  64160. #define OTFAD_BASE_PTRS { (OTFAD_Type *)0u, OTFAD1, OTFAD2 }
  64161. /*!
  64162. * @}
  64163. */ /* end of group OTFAD_Peripheral_Access_Layer */
  64164. /* ----------------------------------------------------------------------------
  64165. -- PDM Peripheral Access Layer
  64166. ---------------------------------------------------------------------------- */
  64167. /*!
  64168. * @addtogroup PDM_Peripheral_Access_Layer PDM Peripheral Access Layer
  64169. * @{
  64170. */
  64171. /** PDM - Register Layout Typedef */
  64172. typedef struct {
  64173. __IO uint32_t CTRL_1; /**< PDM Control register 1, offset: 0x0 */
  64174. __IO uint32_t CTRL_2; /**< PDM Control register 2, offset: 0x4 */
  64175. __IO uint32_t STAT; /**< PDM Status register, offset: 0x8 */
  64176. uint8_t RESERVED_0[4];
  64177. __IO uint32_t FIFO_CTRL; /**< PDM FIFO Control register, offset: 0x10 */
  64178. __IO uint32_t FIFO_STAT; /**< PDM FIFO Status register, offset: 0x14 */
  64179. uint8_t RESERVED_1[12];
  64180. __I uint32_t DATACH[8]; /**< PDM Output Result Register, array offset: 0x24, array step: 0x4 */
  64181. uint8_t RESERVED_2[32];
  64182. __IO uint32_t DC_CTRL; /**< PDM DC Remover Control register, offset: 0x64 */
  64183. uint8_t RESERVED_3[12];
  64184. __IO uint32_t RANGE_CTRL; /**< PDM Range Control register, offset: 0x74 */
  64185. uint8_t RESERVED_4[4];
  64186. __IO uint32_t RANGE_STAT; /**< PDM Range Status register, offset: 0x7C */
  64187. uint8_t RESERVED_5[16];
  64188. __IO uint32_t VAD0_CTRL_1; /**< Voice Activity Detector 0 Control register, offset: 0x90 */
  64189. __IO uint32_t VAD0_CTRL_2; /**< Voice Activity Detector 0 Control register, offset: 0x94 */
  64190. __IO uint32_t VAD0_STAT; /**< Voice Activity Detector 0 Status register, offset: 0x98 */
  64191. __IO uint32_t VAD0_SCONFIG; /**< Voice Activity Detector 0 Signal Configuration, offset: 0x9C */
  64192. __IO uint32_t VAD0_NCONFIG; /**< Voice Activity Detector 0 Noise Configuration, offset: 0xA0 */
  64193. __I uint32_t VAD0_NDATA; /**< Voice Activity Detector 0 Noise Data, offset: 0xA4 */
  64194. __IO uint32_t VAD0_ZCD; /**< Voice Activity Detector 0 Zero-Crossing Detector, offset: 0xA8 */
  64195. } PDM_Type;
  64196. /* ----------------------------------------------------------------------------
  64197. -- PDM Register Masks
  64198. ---------------------------------------------------------------------------- */
  64199. /*!
  64200. * @addtogroup PDM_Register_Masks PDM Register Masks
  64201. * @{
  64202. */
  64203. /*! @name CTRL_1 - PDM Control register 1 */
  64204. /*! @{ */
  64205. #define PDM_CTRL_1_CH0EN_MASK (0x1U)
  64206. #define PDM_CTRL_1_CH0EN_SHIFT (0U)
  64207. /*! CH0EN - Channel 0 Enable
  64208. */
  64209. #define PDM_CTRL_1_CH0EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH0EN_SHIFT)) & PDM_CTRL_1_CH0EN_MASK)
  64210. #define PDM_CTRL_1_CH1EN_MASK (0x2U)
  64211. #define PDM_CTRL_1_CH1EN_SHIFT (1U)
  64212. /*! CH1EN - Channel 1 Enable
  64213. */
  64214. #define PDM_CTRL_1_CH1EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH1EN_SHIFT)) & PDM_CTRL_1_CH1EN_MASK)
  64215. #define PDM_CTRL_1_CH2EN_MASK (0x4U)
  64216. #define PDM_CTRL_1_CH2EN_SHIFT (2U)
  64217. /*! CH2EN - Channel 2 Enable
  64218. */
  64219. #define PDM_CTRL_1_CH2EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH2EN_SHIFT)) & PDM_CTRL_1_CH2EN_MASK)
  64220. #define PDM_CTRL_1_CH3EN_MASK (0x8U)
  64221. #define PDM_CTRL_1_CH3EN_SHIFT (3U)
  64222. /*! CH3EN - Channel 3 Enable
  64223. */
  64224. #define PDM_CTRL_1_CH3EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH3EN_SHIFT)) & PDM_CTRL_1_CH3EN_MASK)
  64225. #define PDM_CTRL_1_CH4EN_MASK (0x10U)
  64226. #define PDM_CTRL_1_CH4EN_SHIFT (4U)
  64227. /*! CH4EN - Channel 4 Enable
  64228. */
  64229. #define PDM_CTRL_1_CH4EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH4EN_SHIFT)) & PDM_CTRL_1_CH4EN_MASK)
  64230. #define PDM_CTRL_1_CH5EN_MASK (0x20U)
  64231. #define PDM_CTRL_1_CH5EN_SHIFT (5U)
  64232. /*! CH5EN - Channel 5 Enable
  64233. */
  64234. #define PDM_CTRL_1_CH5EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH5EN_SHIFT)) & PDM_CTRL_1_CH5EN_MASK)
  64235. #define PDM_CTRL_1_CH6EN_MASK (0x40U)
  64236. #define PDM_CTRL_1_CH6EN_SHIFT (6U)
  64237. /*! CH6EN - Channel 6 Enable
  64238. */
  64239. #define PDM_CTRL_1_CH6EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH6EN_SHIFT)) & PDM_CTRL_1_CH6EN_MASK)
  64240. #define PDM_CTRL_1_CH7EN_MASK (0x80U)
  64241. #define PDM_CTRL_1_CH7EN_SHIFT (7U)
  64242. /*! CH7EN - Channel 7 Enable
  64243. */
  64244. #define PDM_CTRL_1_CH7EN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_CH7EN_SHIFT)) & PDM_CTRL_1_CH7EN_MASK)
  64245. #define PDM_CTRL_1_ERREN_MASK (0x800000U)
  64246. #define PDM_CTRL_1_ERREN_SHIFT (23U)
  64247. /*! ERREN - Error Interruption Enable
  64248. * 0b0..Error Interrupts disabled
  64249. * 0b1..Error Interrupts enabled
  64250. */
  64251. #define PDM_CTRL_1_ERREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_ERREN_SHIFT)) & PDM_CTRL_1_ERREN_MASK)
  64252. #define PDM_CTRL_1_DISEL_MASK (0x3000000U)
  64253. #define PDM_CTRL_1_DISEL_SHIFT (24U)
  64254. /*! DISEL - DMA Interrupt Selection
  64255. * 0b00..DMA and interrupt requests disabled
  64256. * 0b01..DMA requests enabled
  64257. * 0b10..Interrupt requests enabled
  64258. * 0b11..Reserved
  64259. */
  64260. #define PDM_CTRL_1_DISEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DISEL_SHIFT)) & PDM_CTRL_1_DISEL_MASK)
  64261. #define PDM_CTRL_1_DBGE_MASK (0x4000000U)
  64262. #define PDM_CTRL_1_DBGE_SHIFT (26U)
  64263. /*! DBGE - Module Enable in Debug
  64264. * 0b0..Disabled after completing the current frame
  64265. * 0b1..Enabled
  64266. */
  64267. #define PDM_CTRL_1_DBGE(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBGE_SHIFT)) & PDM_CTRL_1_DBGE_MASK)
  64268. #define PDM_CTRL_1_SRES_MASK (0x8000000U)
  64269. #define PDM_CTRL_1_SRES_SHIFT (27U)
  64270. /*! SRES - Software-reset bit
  64271. * 0b0..No action
  64272. * 0b1..Software reset
  64273. */
  64274. #define PDM_CTRL_1_SRES(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_SRES_SHIFT)) & PDM_CTRL_1_SRES_MASK)
  64275. #define PDM_CTRL_1_DBG_MASK (0x10000000U)
  64276. #define PDM_CTRL_1_DBG_SHIFT (28U)
  64277. /*! DBG - Debug Mode
  64278. * 0b0..Normal Mode
  64279. * 0b1..Debug Mode
  64280. */
  64281. #define PDM_CTRL_1_DBG(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DBG_SHIFT)) & PDM_CTRL_1_DBG_MASK)
  64282. #define PDM_CTRL_1_PDMIEN_MASK (0x20000000U)
  64283. #define PDM_CTRL_1_PDMIEN_SHIFT (29U)
  64284. /*! PDMIEN - PDM Enable
  64285. * 0b0..PDM stopped
  64286. * 0b1..PDM operation started
  64287. */
  64288. #define PDM_CTRL_1_PDMIEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_PDMIEN_SHIFT)) & PDM_CTRL_1_PDMIEN_MASK)
  64289. #define PDM_CTRL_1_DOZEN_MASK (0x40000000U)
  64290. #define PDM_CTRL_1_DOZEN_SHIFT (30U)
  64291. /*! DOZEN - DOZE enable
  64292. */
  64293. #define PDM_CTRL_1_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_DOZEN_SHIFT)) & PDM_CTRL_1_DOZEN_MASK)
  64294. #define PDM_CTRL_1_MDIS_MASK (0x80000000U)
  64295. #define PDM_CTRL_1_MDIS_SHIFT (31U)
  64296. /*! MDIS - Module Disable
  64297. * 0b0..Normal Mode
  64298. * 0b1..Disable/Low Leakage Mode
  64299. */
  64300. #define PDM_CTRL_1_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_1_MDIS_SHIFT)) & PDM_CTRL_1_MDIS_MASK)
  64301. /*! @} */
  64302. /*! @name CTRL_2 - PDM Control register 2 */
  64303. /*! @{ */
  64304. #define PDM_CTRL_2_CLKDIV_MASK (0xFFU)
  64305. #define PDM_CTRL_2_CLKDIV_SHIFT (0U)
  64306. /*! CLKDIV - Clock Divider
  64307. */
  64308. #define PDM_CTRL_2_CLKDIV(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CLKDIV_SHIFT)) & PDM_CTRL_2_CLKDIV_MASK)
  64309. #define PDM_CTRL_2_CICOSR_MASK (0xF0000U)
  64310. #define PDM_CTRL_2_CICOSR_SHIFT (16U)
  64311. /*! CICOSR - CIC Decimation Rate
  64312. */
  64313. #define PDM_CTRL_2_CICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_CICOSR_SHIFT)) & PDM_CTRL_2_CICOSR_MASK)
  64314. #define PDM_CTRL_2_QSEL_MASK (0xE000000U)
  64315. #define PDM_CTRL_2_QSEL_SHIFT (25U)
  64316. /*! QSEL - Quality Mode
  64317. * 0b001..High quality mode
  64318. * 0b000..Medium quality mode
  64319. * 0b111..Low quality mode
  64320. * 0b110..Very low quality 0 mode
  64321. * 0b101..Very low quality 1 mode
  64322. * 0b100..Very low quality 2 mode
  64323. */
  64324. #define PDM_CTRL_2_QSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_CTRL_2_QSEL_SHIFT)) & PDM_CTRL_2_QSEL_MASK)
  64325. /*! @} */
  64326. /*! @name STAT - PDM Status register */
  64327. /*! @{ */
  64328. #define PDM_STAT_CH0F_MASK (0x1U)
  64329. #define PDM_STAT_CH0F_SHIFT (0U)
  64330. /*! CH0F - Channel 0 Output Data Flag
  64331. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64332. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64333. */
  64334. #define PDM_STAT_CH0F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH0F_SHIFT)) & PDM_STAT_CH0F_MASK)
  64335. #define PDM_STAT_CH1F_MASK (0x2U)
  64336. #define PDM_STAT_CH1F_SHIFT (1U)
  64337. /*! CH1F - Channel 1 Output Data Flag
  64338. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64339. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64340. */
  64341. #define PDM_STAT_CH1F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH1F_SHIFT)) & PDM_STAT_CH1F_MASK)
  64342. #define PDM_STAT_CH2F_MASK (0x4U)
  64343. #define PDM_STAT_CH2F_SHIFT (2U)
  64344. /*! CH2F - Channel 2 Output Data Flag
  64345. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64346. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64347. */
  64348. #define PDM_STAT_CH2F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH2F_SHIFT)) & PDM_STAT_CH2F_MASK)
  64349. #define PDM_STAT_CH3F_MASK (0x8U)
  64350. #define PDM_STAT_CH3F_SHIFT (3U)
  64351. /*! CH3F - Channel 3 Output Data Flag
  64352. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64353. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64354. */
  64355. #define PDM_STAT_CH3F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH3F_SHIFT)) & PDM_STAT_CH3F_MASK)
  64356. #define PDM_STAT_CH4F_MASK (0x10U)
  64357. #define PDM_STAT_CH4F_SHIFT (4U)
  64358. /*! CH4F - Channel 4 Output Data Flag
  64359. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64360. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64361. */
  64362. #define PDM_STAT_CH4F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH4F_SHIFT)) & PDM_STAT_CH4F_MASK)
  64363. #define PDM_STAT_CH5F_MASK (0x20U)
  64364. #define PDM_STAT_CH5F_SHIFT (5U)
  64365. /*! CH5F - Channel 5 Output Data Flag
  64366. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64367. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64368. */
  64369. #define PDM_STAT_CH5F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH5F_SHIFT)) & PDM_STAT_CH5F_MASK)
  64370. #define PDM_STAT_CH6F_MASK (0x40U)
  64371. #define PDM_STAT_CH6F_SHIFT (6U)
  64372. /*! CH6F - Channel 6 Output Data Flag
  64373. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64374. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64375. */
  64376. #define PDM_STAT_CH6F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH6F_SHIFT)) & PDM_STAT_CH6F_MASK)
  64377. #define PDM_STAT_CH7F_MASK (0x80U)
  64378. #define PDM_STAT_CH7F_SHIFT (7U)
  64379. /*! CH7F - Channel 7 Output Data Flag
  64380. * 0b0..Channel's FIFO did not reach the number of elements configured in watermark bit-field
  64381. * 0b1..Channel's FIFO reached the number of elements configured in watermark bit-field
  64382. */
  64383. #define PDM_STAT_CH7F(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_CH7F_SHIFT)) & PDM_STAT_CH7F_MASK)
  64384. #define PDM_STAT_LOWFREQF_MASK (0x20000000U)
  64385. #define PDM_STAT_LOWFREQF_SHIFT (29U)
  64386. /*! LOWFREQF - Low Frequency Flag
  64387. * 0b0..CLKDIV value is OK
  64388. * 0b1..CLKDIV value is too low
  64389. */
  64390. #define PDM_STAT_LOWFREQF(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_LOWFREQF_SHIFT)) & PDM_STAT_LOWFREQF_MASK)
  64391. #define PDM_STAT_FIR_RDY_MASK (0x40000000U)
  64392. #define PDM_STAT_FIR_RDY_SHIFT (30U)
  64393. /*! FIR_RDY - Filter Data Ready
  64394. * 0b0..Filter data is not reliable
  64395. * 0b1..Filter data is reliable
  64396. */
  64397. #define PDM_STAT_FIR_RDY(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_FIR_RDY_SHIFT)) & PDM_STAT_FIR_RDY_MASK)
  64398. #define PDM_STAT_BSY_FIL_MASK (0x80000000U)
  64399. #define PDM_STAT_BSY_FIL_SHIFT (31U)
  64400. /*! BSY_FIL - Busy Flag
  64401. * 0b1..PDM is running
  64402. * 0b0..PDM is stopped
  64403. */
  64404. #define PDM_STAT_BSY_FIL(x) (((uint32_t)(((uint32_t)(x)) << PDM_STAT_BSY_FIL_SHIFT)) & PDM_STAT_BSY_FIL_MASK)
  64405. /*! @} */
  64406. /*! @name FIFO_CTRL - PDM FIFO Control register */
  64407. /*! @{ */
  64408. #define PDM_FIFO_CTRL_FIFOWMK_MASK (0x7U)
  64409. #define PDM_FIFO_CTRL_FIFOWMK_SHIFT (0U)
  64410. /*! FIFOWMK - FIFO Watermark Control
  64411. */
  64412. #define PDM_FIFO_CTRL_FIFOWMK(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_CTRL_FIFOWMK_SHIFT)) & PDM_FIFO_CTRL_FIFOWMK_MASK)
  64413. /*! @} */
  64414. /*! @name FIFO_STAT - PDM FIFO Status register */
  64415. /*! @{ */
  64416. #define PDM_FIFO_STAT_FIFOOVF0_MASK (0x1U)
  64417. #define PDM_FIFO_STAT_FIFOOVF0_SHIFT (0U)
  64418. /*! FIFOOVF0 - FIFO Overflow Exception flag for Channel 0
  64419. * 0b0..No exception by FIFO overflow
  64420. * 0b1..Exception by FIFO overflow
  64421. */
  64422. #define PDM_FIFO_STAT_FIFOOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF0_SHIFT)) & PDM_FIFO_STAT_FIFOOVF0_MASK)
  64423. #define PDM_FIFO_STAT_FIFOOVF1_MASK (0x2U)
  64424. #define PDM_FIFO_STAT_FIFOOVF1_SHIFT (1U)
  64425. /*! FIFOOVF1 - FIFO Overflow Exception flag for Channel 1
  64426. * 0b0..No exception by FIFO overflow
  64427. * 0b1..Exception by FIFO overflow
  64428. */
  64429. #define PDM_FIFO_STAT_FIFOOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF1_SHIFT)) & PDM_FIFO_STAT_FIFOOVF1_MASK)
  64430. #define PDM_FIFO_STAT_FIFOOVF2_MASK (0x4U)
  64431. #define PDM_FIFO_STAT_FIFOOVF2_SHIFT (2U)
  64432. /*! FIFOOVF2 - FIFO Overflow Exception flag for Channel 2
  64433. * 0b0..No exception by FIFO overflow
  64434. * 0b1..Exception by FIFO overflow
  64435. */
  64436. #define PDM_FIFO_STAT_FIFOOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF2_SHIFT)) & PDM_FIFO_STAT_FIFOOVF2_MASK)
  64437. #define PDM_FIFO_STAT_FIFOOVF3_MASK (0x8U)
  64438. #define PDM_FIFO_STAT_FIFOOVF3_SHIFT (3U)
  64439. /*! FIFOOVF3 - FIFO Overflow Exception flag for Channel 3
  64440. * 0b0..No exception by FIFO overflow
  64441. * 0b1..Exception by FIFO overflow
  64442. */
  64443. #define PDM_FIFO_STAT_FIFOOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF3_SHIFT)) & PDM_FIFO_STAT_FIFOOVF3_MASK)
  64444. #define PDM_FIFO_STAT_FIFOOVF4_MASK (0x10U)
  64445. #define PDM_FIFO_STAT_FIFOOVF4_SHIFT (4U)
  64446. /*! FIFOOVF4 - FIFO Overflow Exception flag for Channel 4
  64447. * 0b0..No exception by FIFO overflow
  64448. * 0b1..Exception by FIFO overflow
  64449. */
  64450. #define PDM_FIFO_STAT_FIFOOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF4_SHIFT)) & PDM_FIFO_STAT_FIFOOVF4_MASK)
  64451. #define PDM_FIFO_STAT_FIFOOVF5_MASK (0x20U)
  64452. #define PDM_FIFO_STAT_FIFOOVF5_SHIFT (5U)
  64453. /*! FIFOOVF5 - FIFO Overflow Exception flag for Channel 5
  64454. * 0b0..No exception by FIFO overflow
  64455. * 0b1..Exception by FIFO overflow
  64456. */
  64457. #define PDM_FIFO_STAT_FIFOOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF5_SHIFT)) & PDM_FIFO_STAT_FIFOOVF5_MASK)
  64458. #define PDM_FIFO_STAT_FIFOOVF6_MASK (0x40U)
  64459. #define PDM_FIFO_STAT_FIFOOVF6_SHIFT (6U)
  64460. /*! FIFOOVF6 - FIFO Overflow Exception flag for Channel 6
  64461. * 0b0..No exception by FIFO overflow
  64462. * 0b1..Exception by FIFO overflow
  64463. */
  64464. #define PDM_FIFO_STAT_FIFOOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF6_SHIFT)) & PDM_FIFO_STAT_FIFOOVF6_MASK)
  64465. #define PDM_FIFO_STAT_FIFOOVF7_MASK (0x80U)
  64466. #define PDM_FIFO_STAT_FIFOOVF7_SHIFT (7U)
  64467. /*! FIFOOVF7 - FIFO Overflow Exception flag for Channel 7
  64468. * 0b0..No exception by FIFO overflow
  64469. * 0b1..Exception by FIFO overflow
  64470. */
  64471. #define PDM_FIFO_STAT_FIFOOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOOVF7_SHIFT)) & PDM_FIFO_STAT_FIFOOVF7_MASK)
  64472. #define PDM_FIFO_STAT_FIFOUND0_MASK (0x100U)
  64473. #define PDM_FIFO_STAT_FIFOUND0_SHIFT (8U)
  64474. /*! FIFOUND0 - FIFO Underflow Exception flag for Channel 0
  64475. * 0b0..No exception by FIFO Underflow
  64476. * 0b1..Exception by FIFO underflow
  64477. */
  64478. #define PDM_FIFO_STAT_FIFOUND0(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND0_SHIFT)) & PDM_FIFO_STAT_FIFOUND0_MASK)
  64479. #define PDM_FIFO_STAT_FIFOUND1_MASK (0x200U)
  64480. #define PDM_FIFO_STAT_FIFOUND1_SHIFT (9U)
  64481. /*! FIFOUND1 - FIFO Underflow Exception flag for Channel 1
  64482. * 0b0..No exception by FIFO Underflow
  64483. * 0b1..Exception by FIFO underflow
  64484. */
  64485. #define PDM_FIFO_STAT_FIFOUND1(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND1_SHIFT)) & PDM_FIFO_STAT_FIFOUND1_MASK)
  64486. #define PDM_FIFO_STAT_FIFOUND2_MASK (0x400U)
  64487. #define PDM_FIFO_STAT_FIFOUND2_SHIFT (10U)
  64488. /*! FIFOUND2 - FIFO Underflow Exception flag for Channel 2
  64489. * 0b0..No exception by FIFO Underflow
  64490. * 0b1..Exception by FIFO underflow
  64491. */
  64492. #define PDM_FIFO_STAT_FIFOUND2(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND2_SHIFT)) & PDM_FIFO_STAT_FIFOUND2_MASK)
  64493. #define PDM_FIFO_STAT_FIFOUND3_MASK (0x800U)
  64494. #define PDM_FIFO_STAT_FIFOUND3_SHIFT (11U)
  64495. /*! FIFOUND3 - FIFO Underflow Exception flag for Channel 3
  64496. * 0b0..No exception by FIFO Underflow
  64497. * 0b1..Exception by FIFO underflow
  64498. */
  64499. #define PDM_FIFO_STAT_FIFOUND3(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND3_SHIFT)) & PDM_FIFO_STAT_FIFOUND3_MASK)
  64500. #define PDM_FIFO_STAT_FIFOUND4_MASK (0x1000U)
  64501. #define PDM_FIFO_STAT_FIFOUND4_SHIFT (12U)
  64502. /*! FIFOUND4 - FIFO Underflow Exception flag for Channel 4
  64503. * 0b0..No exception by FIFO Underflow
  64504. * 0b1..Exception by FIFO underflow
  64505. */
  64506. #define PDM_FIFO_STAT_FIFOUND4(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND4_SHIFT)) & PDM_FIFO_STAT_FIFOUND4_MASK)
  64507. #define PDM_FIFO_STAT_FIFOUND5_MASK (0x2000U)
  64508. #define PDM_FIFO_STAT_FIFOUND5_SHIFT (13U)
  64509. /*! FIFOUND5 - FIFO Underflow Exception flag for Channel 5
  64510. * 0b0..No exception by FIFO Underflow
  64511. * 0b1..Exception by FIFO underflow
  64512. */
  64513. #define PDM_FIFO_STAT_FIFOUND5(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND5_SHIFT)) & PDM_FIFO_STAT_FIFOUND5_MASK)
  64514. #define PDM_FIFO_STAT_FIFOUND6_MASK (0x4000U)
  64515. #define PDM_FIFO_STAT_FIFOUND6_SHIFT (14U)
  64516. /*! FIFOUND6 - FIFO Underflow Exception flag for Channel 6
  64517. * 0b0..No exception by FIFO Underflow
  64518. * 0b1..Exception by FIFO underflow
  64519. */
  64520. #define PDM_FIFO_STAT_FIFOUND6(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND6_SHIFT)) & PDM_FIFO_STAT_FIFOUND6_MASK)
  64521. #define PDM_FIFO_STAT_FIFOUND7_MASK (0x8000U)
  64522. #define PDM_FIFO_STAT_FIFOUND7_SHIFT (15U)
  64523. /*! FIFOUND7 - FIFO Underflow Exception flag for Channel 7
  64524. * 0b0..No exception by FIFO Underflow
  64525. * 0b1..Exception by FIFO underflow
  64526. */
  64527. #define PDM_FIFO_STAT_FIFOUND7(x) (((uint32_t)(((uint32_t)(x)) << PDM_FIFO_STAT_FIFOUND7_SHIFT)) & PDM_FIFO_STAT_FIFOUND7_MASK)
  64528. /*! @} */
  64529. /*! @name DATACH - PDM Output Result Register */
  64530. /*! @{ */
  64531. #define PDM_DATACH_DATA_MASK (0xFFFFFFFFU)
  64532. #define PDM_DATACH_DATA_SHIFT (0U)
  64533. /*! DATA - Channel n Data
  64534. */
  64535. #define PDM_DATACH_DATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_DATACH_DATA_SHIFT)) & PDM_DATACH_DATA_MASK)
  64536. /*! @} */
  64537. /* The count of PDM_DATACH */
  64538. #define PDM_DATACH_COUNT (8U)
  64539. /*! @name DC_CTRL - PDM DC Remover Control register */
  64540. /*! @{ */
  64541. #define PDM_DC_CTRL_DCCONFIG0_MASK (0x3U)
  64542. #define PDM_DC_CTRL_DCCONFIG0_SHIFT (0U)
  64543. /*! DCCONFIG0 - Channel 0 DC Remover Configuration
  64544. * 0b11..DC Remover is bypassed
  64545. * 0b00..DC Remover cut-off at 21Hz
  64546. * 0b01..DC Remover cut-off at 83Hz
  64547. * 0b10..DC Remover cut-off at 152Hz
  64548. */
  64549. #define PDM_DC_CTRL_DCCONFIG0(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG0_SHIFT)) & PDM_DC_CTRL_DCCONFIG0_MASK)
  64550. #define PDM_DC_CTRL_DCCONFIG1_MASK (0xCU)
  64551. #define PDM_DC_CTRL_DCCONFIG1_SHIFT (2U)
  64552. /*! DCCONFIG1 - Channel 1 DC Remover Configuration
  64553. * 0b11..DC Remover is bypassed
  64554. * 0b00..DC Remover cut-off at 21Hz
  64555. * 0b01..DC Remover cut-off at 83Hz
  64556. * 0b10..DC Remover cut-off at 152Hz
  64557. */
  64558. #define PDM_DC_CTRL_DCCONFIG1(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG1_SHIFT)) & PDM_DC_CTRL_DCCONFIG1_MASK)
  64559. #define PDM_DC_CTRL_DCCONFIG2_MASK (0x30U)
  64560. #define PDM_DC_CTRL_DCCONFIG2_SHIFT (4U)
  64561. /*! DCCONFIG2 - Channel 2 DC Remover Configuration
  64562. * 0b11..DC Remover is bypassed
  64563. * 0b00..DC Remover cut-off at 21Hz
  64564. * 0b01..DC Remover cut-off at 83Hz
  64565. * 0b10..DC Remover cut-off at 152Hz
  64566. */
  64567. #define PDM_DC_CTRL_DCCONFIG2(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG2_SHIFT)) & PDM_DC_CTRL_DCCONFIG2_MASK)
  64568. #define PDM_DC_CTRL_DCCONFIG3_MASK (0xC0U)
  64569. #define PDM_DC_CTRL_DCCONFIG3_SHIFT (6U)
  64570. /*! DCCONFIG3 - Channel 3 DC Remover Configuration
  64571. * 0b11..DC Remover is bypassed
  64572. * 0b00..DC Remover cut-off at 21Hz
  64573. * 0b01..DC Remover cut-off at 83Hz
  64574. * 0b10..DC Remover cut-off at 152Hz
  64575. */
  64576. #define PDM_DC_CTRL_DCCONFIG3(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG3_SHIFT)) & PDM_DC_CTRL_DCCONFIG3_MASK)
  64577. #define PDM_DC_CTRL_DCCONFIG4_MASK (0x300U)
  64578. #define PDM_DC_CTRL_DCCONFIG4_SHIFT (8U)
  64579. /*! DCCONFIG4 - Channel 4 DC Remover Configuration
  64580. * 0b11..DC Remover is bypassed
  64581. * 0b00..DC Remover cut-off at 21Hz
  64582. * 0b01..DC Remover cut-off at 83Hz
  64583. * 0b10..DC Remover cut-off at 152Hz
  64584. */
  64585. #define PDM_DC_CTRL_DCCONFIG4(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG4_SHIFT)) & PDM_DC_CTRL_DCCONFIG4_MASK)
  64586. #define PDM_DC_CTRL_DCCONFIG5_MASK (0xC00U)
  64587. #define PDM_DC_CTRL_DCCONFIG5_SHIFT (10U)
  64588. /*! DCCONFIG5 - Channel 5 DC Remover Configuration
  64589. * 0b11..DC Remover is bypassed
  64590. * 0b00..DC Remover cut-off at 21Hz
  64591. * 0b01..DC Remover cut-off at 83Hz
  64592. * 0b10..DC Remover cut-off at 152Hz
  64593. */
  64594. #define PDM_DC_CTRL_DCCONFIG5(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG5_SHIFT)) & PDM_DC_CTRL_DCCONFIG5_MASK)
  64595. #define PDM_DC_CTRL_DCCONFIG6_MASK (0x3000U)
  64596. #define PDM_DC_CTRL_DCCONFIG6_SHIFT (12U)
  64597. /*! DCCONFIG6 - Channel 6 DC Remover Configuration
  64598. * 0b11..DC Remover is bypassed
  64599. * 0b00..DC Remover cut-off at 21Hz
  64600. * 0b01..DC Remover cut-off at 83Hz
  64601. * 0b10..DC Remover cut-off at 152Hz
  64602. */
  64603. #define PDM_DC_CTRL_DCCONFIG6(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG6_SHIFT)) & PDM_DC_CTRL_DCCONFIG6_MASK)
  64604. #define PDM_DC_CTRL_DCCONFIG7_MASK (0xC000U)
  64605. #define PDM_DC_CTRL_DCCONFIG7_SHIFT (14U)
  64606. /*! DCCONFIG7 - Channel 7 DC Remover Configuration
  64607. * 0b11..DC Remover is bypassed
  64608. * 0b00..DC Remover cut-off at 21Hz
  64609. * 0b01..DC Remover cut-off at 83Hz
  64610. * 0b10..DC Remover cut-off at 152Hz
  64611. */
  64612. #define PDM_DC_CTRL_DCCONFIG7(x) (((uint32_t)(((uint32_t)(x)) << PDM_DC_CTRL_DCCONFIG7_SHIFT)) & PDM_DC_CTRL_DCCONFIG7_MASK)
  64613. /*! @} */
  64614. /*! @name RANGE_CTRL - PDM Range Control register */
  64615. /*! @{ */
  64616. #define PDM_RANGE_CTRL_RANGEADJ0_MASK (0xFU)
  64617. #define PDM_RANGE_CTRL_RANGEADJ0_SHIFT (0U)
  64618. /*! RANGEADJ0 - Channel 0 Range Adjustment
  64619. */
  64620. #define PDM_RANGE_CTRL_RANGEADJ0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ0_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ0_MASK)
  64621. #define PDM_RANGE_CTRL_RANGEADJ1_MASK (0xF0U)
  64622. #define PDM_RANGE_CTRL_RANGEADJ1_SHIFT (4U)
  64623. /*! RANGEADJ1 - Channel 1 Range Adjustment
  64624. */
  64625. #define PDM_RANGE_CTRL_RANGEADJ1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ1_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ1_MASK)
  64626. #define PDM_RANGE_CTRL_RANGEADJ2_MASK (0xF00U)
  64627. #define PDM_RANGE_CTRL_RANGEADJ2_SHIFT (8U)
  64628. /*! RANGEADJ2 - Channel 2 Range Adjustment
  64629. */
  64630. #define PDM_RANGE_CTRL_RANGEADJ2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ2_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ2_MASK)
  64631. #define PDM_RANGE_CTRL_RANGEADJ3_MASK (0xF000U)
  64632. #define PDM_RANGE_CTRL_RANGEADJ3_SHIFT (12U)
  64633. /*! RANGEADJ3 - Channel 3 Range Adjustment
  64634. */
  64635. #define PDM_RANGE_CTRL_RANGEADJ3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ3_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ3_MASK)
  64636. #define PDM_RANGE_CTRL_RANGEADJ4_MASK (0xF0000U)
  64637. #define PDM_RANGE_CTRL_RANGEADJ4_SHIFT (16U)
  64638. /*! RANGEADJ4 - Channel 4 Range Adjustment
  64639. */
  64640. #define PDM_RANGE_CTRL_RANGEADJ4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ4_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ4_MASK)
  64641. #define PDM_RANGE_CTRL_RANGEADJ5_MASK (0xF00000U)
  64642. #define PDM_RANGE_CTRL_RANGEADJ5_SHIFT (20U)
  64643. /*! RANGEADJ5 - Channel 5 Range Adjustment
  64644. */
  64645. #define PDM_RANGE_CTRL_RANGEADJ5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ5_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ5_MASK)
  64646. #define PDM_RANGE_CTRL_RANGEADJ6_MASK (0xF000000U)
  64647. #define PDM_RANGE_CTRL_RANGEADJ6_SHIFT (24U)
  64648. /*! RANGEADJ6 - Channel 6 Range Adjustment
  64649. */
  64650. #define PDM_RANGE_CTRL_RANGEADJ6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ6_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ6_MASK)
  64651. #define PDM_RANGE_CTRL_RANGEADJ7_MASK (0xF0000000U)
  64652. #define PDM_RANGE_CTRL_RANGEADJ7_SHIFT (28U)
  64653. /*! RANGEADJ7 - Channel 7 Range Adjustment
  64654. */
  64655. #define PDM_RANGE_CTRL_RANGEADJ7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_CTRL_RANGEADJ7_SHIFT)) & PDM_RANGE_CTRL_RANGEADJ7_MASK)
  64656. /*! @} */
  64657. /*! @name RANGE_STAT - PDM Range Status register */
  64658. /*! @{ */
  64659. #define PDM_RANGE_STAT_RANGEOVF0_MASK (0x1U)
  64660. #define PDM_RANGE_STAT_RANGEOVF0_SHIFT (0U)
  64661. /*! RANGEOVF0 - Channel 0 Range Overflow Error Flag
  64662. * 0b0..No exception by range overflow
  64663. * 0b1..Exception by range overflow
  64664. */
  64665. #define PDM_RANGE_STAT_RANGEOVF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF0_SHIFT)) & PDM_RANGE_STAT_RANGEOVF0_MASK)
  64666. #define PDM_RANGE_STAT_RANGEOVF1_MASK (0x2U)
  64667. #define PDM_RANGE_STAT_RANGEOVF1_SHIFT (1U)
  64668. /*! RANGEOVF1 - Channel 1 Range Overflow Error Flag
  64669. * 0b0..No exception by range overflow
  64670. * 0b1..Exception by range overflow
  64671. */
  64672. #define PDM_RANGE_STAT_RANGEOVF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF1_SHIFT)) & PDM_RANGE_STAT_RANGEOVF1_MASK)
  64673. #define PDM_RANGE_STAT_RANGEOVF2_MASK (0x4U)
  64674. #define PDM_RANGE_STAT_RANGEOVF2_SHIFT (2U)
  64675. /*! RANGEOVF2 - Channel 2 Range Overflow Error Flag
  64676. * 0b0..No exception by range overflow
  64677. * 0b1..Exception by range overflow
  64678. */
  64679. #define PDM_RANGE_STAT_RANGEOVF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF2_SHIFT)) & PDM_RANGE_STAT_RANGEOVF2_MASK)
  64680. #define PDM_RANGE_STAT_RANGEOVF3_MASK (0x8U)
  64681. #define PDM_RANGE_STAT_RANGEOVF3_SHIFT (3U)
  64682. /*! RANGEOVF3 - Channel 3 Range Overflow Error Flag
  64683. * 0b0..No exception by range overflow
  64684. * 0b1..Exception by range overflow
  64685. */
  64686. #define PDM_RANGE_STAT_RANGEOVF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF3_SHIFT)) & PDM_RANGE_STAT_RANGEOVF3_MASK)
  64687. #define PDM_RANGE_STAT_RANGEOVF4_MASK (0x10U)
  64688. #define PDM_RANGE_STAT_RANGEOVF4_SHIFT (4U)
  64689. /*! RANGEOVF4 - Channel 4 Range Overflow Error Flag
  64690. * 0b0..No exception by range overflow
  64691. * 0b1..Exception by range overflow
  64692. */
  64693. #define PDM_RANGE_STAT_RANGEOVF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF4_SHIFT)) & PDM_RANGE_STAT_RANGEOVF4_MASK)
  64694. #define PDM_RANGE_STAT_RANGEOVF5_MASK (0x20U)
  64695. #define PDM_RANGE_STAT_RANGEOVF5_SHIFT (5U)
  64696. /*! RANGEOVF5 - Channel 5 Range Overflow Error Flag
  64697. * 0b0..No exception by range overflow
  64698. * 0b1..Exception by range overflow
  64699. */
  64700. #define PDM_RANGE_STAT_RANGEOVF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF5_SHIFT)) & PDM_RANGE_STAT_RANGEOVF5_MASK)
  64701. #define PDM_RANGE_STAT_RANGEOVF6_MASK (0x40U)
  64702. #define PDM_RANGE_STAT_RANGEOVF6_SHIFT (6U)
  64703. /*! RANGEOVF6 - Channel 6 Range Overflow Error Flag
  64704. * 0b0..No exception by range overflow
  64705. * 0b1..Exception by range overflow
  64706. */
  64707. #define PDM_RANGE_STAT_RANGEOVF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF6_SHIFT)) & PDM_RANGE_STAT_RANGEOVF6_MASK)
  64708. #define PDM_RANGE_STAT_RANGEOVF7_MASK (0x80U)
  64709. #define PDM_RANGE_STAT_RANGEOVF7_SHIFT (7U)
  64710. /*! RANGEOVF7 - Channel 7 Range Overflow Error Flag
  64711. * 0b0..No exception by range overflow
  64712. * 0b1..Exception by range overflow
  64713. */
  64714. #define PDM_RANGE_STAT_RANGEOVF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEOVF7_SHIFT)) & PDM_RANGE_STAT_RANGEOVF7_MASK)
  64715. #define PDM_RANGE_STAT_RANGEUNF0_MASK (0x10000U)
  64716. #define PDM_RANGE_STAT_RANGEUNF0_SHIFT (16U)
  64717. /*! RANGEUNF0 - Channel 0 Range Underflow Error Flag
  64718. * 0b0..No exception by range underflow
  64719. * 0b1..Exception by range underflow
  64720. */
  64721. #define PDM_RANGE_STAT_RANGEUNF0(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF0_SHIFT)) & PDM_RANGE_STAT_RANGEUNF0_MASK)
  64722. #define PDM_RANGE_STAT_RANGEUNF1_MASK (0x20000U)
  64723. #define PDM_RANGE_STAT_RANGEUNF1_SHIFT (17U)
  64724. /*! RANGEUNF1 - Channel 1 Range Underflow Error Flag
  64725. * 0b0..No exception by range underflow
  64726. * 0b1..Exception by range underflow
  64727. */
  64728. #define PDM_RANGE_STAT_RANGEUNF1(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF1_SHIFT)) & PDM_RANGE_STAT_RANGEUNF1_MASK)
  64729. #define PDM_RANGE_STAT_RANGEUNF2_MASK (0x40000U)
  64730. #define PDM_RANGE_STAT_RANGEUNF2_SHIFT (18U)
  64731. /*! RANGEUNF2 - Channel 2 Range Underflow Error Flag
  64732. * 0b0..No exception by range underflow
  64733. * 0b1..Exception by range underflow
  64734. */
  64735. #define PDM_RANGE_STAT_RANGEUNF2(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF2_SHIFT)) & PDM_RANGE_STAT_RANGEUNF2_MASK)
  64736. #define PDM_RANGE_STAT_RANGEUNF3_MASK (0x80000U)
  64737. #define PDM_RANGE_STAT_RANGEUNF3_SHIFT (19U)
  64738. /*! RANGEUNF3 - Channel 3 Range Underflow Error Flag
  64739. * 0b0..No exception by range underflow
  64740. * 0b1..Exception by range underflow
  64741. */
  64742. #define PDM_RANGE_STAT_RANGEUNF3(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF3_SHIFT)) & PDM_RANGE_STAT_RANGEUNF3_MASK)
  64743. #define PDM_RANGE_STAT_RANGEUNF4_MASK (0x100000U)
  64744. #define PDM_RANGE_STAT_RANGEUNF4_SHIFT (20U)
  64745. /*! RANGEUNF4 - Channel 4 Range Underflow Error Flag
  64746. * 0b0..No exception by range underflow
  64747. * 0b1..Exception by range underflow
  64748. */
  64749. #define PDM_RANGE_STAT_RANGEUNF4(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF4_SHIFT)) & PDM_RANGE_STAT_RANGEUNF4_MASK)
  64750. #define PDM_RANGE_STAT_RANGEUNF5_MASK (0x200000U)
  64751. #define PDM_RANGE_STAT_RANGEUNF5_SHIFT (21U)
  64752. /*! RANGEUNF5 - Channel 5 Range Underflow Error Flag
  64753. * 0b0..No exception by range underflow
  64754. * 0b1..Exception by range underflow
  64755. */
  64756. #define PDM_RANGE_STAT_RANGEUNF5(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF5_SHIFT)) & PDM_RANGE_STAT_RANGEUNF5_MASK)
  64757. #define PDM_RANGE_STAT_RANGEUNF6_MASK (0x400000U)
  64758. #define PDM_RANGE_STAT_RANGEUNF6_SHIFT (22U)
  64759. /*! RANGEUNF6 - Channel 6 Range Underflow Error Flag
  64760. * 0b0..No exception by range underflow
  64761. * 0b1..Exception by range underflow
  64762. */
  64763. #define PDM_RANGE_STAT_RANGEUNF6(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF6_SHIFT)) & PDM_RANGE_STAT_RANGEUNF6_MASK)
  64764. #define PDM_RANGE_STAT_RANGEUNF7_MASK (0x800000U)
  64765. #define PDM_RANGE_STAT_RANGEUNF7_SHIFT (23U)
  64766. /*! RANGEUNF7 - Channel 7 Range Underflow Error Flag
  64767. * 0b0..No exception by range underflow
  64768. * 0b1..Exception by range underflow
  64769. */
  64770. #define PDM_RANGE_STAT_RANGEUNF7(x) (((uint32_t)(((uint32_t)(x)) << PDM_RANGE_STAT_RANGEUNF7_SHIFT)) & PDM_RANGE_STAT_RANGEUNF7_MASK)
  64771. /*! @} */
  64772. /*! @name VAD0_CTRL_1 - Voice Activity Detector 0 Control register */
  64773. /*! @{ */
  64774. #define PDM_VAD0_CTRL_1_VADEN_MASK (0x1U)
  64775. #define PDM_VAD0_CTRL_1_VADEN_SHIFT (0U)
  64776. /*! VADEN - Voice Activity Detector Enable
  64777. * 0b0..The HWVAD is disabled
  64778. * 0b1..The HWVAD is enabled
  64779. */
  64780. #define PDM_VAD0_CTRL_1_VADEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADEN_SHIFT)) & PDM_VAD0_CTRL_1_VADEN_MASK)
  64781. #define PDM_VAD0_CTRL_1_VADRST_MASK (0x2U)
  64782. #define PDM_VAD0_CTRL_1_VADRST_SHIFT (1U)
  64783. /*! VADRST - Voice Activity Detector Reset
  64784. */
  64785. #define PDM_VAD0_CTRL_1_VADRST(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADRST_SHIFT)) & PDM_VAD0_CTRL_1_VADRST_MASK)
  64786. #define PDM_VAD0_CTRL_1_VADIE_MASK (0x4U)
  64787. #define PDM_VAD0_CTRL_1_VADIE_SHIFT (2U)
  64788. /*! VADIE - Voice Activity Detector Interruption Enable
  64789. * 0b0..HWVAD Interrupts disabled
  64790. * 0b1..HWVAD Interrupts enabled
  64791. */
  64792. #define PDM_VAD0_CTRL_1_VADIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADIE_SHIFT)) & PDM_VAD0_CTRL_1_VADIE_MASK)
  64793. #define PDM_VAD0_CTRL_1_VADERIE_MASK (0x8U)
  64794. #define PDM_VAD0_CTRL_1_VADERIE_SHIFT (3U)
  64795. /*! VADERIE - Voice Activity Detector Error Interruption Enable
  64796. * 0b0..HWVAD Error Interrupts disabled
  64797. * 0b1..HWVAD Error Interrupts enabled
  64798. */
  64799. #define PDM_VAD0_CTRL_1_VADERIE(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADERIE_SHIFT)) & PDM_VAD0_CTRL_1_VADERIE_MASK)
  64800. #define PDM_VAD0_CTRL_1_VADST10_MASK (0x10U)
  64801. #define PDM_VAD0_CTRL_1_VADST10_SHIFT (4U)
  64802. /*! VADST10 - Voice Activity Detector Internal Filters Initialization
  64803. * 0b0..Normal operation.
  64804. * 0b1..Filters are initialized.
  64805. */
  64806. #define PDM_VAD0_CTRL_1_VADST10(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADST10_SHIFT)) & PDM_VAD0_CTRL_1_VADST10_MASK)
  64807. #define PDM_VAD0_CTRL_1_VADINITT_MASK (0x1F00U)
  64808. #define PDM_VAD0_CTRL_1_VADINITT_SHIFT (8U)
  64809. /*! VADINITT - Voice Activity Detector Initialization Time
  64810. */
  64811. #define PDM_VAD0_CTRL_1_VADINITT(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADINITT_SHIFT)) & PDM_VAD0_CTRL_1_VADINITT_MASK)
  64812. #define PDM_VAD0_CTRL_1_VADCICOSR_MASK (0xF0000U)
  64813. #define PDM_VAD0_CTRL_1_VADCICOSR_SHIFT (16U)
  64814. /*! VADCICOSR - Voice Activity Detector CIC Oversampling Rate
  64815. */
  64816. #define PDM_VAD0_CTRL_1_VADCICOSR(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCICOSR_SHIFT)) & PDM_VAD0_CTRL_1_VADCICOSR_MASK)
  64817. #define PDM_VAD0_CTRL_1_VADCHSEL_MASK (0x7000000U)
  64818. #define PDM_VAD0_CTRL_1_VADCHSEL_SHIFT (24U)
  64819. /*! VADCHSEL - Voice Activity Detector Channel Selector
  64820. */
  64821. #define PDM_VAD0_CTRL_1_VADCHSEL(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_1_VADCHSEL_SHIFT)) & PDM_VAD0_CTRL_1_VADCHSEL_MASK)
  64822. /*! @} */
  64823. /*! @name VAD0_CTRL_2 - Voice Activity Detector 0 Control register */
  64824. /*! @{ */
  64825. #define PDM_VAD0_CTRL_2_VADHPF_MASK (0x3U)
  64826. #define PDM_VAD0_CTRL_2_VADHPF_SHIFT (0U)
  64827. /*! VADHPF - Voice Activity Detector High-Pass Filter
  64828. * 0b00..Filter bypassed.
  64829. * 0b01..Cut-off frequency at 1750Hz.
  64830. * 0b10..Cut-off frequency at 215Hz.
  64831. * 0b11..Cut-off frequency at 102Hz.
  64832. */
  64833. #define PDM_VAD0_CTRL_2_VADHPF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADHPF_SHIFT)) & PDM_VAD0_CTRL_2_VADHPF_MASK)
  64834. #define PDM_VAD0_CTRL_2_VADINPGAIN_MASK (0xF00U)
  64835. #define PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT (8U)
  64836. /*! VADINPGAIN - Voice Activity Detector Input Gain
  64837. */
  64838. #define PDM_VAD0_CTRL_2_VADINPGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADINPGAIN_SHIFT)) & PDM_VAD0_CTRL_2_VADINPGAIN_MASK)
  64839. #define PDM_VAD0_CTRL_2_VADFRAMET_MASK (0x3F0000U)
  64840. #define PDM_VAD0_CTRL_2_VADFRAMET_SHIFT (16U)
  64841. /*! VADFRAMET - Voice Activity Detector Frame Time
  64842. */
  64843. #define PDM_VAD0_CTRL_2_VADFRAMET(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRAMET_SHIFT)) & PDM_VAD0_CTRL_2_VADFRAMET_MASK)
  64844. #define PDM_VAD0_CTRL_2_VADFOUTDIS_MASK (0x10000000U)
  64845. #define PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT (28U)
  64846. /*! VADFOUTDIS - Voice Activity Detector Force Output Disable
  64847. * 0b0..Output is enabled.
  64848. * 0b1..Output is disabled.
  64849. */
  64850. #define PDM_VAD0_CTRL_2_VADFOUTDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFOUTDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFOUTDIS_MASK)
  64851. #define PDM_VAD0_CTRL_2_VADPREFEN_MASK (0x40000000U)
  64852. #define PDM_VAD0_CTRL_2_VADPREFEN_SHIFT (30U)
  64853. /*! VADPREFEN - Voice Activity Detector Pre Filter Enable
  64854. * 0b0..Pre-filter is bypassed.
  64855. * 0b1..Pre-filter is enabled.
  64856. */
  64857. #define PDM_VAD0_CTRL_2_VADPREFEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADPREFEN_SHIFT)) & PDM_VAD0_CTRL_2_VADPREFEN_MASK)
  64858. #define PDM_VAD0_CTRL_2_VADFRENDIS_MASK (0x80000000U)
  64859. #define PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT (31U)
  64860. /*! VADFRENDIS - Voice Activity Detector Frame Energy Disable
  64861. * 0b1..Frame energy calculus disabled.
  64862. * 0b0..Frame energy calculus enabled.
  64863. */
  64864. #define PDM_VAD0_CTRL_2_VADFRENDIS(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_CTRL_2_VADFRENDIS_SHIFT)) & PDM_VAD0_CTRL_2_VADFRENDIS_MASK)
  64865. /*! @} */
  64866. /*! @name VAD0_STAT - Voice Activity Detector 0 Status register */
  64867. /*! @{ */
  64868. #define PDM_VAD0_STAT_VADIF_MASK (0x1U)
  64869. #define PDM_VAD0_STAT_VADIF_SHIFT (0U)
  64870. /*! VADIF - Voice Activity Detector Interrupt Flag
  64871. * 0b0..Voice activity not detected
  64872. * 0b1..Voice activity detected
  64873. */
  64874. #define PDM_VAD0_STAT_VADIF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADIF_SHIFT)) & PDM_VAD0_STAT_VADIF_MASK)
  64875. #define PDM_VAD0_STAT_VADEF_MASK (0x8000U)
  64876. #define PDM_VAD0_STAT_VADEF_SHIFT (15U)
  64877. /*! VADEF - Voice Activity Detector Event Flag
  64878. * 0b0..Voice activity not detected
  64879. * 0b1..Voice activity detected
  64880. */
  64881. #define PDM_VAD0_STAT_VADEF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADEF_SHIFT)) & PDM_VAD0_STAT_VADEF_MASK)
  64882. #define PDM_VAD0_STAT_VADINSATF_MASK (0x10000U)
  64883. #define PDM_VAD0_STAT_VADINSATF_SHIFT (16U)
  64884. /*! VADINSATF - Voice Activity Detector Input Saturation Flag
  64885. * 0b0..No exception
  64886. * 0b1..Exception
  64887. */
  64888. #define PDM_VAD0_STAT_VADINSATF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINSATF_SHIFT)) & PDM_VAD0_STAT_VADINSATF_MASK)
  64889. #define PDM_VAD0_STAT_VADINITF_MASK (0x80000000U)
  64890. #define PDM_VAD0_STAT_VADINITF_SHIFT (31U)
  64891. /*! VADINITF - Voice Activity Detector Initialization Flag
  64892. * 0b0..HWVAD is not being initialized.
  64893. * 0b1..HWVAD is being initialized.
  64894. */
  64895. #define PDM_VAD0_STAT_VADINITF(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_STAT_VADINITF_SHIFT)) & PDM_VAD0_STAT_VADINITF_MASK)
  64896. /*! @} */
  64897. /*! @name VAD0_SCONFIG - Voice Activity Detector 0 Signal Configuration */
  64898. /*! @{ */
  64899. #define PDM_VAD0_SCONFIG_VADSGAIN_MASK (0xFU)
  64900. #define PDM_VAD0_SCONFIG_VADSGAIN_SHIFT (0U)
  64901. /*! VADSGAIN - Voice Activity Detector Signal Gain
  64902. */
  64903. #define PDM_VAD0_SCONFIG_VADSGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSGAIN_SHIFT)) & PDM_VAD0_SCONFIG_VADSGAIN_MASK)
  64904. #define PDM_VAD0_SCONFIG_VADSMAXEN_MASK (0x40000000U)
  64905. #define PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT (30U)
  64906. /*! VADSMAXEN - Voice Activity Detector Signal Maximum Enable
  64907. * 0b0..Maximum block is bypassed.
  64908. * 0b1..Maximum block is enabled.
  64909. */
  64910. #define PDM_VAD0_SCONFIG_VADSMAXEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSMAXEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSMAXEN_MASK)
  64911. #define PDM_VAD0_SCONFIG_VADSFILEN_MASK (0x80000000U)
  64912. #define PDM_VAD0_SCONFIG_VADSFILEN_SHIFT (31U)
  64913. /*! VADSFILEN - Voice Activity Detector Signal Filter Enable
  64914. * 0b0..Signal filter is disabled.
  64915. * 0b1..Signal filter is enabled.
  64916. */
  64917. #define PDM_VAD0_SCONFIG_VADSFILEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_SCONFIG_VADSFILEN_SHIFT)) & PDM_VAD0_SCONFIG_VADSFILEN_MASK)
  64918. /*! @} */
  64919. /*! @name VAD0_NCONFIG - Voice Activity Detector 0 Noise Configuration */
  64920. /*! @{ */
  64921. #define PDM_VAD0_NCONFIG_VADNGAIN_MASK (0xFU)
  64922. #define PDM_VAD0_NCONFIG_VADNGAIN_SHIFT (0U)
  64923. /*! VADNGAIN - Voice Activity Detector Noise Gain
  64924. */
  64925. #define PDM_VAD0_NCONFIG_VADNGAIN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNGAIN_SHIFT)) & PDM_VAD0_NCONFIG_VADNGAIN_MASK)
  64926. #define PDM_VAD0_NCONFIG_VADNFILADJ_MASK (0x1F00U)
  64927. #define PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT (8U)
  64928. /*! VADNFILADJ - Voice Activity Detector Noise Filter Adjustment
  64929. */
  64930. #define PDM_VAD0_NCONFIG_VADNFILADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILADJ_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILADJ_MASK)
  64931. #define PDM_VAD0_NCONFIG_VADNOREN_MASK (0x10000000U)
  64932. #define PDM_VAD0_NCONFIG_VADNOREN_SHIFT (28U)
  64933. /*! VADNOREN - Voice Activity Detector Noise OR Enable
  64934. * 0b0..Noise input is not decimated.
  64935. * 0b1..Noise input is decimated.
  64936. */
  64937. #define PDM_VAD0_NCONFIG_VADNOREN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNOREN_SHIFT)) & PDM_VAD0_NCONFIG_VADNOREN_MASK)
  64938. #define PDM_VAD0_NCONFIG_VADNDECEN_MASK (0x20000000U)
  64939. #define PDM_VAD0_NCONFIG_VADNDECEN_SHIFT (29U)
  64940. /*! VADNDECEN - Voice Activity Detector Noise Decimation Enable
  64941. * 0b0..Noise input is not decimated.
  64942. * 0b1..Noise input is decimated.
  64943. */
  64944. #define PDM_VAD0_NCONFIG_VADNDECEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNDECEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNDECEN_MASK)
  64945. #define PDM_VAD0_NCONFIG_VADNMINEN_MASK (0x40000000U)
  64946. #define PDM_VAD0_NCONFIG_VADNMINEN_SHIFT (30U)
  64947. /*! VADNMINEN - Voice Activity Detector Noise Minimum Enable
  64948. * 0b0..Minimum block is bypassed.
  64949. * 0b1..Minimum block is enabled.
  64950. */
  64951. #define PDM_VAD0_NCONFIG_VADNMINEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNMINEN_SHIFT)) & PDM_VAD0_NCONFIG_VADNMINEN_MASK)
  64952. #define PDM_VAD0_NCONFIG_VADNFILAUTO_MASK (0x80000000U)
  64953. #define PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT (31U)
  64954. /*! VADNFILAUTO - Voice Activity Detector Noise Filter Auto
  64955. * 0b0..Noise filter is always enabled.
  64956. * 0b1..Noise filter is enabled/disabled based on voice activity information.
  64957. */
  64958. #define PDM_VAD0_NCONFIG_VADNFILAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NCONFIG_VADNFILAUTO_SHIFT)) & PDM_VAD0_NCONFIG_VADNFILAUTO_MASK)
  64959. /*! @} */
  64960. /*! @name VAD0_NDATA - Voice Activity Detector 0 Noise Data */
  64961. /*! @{ */
  64962. #define PDM_VAD0_NDATA_VADNDATA_MASK (0xFFFFU)
  64963. #define PDM_VAD0_NDATA_VADNDATA_SHIFT (0U)
  64964. /*! VADNDATA - Voice Activity Detector Noise Data
  64965. */
  64966. #define PDM_VAD0_NDATA_VADNDATA(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_NDATA_VADNDATA_SHIFT)) & PDM_VAD0_NDATA_VADNDATA_MASK)
  64967. /*! @} */
  64968. /*! @name VAD0_ZCD - Voice Activity Detector 0 Zero-Crossing Detector */
  64969. /*! @{ */
  64970. #define PDM_VAD0_ZCD_VADZCDEN_MASK (0x1U)
  64971. #define PDM_VAD0_ZCD_VADZCDEN_SHIFT (0U)
  64972. /*! VADZCDEN - Zero-Crossing Detector Enable
  64973. * 0b0..The ZCD is disabled
  64974. * 0b1..The ZCD is enabled
  64975. */
  64976. #define PDM_VAD0_ZCD_VADZCDEN(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDEN_SHIFT)) & PDM_VAD0_ZCD_VADZCDEN_MASK)
  64977. #define PDM_VAD0_ZCD_VADZCDAUTO_MASK (0x4U)
  64978. #define PDM_VAD0_ZCD_VADZCDAUTO_SHIFT (2U)
  64979. /*! VADZCDAUTO - Zero-Crossing Detector Automatic Threshold
  64980. * 0b0..The ZCD threshold is not estimated automatically
  64981. * 0b1..The ZCD threshold is estimated automatically
  64982. */
  64983. #define PDM_VAD0_ZCD_VADZCDAUTO(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAUTO_SHIFT)) & PDM_VAD0_ZCD_VADZCDAUTO_MASK)
  64984. #define PDM_VAD0_ZCD_VADZCDAND_MASK (0x10U)
  64985. #define PDM_VAD0_ZCD_VADZCDAND_SHIFT (4U)
  64986. /*! VADZCDAND - Zero-Crossing Detector AND Behavior
  64987. * 0b0..The ZCD result is OR'ed with the energy-based detection.
  64988. * 0b1..The ZCD result is AND'ed with the energy-based detection.
  64989. */
  64990. #define PDM_VAD0_ZCD_VADZCDAND(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDAND_SHIFT)) & PDM_VAD0_ZCD_VADZCDAND_MASK)
  64991. #define PDM_VAD0_ZCD_VADZCDADJ_MASK (0xF00U)
  64992. #define PDM_VAD0_ZCD_VADZCDADJ_SHIFT (8U)
  64993. /*! VADZCDADJ - Zero-Crossing Detector Adjustment
  64994. */
  64995. #define PDM_VAD0_ZCD_VADZCDADJ(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDADJ_SHIFT)) & PDM_VAD0_ZCD_VADZCDADJ_MASK)
  64996. #define PDM_VAD0_ZCD_VADZCDTH_MASK (0x3FF0000U)
  64997. #define PDM_VAD0_ZCD_VADZCDTH_SHIFT (16U)
  64998. /*! VADZCDTH - Zero-Crossing Detector Threshold
  64999. */
  65000. #define PDM_VAD0_ZCD_VADZCDTH(x) (((uint32_t)(((uint32_t)(x)) << PDM_VAD0_ZCD_VADZCDTH_SHIFT)) & PDM_VAD0_ZCD_VADZCDTH_MASK)
  65001. /*! @} */
  65002. /*!
  65003. * @}
  65004. */ /* end of group PDM_Register_Masks */
  65005. /* PDM - Peripheral instance base addresses */
  65006. /** Peripheral PDM base address */
  65007. #define PDM_BASE (0x40C20000u)
  65008. /** Peripheral PDM base pointer */
  65009. #define PDM ((PDM_Type *)PDM_BASE)
  65010. /** Array initializer of PDM peripheral base addresses */
  65011. #define PDM_BASE_ADDRS { PDM_BASE }
  65012. /** Array initializer of PDM peripheral base pointers */
  65013. #define PDM_BASE_PTRS { PDM }
  65014. /*!
  65015. * @}
  65016. */ /* end of group PDM_Peripheral_Access_Layer */
  65017. /* ----------------------------------------------------------------------------
  65018. -- PGMC_BPC Peripheral Access Layer
  65019. ---------------------------------------------------------------------------- */
  65020. /*!
  65021. * @addtogroup PGMC_BPC_Peripheral_Access_Layer PGMC_BPC Peripheral Access Layer
  65022. * @{
  65023. */
  65024. /** PGMC_BPC - Register Layout Typedef */
  65025. typedef struct {
  65026. uint8_t RESERVED_0[4];
  65027. __IO uint32_t BPC_AUTHEN_CTRL; /**< BPC Authentication Control, offset: 0x4 */
  65028. uint8_t RESERVED_1[8];
  65029. __IO uint32_t BPC_MODE; /**< BPC Mode, offset: 0x10 */
  65030. __IO uint32_t BPC_POWER_CTRL; /**< BPC power control, offset: 0x14 */
  65031. uint8_t RESERVED_2[20];
  65032. __IO uint32_t BPC_FLAG; /**< BPC flag, offset: 0x2C */
  65033. uint8_t RESERVED_3[16];
  65034. __IO uint32_t BPC_SSAR_SAVE_CTRL; /**< BPC SSAR save control, offset: 0x40 */
  65035. __IO uint32_t BPC_SSAR_RESTORE_CTRL; /**< BPC SSAR restore control, offset: 0x44 */
  65036. } PGMC_BPC_Type;
  65037. /* ----------------------------------------------------------------------------
  65038. -- PGMC_BPC Register Masks
  65039. ---------------------------------------------------------------------------- */
  65040. /*!
  65041. * @addtogroup PGMC_BPC_Register_Masks PGMC_BPC Register Masks
  65042. * @{
  65043. */
  65044. /*! @name BPC_AUTHEN_CTRL - BPC Authentication Control */
  65045. /*! @{ */
  65046. #define PGMC_BPC_BPC_AUTHEN_CTRL_USER_MASK (0x1U)
  65047. #define PGMC_BPC_BPC_AUTHEN_CTRL_USER_SHIFT (0U)
  65048. /*! USER - Allow user mode access
  65049. * 0b0..Allow only privilege mode to access basic power control registers
  65050. * 0b1..Allow both privilege and user mode to access basic power control registers
  65051. */
  65052. #define PGMC_BPC_BPC_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_USER_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_USER_MASK)
  65053. #define PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  65054. #define PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  65055. /*! NONSECURE - Allow non-secure mode access
  65056. * 0b0..Allow only secure mode to access basic power control registers
  65057. * 0b1..Allow both secure and non-secure mode to access basic power control registers
  65058. */
  65059. #define PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_NONSECURE_MASK)
  65060. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  65061. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  65062. /*! LOCK_SETTING - Lock NONSECURE and USER
  65063. */
  65064. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_SETTING_MASK)
  65065. #define PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  65066. #define PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  65067. /*! WHITE_LIST - Domain ID white list
  65068. */
  65069. #define PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_WHITE_LIST_MASK)
  65070. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  65071. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  65072. /*! LOCK_LIST - White list lock
  65073. */
  65074. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_LIST_MASK)
  65075. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  65076. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  65077. /*! LOCK_CFG - Configuration lock
  65078. */
  65079. #define PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & PGMC_BPC_BPC_AUTHEN_CTRL_LOCK_CFG_MASK)
  65080. /*! @} */
  65081. /*! @name BPC_MODE - BPC Mode */
  65082. /*! @{ */
  65083. #define PGMC_BPC_BPC_MODE_CTRL_MODE_MASK (0x3U)
  65084. #define PGMC_BPC_BPC_MODE_CTRL_MODE_SHIFT (0U)
  65085. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65086. * 0b00..Not affected by any low power mode
  65087. * 0b01..Controlled by CPU power mode of the domain
  65088. * 0b10..Controlled by Setpoint
  65089. * 0b11..Reserved
  65090. */
  65091. #define PGMC_BPC_BPC_MODE_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_MODE_CTRL_MODE_SHIFT)) & PGMC_BPC_BPC_MODE_CTRL_MODE_MASK)
  65092. #define PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_MASK (0x30U)
  65093. #define PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_SHIFT (4U)
  65094. /*! DOMAIN_ASSIGN - Domain assignment of the BPC
  65095. * 0b00..Domain 0
  65096. * 0b01..Domain 1
  65097. * 0b10..Domain 2
  65098. * 0b11..Domain 3
  65099. */
  65100. #define PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_SHIFT)) & PGMC_BPC_BPC_MODE_DOMAIN_ASSIGN_MASK)
  65101. /*! @} */
  65102. /*! @name BPC_POWER_CTRL - BPC power control */
  65103. /*! @{ */
  65104. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_MASK (0x2U)
  65105. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT (1U)
  65106. /*! PWR_OFF_AT_WAIT - 0x1: Power off when domain enters WAIT mode
  65107. */
  65108. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_WAIT_MASK)
  65109. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_MASK (0x4U)
  65110. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT (2U)
  65111. /*! PWR_OFF_AT_STOP - 0x1: Power off when domain enters STOP mode
  65112. */
  65113. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_STOP_MASK)
  65114. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK (0x8U)
  65115. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT (3U)
  65116. /*! PWR_OFF_AT_SUSPEND - 0x1: Power off when domain enters SUSPEND mode
  65117. */
  65118. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK)
  65119. #define PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_MASK (0x100U)
  65120. #define PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_SHIFT (8U)
  65121. /*! ISO_ON_SOFT - Software isolation on trigger
  65122. */
  65123. #define PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_ISO_ON_SOFT_MASK)
  65124. #define PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_MASK (0x200U)
  65125. #define PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_SHIFT (9U)
  65126. /*! PSW_OFF_SOFT - Software power off trigger
  65127. */
  65128. #define PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PSW_OFF_SOFT_MASK)
  65129. #define PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_MASK (0x400U)
  65130. #define PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_SHIFT (10U)
  65131. /*! PSW_ON_SOFT - Software power on trigger
  65132. */
  65133. #define PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PSW_ON_SOFT_MASK)
  65134. #define PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_MASK (0x800U)
  65135. #define PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_SHIFT (11U)
  65136. /*! ISO_OFF_SOFT - Software isolation off trigger
  65137. */
  65138. #define PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_ISO_OFF_SOFT_MASK)
  65139. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_MASK (0xFFFF0000U)
  65140. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_SHIFT (16U)
  65141. /*! PWR_OFF_AT_SP - Power off when system enters Setpoint number
  65142. */
  65143. #define PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_SHIFT)) & PGMC_BPC_BPC_POWER_CTRL_PWR_OFF_AT_SP_MASK)
  65144. /*! @} */
  65145. /*! @name BPC_FLAG - BPC flag */
  65146. /*! @{ */
  65147. #define PGMC_BPC_BPC_FLAG_PDN_FLAG_MASK (0x1U)
  65148. #define PGMC_BPC_BPC_FLAG_PDN_FLAG_SHIFT (0U)
  65149. /*! PDN_FLAG - set to 1 after power switch off, cleared by writing 1
  65150. */
  65151. #define PGMC_BPC_BPC_FLAG_PDN_FLAG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_FLAG_PDN_FLAG_SHIFT)) & PGMC_BPC_BPC_FLAG_PDN_FLAG_MASK)
  65152. /*! @} */
  65153. /*! @name BPC_SSAR_SAVE_CTRL - BPC SSAR save control */
  65154. /*! @{ */
  65155. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_MASK (0x1U)
  65156. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_SHIFT (0U)
  65157. /*! SAVE_AT_RUN - Save data at RUN mode, software writting 0x1 to trigger SSARC to execute save process
  65158. */
  65159. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_SHIFT)) & PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_RUN_MASK)
  65160. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_MASK (0x2U)
  65161. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_SHIFT (1U)
  65162. /*! SAVE_AT_WAIT - Save data when domain enters WAIT mode
  65163. */
  65164. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_SHIFT)) & PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_WAIT_MASK)
  65165. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_MASK (0x4U)
  65166. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_SHIFT (2U)
  65167. /*! SAVE_AT_STOP - Save data when domain enters STOP mode
  65168. */
  65169. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_SHIFT)) & PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_STOP_MASK)
  65170. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_MASK (0x8U)
  65171. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_SHIFT (3U)
  65172. /*! SAVE_AT_SUSPEND - Save data when domain enters SUSPEND mode
  65173. */
  65174. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_SHIFT)) & PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SUSPEND_MASK)
  65175. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_MASK (0xFFFF0000U)
  65176. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_SHIFT (16U)
  65177. /*! SAVE_AT_SP - Save data when system enters a Setpoint.
  65178. */
  65179. #define PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_SHIFT)) & PGMC_BPC_BPC_SSAR_SAVE_CTRL_SAVE_AT_SP_MASK)
  65180. /*! @} */
  65181. /*! @name BPC_SSAR_RESTORE_CTRL - BPC SSAR restore control */
  65182. /*! @{ */
  65183. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_MASK (0x1U)
  65184. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_SHIFT (0U)
  65185. /*! RESTORE_AT_RUN - Restore data at RUN mode
  65186. */
  65187. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_SHIFT)) & PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_RUN_MASK)
  65188. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_MASK (0xFFFF0000U)
  65189. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_SHIFT (16U)
  65190. /*! RESTORE_AT_SP - Restore data when system enters a Setpoint.
  65191. */
  65192. #define PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_SHIFT)) & PGMC_BPC_BPC_SSAR_RESTORE_CTRL_RESTORE_AT_SP_MASK)
  65193. /*! @} */
  65194. /*!
  65195. * @}
  65196. */ /* end of group PGMC_BPC_Register_Masks */
  65197. /* PGMC_BPC - Peripheral instance base addresses */
  65198. /** Peripheral PGMC_BPC0 base address */
  65199. #define PGMC_BPC0_BASE (0x40C88000u)
  65200. /** Peripheral PGMC_BPC0 base pointer */
  65201. #define PGMC_BPC0 ((PGMC_BPC_Type *)PGMC_BPC0_BASE)
  65202. /** Peripheral PGMC_BPC1 base address */
  65203. #define PGMC_BPC1_BASE (0x40C88200u)
  65204. /** Peripheral PGMC_BPC1 base pointer */
  65205. #define PGMC_BPC1 ((PGMC_BPC_Type *)PGMC_BPC1_BASE)
  65206. /** Peripheral PGMC_BPC2 base address */
  65207. #define PGMC_BPC2_BASE (0x40C88400u)
  65208. /** Peripheral PGMC_BPC2 base pointer */
  65209. #define PGMC_BPC2 ((PGMC_BPC_Type *)PGMC_BPC2_BASE)
  65210. /** Peripheral PGMC_BPC3 base address */
  65211. #define PGMC_BPC3_BASE (0x40C88600u)
  65212. /** Peripheral PGMC_BPC3 base pointer */
  65213. #define PGMC_BPC3 ((PGMC_BPC_Type *)PGMC_BPC3_BASE)
  65214. /** Peripheral PGMC_BPC4 base address */
  65215. #define PGMC_BPC4_BASE (0x40C88800u)
  65216. /** Peripheral PGMC_BPC4 base pointer */
  65217. #define PGMC_BPC4 ((PGMC_BPC_Type *)PGMC_BPC4_BASE)
  65218. /** Peripheral PGMC_BPC5 base address */
  65219. #define PGMC_BPC5_BASE (0x40C88A00u)
  65220. /** Peripheral PGMC_BPC5 base pointer */
  65221. #define PGMC_BPC5 ((PGMC_BPC_Type *)PGMC_BPC5_BASE)
  65222. /** Peripheral PGMC_BPC6 base address */
  65223. #define PGMC_BPC6_BASE (0x40C88C00u)
  65224. /** Peripheral PGMC_BPC6 base pointer */
  65225. #define PGMC_BPC6 ((PGMC_BPC_Type *)PGMC_BPC6_BASE)
  65226. /** Peripheral PGMC_BPC7 base address */
  65227. #define PGMC_BPC7_BASE (0x40C88E00u)
  65228. /** Peripheral PGMC_BPC7 base pointer */
  65229. #define PGMC_BPC7 ((PGMC_BPC_Type *)PGMC_BPC7_BASE)
  65230. /** Array initializer of PGMC_BPC peripheral base addresses */
  65231. #define PGMC_BPC_BASE_ADDRS { PGMC_BPC0_BASE, PGMC_BPC1_BASE, PGMC_BPC2_BASE, PGMC_BPC3_BASE, PGMC_BPC4_BASE, PGMC_BPC5_BASE, PGMC_BPC6_BASE, PGMC_BPC7_BASE }
  65232. /** Array initializer of PGMC_BPC peripheral base pointers */
  65233. #define PGMC_BPC_BASE_PTRS { PGMC_BPC0, PGMC_BPC1, PGMC_BPC2, PGMC_BPC3, PGMC_BPC4, PGMC_BPC5, PGMC_BPC6, PGMC_BPC7 }
  65234. /*!
  65235. * @}
  65236. */ /* end of group PGMC_BPC_Peripheral_Access_Layer */
  65237. /* ----------------------------------------------------------------------------
  65238. -- PGMC_CPC Peripheral Access Layer
  65239. ---------------------------------------------------------------------------- */
  65240. /*!
  65241. * @addtogroup PGMC_CPC_Peripheral_Access_Layer PGMC_CPC Peripheral Access Layer
  65242. * @{
  65243. */
  65244. /** PGMC_CPC - Register Layout Typedef */
  65245. typedef struct {
  65246. uint8_t RESERVED_0[4];
  65247. __IO uint32_t CPC_AUTHEN_CTRL; /**< CPC Authentication Control, offset: 0x4 */
  65248. uint8_t RESERVED_1[8];
  65249. __IO uint32_t CPC_CORE_MODE; /**< CPC Core Mode, offset: 0x10 */
  65250. __IO uint32_t CPC_CORE_POWER_CTRL; /**< CPC core power control, offset: 0x14 */
  65251. uint8_t RESERVED_2[20];
  65252. __IO uint32_t CPC_FLAG; /**< CPC flag, offset: 0x2C */
  65253. uint8_t RESERVED_3[16];
  65254. __IO uint32_t CPC_CACHE_MODE; /**< CPC Cache Mode, offset: 0x40 */
  65255. __IO uint32_t CPC_CACHE_CM_CTRL; /**< CPC cache CPU mode control, offset: 0x44 */
  65256. __IO uint32_t CPC_CACHE_SP_CTRL_0; /**< CPC cache Setpoint control 0, offset: 0x48 */
  65257. __IO uint32_t CPC_CACHE_SP_CTRL_1; /**< CPC cache Setpoint control 1, offset: 0x4C */
  65258. uint8_t RESERVED_4[112];
  65259. __IO uint32_t CPC_LMEM_MODE; /**< CPC local memory Mode, offset: 0xC0 */
  65260. __IO uint32_t CPC_LMEM_CM_CTRL; /**< CPC local memory CPU mode control, offset: 0xC4 */
  65261. __IO uint32_t CPC_LMEM_SP_CTRL_0; /**< CPC local memory Setpoint control 0, offset: 0xC8 */
  65262. __IO uint32_t CPC_LMEM_SP_CTRL_1; /**< CPC local memory Setpoint control 1, offset: 0xCC */
  65263. } PGMC_CPC_Type;
  65264. /* ----------------------------------------------------------------------------
  65265. -- PGMC_CPC Register Masks
  65266. ---------------------------------------------------------------------------- */
  65267. /*!
  65268. * @addtogroup PGMC_CPC_Register_Masks PGMC_CPC Register Masks
  65269. * @{
  65270. */
  65271. /*! @name CPC_AUTHEN_CTRL - CPC Authentication Control */
  65272. /*! @{ */
  65273. #define PGMC_CPC_CPC_AUTHEN_CTRL_USER_MASK (0x1U)
  65274. #define PGMC_CPC_CPC_AUTHEN_CTRL_USER_SHIFT (0U)
  65275. /*! USER - Allow user mode access
  65276. */
  65277. #define PGMC_CPC_CPC_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_USER_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_USER_MASK)
  65278. #define PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  65279. #define PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  65280. /*! NONSECURE - Allow non-secure mode access
  65281. */
  65282. #define PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_NONSECURE_MASK)
  65283. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  65284. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  65285. /*! LOCK_SETTING - Lock NONSECURE and USER
  65286. */
  65287. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_SETTING_MASK)
  65288. #define PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  65289. #define PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  65290. /*! WHITE_LIST - Domain ID white list
  65291. */
  65292. #define PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_WHITE_LIST_MASK)
  65293. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  65294. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  65295. /*! LOCK_LIST - White list lock
  65296. */
  65297. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_LIST_MASK)
  65298. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  65299. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  65300. /*! LOCK_CFG - Configuration lock
  65301. */
  65302. #define PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & PGMC_CPC_CPC_AUTHEN_CTRL_LOCK_CFG_MASK)
  65303. /*! @} */
  65304. /*! @name CPC_CORE_MODE - CPC Core Mode */
  65305. /*! @{ */
  65306. #define PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_MASK (0x3U)
  65307. #define PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_SHIFT (0U)
  65308. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65309. * 0b00..Not affected by any low power mode
  65310. * 0b01..Controlled by CPU power mode of the domain
  65311. * 0b10..Reserved
  65312. * 0b11..Reserved
  65313. */
  65314. #define PGMC_CPC_CPC_CORE_MODE_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_SHIFT)) & PGMC_CPC_CPC_CORE_MODE_CTRL_MODE_MASK)
  65315. /*! @} */
  65316. /*! @name CPC_CORE_POWER_CTRL - CPC core power control */
  65317. /*! @{ */
  65318. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_MASK (0x2U)
  65319. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT (1U)
  65320. /*! PWR_OFF_AT_WAIT - Power off when domain enters WAIT mode
  65321. */
  65322. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_WAIT_MASK)
  65323. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_MASK (0x4U)
  65324. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT (2U)
  65325. /*! PWR_OFF_AT_STOP - Power off when domain enters STOP mode
  65326. */
  65327. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_STOP_MASK)
  65328. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK (0x8U)
  65329. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT (3U)
  65330. /*! PWR_OFF_AT_SUSPEND - Power off when domain enters SUSPEND mode
  65331. */
  65332. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_PWR_OFF_AT_SUSPEND_MASK)
  65333. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_MASK (0x100U)
  65334. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_SHIFT (8U)
  65335. /*! ISO_ON_SOFT - Software isolation on trigger
  65336. */
  65337. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_ON_SOFT_MASK)
  65338. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_MASK (0x200U)
  65339. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_SHIFT (9U)
  65340. /*! PSW_OFF_SOFT - Software power off trigger
  65341. */
  65342. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_OFF_SOFT_MASK)
  65343. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_MASK (0x400U)
  65344. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_SHIFT (10U)
  65345. /*! PSW_ON_SOFT - Software power on trigger
  65346. */
  65347. #define PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_PSW_ON_SOFT_MASK)
  65348. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_MASK (0x800U)
  65349. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_SHIFT (11U)
  65350. /*! ISO_OFF_SOFT - Software isolation off trigger
  65351. */
  65352. #define PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_SHIFT)) & PGMC_CPC_CPC_CORE_POWER_CTRL_ISO_OFF_SOFT_MASK)
  65353. /*! @} */
  65354. /*! @name CPC_FLAG - CPC flag */
  65355. /*! @{ */
  65356. #define PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_MASK (0x1U)
  65357. #define PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_SHIFT (0U)
  65358. /*! CORE_PDN_FLAG - set to 1 after core power switch off, cleared by writing 1
  65359. */
  65360. #define PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_SHIFT)) & PGMC_CPC_CPC_FLAG_CORE_PDN_FLAG_MASK)
  65361. /*! @} */
  65362. /*! @name CPC_CACHE_MODE - CPC Cache Mode */
  65363. /*! @{ */
  65364. #define PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_MASK (0x3U)
  65365. #define PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_SHIFT (0U)
  65366. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65367. * 0b00..Not affected by any low power mode
  65368. * 0b01..Controlled by CPU power mode of the domain
  65369. * 0b10..Controlled by Setpoint
  65370. * 0b11..Reserved
  65371. */
  65372. #define PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_SHIFT)) & PGMC_CPC_CPC_CACHE_MODE_CTRL_MODE_MASK)
  65373. /*! @} */
  65374. /*! @name CPC_CACHE_CM_CTRL - CPC cache CPU mode control */
  65375. /*! @{ */
  65376. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_MASK (0xFU)
  65377. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_SHIFT (0U)
  65378. /*! MLPL_AT_RUN - Memory Low Power Level (MLPL) at RUN mode
  65379. */
  65380. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_SHIFT)) & PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_RUN_MASK)
  65381. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_MASK (0xF0U)
  65382. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_SHIFT (4U)
  65383. /*! MLPL_AT_WAIT - Memory Low Power Level (MLPL) at WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65384. */
  65385. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_SHIFT)) & PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_WAIT_MASK)
  65386. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_MASK (0xF00U)
  65387. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_SHIFT (8U)
  65388. /*! MLPL_AT_STOP - Memory Low Power Level (MLPL) at STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65389. */
  65390. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_SHIFT)) & PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_STOP_MASK)
  65391. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_MASK (0xF000U)
  65392. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_SHIFT (12U)
  65393. /*! MLPL_AT_SUSPEND - Memory Low Power Level (MLPL) at SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65394. */
  65395. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_SHIFT)) & PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_AT_SUSPEND_MASK)
  65396. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_MASK (0x10000U)
  65397. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_SHIFT (16U)
  65398. /*! MLPL_SOFT - Memory Low Power Level (MLPL) software change request, keep 1 until MLPL transition complete
  65399. */
  65400. #define PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_SHIFT)) & PGMC_CPC_CPC_CACHE_CM_CTRL_MLPL_SOFT_MASK)
  65401. /*! @} */
  65402. /*! @name CPC_CACHE_SP_CTRL_0 - CPC cache Setpoint control 0 */
  65403. /*! @{ */
  65404. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_MASK (0xFU)
  65405. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_SHIFT (0U)
  65406. /*! MLPL_AT_SP0 - Memory Low Power Level (MLPL) at Setpoint 0. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65407. */
  65408. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP0_MASK)
  65409. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_MASK (0xF0U)
  65410. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_SHIFT (4U)
  65411. /*! MLPL_AT_SP1 - Memory Low Power Level (MLPL) at Setpoint 1. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65412. */
  65413. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP1_MASK)
  65414. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_MASK (0xF00U)
  65415. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_SHIFT (8U)
  65416. /*! MLPL_AT_SP2 - Memory Low Power Level (MLPL) at Setpoint 2. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65417. */
  65418. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP2_MASK)
  65419. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_MASK (0xF000U)
  65420. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_SHIFT (12U)
  65421. /*! MLPL_AT_SP3 - Memory Low Power Level (MLPL) at Setpoint 3. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65422. */
  65423. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP3_MASK)
  65424. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_MASK (0xF0000U)
  65425. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_SHIFT (16U)
  65426. /*! MLPL_AT_SP4 - Memory Low Power Level (MLPL) at Setpoint 4. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65427. */
  65428. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP4_MASK)
  65429. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_MASK (0xF00000U)
  65430. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_SHIFT (20U)
  65431. /*! MLPL_AT_SP5 - Memory Low Power Level (MLPL) at Setpoint 5. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65432. */
  65433. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP5_MASK)
  65434. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_MASK (0xF000000U)
  65435. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_SHIFT (24U)
  65436. /*! MLPL_AT_SP6 - Memory Low Power Level (MLPL) at Setpoint 6. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65437. */
  65438. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP6_MASK)
  65439. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_MASK (0xF0000000U)
  65440. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_SHIFT (28U)
  65441. /*! MLPL_AT_SP7 - Memory Low Power Level (MLPL) at Setpoint 7. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65442. */
  65443. #define PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_0_MLPL_AT_SP7_MASK)
  65444. /*! @} */
  65445. /*! @name CPC_CACHE_SP_CTRL_1 - CPC cache Setpoint control 1 */
  65446. /*! @{ */
  65447. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_MASK (0xFU)
  65448. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_SHIFT (0U)
  65449. /*! MLPL_AT_SP8 - Memory Low Power Level (MLPL) at Setpoint 8. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65450. */
  65451. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP8_MASK)
  65452. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_MASK (0xF0U)
  65453. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_SHIFT (4U)
  65454. /*! MLPL_AT_SP9 - Memory Low Power Level (MLPL) at Setpoint 9. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65455. */
  65456. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP9_MASK)
  65457. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_MASK (0xF00U)
  65458. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_SHIFT (8U)
  65459. /*! MLPL_AT_SP10 - Memory Low Power Level (MLPL) at Setpoint 10. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65460. */
  65461. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP10_MASK)
  65462. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_MASK (0xF000U)
  65463. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_SHIFT (12U)
  65464. /*! MLPL_AT_SP11 - Memory Low Power Level (MLPL) at Setpoint 11. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65465. */
  65466. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP11_MASK)
  65467. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_MASK (0xF0000U)
  65468. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_SHIFT (16U)
  65469. /*! MLPL_AT_SP12 - Memory Low Power Level (MLPL) at Setpoint 12. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65470. */
  65471. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP12_MASK)
  65472. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_MASK (0xF00000U)
  65473. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_SHIFT (20U)
  65474. /*! MLPL_AT_SP13 - Memory Low Power Level (MLPL) at Setpoint 13. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65475. */
  65476. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP13_MASK)
  65477. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_MASK (0xF000000U)
  65478. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_SHIFT (24U)
  65479. /*! MLPL_AT_SP14 - Memory Low Power Level (MLPL) at Setpoint 14. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65480. */
  65481. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP14_MASK)
  65482. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_MASK (0xF0000000U)
  65483. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_SHIFT (28U)
  65484. /*! MLPL_AT_SP15 - Memory Low Power Level (MLPL) at Setpoint 15. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65485. */
  65486. #define PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_SHIFT)) & PGMC_CPC_CPC_CACHE_SP_CTRL_1_MLPL_AT_SP15_MASK)
  65487. /*! @} */
  65488. /*! @name CPC_LMEM_MODE - CPC local memory Mode */
  65489. /*! @{ */
  65490. #define PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_MASK (0x3U)
  65491. #define PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_SHIFT (0U)
  65492. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65493. * 0b00..Not affected by any low power mode
  65494. * 0b01..Controlled by CPU power mode of the domain
  65495. * 0b10..Controlled by Setpoint
  65496. * 0b11..Reserved
  65497. */
  65498. #define PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_SHIFT)) & PGMC_CPC_CPC_LMEM_MODE_CTRL_MODE_MASK)
  65499. /*! @} */
  65500. /*! @name CPC_LMEM_CM_CTRL - CPC local memory CPU mode control */
  65501. /*! @{ */
  65502. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_MASK (0xFU)
  65503. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_SHIFT (0U)
  65504. /*! MLPL_AT_RUN - Memory Low Power Level (MLPL) at RUN mode
  65505. */
  65506. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_SHIFT)) & PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_RUN_MASK)
  65507. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_MASK (0xF0U)
  65508. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_SHIFT (4U)
  65509. /*! MLPL_AT_WAIT - Memory Low Power Level (MLPL) at WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65510. */
  65511. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_SHIFT)) & PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_WAIT_MASK)
  65512. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_MASK (0xF00U)
  65513. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_SHIFT (8U)
  65514. /*! MLPL_AT_STOP - Memory Low Power Level (MLPL) at STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65515. */
  65516. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_SHIFT)) & PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_STOP_MASK)
  65517. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_MASK (0xF000U)
  65518. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_SHIFT (12U)
  65519. /*! MLPL_AT_SUSPEND - Memory Low Power Level (MLPL) at SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65520. */
  65521. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_SHIFT)) & PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_AT_SUSPEND_MASK)
  65522. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_MASK (0x10000U)
  65523. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_SHIFT (16U)
  65524. /*! MLPL_SOFT - Memory Low Power Level (MLPL) software change request, keep 1 until MLPL transition complete
  65525. */
  65526. #define PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_SHIFT)) & PGMC_CPC_CPC_LMEM_CM_CTRL_MLPL_SOFT_MASK)
  65527. /*! @} */
  65528. /*! @name CPC_LMEM_SP_CTRL_0 - CPC local memory Setpoint control 0 */
  65529. /*! @{ */
  65530. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_MASK (0xFU)
  65531. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_SHIFT (0U)
  65532. /*! MLPL_AT_SP0 - Memory Low Power Level (MLPL) at Setpoint 0. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65533. */
  65534. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP0_MASK)
  65535. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_MASK (0xF0U)
  65536. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_SHIFT (4U)
  65537. /*! MLPL_AT_SP1 - Memory Low Power Level (MLPL) at Setpoint 1. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65538. */
  65539. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP1_MASK)
  65540. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_MASK (0xF00U)
  65541. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_SHIFT (8U)
  65542. /*! MLPL_AT_SP2 - Memory Low Power Level (MLPL) at Setpoint 2. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65543. */
  65544. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP2_MASK)
  65545. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_MASK (0xF000U)
  65546. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_SHIFT (12U)
  65547. /*! MLPL_AT_SP3 - Memory Low Power Level (MLPL) at Setpoint 3. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65548. */
  65549. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP3_MASK)
  65550. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_MASK (0xF0000U)
  65551. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_SHIFT (16U)
  65552. /*! MLPL_AT_SP4 - Memory Low Power Level (MLPL) at Setpoint 4. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65553. */
  65554. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP4_MASK)
  65555. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_MASK (0xF00000U)
  65556. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_SHIFT (20U)
  65557. /*! MLPL_AT_SP5 - Memory Low Power Level (MLPL) at Setpoint 5. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65558. */
  65559. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP5_MASK)
  65560. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_MASK (0xF000000U)
  65561. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_SHIFT (24U)
  65562. /*! MLPL_AT_SP6 - Memory Low Power Level (MLPL) at Setpoint 6. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65563. */
  65564. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP6_MASK)
  65565. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_MASK (0xF0000000U)
  65566. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_SHIFT (28U)
  65567. /*! MLPL_AT_SP7 - Memory Low Power Level (MLPL) at Setpoint 7. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65568. */
  65569. #define PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_0_MLPL_AT_SP7_MASK)
  65570. /*! @} */
  65571. /*! @name CPC_LMEM_SP_CTRL_1 - CPC local memory Setpoint control 1 */
  65572. /*! @{ */
  65573. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_MASK (0xFU)
  65574. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_SHIFT (0U)
  65575. /*! MLPL_AT_SP8 - Memory Low Power Level (MLPL) at Setpoint 8. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65576. */
  65577. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP8_MASK)
  65578. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_MASK (0xF0U)
  65579. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_SHIFT (4U)
  65580. /*! MLPL_AT_SP9 - Memory Low Power Level (MLPL) at Setpoint 9. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65581. */
  65582. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP9_MASK)
  65583. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_MASK (0xF00U)
  65584. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_SHIFT (8U)
  65585. /*! MLPL_AT_SP10 - Memory Low Power Level (MLPL) at Setpoint 10. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65586. */
  65587. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP10_MASK)
  65588. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_MASK (0xF000U)
  65589. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_SHIFT (12U)
  65590. /*! MLPL_AT_SP11 - Memory Low Power Level (MLPL) at Setpoint 11. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65591. */
  65592. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP11_MASK)
  65593. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_MASK (0xF0000U)
  65594. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_SHIFT (16U)
  65595. /*! MLPL_AT_SP12 - Memory Low Power Level (MLPL) at Setpoint 12. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65596. */
  65597. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP12_MASK)
  65598. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_MASK (0xF00000U)
  65599. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_SHIFT (20U)
  65600. /*! MLPL_AT_SP13 - Memory Low Power Level (MLPL) at Setpoint 13. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65601. */
  65602. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP13_MASK)
  65603. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_MASK (0xF000000U)
  65604. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_SHIFT (24U)
  65605. /*! MLPL_AT_SP14 - Memory Low Power Level (MLPL) at Setpoint 14. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65606. */
  65607. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP14_MASK)
  65608. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_MASK (0xF0000000U)
  65609. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_SHIFT (28U)
  65610. /*! MLPL_AT_SP15 - Memory Low Power Level (MLPL) at Setpoint 15. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65611. */
  65612. #define PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15(x) (((uint32_t)(((uint32_t)(x)) << PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_SHIFT)) & PGMC_CPC_CPC_LMEM_SP_CTRL_1_MLPL_AT_SP15_MASK)
  65613. /*! @} */
  65614. /*!
  65615. * @}
  65616. */ /* end of group PGMC_CPC_Register_Masks */
  65617. /* PGMC_CPC - Peripheral instance base addresses */
  65618. /** Peripheral PGMC_CPC0 base address */
  65619. #define PGMC_CPC0_BASE (0x40C89000u)
  65620. /** Peripheral PGMC_CPC0 base pointer */
  65621. #define PGMC_CPC0 ((PGMC_CPC_Type *)PGMC_CPC0_BASE)
  65622. /** Peripheral PGMC_CPC1 base address */
  65623. #define PGMC_CPC1_BASE (0x40C89400u)
  65624. /** Peripheral PGMC_CPC1 base pointer */
  65625. #define PGMC_CPC1 ((PGMC_CPC_Type *)PGMC_CPC1_BASE)
  65626. /** Array initializer of PGMC_CPC peripheral base addresses */
  65627. #define PGMC_CPC_BASE_ADDRS { PGMC_CPC0_BASE, PGMC_CPC1_BASE }
  65628. /** Array initializer of PGMC_CPC peripheral base pointers */
  65629. #define PGMC_CPC_BASE_PTRS { PGMC_CPC0, PGMC_CPC1 }
  65630. /*!
  65631. * @}
  65632. */ /* end of group PGMC_CPC_Peripheral_Access_Layer */
  65633. /* ----------------------------------------------------------------------------
  65634. -- PGMC_MIF Peripheral Access Layer
  65635. ---------------------------------------------------------------------------- */
  65636. /*!
  65637. * @addtogroup PGMC_MIF_Peripheral_Access_Layer PGMC_MIF Peripheral Access Layer
  65638. * @{
  65639. */
  65640. /** PGMC_MIF - Register Layout Typedef */
  65641. typedef struct {
  65642. uint8_t RESERVED_0[4];
  65643. __IO uint32_t MIF_AUTHEN_CTRL; /**< MIF Authentication Control, offset: 0x4 */
  65644. uint8_t RESERVED_1[8];
  65645. __IO uint32_t MIF_MLPL_SLEEP; /**< MIF MLPL control of SLEEP, offset: 0x10 */
  65646. uint8_t RESERVED_2[12];
  65647. __IO uint32_t MIF_MLPL_IG; /**< MIF MLPL control of IG, offset: 0x20 */
  65648. uint8_t RESERVED_3[12];
  65649. __IO uint32_t MIF_MLPL_LS; /**< MIF MLPL control of LS, offset: 0x30 */
  65650. uint8_t RESERVED_4[12];
  65651. __IO uint32_t MIF_MLPL_HS; /**< MIF MLPL control of HS, offset: 0x40 */
  65652. uint8_t RESERVED_5[12];
  65653. __IO uint32_t MIF_MLPL_STDBY; /**< MIF MLPL control of STDBY, offset: 0x50 */
  65654. uint8_t RESERVED_6[12];
  65655. __IO uint32_t MIF_MLPL_ARR_PDN; /**< MIF MLPL control of array power down, offset: 0x60 */
  65656. uint8_t RESERVED_7[12];
  65657. __IO uint32_t MIF_MLPL_PER_PDN; /**< MIF MLPL control of peripheral power down, offset: 0x70 */
  65658. uint8_t RESERVED_8[12];
  65659. __IO uint32_t MIF_MLPL_INITN; /**< MIF MLPL control of INITN, offset: 0x80 */
  65660. uint8_t RESERVED_9[44];
  65661. __IO uint32_t MIF_MLPL_ISO; /**< MIF MLPL control of isolation enable, offset: 0xB0 */
  65662. } PGMC_MIF_Type;
  65663. /* ----------------------------------------------------------------------------
  65664. -- PGMC_MIF Register Masks
  65665. ---------------------------------------------------------------------------- */
  65666. /*!
  65667. * @addtogroup PGMC_MIF_Register_Masks PGMC_MIF Register Masks
  65668. * @{
  65669. */
  65670. /*! @name MIF_AUTHEN_CTRL - MIF Authentication Control */
  65671. /*! @{ */
  65672. #define PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  65673. #define PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  65674. /*! LOCK_CFG - Configuration lock
  65675. */
  65676. #define PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & PGMC_MIF_MIF_AUTHEN_CTRL_LOCK_CFG_MASK)
  65677. /*! @} */
  65678. /*! @name MIF_MLPL_SLEEP - MIF MLPL control of SLEEP */
  65679. /*! @{ */
  65680. #define PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_MASK (0xFFFFU)
  65681. #define PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_SHIFT (0U)
  65682. /*! MLPL_CTRL - Signal behavior at each MLPL
  65683. */
  65684. #define PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_SLEEP_MLPL_CTRL_MASK)
  65685. /*! @} */
  65686. /*! @name MIF_MLPL_IG - MIF MLPL control of IG */
  65687. /*! @{ */
  65688. #define PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_MASK (0xFFFFU)
  65689. #define PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_SHIFT (0U)
  65690. /*! MLPL_CTRL - Signal behavior at each MLPL
  65691. */
  65692. #define PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_IG_MLPL_CTRL_MASK)
  65693. /*! @} */
  65694. /*! @name MIF_MLPL_LS - MIF MLPL control of LS */
  65695. /*! @{ */
  65696. #define PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_MASK (0xFFFFU)
  65697. #define PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_SHIFT (0U)
  65698. /*! MLPL_CTRL - Signal behavior at each MLPL
  65699. */
  65700. #define PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_LS_MLPL_CTRL_MASK)
  65701. /*! @} */
  65702. /*! @name MIF_MLPL_HS - MIF MLPL control of HS */
  65703. /*! @{ */
  65704. #define PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_MASK (0xFFFFU)
  65705. #define PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_SHIFT (0U)
  65706. /*! MLPL_CTRL - Signal behavior at each MLPL
  65707. */
  65708. #define PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_HS_MLPL_CTRL_MASK)
  65709. /*! @} */
  65710. /*! @name MIF_MLPL_STDBY - MIF MLPL control of STDBY */
  65711. /*! @{ */
  65712. #define PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_MASK (0xFFFFU)
  65713. #define PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_SHIFT (0U)
  65714. /*! MLPL_CTRL - Signal behavior at each MLPL
  65715. */
  65716. #define PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_STDBY_MLPL_CTRL_MASK)
  65717. /*! @} */
  65718. /*! @name MIF_MLPL_ARR_PDN - MIF MLPL control of array power down */
  65719. /*! @{ */
  65720. #define PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_MASK (0xFFFFU)
  65721. #define PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_SHIFT (0U)
  65722. /*! MLPL_CTRL - Signal behavior at each MLPL
  65723. */
  65724. #define PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_ARR_PDN_MLPL_CTRL_MASK)
  65725. /*! @} */
  65726. /*! @name MIF_MLPL_PER_PDN - MIF MLPL control of peripheral power down */
  65727. /*! @{ */
  65728. #define PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_MASK (0xFFFFU)
  65729. #define PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_SHIFT (0U)
  65730. /*! MLPL_CTRL - Signal behavior at each MLPL
  65731. */
  65732. #define PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_PER_PDN_MLPL_CTRL_MASK)
  65733. /*! @} */
  65734. /*! @name MIF_MLPL_INITN - MIF MLPL control of INITN */
  65735. /*! @{ */
  65736. #define PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_MASK (0xFFFFU)
  65737. #define PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_SHIFT (0U)
  65738. /*! MLPL_CTRL - Signal behavior at each MLPL
  65739. */
  65740. #define PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_INITN_MLPL_CTRL_MASK)
  65741. #define PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_MASK (0x80000000U)
  65742. #define PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_SHIFT (31U)
  65743. /*! BYPASS_VDD_OK - Bypass vdd_ok. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65744. */
  65745. #define PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_SHIFT)) & PGMC_MIF_MIF_MLPL_INITN_BYPASS_VDD_OK_MASK)
  65746. /*! @} */
  65747. /*! @name MIF_MLPL_ISO - MIF MLPL control of isolation enable */
  65748. /*! @{ */
  65749. #define PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_MASK (0xFFFFU)
  65750. #define PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_SHIFT (0U)
  65751. /*! MLPL_CTRL - Signal behavior at each MLPL
  65752. */
  65753. #define PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_SHIFT)) & PGMC_MIF_MIF_MLPL_ISO_MLPL_CTRL_MASK)
  65754. /*! @} */
  65755. /*!
  65756. * @}
  65757. */ /* end of group PGMC_MIF_Register_Masks */
  65758. /* PGMC_MIF - Peripheral instance base addresses */
  65759. /** Peripheral PGMC_CPC0_MIF0 base address */
  65760. #define PGMC_CPC0_MIF0_BASE (0x40C89100u)
  65761. /** Peripheral PGMC_CPC0_MIF0 base pointer */
  65762. #define PGMC_CPC0_MIF0 ((PGMC_MIF_Type *)PGMC_CPC0_MIF0_BASE)
  65763. /** Peripheral PGMC_CPC0_MIF1 base address */
  65764. #define PGMC_CPC0_MIF1_BASE (0x40C89200u)
  65765. /** Peripheral PGMC_CPC0_MIF1 base pointer */
  65766. #define PGMC_CPC0_MIF1 ((PGMC_MIF_Type *)PGMC_CPC0_MIF1_BASE)
  65767. /** Peripheral PGMC_CPC1_MIF0 base address */
  65768. #define PGMC_CPC1_MIF0_BASE (0x40C89500u)
  65769. /** Peripheral PGMC_CPC1_MIF0 base pointer */
  65770. #define PGMC_CPC1_MIF0 ((PGMC_MIF_Type *)PGMC_CPC1_MIF0_BASE)
  65771. /** Peripheral PGMC_CPC1_MIF1 base address */
  65772. #define PGMC_CPC1_MIF1_BASE (0x40C89600u)
  65773. /** Peripheral PGMC_CPC1_MIF1 base pointer */
  65774. #define PGMC_CPC1_MIF1 ((PGMC_MIF_Type *)PGMC_CPC1_MIF1_BASE)
  65775. /** Array initializer of PGMC_MIF peripheral base addresses */
  65776. #define PGMC_MIF_BASE_ADDRS { PGMC_CPC0_MIF0_BASE, PGMC_CPC0_MIF1_BASE, PGMC_CPC1_MIF0_BASE, PGMC_CPC1_MIF1_BASE }
  65777. /** Array initializer of PGMC_MIF peripheral base pointers */
  65778. #define PGMC_MIF_BASE_PTRS { PGMC_CPC0_MIF0, PGMC_CPC0_MIF1, PGMC_CPC1_MIF0, PGMC_CPC1_MIF1 }
  65779. /*!
  65780. * @}
  65781. */ /* end of group PGMC_MIF_Peripheral_Access_Layer */
  65782. /* ----------------------------------------------------------------------------
  65783. -- PGMC_PPC Peripheral Access Layer
  65784. ---------------------------------------------------------------------------- */
  65785. /*!
  65786. * @addtogroup PGMC_PPC_Peripheral_Access_Layer PGMC_PPC Peripheral Access Layer
  65787. * @{
  65788. */
  65789. /** PGMC_PPC - Register Layout Typedef */
  65790. typedef struct {
  65791. uint8_t RESERVED_0[4];
  65792. __IO uint32_t PPC_AUTHEN_CTRL; /**< PPC Authentication Control, offset: 0x4 */
  65793. uint8_t RESERVED_1[8];
  65794. __IO uint32_t PPC_MODE; /**< PPC Mode, offset: 0x10 */
  65795. __IO uint32_t PPC_STBY_CM_CTRL; /**< PPC standby CPU mode control, offset: 0x14 */
  65796. __IO uint32_t PPC_STBY_SP_CTRL; /**< PPC standby Setpoint control, offset: 0x18 */
  65797. } PGMC_PPC_Type;
  65798. /* ----------------------------------------------------------------------------
  65799. -- PGMC_PPC Register Masks
  65800. ---------------------------------------------------------------------------- */
  65801. /*!
  65802. * @addtogroup PGMC_PPC_Register_Masks PGMC_PPC Register Masks
  65803. * @{
  65804. */
  65805. /*! @name PPC_AUTHEN_CTRL - PPC Authentication Control */
  65806. /*! @{ */
  65807. #define PGMC_PPC_PPC_AUTHEN_CTRL_USER_MASK (0x1U)
  65808. #define PGMC_PPC_PPC_AUTHEN_CTRL_USER_SHIFT (0U)
  65809. /*! USER - Allow user mode access
  65810. */
  65811. #define PGMC_PPC_PPC_AUTHEN_CTRL_USER(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_USER_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_USER_MASK)
  65812. #define PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_MASK (0x2U)
  65813. #define PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_SHIFT (1U)
  65814. /*! NONSECURE - Allow non-secure mode access
  65815. */
  65816. #define PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_NONSECURE_MASK)
  65817. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_MASK (0x10U)
  65818. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT (4U)
  65819. /*! LOCK_SETTING - Lock NONSECURE and USER
  65820. */
  65821. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_SETTING_MASK)
  65822. #define PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_MASK (0xF00U)
  65823. #define PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_SHIFT (8U)
  65824. /*! WHITE_LIST - Domain ID white list
  65825. */
  65826. #define PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_WHITE_LIST_MASK)
  65827. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_MASK (0x1000U)
  65828. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_SHIFT (12U)
  65829. /*! LOCK_LIST - White list lock
  65830. */
  65831. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_LIST_MASK)
  65832. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_MASK (0x100000U)
  65833. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_SHIFT (20U)
  65834. /*! LOCK_CFG - Configuration lock
  65835. */
  65836. #define PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_SHIFT)) & PGMC_PPC_PPC_AUTHEN_CTRL_LOCK_CFG_MASK)
  65837. /*! @} */
  65838. /*! @name PPC_MODE - PPC Mode */
  65839. /*! @{ */
  65840. #define PGMC_PPC_PPC_MODE_CTRL_MODE_MASK (0x3U)
  65841. #define PGMC_PPC_PPC_MODE_CTRL_MODE_SHIFT (0U)
  65842. /*! CTRL_MODE - Control mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65843. * 0b00..Not affected by any low power mode
  65844. * 0b01..Controlled by CPU power mode of the domain
  65845. * 0b10..Controlled by Setpoint and system standby
  65846. * 0b11..Reserved
  65847. */
  65848. #define PGMC_PPC_PPC_MODE_CTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_MODE_CTRL_MODE_SHIFT)) & PGMC_PPC_PPC_MODE_CTRL_MODE_MASK)
  65849. #define PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_MASK (0x30U)
  65850. #define PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_SHIFT (4U)
  65851. /*! DOMAIN_ASSIGN - Domain assignment of the BPC
  65852. * 0b00..Domain 0
  65853. * 0b01..Domain 1
  65854. * 0b10..Domain 2
  65855. * 0b11..Domain 3
  65856. */
  65857. #define PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_SHIFT)) & PGMC_PPC_PPC_MODE_DOMAIN_ASSIGN_MASK)
  65858. /*! @} */
  65859. /*! @name PPC_STBY_CM_CTRL - PPC standby CPU mode control */
  65860. /*! @{ */
  65861. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_MASK (0x2U)
  65862. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_SHIFT (1U)
  65863. /*! STBY_ON_AT_WAIT - PMIC Standby on when domain enters WAIT mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65864. */
  65865. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_SHIFT)) & PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_WAIT_MASK)
  65866. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_MASK (0x4U)
  65867. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_SHIFT (2U)
  65868. /*! STBY_ON_AT_STOP - PMIC Standby on when domain enters STOP mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65869. */
  65870. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_SHIFT)) & PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_STOP_MASK)
  65871. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_MASK (0x8U)
  65872. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_SHIFT (3U)
  65873. /*! STBY_ON_AT_SUSPEND - PMIC Standby on when domain enters SUSPEND mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65874. */
  65875. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_SHIFT)) & PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_AT_SUSPEND_MASK)
  65876. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_MASK (0x100U)
  65877. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_SHIFT (8U)
  65878. /*! STBY_ON_SOFT - Software PMIC standby on trigger
  65879. */
  65880. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_SHIFT)) & PGMC_PPC_PPC_STBY_CM_CTRL_STBY_ON_SOFT_MASK)
  65881. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_MASK (0x200U)
  65882. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_SHIFT (9U)
  65883. /*! STBY_OFF_SOFT - Software PMIC standby off trigger
  65884. */
  65885. #define PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_SHIFT)) & PGMC_PPC_PPC_STBY_CM_CTRL_STBY_OFF_SOFT_MASK)
  65886. /*! @} */
  65887. /*! @name PPC_STBY_SP_CTRL - PPC standby Setpoint control */
  65888. /*! @{ */
  65889. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_MASK (0xFFFFU)
  65890. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_SHIFT (0U)
  65891. /*! STBY_ON_AT_SP_ACTIVE - PMIC standby on when system enters Setpoint number. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65892. */
  65893. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_SHIFT)) & PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_ACTIVE_MASK)
  65894. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_MASK (0xFFFF0000U)
  65895. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_SHIFT (16U)
  65896. /*! STBY_ON_AT_SP_SLEEP - PMIC standby on when system enters Setpoint number and system is in
  65897. * standby mode. This field is locked by AUTHEN_CTRL[LOCK_CFG] field.
  65898. */
  65899. #define PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP(x) (((uint32_t)(((uint32_t)(x)) << PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_SHIFT)) & PGMC_PPC_PPC_STBY_SP_CTRL_STBY_ON_AT_SP_SLEEP_MASK)
  65900. /*! @} */
  65901. /*!
  65902. * @}
  65903. */ /* end of group PGMC_PPC_Register_Masks */
  65904. /* PGMC_PPC - Peripheral instance base addresses */
  65905. /** Peripheral PGMC_PPC0 base address */
  65906. #define PGMC_PPC0_BASE (0x40C8B000u)
  65907. /** Peripheral PGMC_PPC0 base pointer */
  65908. #define PGMC_PPC0 ((PGMC_PPC_Type *)PGMC_PPC0_BASE)
  65909. /** Array initializer of PGMC_PPC peripheral base addresses */
  65910. #define PGMC_PPC_BASE_ADDRS { PGMC_PPC0_BASE }
  65911. /** Array initializer of PGMC_PPC peripheral base pointers */
  65912. #define PGMC_PPC_BASE_PTRS { PGMC_PPC0 }
  65913. /*!
  65914. * @}
  65915. */ /* end of group PGMC_PPC_Peripheral_Access_Layer */
  65916. /* ----------------------------------------------------------------------------
  65917. -- PHY_LDO Peripheral Access Layer
  65918. ---------------------------------------------------------------------------- */
  65919. /*!
  65920. * @addtogroup PHY_LDO_Peripheral_Access_Layer PHY_LDO Peripheral Access Layer
  65921. * @{
  65922. */
  65923. /** PHY_LDO - Register Layout Typedef */
  65924. typedef struct {
  65925. struct { /* offset: 0x0 */
  65926. __IO uint32_t RW; /**< Analog Control Register CTRL0, offset: 0x0 */
  65927. __IO uint32_t SET; /**< Analog Control Register CTRL0, offset: 0x4 */
  65928. __IO uint32_t CLR; /**< Analog Control Register CTRL0, offset: 0x8 */
  65929. __IO uint32_t TOG; /**< Analog Control Register CTRL0, offset: 0xC */
  65930. } CTRL0;
  65931. uint8_t RESERVED_0[64];
  65932. struct { /* offset: 0x50 */
  65933. __I uint32_t RW; /**< Analog Status Register STAT0, offset: 0x50 */
  65934. __I uint32_t SET; /**< Analog Status Register STAT0, offset: 0x54 */
  65935. __I uint32_t CLR; /**< Analog Status Register STAT0, offset: 0x58 */
  65936. __I uint32_t TOG; /**< Analog Status Register STAT0, offset: 0x5C */
  65937. } STAT0;
  65938. } PHY_LDO_Type;
  65939. /* ----------------------------------------------------------------------------
  65940. -- PHY_LDO Register Masks
  65941. ---------------------------------------------------------------------------- */
  65942. /*!
  65943. * @addtogroup PHY_LDO_Register_Masks PHY_LDO Register Masks
  65944. * @{
  65945. */
  65946. /*! @name CTRL0 - Analog Control Register CTRL0 */
  65947. /*! @{ */
  65948. #define PHY_LDO_CTRL0_LINREG_EN_MASK (0x1U)
  65949. #define PHY_LDO_CTRL0_LINREG_EN_SHIFT (0U)
  65950. /*! LINREG_EN - LinrReg master enable
  65951. */
  65952. #define PHY_LDO_CTRL0_LINREG_EN(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_EN_SHIFT)) & PHY_LDO_CTRL0_LINREG_EN_MASK)
  65953. #define PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_MASK (0x2U)
  65954. #define PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_SHIFT (1U)
  65955. /*! LINREG_PWRUPLOAD_DIS - LinReg power-up load disable
  65956. * 0b0..Internal pull-down enabled
  65957. * 0b1..Internal pull-down disabled
  65958. */
  65959. #define PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_SHIFT)) & PHY_LDO_CTRL0_LINREG_PWRUPLOAD_DIS_MASK)
  65960. #define PHY_LDO_CTRL0_LINREG_ILIMIT_EN_MASK (0x4U)
  65961. #define PHY_LDO_CTRL0_LINREG_ILIMIT_EN_SHIFT (2U)
  65962. /*! LINREG_ILIMIT_EN - LinReg current-limit enable
  65963. */
  65964. #define PHY_LDO_CTRL0_LINREG_ILIMIT_EN(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_ILIMIT_EN_SHIFT)) & PHY_LDO_CTRL0_LINREG_ILIMIT_EN_MASK)
  65965. #define PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_MASK (0x1F0U)
  65966. #define PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_SHIFT (4U)
  65967. /*! LINREG_OUTPUT_TRG - LinReg output voltage target setting
  65968. * 0b00000..Set output voltage to x.xV
  65969. * 0b10000..Sets output voltage to 1.0V
  65970. * 0b11111..Set output voltage to x.xV
  65971. */
  65972. #define PHY_LDO_CTRL0_LINREG_OUTPUT_TRG(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_SHIFT)) & PHY_LDO_CTRL0_LINREG_OUTPUT_TRG_MASK)
  65973. #define PHY_LDO_CTRL0_LINREG_PHY_ISO_B_MASK (0x8000U)
  65974. #define PHY_LDO_CTRL0_LINREG_PHY_ISO_B_SHIFT (15U)
  65975. /*! LINREG_PHY_ISO_B - Isolation control for attached PHY load
  65976. */
  65977. #define PHY_LDO_CTRL0_LINREG_PHY_ISO_B(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_CTRL0_LINREG_PHY_ISO_B_SHIFT)) & PHY_LDO_CTRL0_LINREG_PHY_ISO_B_MASK)
  65978. /*! @} */
  65979. /*! @name STAT0 - Analog Status Register STAT0 */
  65980. /*! @{ */
  65981. #define PHY_LDO_STAT0_LINREG_STAT_MASK (0xFU)
  65982. #define PHY_LDO_STAT0_LINREG_STAT_SHIFT (0U)
  65983. /*! LINREG_STAT - LinReg Status Bits
  65984. */
  65985. #define PHY_LDO_STAT0_LINREG_STAT(x) (((uint32_t)(((uint32_t)(x)) << PHY_LDO_STAT0_LINREG_STAT_SHIFT)) & PHY_LDO_STAT0_LINREG_STAT_MASK)
  65986. /*! @} */
  65987. /*!
  65988. * @}
  65989. */ /* end of group PHY_LDO_Register_Masks */
  65990. /* PHY_LDO - Peripheral instance base addresses */
  65991. /** Peripheral PHY_LDO base address */
  65992. #define PHY_LDO_BASE (0u)
  65993. /** Peripheral PHY_LDO base pointer */
  65994. #define PHY_LDO ((PHY_LDO_Type *)PHY_LDO_BASE)
  65995. /** Array initializer of PHY_LDO peripheral base addresses */
  65996. #define PHY_LDO_BASE_ADDRS { PHY_LDO_BASE }
  65997. /** Array initializer of PHY_LDO peripheral base pointers */
  65998. #define PHY_LDO_BASE_PTRS { PHY_LDO }
  65999. /*!
  66000. * @}
  66001. */ /* end of group PHY_LDO_Peripheral_Access_Layer */
  66002. /* ----------------------------------------------------------------------------
  66003. -- PIT Peripheral Access Layer
  66004. ---------------------------------------------------------------------------- */
  66005. /*!
  66006. * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer
  66007. * @{
  66008. */
  66009. /** PIT - Register Layout Typedef */
  66010. typedef struct {
  66011. __IO uint32_t MCR; /**< PIT Module Control Register, offset: 0x0 */
  66012. uint8_t RESERVED_0[220];
  66013. __I uint32_t LTMR64H; /**< PIT Upper Lifetime Timer Register, offset: 0xE0 */
  66014. __I uint32_t LTMR64L; /**< PIT Lower Lifetime Timer Register, offset: 0xE4 */
  66015. uint8_t RESERVED_1[24];
  66016. struct { /* offset: 0x100, array step: 0x10 */
  66017. __IO uint32_t LDVAL; /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */
  66018. __I uint32_t CVAL; /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */
  66019. __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x108, array step: 0x10 */
  66020. __IO uint32_t TFLG; /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */
  66021. } CHANNEL[4];
  66022. } PIT_Type;
  66023. /* ----------------------------------------------------------------------------
  66024. -- PIT Register Masks
  66025. ---------------------------------------------------------------------------- */
  66026. /*!
  66027. * @addtogroup PIT_Register_Masks PIT Register Masks
  66028. * @{
  66029. */
  66030. /*! @name MCR - PIT Module Control Register */
  66031. /*! @{ */
  66032. #define PIT_MCR_FRZ_MASK (0x1U)
  66033. #define PIT_MCR_FRZ_SHIFT (0U)
  66034. /*! FRZ - Freeze
  66035. * 0b0..Timers continue to run in Debug mode.
  66036. * 0b1..Timers are stopped in Debug mode.
  66037. */
  66038. #define PIT_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_FRZ_SHIFT)) & PIT_MCR_FRZ_MASK)
  66039. #define PIT_MCR_MDIS_MASK (0x2U)
  66040. #define PIT_MCR_MDIS_SHIFT (1U)
  66041. /*! MDIS - Module Disable for PIT
  66042. * 0b0..Clock for standard PIT timers is enabled.
  66043. * 0b1..Clock for standard PIT timers is disabled.
  66044. */
  66045. #define PIT_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << PIT_MCR_MDIS_SHIFT)) & PIT_MCR_MDIS_MASK)
  66046. /*! @} */
  66047. /*! @name LTMR64H - PIT Upper Lifetime Timer Register */
  66048. /*! @{ */
  66049. #define PIT_LTMR64H_LTH_MASK (0xFFFFFFFFU)
  66050. #define PIT_LTMR64H_LTH_SHIFT (0U)
  66051. /*! LTH - Life Timer value
  66052. */
  66053. #define PIT_LTMR64H_LTH(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64H_LTH_SHIFT)) & PIT_LTMR64H_LTH_MASK)
  66054. /*! @} */
  66055. /*! @name LTMR64L - PIT Lower Lifetime Timer Register */
  66056. /*! @{ */
  66057. #define PIT_LTMR64L_LTL_MASK (0xFFFFFFFFU)
  66058. #define PIT_LTMR64L_LTL_SHIFT (0U)
  66059. /*! LTL - Life Timer value
  66060. */
  66061. #define PIT_LTMR64L_LTL(x) (((uint32_t)(((uint32_t)(x)) << PIT_LTMR64L_LTL_SHIFT)) & PIT_LTMR64L_LTL_MASK)
  66062. /*! @} */
  66063. /*! @name LDVAL - Timer Load Value Register */
  66064. /*! @{ */
  66065. #define PIT_LDVAL_TSV_MASK (0xFFFFFFFFU)
  66066. #define PIT_LDVAL_TSV_SHIFT (0U)
  66067. /*! TSV - Timer Start Value
  66068. */
  66069. #define PIT_LDVAL_TSV(x) (((uint32_t)(((uint32_t)(x)) << PIT_LDVAL_TSV_SHIFT)) & PIT_LDVAL_TSV_MASK)
  66070. /*! @} */
  66071. /* The count of PIT_LDVAL */
  66072. #define PIT_LDVAL_COUNT (4U)
  66073. /*! @name CVAL - Current Timer Value Register */
  66074. /*! @{ */
  66075. #define PIT_CVAL_TVL_MASK (0xFFFFFFFFU)
  66076. #define PIT_CVAL_TVL_SHIFT (0U)
  66077. /*! TVL - Current Timer Value
  66078. */
  66079. #define PIT_CVAL_TVL(x) (((uint32_t)(((uint32_t)(x)) << PIT_CVAL_TVL_SHIFT)) & PIT_CVAL_TVL_MASK)
  66080. /*! @} */
  66081. /* The count of PIT_CVAL */
  66082. #define PIT_CVAL_COUNT (4U)
  66083. /*! @name TCTRL - Timer Control Register */
  66084. /*! @{ */
  66085. #define PIT_TCTRL_TEN_MASK (0x1U)
  66086. #define PIT_TCTRL_TEN_SHIFT (0U)
  66087. /*! TEN - Timer Enable
  66088. * 0b0..Timer n is disabled.
  66089. * 0b1..Timer n is enabled.
  66090. */
  66091. #define PIT_TCTRL_TEN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TEN_SHIFT)) & PIT_TCTRL_TEN_MASK)
  66092. #define PIT_TCTRL_TIE_MASK (0x2U)
  66093. #define PIT_TCTRL_TIE_SHIFT (1U)
  66094. /*! TIE - Timer Interrupt Enable
  66095. * 0b0..Interrupt requests from Timer n are disabled.
  66096. * 0b1..Interrupt is requested whenever TIF is set.
  66097. */
  66098. #define PIT_TCTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_TIE_SHIFT)) & PIT_TCTRL_TIE_MASK)
  66099. #define PIT_TCTRL_CHN_MASK (0x4U)
  66100. #define PIT_TCTRL_CHN_SHIFT (2U)
  66101. /*! CHN - Chain Mode
  66102. * 0b0..Timer is not chained.
  66103. * 0b1..Timer is chained to a previous timer. For example, for channel 2, if this field is set, Timer 2 is chained to Timer 1.
  66104. */
  66105. #define PIT_TCTRL_CHN(x) (((uint32_t)(((uint32_t)(x)) << PIT_TCTRL_CHN_SHIFT)) & PIT_TCTRL_CHN_MASK)
  66106. /*! @} */
  66107. /* The count of PIT_TCTRL */
  66108. #define PIT_TCTRL_COUNT (4U)
  66109. /*! @name TFLG - Timer Flag Register */
  66110. /*! @{ */
  66111. #define PIT_TFLG_TIF_MASK (0x1U)
  66112. #define PIT_TFLG_TIF_SHIFT (0U)
  66113. /*! TIF - Timer Interrupt Flag
  66114. * 0b0..Timeout has not yet occurred.
  66115. * 0b1..Timeout has occurred.
  66116. */
  66117. #define PIT_TFLG_TIF(x) (((uint32_t)(((uint32_t)(x)) << PIT_TFLG_TIF_SHIFT)) & PIT_TFLG_TIF_MASK)
  66118. /*! @} */
  66119. /* The count of PIT_TFLG */
  66120. #define PIT_TFLG_COUNT (4U)
  66121. /*!
  66122. * @}
  66123. */ /* end of group PIT_Register_Masks */
  66124. /* PIT - Peripheral instance base addresses */
  66125. /** Peripheral PIT1 base address */
  66126. #define PIT1_BASE (0x400D8000u)
  66127. /** Peripheral PIT1 base pointer */
  66128. #define PIT1 ((PIT_Type *)PIT1_BASE)
  66129. /** Peripheral PIT2 base address */
  66130. #define PIT2_BASE (0x40CB0000u)
  66131. /** Peripheral PIT2 base pointer */
  66132. #define PIT2 ((PIT_Type *)PIT2_BASE)
  66133. /** Array initializer of PIT peripheral base addresses */
  66134. #define PIT_BASE_ADDRS { 0u, PIT1_BASE, PIT2_BASE }
  66135. /** Array initializer of PIT peripheral base pointers */
  66136. #define PIT_BASE_PTRS { (PIT_Type *)0u, PIT1, PIT2 }
  66137. /** Interrupt vectors for the PIT peripheral type */
  66138. #define PIT_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PIT1_IRQn, PIT1_IRQn, PIT1_IRQn, PIT1_IRQn }, { PIT2_IRQn, PIT2_IRQn, PIT2_IRQn, PIT2_IRQn } }
  66139. /*!
  66140. * @}
  66141. */ /* end of group PIT_Peripheral_Access_Layer */
  66142. /* ----------------------------------------------------------------------------
  66143. -- PUF Peripheral Access Layer
  66144. ---------------------------------------------------------------------------- */
  66145. /*!
  66146. * @addtogroup PUF_Peripheral_Access_Layer PUF Peripheral Access Layer
  66147. * @{
  66148. */
  66149. /** PUF - Register Layout Typedef */
  66150. typedef struct {
  66151. __IO uint32_t CTRL; /**< PUF Control Register, offset: 0x0 */
  66152. __IO uint32_t KEYINDEX; /**< PUF Key Index Register, offset: 0x4 */
  66153. __IO uint32_t KEYSIZE; /**< PUF Key Size Register, offset: 0x8 */
  66154. uint8_t RESERVED_0[20];
  66155. __I uint32_t STAT; /**< PUF Status Register, offset: 0x20 */
  66156. uint8_t RESERVED_1[4];
  66157. __I uint32_t ALLOW; /**< PUF Allow Register, offset: 0x28 */
  66158. uint8_t RESERVED_2[20];
  66159. __O uint32_t KEYINPUT; /**< PUF Key Input Register, offset: 0x40 */
  66160. __O uint32_t CODEINPUT; /**< PUF Code Input Register, offset: 0x44 */
  66161. __I uint32_t CODEOUTPUT; /**< PUF Code Output Register, offset: 0x48 */
  66162. uint8_t RESERVED_3[20];
  66163. __I uint32_t KEYOUTINDEX; /**< PUF Key Output Index Register, offset: 0x60 */
  66164. __I uint32_t KEYOUTPUT; /**< PUF Key Output Register, offset: 0x64 */
  66165. uint8_t RESERVED_4[116];
  66166. __IO uint32_t IFSTAT; /**< PUF Interface Status Register, offset: 0xDC */
  66167. uint8_t RESERVED_5[28];
  66168. __I uint32_t VERSION; /**< PUF Version Register, offset: 0xFC */
  66169. __IO uint32_t INTEN; /**< PUF Interrupt Enable, offset: 0x100 */
  66170. __IO uint32_t INTSTAT; /**< PUF Interrupt Status, offset: 0x104 */
  66171. __IO uint32_t PWRCTRL; /**< PUF Power Control Of RAM, offset: 0x108 */
  66172. __IO uint32_t CFG; /**< PUF Configuration Register, offset: 0x10C */
  66173. uint8_t RESERVED_6[240];
  66174. __IO uint32_t KEYLOCK; /**< PUF Key Manager Lock, offset: 0x200 */
  66175. __IO uint32_t KEYENABLE; /**< PUF Key Manager Enable, offset: 0x204 */
  66176. __IO uint32_t KEYRESET; /**< PUF Key Manager Reset, offset: 0x208 */
  66177. __IO uint32_t IDXBLK; /**< PUF Index Block Key Output, offset: 0x20C */
  66178. __IO uint32_t IDXBLK_DP; /**< PUF Index Block Key Output, offset: 0x210 */
  66179. __IO uint32_t KEYMASK[2]; /**< PUF Key Block 0 Mask Enable..PUF Key Block 1 Mask Enable, array offset: 0x214, array step: 0x4 */
  66180. uint8_t RESERVED_7[56];
  66181. __I uint32_t IDXBLK_STATUS; /**< PUF Index Block Setting Status Register, offset: 0x254 */
  66182. __I uint32_t IDXBLK_SHIFT; /**< PUF Key Manager Shift Status, offset: 0x258 */
  66183. } PUF_Type;
  66184. /* ----------------------------------------------------------------------------
  66185. -- PUF Register Masks
  66186. ---------------------------------------------------------------------------- */
  66187. /*!
  66188. * @addtogroup PUF_Register_Masks PUF Register Masks
  66189. * @{
  66190. */
  66191. /*! @name CTRL - PUF Control Register */
  66192. /*! @{ */
  66193. #define PUF_CTRL_ZEROIZE_MASK (0x1U)
  66194. #define PUF_CTRL_ZEROIZE_SHIFT (0U)
  66195. /*! ZEROIZE - Begin Zeroize operation for PUF and go to Error state
  66196. * 0b0..No Zeroize operation in progress
  66197. * 0b1..Zeroize operation in progress
  66198. */
  66199. #define PUF_CTRL_ZEROIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ZEROIZE_SHIFT)) & PUF_CTRL_ZEROIZE_MASK)
  66200. #define PUF_CTRL_ENROLL_MASK (0x2U)
  66201. #define PUF_CTRL_ENROLL_SHIFT (1U)
  66202. /*! ENROLL - Begin Enroll operation
  66203. * 0b0..No Enroll operation in progress
  66204. * 0b1..Enroll operation in progress
  66205. */
  66206. #define PUF_CTRL_ENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_ENROLL_SHIFT)) & PUF_CTRL_ENROLL_MASK)
  66207. #define PUF_CTRL_START_MASK (0x4U)
  66208. #define PUF_CTRL_START_SHIFT (2U)
  66209. /*! START - Begin Start operation
  66210. * 0b0..No Start operation in progress
  66211. * 0b1..Start operation in progress
  66212. */
  66213. #define PUF_CTRL_START(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_START_SHIFT)) & PUF_CTRL_START_MASK)
  66214. #define PUF_CTRL_GENERATEKEY_MASK (0x8U)
  66215. #define PUF_CTRL_GENERATEKEY_SHIFT (3U)
  66216. /*! GENERATEKEY - Begin Set Intrinsic Key operation
  66217. * 0b0..No Set Intrinsic Key operation in progress
  66218. * 0b1..Set Intrinsic Key operation in progress
  66219. */
  66220. #define PUF_CTRL_GENERATEKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GENERATEKEY_SHIFT)) & PUF_CTRL_GENERATEKEY_MASK)
  66221. #define PUF_CTRL_SETKEY_MASK (0x10U)
  66222. #define PUF_CTRL_SETKEY_SHIFT (4U)
  66223. /*! SETKEY - Begin Set User Key operation
  66224. * 0b0..No Set Key operation in progress
  66225. * 0b1..Set Key operation in progress
  66226. */
  66227. #define PUF_CTRL_SETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_SETKEY_SHIFT)) & PUF_CTRL_SETKEY_MASK)
  66228. #define PUF_CTRL_GETKEY_MASK (0x40U)
  66229. #define PUF_CTRL_GETKEY_SHIFT (6U)
  66230. /*! GETKEY - Begin Get Key operation
  66231. * 0b0..No Get Key operation in progress
  66232. * 0b1..Get Key operation in progress
  66233. */
  66234. #define PUF_CTRL_GETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CTRL_GETKEY_SHIFT)) & PUF_CTRL_GETKEY_MASK)
  66235. /*! @} */
  66236. /*! @name KEYINDEX - PUF Key Index Register */
  66237. /*! @{ */
  66238. #define PUF_KEYINDEX_KEYIDX_MASK (0xFU)
  66239. #define PUF_KEYINDEX_KEYIDX_SHIFT (0U)
  66240. /*! KEYIDX - PUF Key Index
  66241. * 0b0000..USE INDEX0
  66242. * 0b0001..USE INDEX1
  66243. * 0b0010..USE INDEX2
  66244. * 0b0011..USE INDEX3
  66245. * 0b0100..USE INDEX4
  66246. * 0b0101..USE INDEX5
  66247. * 0b0110..USE INDEX6
  66248. * 0b0111..USE INDEX7
  66249. * 0b1000..USE INDEX8
  66250. * 0b1001..USE INDEX9
  66251. * 0b1010..USE INDEX10
  66252. * 0b1011..USE INDEX11
  66253. * 0b1100..USE INDEX12
  66254. * 0b1101..USE INDEX13
  66255. * 0b1110..USE INDEX14
  66256. * 0b1111..USE INDEX15
  66257. */
  66258. #define PUF_KEYINDEX_KEYIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINDEX_KEYIDX_SHIFT)) & PUF_KEYINDEX_KEYIDX_MASK)
  66259. /*! @} */
  66260. /*! @name KEYSIZE - PUF Key Size Register */
  66261. /*! @{ */
  66262. #define PUF_KEYSIZE_KEYSIZE_MASK (0x3FU)
  66263. #define PUF_KEYSIZE_KEYSIZE_SHIFT (0U)
  66264. /*! KEYSIZE - PUF Key Size
  66265. * 0b000001..Key Size is 8 Bytes and KC Size is 52 Bytes
  66266. * 0b000010..Key Size is 16 Bytes and KC Size is 52 Bytes
  66267. * 0b000011..Key Size is 24 Bytes and KC Size is 52 Bytes
  66268. * 0b000100..Key Size is 32 Bytes and KC Size is 52 Bytes
  66269. * 0b000101..Key Size is 40 Bytes and KC Size is 84 Bytes
  66270. * 0b000110..Key Size is 48 Bytes and KC Size is 84 Bytes
  66271. * 0b000111..Key Size is 56 Bytes and KC Size is 84 Bytes
  66272. * 0b001000..Key Size is 64 Bytes and KC Size is 84 Bytes
  66273. * 0b001001..Key Size is 72 Bytes and KC Size is 116 Bytes
  66274. * 0b001010..Key Size is 80 Bytes and KC Size is 116 Bytes
  66275. * 0b001011..Key Size is 88 Bytes and KC Size is 116 Bytes
  66276. * 0b001100..Key Size is 96 Bytes and KC Size is 116 Bytes
  66277. * 0b001101..Key Size is 104 Bytes and KC Size is 148 Bytes
  66278. * 0b001110..Key Size is 112 Bytes and KC Size is 148 Bytes
  66279. * 0b001111..Key Size is 120 Bytes and KC Size is 148 Bytes
  66280. * 0b010000..Key Size is 128 Bytes and KC Size is 148 Bytes
  66281. * 0b010001..Key Size is 136 Bytes and KC Size is 180 Bytes
  66282. * 0b010010..Key Size is 144 Bytes and KC Size is 180 Bytes
  66283. * 0b010011..Key Size is 152 Bytes and KC Size is 180 Bytes
  66284. * 0b010100..Key Size is 160 Bytes and KC Size is 180 Bytes
  66285. * 0b010101..Key Size is 168 Bytes and KC Size is 212 Bytes
  66286. * 0b010110..Key Size is 176 Bytes and KC Size is 212 Bytes
  66287. * 0b010111..Key Size is 184 Bytes and KC Size is 212 Bytes
  66288. * 0b011000..Key Size is 192 Bytes and KC Size is 212 Bytes
  66289. * 0b011001..Key Size is 200 Bytes and KC Size is 244 Bytes
  66290. * 0b011010..Key Size is 208 Bytes and KC Size is 244 Bytes
  66291. * 0b011011..Key Size is 216 Bytes and KC Size is 244 Bytes
  66292. * 0b011100..Key Size is 224 Bytes and KC Size is 244 Bytes
  66293. * 0b011101..Key Size is 232 Bytes and KC Size is 276 Bytes
  66294. * 0b011110..Key Size is 240 Bytes and KC Size is 276 Bytes
  66295. * 0b011111..Key Size is 248 Bytes and KC Size is 276 Bytes
  66296. * 0b100000..Key Size is 256 Bytes and KC Size is 276 Bytes
  66297. * 0b100001..Key Size is 264 Bytes and KC Size is 308 Bytes
  66298. * 0b100010..Key Size is 272 Bytes and KC Size is 308 Bytes
  66299. * 0b100011..Key Size is 280 Bytes and KC Size is 308 Bytes
  66300. * 0b100100..Key Size is 288 Bytes and KC Size is 308 Bytes
  66301. * 0b100101..Key Size is 296 Bytes and KC Size is 340 Bytes
  66302. * 0b100110..Key Size is 304 Bytes and KC Size is 340 Bytes
  66303. * 0b100111..Key Size is 312 Bytes and KC Size is 340 Bytes
  66304. * 0b101000..Key Size is 320 Bytes and KC Size is 340 Bytes
  66305. * 0b101001..Key Size is 328 Bytes and KC Size is 372 Bytes
  66306. * 0b101010..Key Size is 336 Bytes and KC Size is 372 Bytes
  66307. * 0b101011..Key Size is 344 Bytes and KC Size is 372 Bytes
  66308. * 0b101100..Key Size is 352 Bytes and KC Size is 372 Bytes
  66309. * 0b101101..Key Size is 360 Bytes and KC Size is 404 Bytes
  66310. * 0b101110..Key Size is 368 Bytes and KC Size is 404 Bytes
  66311. * 0b101111..Key Size is 376 Bytes and KC Size is 404 Bytes
  66312. * 0b110000..Key Size is 384 Bytes and KC Size is 404 Bytes
  66313. * 0b110001..Key Size is 392 Bytes and KC Size is 436 Bytes
  66314. * 0b110010..Key Size is 400 Bytes and KC Size is 436 Bytes
  66315. * 0b110011..Key Size is 408 Bytes and KC Size is 436 Bytes
  66316. * 0b110100..Key Size is 416 Bytes and KC Size is 436 Bytes
  66317. * 0b110101..Key Size is 424 Bytes and KC Size is 468 Bytes
  66318. * 0b110110..Key Size is 432 Bytes and KC Size is 468 Bytes
  66319. * 0b110111..Key Size is 440 Bytes and KC Size is 468 Bytes
  66320. * 0b111000..Key Size is 448 Bytes and KC Size is 468 Bytes
  66321. * 0b111001..Key Size is 456 Bytes and KC Size is 500 Bytes
  66322. * 0b111010..Key Size is 464 Bytes and KC Size is 500 Bytes
  66323. * 0b111011..Key Size is 472 Bytes and KC Size is 500 Bytes
  66324. * 0b111100..Key Size is 480 Bytes and KC Size is 500 Bytes
  66325. * 0b111101..Key Size is 488 Bytes and KC Size is 532 Bytes
  66326. * 0b111110..Key Size is 496 Bytes and KC Size is 532 Bytes
  66327. * 0b111111..Key Size is 504 Bytes and KC Size is 532 Bytes
  66328. * 0b000000..Key Size is 512 Bytes and KC Size is 532 Bytes
  66329. */
  66330. #define PUF_KEYSIZE_KEYSIZE(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYSIZE_KEYSIZE_SHIFT)) & PUF_KEYSIZE_KEYSIZE_MASK)
  66331. /*! @} */
  66332. /*! @name STAT - PUF Status Register */
  66333. /*! @{ */
  66334. #define PUF_STAT_BUSY_MASK (0x1U)
  66335. #define PUF_STAT_BUSY_SHIFT (0U)
  66336. /*! BUSY - puf_busy
  66337. * 0b0..IDLE
  66338. * 0b1..BUSY
  66339. */
  66340. #define PUF_STAT_BUSY(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_BUSY_SHIFT)) & PUF_STAT_BUSY_MASK)
  66341. #define PUF_STAT_SUCCESS_MASK (0x2U)
  66342. #define PUF_STAT_SUCCESS_SHIFT (1U)
  66343. /*! SUCCESS - puf_ok
  66344. * 0b0..Last operation was unsuccessful
  66345. * 0b1..Last operation was successful
  66346. */
  66347. #define PUF_STAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_SUCCESS_SHIFT)) & PUF_STAT_SUCCESS_MASK)
  66348. #define PUF_STAT_ERROR_MASK (0x4U)
  66349. #define PUF_STAT_ERROR_SHIFT (2U)
  66350. /*! ERROR - puf_error
  66351. * 0b0..PUF is not in the Error state
  66352. * 0b1..PUF is in the Error state
  66353. */
  66354. #define PUF_STAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_ERROR_SHIFT)) & PUF_STAT_ERROR_MASK)
  66355. #define PUF_STAT_KEYINREQ_MASK (0x10U)
  66356. #define PUF_STAT_KEYINREQ_SHIFT (4U)
  66357. /*! KEYINREQ - KI_ir
  66358. * 0b0..No request for next part of key
  66359. * 0b1..Request for next part of key in KEYINPUT register
  66360. */
  66361. #define PUF_STAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYINREQ_SHIFT)) & PUF_STAT_KEYINREQ_MASK)
  66362. #define PUF_STAT_KEYOUTAVAIL_MASK (0x20U)
  66363. #define PUF_STAT_KEYOUTAVAIL_SHIFT (5U)
  66364. /*! KEYOUTAVAIL - KO_or
  66365. * 0b0..Next part of key is not available
  66366. * 0b1..Next part of key is available in KEYOUTPUT register
  66367. */
  66368. #define PUF_STAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_KEYOUTAVAIL_SHIFT)) & PUF_STAT_KEYOUTAVAIL_MASK)
  66369. #define PUF_STAT_CODEINREQ_MASK (0x40U)
  66370. #define PUF_STAT_CODEINREQ_SHIFT (6U)
  66371. /*! CODEINREQ - CI_ir
  66372. * 0b0..No request for next part of Activation Code/Key Code
  66373. * 0b1..request for next part of Activation Code/Key Code in CODEINPUT register
  66374. */
  66375. #define PUF_STAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEINREQ_SHIFT)) & PUF_STAT_CODEINREQ_MASK)
  66376. #define PUF_STAT_CODEOUTAVAIL_MASK (0x80U)
  66377. #define PUF_STAT_CODEOUTAVAIL_SHIFT (7U)
  66378. /*! CODEOUTAVAIL - CO_or
  66379. * 0b0..Next part of Activation Code/Key Code is not available
  66380. * 0b1..Next part of Activation Code/Key Code is available in CODEOUTPUT register
  66381. */
  66382. #define PUF_STAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_STAT_CODEOUTAVAIL_SHIFT)) & PUF_STAT_CODEOUTAVAIL_MASK)
  66383. /*! @} */
  66384. /*! @name ALLOW - PUF Allow Register */
  66385. /*! @{ */
  66386. #define PUF_ALLOW_ALLOWENROLL_MASK (0x1U)
  66387. #define PUF_ALLOW_ALLOWENROLL_SHIFT (0U)
  66388. /*! ALLOWENROLL - Allow Enroll operation
  66389. * 0b0..Specified operation is not currently allowed
  66390. * 0b1..Specified operation is allowed
  66391. */
  66392. #define PUF_ALLOW_ALLOWENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWENROLL_SHIFT)) & PUF_ALLOW_ALLOWENROLL_MASK)
  66393. #define PUF_ALLOW_ALLOWSTART_MASK (0x2U)
  66394. #define PUF_ALLOW_ALLOWSTART_SHIFT (1U)
  66395. /*! ALLOWSTART - Allow Start operation
  66396. * 0b0..Specified operation is not currently allowed
  66397. * 0b1..Specified operation is allowed
  66398. */
  66399. #define PUF_ALLOW_ALLOWSTART(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSTART_SHIFT)) & PUF_ALLOW_ALLOWSTART_MASK)
  66400. #define PUF_ALLOW_ALLOWSETKEY_MASK (0x4U)
  66401. #define PUF_ALLOW_ALLOWSETKEY_SHIFT (2U)
  66402. /*! ALLOWSETKEY - Allow Set Key operations
  66403. * 0b0..Specified operation is not currently allowed
  66404. * 0b1..Specified operation is allowed
  66405. */
  66406. #define PUF_ALLOW_ALLOWSETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWSETKEY_SHIFT)) & PUF_ALLOW_ALLOWSETKEY_MASK)
  66407. #define PUF_ALLOW_ALLOWGETKEY_MASK (0x8U)
  66408. #define PUF_ALLOW_ALLOWGETKEY_SHIFT (3U)
  66409. /*! ALLOWGETKEY - Allow Get Key operation
  66410. * 0b0..Specified operation is not currently allowed
  66411. * 0b1..Specified operation is allowed
  66412. */
  66413. #define PUF_ALLOW_ALLOWGETKEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_ALLOW_ALLOWGETKEY_SHIFT)) & PUF_ALLOW_ALLOWGETKEY_MASK)
  66414. /*! @} */
  66415. /*! @name KEYINPUT - PUF Key Input Register */
  66416. /*! @{ */
  66417. #define PUF_KEYINPUT_KEYIN_MASK (0xFFFFFFFFU)
  66418. #define PUF_KEYINPUT_KEYIN_SHIFT (0U)
  66419. /*! KEYIN - Key input data
  66420. */
  66421. #define PUF_KEYINPUT_KEYIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYINPUT_KEYIN_SHIFT)) & PUF_KEYINPUT_KEYIN_MASK)
  66422. /*! @} */
  66423. /*! @name CODEINPUT - PUF Code Input Register */
  66424. /*! @{ */
  66425. #define PUF_CODEINPUT_CODEIN_MASK (0xFFFFFFFFU)
  66426. #define PUF_CODEINPUT_CODEIN_SHIFT (0U)
  66427. /*! CODEIN - AC/KC input data
  66428. */
  66429. #define PUF_CODEINPUT_CODEIN(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEINPUT_CODEIN_SHIFT)) & PUF_CODEINPUT_CODEIN_MASK)
  66430. /*! @} */
  66431. /*! @name CODEOUTPUT - PUF Code Output Register */
  66432. /*! @{ */
  66433. #define PUF_CODEOUTPUT_CODEOUT_MASK (0xFFFFFFFFU)
  66434. #define PUF_CODEOUTPUT_CODEOUT_SHIFT (0U)
  66435. /*! CODEOUT - AC/KC output data
  66436. */
  66437. #define PUF_CODEOUTPUT_CODEOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_CODEOUTPUT_CODEOUT_SHIFT)) & PUF_CODEOUTPUT_CODEOUT_MASK)
  66438. /*! @} */
  66439. /*! @name KEYOUTINDEX - PUF Key Output Index Register */
  66440. /*! @{ */
  66441. #define PUF_KEYOUTINDEX_KEYOUTIDX_MASK (0xFFFFFFFFU)
  66442. #define PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT (0U)
  66443. /*! KEYOUTIDX - Output Key index
  66444. */
  66445. #define PUF_KEYOUTINDEX_KEYOUTIDX(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTINDEX_KEYOUTIDX_SHIFT)) & PUF_KEYOUTINDEX_KEYOUTIDX_MASK)
  66446. /*! @} */
  66447. /*! @name KEYOUTPUT - PUF Key Output Register */
  66448. /*! @{ */
  66449. #define PUF_KEYOUTPUT_KEYOUT_MASK (0xFFFFFFFFU)
  66450. #define PUF_KEYOUTPUT_KEYOUT_SHIFT (0U)
  66451. /*! KEYOUT - Key output data from a Get Key operation
  66452. */
  66453. #define PUF_KEYOUTPUT_KEYOUT(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYOUTPUT_KEYOUT_SHIFT)) & PUF_KEYOUTPUT_KEYOUT_MASK)
  66454. /*! @} */
  66455. /*! @name IFSTAT - PUF Interface Status Register */
  66456. /*! @{ */
  66457. #define PUF_IFSTAT_ERROR_MASK (0x1U)
  66458. #define PUF_IFSTAT_ERROR_SHIFT (0U)
  66459. /*! ERROR - APB error has occurred
  66460. * 0b0..NOERROR
  66461. * 0b1..ERROR
  66462. */
  66463. #define PUF_IFSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_IFSTAT_ERROR_SHIFT)) & PUF_IFSTAT_ERROR_MASK)
  66464. /*! @} */
  66465. /*! @name VERSION - PUF Version Register */
  66466. /*! @{ */
  66467. #define PUF_VERSION_VERSION_MASK (0xFFFFFFFFU)
  66468. #define PUF_VERSION_VERSION_SHIFT (0U)
  66469. /*! VERSION - Version of PUF
  66470. */
  66471. #define PUF_VERSION_VERSION(x) (((uint32_t)(((uint32_t)(x)) << PUF_VERSION_VERSION_SHIFT)) & PUF_VERSION_VERSION_MASK)
  66472. /*! @} */
  66473. /*! @name INTEN - PUF Interrupt Enable */
  66474. /*! @{ */
  66475. #define PUF_INTEN_READYEN_MASK (0x1U)
  66476. #define PUF_INTEN_READYEN_SHIFT (0U)
  66477. /*! READYEN - PUF Ready Interrupt Enable
  66478. * 0b0..PUF ready interrupt disabled
  66479. * 0b1..PUF ready interrupt enabled
  66480. */
  66481. #define PUF_INTEN_READYEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_READYEN_SHIFT)) & PUF_INTEN_READYEN_MASK)
  66482. #define PUF_INTEN_SUCCESSEN_MASK (0x2U)
  66483. #define PUF_INTEN_SUCCESSEN_SHIFT (1U)
  66484. /*! SUCCESSEN - PUF_OK Interrupt Enable
  66485. * 0b0..PUF successful interrupt disabled
  66486. * 0b1..PUF successful interrupt enabled
  66487. */
  66488. #define PUF_INTEN_SUCCESSEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_SUCCESSEN_SHIFT)) & PUF_INTEN_SUCCESSEN_MASK)
  66489. #define PUF_INTEN_ERROREN_MASK (0x4U)
  66490. #define PUF_INTEN_ERROREN_SHIFT (2U)
  66491. /*! ERROREN - PUF Error Interrupt Enable
  66492. * 0b0..PUF error interrupt disabled
  66493. * 0b1..PUF error interrupt enabled
  66494. */
  66495. #define PUF_INTEN_ERROREN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_ERROREN_SHIFT)) & PUF_INTEN_ERROREN_MASK)
  66496. #define PUF_INTEN_KEYINREQEN_MASK (0x10U)
  66497. #define PUF_INTEN_KEYINREQEN_SHIFT (4U)
  66498. /*! KEYINREQEN - PUF Key Input Register Interrupt Enable
  66499. * 0b0..Key interrupt request disabled
  66500. * 0b1..Key interrupt request enabled
  66501. */
  66502. #define PUF_INTEN_KEYINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYINREQEN_SHIFT)) & PUF_INTEN_KEYINREQEN_MASK)
  66503. #define PUF_INTEN_KEYOUTAVAILEN_MASK (0x20U)
  66504. #define PUF_INTEN_KEYOUTAVAILEN_SHIFT (5U)
  66505. /*! KEYOUTAVAILEN - PUF Key Output Register Interrupt Enable
  66506. * 0b0..Key available interrupt disabled
  66507. * 0b1..Key available interrupt enabled
  66508. */
  66509. #define PUF_INTEN_KEYOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_KEYOUTAVAILEN_SHIFT)) & PUF_INTEN_KEYOUTAVAILEN_MASK)
  66510. #define PUF_INTEN_CODEINREQEN_MASK (0x40U)
  66511. #define PUF_INTEN_CODEINREQEN_SHIFT (6U)
  66512. /*! CODEINREQEN - PUF Code Input Register Interrupt Enable
  66513. * 0b0..AC/KC interrupt request disabled
  66514. * 0b1..AC/KC interrupt request enabled
  66515. */
  66516. #define PUF_INTEN_CODEINREQEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEINREQEN_SHIFT)) & PUF_INTEN_CODEINREQEN_MASK)
  66517. #define PUF_INTEN_CODEOUTAVAILEN_MASK (0x80U)
  66518. #define PUF_INTEN_CODEOUTAVAILEN_SHIFT (7U)
  66519. /*! CODEOUTAVAILEN - PUF Code Output Register Interrupt Enable
  66520. * 0b0..AC/KC available interrupt disabled
  66521. * 0b1..AC/KC available interrupt enabled
  66522. */
  66523. #define PUF_INTEN_CODEOUTAVAILEN(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTEN_CODEOUTAVAILEN_SHIFT)) & PUF_INTEN_CODEOUTAVAILEN_MASK)
  66524. /*! @} */
  66525. /*! @name INTSTAT - PUF Interrupt Status */
  66526. /*! @{ */
  66527. #define PUF_INTSTAT_READY_MASK (0x1U)
  66528. #define PUF_INTSTAT_READY_SHIFT (0U)
  66529. /*! READY - PUF_FINISH Interrupt Status
  66530. * 0b0..Indicates that last operation not finished
  66531. * 0b1..Indicates that last operation is finished
  66532. */
  66533. #define PUF_INTSTAT_READY(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_READY_SHIFT)) & PUF_INTSTAT_READY_MASK)
  66534. #define PUF_INTSTAT_SUCCESS_MASK (0x2U)
  66535. #define PUF_INTSTAT_SUCCESS_SHIFT (1U)
  66536. /*! SUCCESS - PUF_OK Interrupt Status
  66537. * 0b0..Indicates that last operation was not successful
  66538. * 0b1..Indicates that last operation was successful
  66539. */
  66540. #define PUF_INTSTAT_SUCCESS(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_SUCCESS_SHIFT)) & PUF_INTSTAT_SUCCESS_MASK)
  66541. #define PUF_INTSTAT_ERROR_MASK (0x4U)
  66542. #define PUF_INTSTAT_ERROR_SHIFT (2U)
  66543. /*! ERROR - PUF_ERROR Interrupt Status
  66544. * 0b0..PUF is not in the Error state and operations can be performed
  66545. * 0b1..PUF is in the Error state and no operations can be performed
  66546. */
  66547. #define PUF_INTSTAT_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_ERROR_SHIFT)) & PUF_INTSTAT_ERROR_MASK)
  66548. #define PUF_INTSTAT_KEYINREQ_MASK (0x10U)
  66549. #define PUF_INTSTAT_KEYINREQ_SHIFT (4U)
  66550. /*! KEYINREQ - PUF Key Input Register Interrupt Status
  66551. * 0b0..No request for next part of key
  66552. * 0b1..Request for next part of key
  66553. */
  66554. #define PUF_INTSTAT_KEYINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYINREQ_SHIFT)) & PUF_INTSTAT_KEYINREQ_MASK)
  66555. #define PUF_INTSTAT_KEYOUTAVAIL_MASK (0x20U)
  66556. #define PUF_INTSTAT_KEYOUTAVAIL_SHIFT (5U)
  66557. /*! KEYOUTAVAIL - PUF Key Output Register Interrupt Status
  66558. * 0b0..Next part of key is not available
  66559. * 0b1..Next part of key is available
  66560. */
  66561. #define PUF_INTSTAT_KEYOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_KEYOUTAVAIL_SHIFT)) & PUF_INTSTAT_KEYOUTAVAIL_MASK)
  66562. #define PUF_INTSTAT_CODEINREQ_MASK (0x40U)
  66563. #define PUF_INTSTAT_CODEINREQ_SHIFT (6U)
  66564. /*! CODEINREQ - PUF Code Input Register Interrupt Status
  66565. * 0b0..No request for next part of AC/KC
  66566. * 0b1..Request for next part of AC/KC
  66567. */
  66568. #define PUF_INTSTAT_CODEINREQ(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEINREQ_SHIFT)) & PUF_INTSTAT_CODEINREQ_MASK)
  66569. #define PUF_INTSTAT_CODEOUTAVAIL_MASK (0x80U)
  66570. #define PUF_INTSTAT_CODEOUTAVAIL_SHIFT (7U)
  66571. /*! CODEOUTAVAIL - PUF Code Output Register Interrupt Status
  66572. * 0b0..Next part of AC/KC is not available
  66573. * 0b1..Next part of AC/KC is available
  66574. */
  66575. #define PUF_INTSTAT_CODEOUTAVAIL(x) (((uint32_t)(((uint32_t)(x)) << PUF_INTSTAT_CODEOUTAVAIL_SHIFT)) & PUF_INTSTAT_CODEOUTAVAIL_MASK)
  66576. /*! @} */
  66577. /*! @name PWRCTRL - PUF Power Control Of RAM */
  66578. /*! @{ */
  66579. #define PUF_PWRCTRL_RAM_ON_MASK (0x1U)
  66580. #define PUF_PWRCTRL_RAM_ON_SHIFT (0U)
  66581. /*! RAM_ON - PUF RAM on
  66582. * 0b0..PUF RAM is in sleep mode (PUF operation disabled)
  66583. * 0b1..PUF RAM is awake (normal PUF operation enabled)
  66584. */
  66585. #define PUF_PWRCTRL_RAM_ON(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_ON_SHIFT)) & PUF_PWRCTRL_RAM_ON_MASK)
  66586. #define PUF_PWRCTRL_CK_DIS_MASK (0x4U)
  66587. #define PUF_PWRCTRL_CK_DIS_SHIFT (2U)
  66588. /*! CK_DIS - Clock disable
  66589. * 0b0..PUF RAM is clocked (normal PUF operation enabled)
  66590. * 0b1..PUF RAM clock is gated/disabled (PUF operation disabled)
  66591. */
  66592. #define PUF_PWRCTRL_CK_DIS(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_CK_DIS_SHIFT)) & PUF_PWRCTRL_CK_DIS_MASK)
  66593. #define PUF_PWRCTRL_RAM_INITN_MASK (0x8U)
  66594. #define PUF_PWRCTRL_RAM_INITN_SHIFT (3U)
  66595. /*! RAM_INITN - RAM initialization
  66596. * 0b0..Reset the PUF RAM (PUF operation disabled)
  66597. * 0b1..Do not reset the PUF RAM (normal PUF operation enabled)
  66598. */
  66599. #define PUF_PWRCTRL_RAM_INITN(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_INITN_SHIFT)) & PUF_PWRCTRL_RAM_INITN_MASK)
  66600. #define PUF_PWRCTRL_RAM_PSW_MASK (0xF0U)
  66601. #define PUF_PWRCTRL_RAM_PSW_SHIFT (4U)
  66602. /*! RAM_PSW - PUF RAM power switches
  66603. */
  66604. #define PUF_PWRCTRL_RAM_PSW(x) (((uint32_t)(((uint32_t)(x)) << PUF_PWRCTRL_RAM_PSW_SHIFT)) & PUF_PWRCTRL_RAM_PSW_MASK)
  66605. /*! @} */
  66606. /*! @name CFG - PUF Configuration Register */
  66607. /*! @{ */
  66608. #define PUF_CFG_PUF_BLOCK_SET_KEY_MASK (0x1U)
  66609. #define PUF_CFG_PUF_BLOCK_SET_KEY_SHIFT (0U)
  66610. /*! PUF_BLOCK_SET_KEY - PUF Block Set Key Disable
  66611. * 0b0..Enable the Set Key state
  66612. * 0b1..Disable the Set Key state
  66613. */
  66614. #define PUF_CFG_PUF_BLOCK_SET_KEY(x) (((uint32_t)(((uint32_t)(x)) << PUF_CFG_PUF_BLOCK_SET_KEY_SHIFT)) & PUF_CFG_PUF_BLOCK_SET_KEY_MASK)
  66615. #define PUF_CFG_PUF_BLOCK_ENROLL_MASK (0x2U)
  66616. #define PUF_CFG_PUF_BLOCK_ENROLL_SHIFT (1U)
  66617. /*! PUF_BLOCK_ENROLL - PUF Block Enroll Disable
  66618. * 0b0..Enable the Enrollment state
  66619. * 0b1..Disable the Enrollment state
  66620. */
  66621. #define PUF_CFG_PUF_BLOCK_ENROLL(x) (((uint32_t)(((uint32_t)(x)) << PUF_CFG_PUF_BLOCK_ENROLL_SHIFT)) & PUF_CFG_PUF_BLOCK_ENROLL_MASK)
  66622. /*! @} */
  66623. /*! @name KEYLOCK - PUF Key Manager Lock */
  66624. /*! @{ */
  66625. #define PUF_KEYLOCK_LOCK0_MASK (0x3U)
  66626. #define PUF_KEYLOCK_LOCK0_SHIFT (0U)
  66627. /*! LOCK0 - Lock Block 0
  66628. * 0b11..SNVS Key block locked
  66629. * 0b10..SNVS Key block unlocked
  66630. * 0b01..SNVS Key block locked
  66631. * 0b00..SNVS Key block locked
  66632. */
  66633. #define PUF_KEYLOCK_LOCK0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_LOCK0_SHIFT)) & PUF_KEYLOCK_LOCK0_MASK)
  66634. #define PUF_KEYLOCK_LOCK1_MASK (0xCU)
  66635. #define PUF_KEYLOCK_LOCK1_SHIFT (2U)
  66636. /*! LOCK1 - Lock Block 1
  66637. * 0b11..OTFAD Key block locked
  66638. * 0b10..OTFAD Key block unlocked
  66639. * 0b01..OTFAD Key block locked
  66640. * 0b00..OTFAD Key block locked
  66641. */
  66642. #define PUF_KEYLOCK_LOCK1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYLOCK_LOCK1_SHIFT)) & PUF_KEYLOCK_LOCK1_MASK)
  66643. /*! @} */
  66644. /*! @name KEYENABLE - PUF Key Manager Enable */
  66645. /*! @{ */
  66646. #define PUF_KEYENABLE_ENABLE0_MASK (0x3U)
  66647. #define PUF_KEYENABLE_ENABLE0_SHIFT (0U)
  66648. /*! ENABLE0 - Enable Block 0
  66649. * 0b11..Key block 0 disabled
  66650. * 0b10..Key block 0 enabled
  66651. * 0b01..Key block 0 disabled
  66652. * 0b00..Key block 0 disabled
  66653. */
  66654. #define PUF_KEYENABLE_ENABLE0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_ENABLE0_SHIFT)) & PUF_KEYENABLE_ENABLE0_MASK)
  66655. #define PUF_KEYENABLE_ENABLE1_MASK (0xCU)
  66656. #define PUF_KEYENABLE_ENABLE1_SHIFT (2U)
  66657. /*! ENABLE1 - Enable Block 1
  66658. * 0b11..Key block 1 disabled
  66659. * 0b10..Key block 1 enabled
  66660. * 0b01..Key block 1 disabled
  66661. * 0b00..Key block 1 disabled
  66662. */
  66663. #define PUF_KEYENABLE_ENABLE1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYENABLE_ENABLE1_SHIFT)) & PUF_KEYENABLE_ENABLE1_MASK)
  66664. /*! @} */
  66665. /*! @name KEYRESET - PUF Key Manager Reset */
  66666. /*! @{ */
  66667. #define PUF_KEYRESET_RESET0_MASK (0x3U)
  66668. #define PUF_KEYRESET_RESET0_SHIFT (0U)
  66669. /*! RESET0 - Reset Block 0
  66670. * 0b11..Do not reset key block 0
  66671. * 0b10..Reset key block 0
  66672. * 0b01..Do not reset key block 0
  66673. * 0b00..Do not reset key block 0
  66674. */
  66675. #define PUF_KEYRESET_RESET0(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_RESET0_SHIFT)) & PUF_KEYRESET_RESET0_MASK)
  66676. #define PUF_KEYRESET_RESET1_MASK (0xCU)
  66677. #define PUF_KEYRESET_RESET1_SHIFT (2U)
  66678. /*! RESET1 - Reset Block 1
  66679. * 0b11..Do not reset key block 1
  66680. * 0b10..Reset key block 1
  66681. * 0b01..Do not reset key block 1
  66682. * 0b00..Do not reset key block 1
  66683. */
  66684. #define PUF_KEYRESET_RESET1(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYRESET_RESET1_SHIFT)) & PUF_KEYRESET_RESET1_MASK)
  66685. /*! @} */
  66686. /*! @name IDXBLK - PUF Index Block Key Output */
  66687. /*! @{ */
  66688. #define PUF_IDXBLK_IDXBLK0_MASK (0x3U)
  66689. #define PUF_IDXBLK_IDXBLK0_SHIFT (0U)
  66690. /*! IDXBLK0 - idxblk0
  66691. */
  66692. #define PUF_IDXBLK_IDXBLK0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK0_SHIFT)) & PUF_IDXBLK_IDXBLK0_MASK)
  66693. #define PUF_IDXBLK_IDXBLK1_MASK (0xCU)
  66694. #define PUF_IDXBLK_IDXBLK1_SHIFT (2U)
  66695. /*! IDXBLK1 - idxblk1
  66696. */
  66697. #define PUF_IDXBLK_IDXBLK1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK1_SHIFT)) & PUF_IDXBLK_IDXBLK1_MASK)
  66698. #define PUF_IDXBLK_IDXBLK2_MASK (0x30U)
  66699. #define PUF_IDXBLK_IDXBLK2_SHIFT (4U)
  66700. /*! IDXBLK2 - idxblk2
  66701. */
  66702. #define PUF_IDXBLK_IDXBLK2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK2_SHIFT)) & PUF_IDXBLK_IDXBLK2_MASK)
  66703. #define PUF_IDXBLK_IDXBLK3_MASK (0xC0U)
  66704. #define PUF_IDXBLK_IDXBLK3_SHIFT (6U)
  66705. /*! IDXBLK3 - idxblk3
  66706. */
  66707. #define PUF_IDXBLK_IDXBLK3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK3_SHIFT)) & PUF_IDXBLK_IDXBLK3_MASK)
  66708. #define PUF_IDXBLK_IDXBLK4_MASK (0x300U)
  66709. #define PUF_IDXBLK_IDXBLK4_SHIFT (8U)
  66710. /*! IDXBLK4 - idxblk4
  66711. */
  66712. #define PUF_IDXBLK_IDXBLK4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK4_SHIFT)) & PUF_IDXBLK_IDXBLK4_MASK)
  66713. #define PUF_IDXBLK_IDXBLK5_MASK (0xC00U)
  66714. #define PUF_IDXBLK_IDXBLK5_SHIFT (10U)
  66715. /*! IDXBLK5 - idxblk5
  66716. */
  66717. #define PUF_IDXBLK_IDXBLK5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK5_SHIFT)) & PUF_IDXBLK_IDXBLK5_MASK)
  66718. #define PUF_IDXBLK_IDXBLK6_MASK (0x3000U)
  66719. #define PUF_IDXBLK_IDXBLK6_SHIFT (12U)
  66720. /*! IDXBLK6 - idxblk6
  66721. */
  66722. #define PUF_IDXBLK_IDXBLK6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK6_SHIFT)) & PUF_IDXBLK_IDXBLK6_MASK)
  66723. #define PUF_IDXBLK_IDXBLK7_MASK (0xC000U)
  66724. #define PUF_IDXBLK_IDXBLK7_SHIFT (14U)
  66725. /*! IDXBLK7 - idxblk7
  66726. */
  66727. #define PUF_IDXBLK_IDXBLK7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK7_SHIFT)) & PUF_IDXBLK_IDXBLK7_MASK)
  66728. #define PUF_IDXBLK_IDXBLK8_MASK (0x30000U)
  66729. #define PUF_IDXBLK_IDXBLK8_SHIFT (16U)
  66730. /*! IDXBLK8 - idxblk8
  66731. */
  66732. #define PUF_IDXBLK_IDXBLK8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK8_SHIFT)) & PUF_IDXBLK_IDXBLK8_MASK)
  66733. #define PUF_IDXBLK_IDXBLK9_MASK (0xC0000U)
  66734. #define PUF_IDXBLK_IDXBLK9_SHIFT (18U)
  66735. /*! IDXBLK9 - idxblk9
  66736. */
  66737. #define PUF_IDXBLK_IDXBLK9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK9_SHIFT)) & PUF_IDXBLK_IDXBLK9_MASK)
  66738. #define PUF_IDXBLK_IDXBLK10_MASK (0x300000U)
  66739. #define PUF_IDXBLK_IDXBLK10_SHIFT (20U)
  66740. /*! IDXBLK10 - idxblk10
  66741. */
  66742. #define PUF_IDXBLK_IDXBLK10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK10_SHIFT)) & PUF_IDXBLK_IDXBLK10_MASK)
  66743. #define PUF_IDXBLK_IDXBLK11_MASK (0xC00000U)
  66744. #define PUF_IDXBLK_IDXBLK11_SHIFT (22U)
  66745. /*! IDXBLK11 - idxblk11
  66746. */
  66747. #define PUF_IDXBLK_IDXBLK11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK11_SHIFT)) & PUF_IDXBLK_IDXBLK11_MASK)
  66748. #define PUF_IDXBLK_IDXBLK12_MASK (0x3000000U)
  66749. #define PUF_IDXBLK_IDXBLK12_SHIFT (24U)
  66750. /*! IDXBLK12 - idxblk12
  66751. */
  66752. #define PUF_IDXBLK_IDXBLK12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK12_SHIFT)) & PUF_IDXBLK_IDXBLK12_MASK)
  66753. #define PUF_IDXBLK_IDXBLK13_MASK (0xC000000U)
  66754. #define PUF_IDXBLK_IDXBLK13_SHIFT (26U)
  66755. /*! IDXBLK13 - idxblk13
  66756. */
  66757. #define PUF_IDXBLK_IDXBLK13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK13_SHIFT)) & PUF_IDXBLK_IDXBLK13_MASK)
  66758. #define PUF_IDXBLK_IDXBLK14_MASK (0x30000000U)
  66759. #define PUF_IDXBLK_IDXBLK14_SHIFT (28U)
  66760. /*! IDXBLK14 - idxblk14
  66761. */
  66762. #define PUF_IDXBLK_IDXBLK14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK14_SHIFT)) & PUF_IDXBLK_IDXBLK14_MASK)
  66763. #define PUF_IDXBLK_IDXBLK15_MASK (0xC0000000U)
  66764. #define PUF_IDXBLK_IDXBLK15_SHIFT (30U)
  66765. /*! IDXBLK15 - idxblk15
  66766. */
  66767. #define PUF_IDXBLK_IDXBLK15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_IDXBLK15_SHIFT)) & PUF_IDXBLK_IDXBLK15_MASK)
  66768. /*! @} */
  66769. /*! @name IDXBLK_DP - PUF Index Block Key Output */
  66770. /*! @{ */
  66771. #define PUF_IDXBLK_DP_IDXBLK_DP0_MASK (0x3U)
  66772. #define PUF_IDXBLK_DP_IDXBLK_DP0_SHIFT (0U)
  66773. /*! IDXBLK_DP0 - idxblk_dp0
  66774. */
  66775. #define PUF_IDXBLK_DP_IDXBLK_DP0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP0_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP0_MASK)
  66776. #define PUF_IDXBLK_DP_IDXBLK_DP1_MASK (0xCU)
  66777. #define PUF_IDXBLK_DP_IDXBLK_DP1_SHIFT (2U)
  66778. /*! IDXBLK_DP1 - idxblk_dp1
  66779. */
  66780. #define PUF_IDXBLK_DP_IDXBLK_DP1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP1_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP1_MASK)
  66781. #define PUF_IDXBLK_DP_IDXBLK_DP2_MASK (0x30U)
  66782. #define PUF_IDXBLK_DP_IDXBLK_DP2_SHIFT (4U)
  66783. /*! IDXBLK_DP2 - idxblk_dp2
  66784. */
  66785. #define PUF_IDXBLK_DP_IDXBLK_DP2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP2_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP2_MASK)
  66786. #define PUF_IDXBLK_DP_IDXBLK_DP3_MASK (0xC0U)
  66787. #define PUF_IDXBLK_DP_IDXBLK_DP3_SHIFT (6U)
  66788. /*! IDXBLK_DP3 - idxblk_dp3
  66789. */
  66790. #define PUF_IDXBLK_DP_IDXBLK_DP3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP3_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP3_MASK)
  66791. #define PUF_IDXBLK_DP_IDXBLK_DP4_MASK (0x300U)
  66792. #define PUF_IDXBLK_DP_IDXBLK_DP4_SHIFT (8U)
  66793. /*! IDXBLK_DP4 - idxblk_dp4
  66794. */
  66795. #define PUF_IDXBLK_DP_IDXBLK_DP4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP4_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP4_MASK)
  66796. #define PUF_IDXBLK_DP_IDXBLK_DP5_MASK (0xC00U)
  66797. #define PUF_IDXBLK_DP_IDXBLK_DP5_SHIFT (10U)
  66798. /*! IDXBLK_DP5 - idxblk_dp5
  66799. */
  66800. #define PUF_IDXBLK_DP_IDXBLK_DP5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP5_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP5_MASK)
  66801. #define PUF_IDXBLK_DP_IDXBLK_DP6_MASK (0x3000U)
  66802. #define PUF_IDXBLK_DP_IDXBLK_DP6_SHIFT (12U)
  66803. /*! IDXBLK_DP6 - idxblk_dp6
  66804. */
  66805. #define PUF_IDXBLK_DP_IDXBLK_DP6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP6_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP6_MASK)
  66806. #define PUF_IDXBLK_DP_IDXBLK_DP7_MASK (0xC000U)
  66807. #define PUF_IDXBLK_DP_IDXBLK_DP7_SHIFT (14U)
  66808. /*! IDXBLK_DP7 - idxblk_dp7
  66809. */
  66810. #define PUF_IDXBLK_DP_IDXBLK_DP7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP7_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP7_MASK)
  66811. #define PUF_IDXBLK_DP_IDXBLK_DP8_MASK (0x30000U)
  66812. #define PUF_IDXBLK_DP_IDXBLK_DP8_SHIFT (16U)
  66813. /*! IDXBLK_DP8 - idxblk_dp8
  66814. */
  66815. #define PUF_IDXBLK_DP_IDXBLK_DP8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP8_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP8_MASK)
  66816. #define PUF_IDXBLK_DP_IDXBLK_DP9_MASK (0xC0000U)
  66817. #define PUF_IDXBLK_DP_IDXBLK_DP9_SHIFT (18U)
  66818. /*! IDXBLK_DP9 - idxblk_dp9
  66819. */
  66820. #define PUF_IDXBLK_DP_IDXBLK_DP9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP9_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP9_MASK)
  66821. #define PUF_IDXBLK_DP_IDXBLK_DP10_MASK (0x300000U)
  66822. #define PUF_IDXBLK_DP_IDXBLK_DP10_SHIFT (20U)
  66823. /*! IDXBLK_DP10 - idxblk_dp10
  66824. */
  66825. #define PUF_IDXBLK_DP_IDXBLK_DP10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP10_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP10_MASK)
  66826. #define PUF_IDXBLK_DP_IDXBLK_DP11_MASK (0xC00000U)
  66827. #define PUF_IDXBLK_DP_IDXBLK_DP11_SHIFT (22U)
  66828. /*! IDXBLK_DP11 - idxblk_dp11
  66829. */
  66830. #define PUF_IDXBLK_DP_IDXBLK_DP11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP11_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP11_MASK)
  66831. #define PUF_IDXBLK_DP_IDXBLK_DP12_MASK (0x3000000U)
  66832. #define PUF_IDXBLK_DP_IDXBLK_DP12_SHIFT (24U)
  66833. /*! IDXBLK_DP12 - idxblk_dp12
  66834. */
  66835. #define PUF_IDXBLK_DP_IDXBLK_DP12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP12_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP12_MASK)
  66836. #define PUF_IDXBLK_DP_IDXBLK_DP13_MASK (0xC000000U)
  66837. #define PUF_IDXBLK_DP_IDXBLK_DP13_SHIFT (26U)
  66838. /*! IDXBLK_DP13 - idxblk_dp13
  66839. */
  66840. #define PUF_IDXBLK_DP_IDXBLK_DP13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP13_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP13_MASK)
  66841. #define PUF_IDXBLK_DP_IDXBLK_DP14_MASK (0x30000000U)
  66842. #define PUF_IDXBLK_DP_IDXBLK_DP14_SHIFT (28U)
  66843. /*! IDXBLK_DP14 - idxblk_dp14
  66844. */
  66845. #define PUF_IDXBLK_DP_IDXBLK_DP14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP14_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP14_MASK)
  66846. #define PUF_IDXBLK_DP_IDXBLK_DP15_MASK (0xC0000000U)
  66847. #define PUF_IDXBLK_DP_IDXBLK_DP15_SHIFT (30U)
  66848. /*! IDXBLK_DP15 - idxblk_dp15
  66849. */
  66850. #define PUF_IDXBLK_DP_IDXBLK_DP15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_DP_IDXBLK_DP15_SHIFT)) & PUF_IDXBLK_DP_IDXBLK_DP15_MASK)
  66851. /*! @} */
  66852. /*! @name KEYMASK - PUF Key Block 0 Mask Enable..PUF Key Block 1 Mask Enable */
  66853. /*! @{ */
  66854. #define PUF_KEYMASK_KEYMASK_MASK (0xFFFFFFFFU)
  66855. #define PUF_KEYMASK_KEYMASK_SHIFT (0U)
  66856. /*! KEYMASK - KEYMASK1
  66857. */
  66858. #define PUF_KEYMASK_KEYMASK(x) (((uint32_t)(((uint32_t)(x)) << PUF_KEYMASK_KEYMASK_SHIFT)) & PUF_KEYMASK_KEYMASK_MASK)
  66859. /*! @} */
  66860. /* The count of PUF_KEYMASK */
  66861. #define PUF_KEYMASK_COUNT (2U)
  66862. /*! @name IDXBLK_STATUS - PUF Index Block Setting Status Register */
  66863. /*! @{ */
  66864. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0_MASK (0x3U)
  66865. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0_SHIFT (0U)
  66866. /*! IDXBLK_STATUS0 - idxblk_status0
  66867. */
  66868. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS0_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS0_MASK)
  66869. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1_MASK (0xCU)
  66870. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1_SHIFT (2U)
  66871. /*! IDXBLK_STATUS1 - idxblk_status1
  66872. */
  66873. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS1_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS1_MASK)
  66874. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2_MASK (0x30U)
  66875. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2_SHIFT (4U)
  66876. /*! IDXBLK_STATUS2 - idxblk_status2
  66877. */
  66878. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS2(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS2_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS2_MASK)
  66879. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3_MASK (0xC0U)
  66880. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3_SHIFT (6U)
  66881. /*! IDXBLK_STATUS3 - idxblk_status3
  66882. */
  66883. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS3(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS3_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS3_MASK)
  66884. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4_MASK (0x300U)
  66885. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4_SHIFT (8U)
  66886. /*! IDXBLK_STATUS4 - idxblk_status4
  66887. */
  66888. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS4(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS4_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS4_MASK)
  66889. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5_MASK (0xC00U)
  66890. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5_SHIFT (10U)
  66891. /*! IDXBLK_STATUS5 - idxblk_status5
  66892. */
  66893. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS5(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS5_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS5_MASK)
  66894. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6_MASK (0x3000U)
  66895. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6_SHIFT (12U)
  66896. /*! IDXBLK_STATUS6 - idxblk_status6
  66897. */
  66898. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS6(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS6_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS6_MASK)
  66899. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7_MASK (0xC000U)
  66900. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7_SHIFT (14U)
  66901. /*! IDXBLK_STATUS7 - idxblk_status7
  66902. */
  66903. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS7(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS7_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS7_MASK)
  66904. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8_MASK (0x30000U)
  66905. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8_SHIFT (16U)
  66906. /*! IDXBLK_STATUS8 - idxblk_status8
  66907. */
  66908. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS8(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS8_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS8_MASK)
  66909. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9_MASK (0xC0000U)
  66910. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9_SHIFT (18U)
  66911. /*! IDXBLK_STATUS9 - idxblk_status9
  66912. */
  66913. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS9(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS9_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS9_MASK)
  66914. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10_MASK (0x300000U)
  66915. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10_SHIFT (20U)
  66916. /*! IDXBLK_STATUS10 - idxblk_status10
  66917. */
  66918. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS10(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS10_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS10_MASK)
  66919. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11_MASK (0xC00000U)
  66920. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11_SHIFT (22U)
  66921. /*! IDXBLK_STATUS11 - idxblk_status11
  66922. */
  66923. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS11(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS11_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS11_MASK)
  66924. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12_MASK (0x3000000U)
  66925. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12_SHIFT (24U)
  66926. /*! IDXBLK_STATUS12 - idxblk_status12
  66927. */
  66928. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS12(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS12_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS12_MASK)
  66929. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13_MASK (0xC000000U)
  66930. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13_SHIFT (26U)
  66931. /*! IDXBLK_STATUS13 - idxblk_status13
  66932. */
  66933. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS13(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS13_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS13_MASK)
  66934. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14_MASK (0x30000000U)
  66935. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14_SHIFT (28U)
  66936. /*! IDXBLK_STATUS14 - idxblk_status14
  66937. */
  66938. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS14(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS14_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS14_MASK)
  66939. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15_MASK (0xC0000000U)
  66940. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15_SHIFT (30U)
  66941. /*! IDXBLK_STATUS15 - idxblk_status15
  66942. */
  66943. #define PUF_IDXBLK_STATUS_IDXBLK_STATUS15(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_STATUS_IDXBLK_STATUS15_SHIFT)) & PUF_IDXBLK_STATUS_IDXBLK_STATUS15_MASK)
  66944. /*! @} */
  66945. /*! @name IDXBLK_SHIFT - PUF Key Manager Shift Status */
  66946. /*! @{ */
  66947. #define PUF_IDXBLK_SHIFT_IND_KEY0_MASK (0xFU)
  66948. #define PUF_IDXBLK_SHIFT_IND_KEY0_SHIFT (0U)
  66949. /*! IND_KEY0 - Index of key space in block 0
  66950. */
  66951. #define PUF_IDXBLK_SHIFT_IND_KEY0(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_SHIFT_IND_KEY0_SHIFT)) & PUF_IDXBLK_SHIFT_IND_KEY0_MASK)
  66952. #define PUF_IDXBLK_SHIFT_IND_KEY1_MASK (0xF0U)
  66953. #define PUF_IDXBLK_SHIFT_IND_KEY1_SHIFT (4U)
  66954. /*! IND_KEY1 - Index of key space in block 1
  66955. */
  66956. #define PUF_IDXBLK_SHIFT_IND_KEY1(x) (((uint32_t)(((uint32_t)(x)) << PUF_IDXBLK_SHIFT_IND_KEY1_SHIFT)) & PUF_IDXBLK_SHIFT_IND_KEY1_MASK)
  66957. /*! @} */
  66958. /*!
  66959. * @}
  66960. */ /* end of group PUF_Register_Masks */
  66961. /* PUF - Peripheral instance base addresses */
  66962. /** Peripheral KEY_MANAGER__PUF base address */
  66963. #define KEY_MANAGER__PUF_BASE (0x40C82000u)
  66964. /** Peripheral KEY_MANAGER__PUF base pointer */
  66965. #define KEY_MANAGER__PUF ((PUF_Type *)KEY_MANAGER__PUF_BASE)
  66966. /** Array initializer of PUF peripheral base addresses */
  66967. #define PUF_BASE_ADDRS { KEY_MANAGER__PUF_BASE }
  66968. /** Array initializer of PUF peripheral base pointers */
  66969. #define PUF_BASE_PTRS { KEY_MANAGER__PUF }
  66970. /*!
  66971. * @}
  66972. */ /* end of group PUF_Peripheral_Access_Layer */
  66973. /* ----------------------------------------------------------------------------
  66974. -- PWM Peripheral Access Layer
  66975. ---------------------------------------------------------------------------- */
  66976. /*!
  66977. * @addtogroup PWM_Peripheral_Access_Layer PWM Peripheral Access Layer
  66978. * @{
  66979. */
  66980. /** PWM - Register Layout Typedef */
  66981. typedef struct {
  66982. struct { /* offset: 0x0, array step: 0x60 */
  66983. __I uint16_t CNT; /**< Counter Register, array offset: 0x0, array step: 0x60 */
  66984. __IO uint16_t INIT; /**< Initial Count Register, array offset: 0x2, array step: 0x60 */
  66985. __IO uint16_t CTRL2; /**< Control 2 Register, array offset: 0x4, array step: 0x60 */
  66986. __IO uint16_t CTRL; /**< Control Register, array offset: 0x6, array step: 0x60 */
  66987. uint8_t RESERVED_0[2];
  66988. __IO uint16_t VAL0; /**< Value Register 0, array offset: 0xA, array step: 0x60 */
  66989. __IO uint16_t FRACVAL1; /**< Fractional Value Register 1, array offset: 0xC, array step: 0x60 */
  66990. __IO uint16_t VAL1; /**< Value Register 1, array offset: 0xE, array step: 0x60 */
  66991. __IO uint16_t FRACVAL2; /**< Fractional Value Register 2, array offset: 0x10, array step: 0x60 */
  66992. __IO uint16_t VAL2; /**< Value Register 2, array offset: 0x12, array step: 0x60 */
  66993. __IO uint16_t FRACVAL3; /**< Fractional Value Register 3, array offset: 0x14, array step: 0x60 */
  66994. __IO uint16_t VAL3; /**< Value Register 3, array offset: 0x16, array step: 0x60 */
  66995. __IO uint16_t FRACVAL4; /**< Fractional Value Register 4, array offset: 0x18, array step: 0x60 */
  66996. __IO uint16_t VAL4; /**< Value Register 4, array offset: 0x1A, array step: 0x60 */
  66997. __IO uint16_t FRACVAL5; /**< Fractional Value Register 5, array offset: 0x1C, array step: 0x60 */
  66998. __IO uint16_t VAL5; /**< Value Register 5, array offset: 0x1E, array step: 0x60 */
  66999. __IO uint16_t FRCTRL; /**< Fractional Control Register, array offset: 0x20, array step: 0x60 */
  67000. __IO uint16_t OCTRL; /**< Output Control Register, array offset: 0x22, array step: 0x60 */
  67001. __IO uint16_t STS; /**< Status Register, array offset: 0x24, array step: 0x60 */
  67002. __IO uint16_t INTEN; /**< Interrupt Enable Register, array offset: 0x26, array step: 0x60 */
  67003. __IO uint16_t DMAEN; /**< DMA Enable Register, array offset: 0x28, array step: 0x60 */
  67004. __IO uint16_t TCTRL; /**< Output Trigger Control Register, array offset: 0x2A, array step: 0x60 */
  67005. __IO uint16_t DISMAP[1]; /**< Fault Disable Mapping Register 0, array offset: 0x2C, array step: index*0x60, index2*0x2 */
  67006. uint8_t RESERVED_1[2];
  67007. __IO uint16_t DTCNT0; /**< Deadtime Count Register 0, array offset: 0x30, array step: 0x60 */
  67008. __IO uint16_t DTCNT1; /**< Deadtime Count Register 1, array offset: 0x32, array step: 0x60 */
  67009. __IO uint16_t CAPTCTRLA; /**< Capture Control A Register, array offset: 0x34, array step: 0x60 */
  67010. __IO uint16_t CAPTCOMPA; /**< Capture Compare A Register, array offset: 0x36, array step: 0x60 */
  67011. __IO uint16_t CAPTCTRLB; /**< Capture Control B Register, array offset: 0x38, array step: 0x60 */
  67012. __IO uint16_t CAPTCOMPB; /**< Capture Compare B Register, array offset: 0x3A, array step: 0x60 */
  67013. __IO uint16_t CAPTCTRLX; /**< Capture Control X Register, array offset: 0x3C, array step: 0x60 */
  67014. __IO uint16_t CAPTCOMPX; /**< Capture Compare X Register, array offset: 0x3E, array step: 0x60 */
  67015. __I uint16_t CVAL0; /**< Capture Value 0 Register, array offset: 0x40, array step: 0x60 */
  67016. __I uint16_t CVAL0CYC; /**< Capture Value 0 Cycle Register, array offset: 0x42, array step: 0x60 */
  67017. __I uint16_t CVAL1; /**< Capture Value 1 Register, array offset: 0x44, array step: 0x60 */
  67018. __I uint16_t CVAL1CYC; /**< Capture Value 1 Cycle Register, array offset: 0x46, array step: 0x60 */
  67019. __I uint16_t CVAL2; /**< Capture Value 2 Register, array offset: 0x48, array step: 0x60 */
  67020. __I uint16_t CVAL2CYC; /**< Capture Value 2 Cycle Register, array offset: 0x4A, array step: 0x60 */
  67021. __I uint16_t CVAL3; /**< Capture Value 3 Register, array offset: 0x4C, array step: 0x60 */
  67022. __I uint16_t CVAL3CYC; /**< Capture Value 3 Cycle Register, array offset: 0x4E, array step: 0x60 */
  67023. __I uint16_t CVAL4; /**< Capture Value 4 Register, array offset: 0x50, array step: 0x60 */
  67024. __I uint16_t CVAL4CYC; /**< Capture Value 4 Cycle Register, array offset: 0x52, array step: 0x60 */
  67025. __I uint16_t CVAL5; /**< Capture Value 5 Register, array offset: 0x54, array step: 0x60 */
  67026. __I uint16_t CVAL5CYC; /**< Capture Value 5 Cycle Register, array offset: 0x56, array step: 0x60 */
  67027. uint8_t RESERVED_2[8];
  67028. } SM[4];
  67029. __IO uint16_t OUTEN; /**< Output Enable Register, offset: 0x180 */
  67030. __IO uint16_t MASK; /**< Mask Register, offset: 0x182 */
  67031. __IO uint16_t SWCOUT; /**< Software Controlled Output Register, offset: 0x184 */
  67032. __IO uint16_t DTSRCSEL; /**< PWM Source Select Register, offset: 0x186 */
  67033. __IO uint16_t MCTRL; /**< Master Control Register, offset: 0x188 */
  67034. __IO uint16_t MCTRL2; /**< Master Control 2 Register, offset: 0x18A */
  67035. __IO uint16_t FCTRL; /**< Fault Control Register, offset: 0x18C */
  67036. __IO uint16_t FSTS; /**< Fault Status Register, offset: 0x18E */
  67037. __IO uint16_t FFILT; /**< Fault Filter Register, offset: 0x190 */
  67038. __IO uint16_t FTST; /**< Fault Test Register, offset: 0x192 */
  67039. __IO uint16_t FCTRL2; /**< Fault Control 2 Register, offset: 0x194 */
  67040. } PWM_Type;
  67041. /* ----------------------------------------------------------------------------
  67042. -- PWM Register Masks
  67043. ---------------------------------------------------------------------------- */
  67044. /*!
  67045. * @addtogroup PWM_Register_Masks PWM Register Masks
  67046. * @{
  67047. */
  67048. /*! @name CNT - Counter Register */
  67049. /*! @{ */
  67050. #define PWM_CNT_CNT_MASK (0xFFFFU)
  67051. #define PWM_CNT_CNT_SHIFT (0U)
  67052. /*! CNT - Counter Register Bits
  67053. */
  67054. #define PWM_CNT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CNT_CNT_SHIFT)) & PWM_CNT_CNT_MASK)
  67055. /*! @} */
  67056. /* The count of PWM_CNT */
  67057. #define PWM_CNT_COUNT (4U)
  67058. /*! @name INIT - Initial Count Register */
  67059. /*! @{ */
  67060. #define PWM_INIT_INIT_MASK (0xFFFFU)
  67061. #define PWM_INIT_INIT_SHIFT (0U)
  67062. /*! INIT - Initial Count Register Bits
  67063. */
  67064. #define PWM_INIT_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_INIT_INIT_SHIFT)) & PWM_INIT_INIT_MASK)
  67065. /*! @} */
  67066. /* The count of PWM_INIT */
  67067. #define PWM_INIT_COUNT (4U)
  67068. /*! @name CTRL2 - Control 2 Register */
  67069. /*! @{ */
  67070. #define PWM_CTRL2_CLK_SEL_MASK (0x3U)
  67071. #define PWM_CTRL2_CLK_SEL_SHIFT (0U)
  67072. /*! CLK_SEL - Clock Source Select
  67073. * 0b00..The IPBus clock is used as the clock for the local prescaler and counter.
  67074. * 0b01..EXT_CLK is used as the clock for the local prescaler and counter.
  67075. * 0b10..Submodule 0's clock (AUX_CLK) is used as the source clock for the local prescaler and counter. This
  67076. * setting should not be used in submodule 0 as it will force the clock to logic 0.
  67077. * 0b11..reserved
  67078. */
  67079. #define PWM_CTRL2_CLK_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_CLK_SEL_SHIFT)) & PWM_CTRL2_CLK_SEL_MASK)
  67080. #define PWM_CTRL2_RELOAD_SEL_MASK (0x4U)
  67081. #define PWM_CTRL2_RELOAD_SEL_SHIFT (2U)
  67082. /*! RELOAD_SEL - Reload Source Select
  67083. * 0b0..The local RELOAD signal is used to reload registers.
  67084. * 0b1..The master RELOAD signal (from submodule 0) is used to reload registers. This setting should not be used
  67085. * in submodule 0 as it will force the RELOAD signal to logic 0.
  67086. */
  67087. #define PWM_CTRL2_RELOAD_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_RELOAD_SEL_SHIFT)) & PWM_CTRL2_RELOAD_SEL_MASK)
  67088. #define PWM_CTRL2_FORCE_SEL_MASK (0x38U)
  67089. #define PWM_CTRL2_FORCE_SEL_SHIFT (3U)
  67090. /*! FORCE_SEL - This read/write bit determines the source of the FORCE OUTPUT signal for this submodule.
  67091. * 0b000..The local force signal, CTRL2[FORCE], from this submodule is used to force updates.
  67092. * 0b001..The master force signal from submodule 0 is used to force updates. This setting should not be used in
  67093. * submodule 0 as it will hold the FORCE OUTPUT signal to logic 0.
  67094. * 0b010..The local reload signal from this submodule is used to force updates without regard to the state of LDOK.
  67095. * 0b011..The master reload signal from submodule0 is used to force updates if LDOK is set. This setting should
  67096. * not be used in submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  67097. * 0b100..The local sync signal from this submodule is used to force updates.
  67098. * 0b101..The master sync signal from submodule0 is used to force updates. This setting should not be used in
  67099. * submodule0 as it will hold the FORCE OUTPUT signal to logic 0.
  67100. * 0b110..The external force signal, EXT_FORCE, from outside the PWM module causes updates.
  67101. * 0b111..The external sync signal, EXT_SYNC, from outside the PWM module causes updates.
  67102. */
  67103. #define PWM_CTRL2_FORCE_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SEL_SHIFT)) & PWM_CTRL2_FORCE_SEL_MASK)
  67104. #define PWM_CTRL2_FORCE_MASK (0x40U)
  67105. #define PWM_CTRL2_FORCE_SHIFT (6U)
  67106. /*! FORCE - Force Initialization
  67107. */
  67108. #define PWM_CTRL2_FORCE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FORCE_SHIFT)) & PWM_CTRL2_FORCE_MASK)
  67109. #define PWM_CTRL2_FRCEN_MASK (0x80U)
  67110. #define PWM_CTRL2_FRCEN_SHIFT (7U)
  67111. /*! FRCEN - FRCEN
  67112. * 0b0..Initialization from a FORCE_OUT is disabled.
  67113. * 0b1..Initialization from a FORCE_OUT is enabled.
  67114. */
  67115. #define PWM_CTRL2_FRCEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_FRCEN_SHIFT)) & PWM_CTRL2_FRCEN_MASK)
  67116. #define PWM_CTRL2_INIT_SEL_MASK (0x300U)
  67117. #define PWM_CTRL2_INIT_SEL_SHIFT (8U)
  67118. /*! INIT_SEL - Initialization Control Select
  67119. * 0b00..Local sync (PWM_X) causes initialization.
  67120. * 0b01..Master reload from submodule 0 causes initialization. This setting should not be used in submodule 0 as
  67121. * it will force the INIT signal to logic 0. The submodule counter will only reinitialize when a master
  67122. * reload occurs.
  67123. * 0b10..Master sync from submodule 0 causes initialization. This setting should not be used in submodule 0 as it
  67124. * will force the INIT signal to logic 0.
  67125. * 0b11..EXT_SYNC causes initialization.
  67126. */
  67127. #define PWM_CTRL2_INIT_SEL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INIT_SEL_SHIFT)) & PWM_CTRL2_INIT_SEL_MASK)
  67128. #define PWM_CTRL2_PWMX_INIT_MASK (0x400U)
  67129. #define PWM_CTRL2_PWMX_INIT_SHIFT (10U)
  67130. /*! PWMX_INIT - PWM_X Initial Value
  67131. */
  67132. #define PWM_CTRL2_PWMX_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWMX_INIT_SHIFT)) & PWM_CTRL2_PWMX_INIT_MASK)
  67133. #define PWM_CTRL2_PWM45_INIT_MASK (0x800U)
  67134. #define PWM_CTRL2_PWM45_INIT_SHIFT (11U)
  67135. /*! PWM45_INIT - PWM45 Initial Value
  67136. */
  67137. #define PWM_CTRL2_PWM45_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM45_INIT_SHIFT)) & PWM_CTRL2_PWM45_INIT_MASK)
  67138. #define PWM_CTRL2_PWM23_INIT_MASK (0x1000U)
  67139. #define PWM_CTRL2_PWM23_INIT_SHIFT (12U)
  67140. /*! PWM23_INIT - PWM23 Initial Value
  67141. */
  67142. #define PWM_CTRL2_PWM23_INIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_PWM23_INIT_SHIFT)) & PWM_CTRL2_PWM23_INIT_MASK)
  67143. #define PWM_CTRL2_INDEP_MASK (0x2000U)
  67144. #define PWM_CTRL2_INDEP_SHIFT (13U)
  67145. /*! INDEP - Independent or Complementary Pair Operation
  67146. * 0b0..PWM_A and PWM_B form a complementary PWM pair.
  67147. * 0b1..PWM_A and PWM_B outputs are independent PWMs.
  67148. */
  67149. #define PWM_CTRL2_INDEP(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_INDEP_SHIFT)) & PWM_CTRL2_INDEP_MASK)
  67150. #define PWM_CTRL2_WAITEN_MASK (0x4000U)
  67151. #define PWM_CTRL2_WAITEN_SHIFT (14U)
  67152. /*! WAITEN - WAIT Enable
  67153. */
  67154. #define PWM_CTRL2_WAITEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_WAITEN_SHIFT)) & PWM_CTRL2_WAITEN_MASK)
  67155. #define PWM_CTRL2_DBGEN_MASK (0x8000U)
  67156. #define PWM_CTRL2_DBGEN_SHIFT (15U)
  67157. /*! DBGEN - Debug Enable
  67158. */
  67159. #define PWM_CTRL2_DBGEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL2_DBGEN_SHIFT)) & PWM_CTRL2_DBGEN_MASK)
  67160. /*! @} */
  67161. /* The count of PWM_CTRL2 */
  67162. #define PWM_CTRL2_COUNT (4U)
  67163. /*! @name CTRL - Control Register */
  67164. /*! @{ */
  67165. #define PWM_CTRL_DBLEN_MASK (0x1U)
  67166. #define PWM_CTRL_DBLEN_SHIFT (0U)
  67167. /*! DBLEN - Double Switching Enable
  67168. * 0b0..Double switching disabled.
  67169. * 0b1..Double switching enabled.
  67170. */
  67171. #define PWM_CTRL_DBLEN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLEN_SHIFT)) & PWM_CTRL_DBLEN_MASK)
  67172. #define PWM_CTRL_DBLX_MASK (0x2U)
  67173. #define PWM_CTRL_DBLX_SHIFT (1U)
  67174. /*! DBLX - PWMX Double Switching Enable
  67175. * 0b0..PWMX double pulse disabled.
  67176. * 0b1..PWMX double pulse enabled.
  67177. */
  67178. #define PWM_CTRL_DBLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DBLX_SHIFT)) & PWM_CTRL_DBLX_MASK)
  67179. #define PWM_CTRL_LDMOD_MASK (0x4U)
  67180. #define PWM_CTRL_LDMOD_SHIFT (2U)
  67181. /*! LDMOD - Load Mode Select
  67182. * 0b0..Buffered registers of this submodule are loaded and take effect at the next PWM reload if MCTRL[LDOK] is set.
  67183. * 0b1..Buffered registers of this submodule are loaded and take effect immediately upon MCTRL[LDOK] being set.
  67184. * In this case it is not necessary to set CTRL[FULL] or CTRL[HALF].
  67185. */
  67186. #define PWM_CTRL_LDMOD(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDMOD_SHIFT)) & PWM_CTRL_LDMOD_MASK)
  67187. #define PWM_CTRL_SPLIT_MASK (0x8U)
  67188. #define PWM_CTRL_SPLIT_SHIFT (3U)
  67189. /*! SPLIT - Split the DBLPWM signal to PWMA and PWMB
  67190. * 0b0..DBLPWM is not split. PWMA and PWMB each have double pulses.
  67191. * 0b1..DBLPWM is split to PWMA and PWMB.
  67192. */
  67193. #define PWM_CTRL_SPLIT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_SPLIT_SHIFT)) & PWM_CTRL_SPLIT_MASK)
  67194. #define PWM_CTRL_PRSC_MASK (0x70U)
  67195. #define PWM_CTRL_PRSC_SHIFT (4U)
  67196. /*! PRSC - Prescaler
  67197. * 0b000..Prescaler 1
  67198. * 0b001..Prescaler 2
  67199. * 0b010..Prescaler 4
  67200. * 0b011..Prescaler 8
  67201. * 0b100..Prescaler 16
  67202. * 0b101..Prescaler 32
  67203. * 0b110..Prescaler 64
  67204. * 0b111..Prescaler 128
  67205. */
  67206. #define PWM_CTRL_PRSC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_PRSC_SHIFT)) & PWM_CTRL_PRSC_MASK)
  67207. #define PWM_CTRL_COMPMODE_MASK (0x80U)
  67208. #define PWM_CTRL_COMPMODE_SHIFT (7U)
  67209. /*! COMPMODE - Compare Mode
  67210. * 0b0..The VAL* registers and the PWM counter are compared using an "equal to" method. This means that PWM edges
  67211. * are only produced when the counter is equal to one of the VAL* register values. This implies that a PWMA
  67212. * output that is high at the end of a period will maintain this state until a match with VAL3 clears the
  67213. * output in the following period.
  67214. * 0b1..The VAL* registers and the PWM counter are compared using an "equal to or greater than" method. This
  67215. * means that PWM edges are produced when the counter is equal to or greater than one of the VAL* register
  67216. * values. This implies that a PWMA output that is high at the end of a period could go low at the start of the
  67217. * next period if the starting counter value is greater than (but not necessarily equal to) the new VAL3 value.
  67218. */
  67219. #define PWM_CTRL_COMPMODE(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_COMPMODE_SHIFT)) & PWM_CTRL_COMPMODE_MASK)
  67220. #define PWM_CTRL_DT_MASK (0x300U)
  67221. #define PWM_CTRL_DT_SHIFT (8U)
  67222. /*! DT - Deadtime
  67223. */
  67224. #define PWM_CTRL_DT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_DT_SHIFT)) & PWM_CTRL_DT_MASK)
  67225. #define PWM_CTRL_FULL_MASK (0x400U)
  67226. #define PWM_CTRL_FULL_SHIFT (10U)
  67227. /*! FULL - Full Cycle Reload
  67228. * 0b0..Full-cycle reloads disabled.
  67229. * 0b1..Full-cycle reloads enabled.
  67230. */
  67231. #define PWM_CTRL_FULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_FULL_SHIFT)) & PWM_CTRL_FULL_MASK)
  67232. #define PWM_CTRL_HALF_MASK (0x800U)
  67233. #define PWM_CTRL_HALF_SHIFT (11U)
  67234. /*! HALF - Half Cycle Reload
  67235. * 0b0..Half-cycle reloads disabled.
  67236. * 0b1..Half-cycle reloads enabled.
  67237. */
  67238. #define PWM_CTRL_HALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_HALF_SHIFT)) & PWM_CTRL_HALF_MASK)
  67239. #define PWM_CTRL_LDFQ_MASK (0xF000U)
  67240. #define PWM_CTRL_LDFQ_SHIFT (12U)
  67241. /*! LDFQ - Load Frequency
  67242. * 0b0000..Every PWM opportunity
  67243. * 0b0001..Every 2 PWM opportunities
  67244. * 0b0010..Every 3 PWM opportunities
  67245. * 0b0011..Every 4 PWM opportunities
  67246. * 0b0100..Every 5 PWM opportunities
  67247. * 0b0101..Every 6 PWM opportunities
  67248. * 0b0110..Every 7 PWM opportunities
  67249. * 0b0111..Every 8 PWM opportunities
  67250. * 0b1000..Every 9 PWM opportunities
  67251. * 0b1001..Every 10 PWM opportunities
  67252. * 0b1010..Every 11 PWM opportunities
  67253. * 0b1011..Every 12 PWM opportunities
  67254. * 0b1100..Every 13 PWM opportunities
  67255. * 0b1101..Every 14 PWM opportunities
  67256. * 0b1110..Every 15 PWM opportunities
  67257. * 0b1111..Every 16 PWM opportunities
  67258. */
  67259. #define PWM_CTRL_LDFQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_CTRL_LDFQ_SHIFT)) & PWM_CTRL_LDFQ_MASK)
  67260. /*! @} */
  67261. /* The count of PWM_CTRL */
  67262. #define PWM_CTRL_COUNT (4U)
  67263. /*! @name VAL0 - Value Register 0 */
  67264. /*! @{ */
  67265. #define PWM_VAL0_VAL0_MASK (0xFFFFU)
  67266. #define PWM_VAL0_VAL0_SHIFT (0U)
  67267. /*! VAL0 - Value Register 0
  67268. */
  67269. #define PWM_VAL0_VAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL0_VAL0_SHIFT)) & PWM_VAL0_VAL0_MASK)
  67270. /*! @} */
  67271. /* The count of PWM_VAL0 */
  67272. #define PWM_VAL0_COUNT (4U)
  67273. /*! @name FRACVAL1 - Fractional Value Register 1 */
  67274. /*! @{ */
  67275. #define PWM_FRACVAL1_FRACVAL1_MASK (0xF800U)
  67276. #define PWM_FRACVAL1_FRACVAL1_SHIFT (11U)
  67277. /*! FRACVAL1 - Fractional Value 1 Register
  67278. */
  67279. #define PWM_FRACVAL1_FRACVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL1_FRACVAL1_SHIFT)) & PWM_FRACVAL1_FRACVAL1_MASK)
  67280. /*! @} */
  67281. /* The count of PWM_FRACVAL1 */
  67282. #define PWM_FRACVAL1_COUNT (4U)
  67283. /*! @name VAL1 - Value Register 1 */
  67284. /*! @{ */
  67285. #define PWM_VAL1_VAL1_MASK (0xFFFFU)
  67286. #define PWM_VAL1_VAL1_SHIFT (0U)
  67287. /*! VAL1 - Value Register 1
  67288. */
  67289. #define PWM_VAL1_VAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL1_VAL1_SHIFT)) & PWM_VAL1_VAL1_MASK)
  67290. /*! @} */
  67291. /* The count of PWM_VAL1 */
  67292. #define PWM_VAL1_COUNT (4U)
  67293. /*! @name FRACVAL2 - Fractional Value Register 2 */
  67294. /*! @{ */
  67295. #define PWM_FRACVAL2_FRACVAL2_MASK (0xF800U)
  67296. #define PWM_FRACVAL2_FRACVAL2_SHIFT (11U)
  67297. /*! FRACVAL2 - Fractional Value 2
  67298. */
  67299. #define PWM_FRACVAL2_FRACVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL2_FRACVAL2_SHIFT)) & PWM_FRACVAL2_FRACVAL2_MASK)
  67300. /*! @} */
  67301. /* The count of PWM_FRACVAL2 */
  67302. #define PWM_FRACVAL2_COUNT (4U)
  67303. /*! @name VAL2 - Value Register 2 */
  67304. /*! @{ */
  67305. #define PWM_VAL2_VAL2_MASK (0xFFFFU)
  67306. #define PWM_VAL2_VAL2_SHIFT (0U)
  67307. /*! VAL2 - Value Register 2
  67308. */
  67309. #define PWM_VAL2_VAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL2_VAL2_SHIFT)) & PWM_VAL2_VAL2_MASK)
  67310. /*! @} */
  67311. /* The count of PWM_VAL2 */
  67312. #define PWM_VAL2_COUNT (4U)
  67313. /*! @name FRACVAL3 - Fractional Value Register 3 */
  67314. /*! @{ */
  67315. #define PWM_FRACVAL3_FRACVAL3_MASK (0xF800U)
  67316. #define PWM_FRACVAL3_FRACVAL3_SHIFT (11U)
  67317. /*! FRACVAL3 - Fractional Value 3
  67318. */
  67319. #define PWM_FRACVAL3_FRACVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL3_FRACVAL3_SHIFT)) & PWM_FRACVAL3_FRACVAL3_MASK)
  67320. /*! @} */
  67321. /* The count of PWM_FRACVAL3 */
  67322. #define PWM_FRACVAL3_COUNT (4U)
  67323. /*! @name VAL3 - Value Register 3 */
  67324. /*! @{ */
  67325. #define PWM_VAL3_VAL3_MASK (0xFFFFU)
  67326. #define PWM_VAL3_VAL3_SHIFT (0U)
  67327. /*! VAL3 - Value Register 3
  67328. */
  67329. #define PWM_VAL3_VAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL3_VAL3_SHIFT)) & PWM_VAL3_VAL3_MASK)
  67330. /*! @} */
  67331. /* The count of PWM_VAL3 */
  67332. #define PWM_VAL3_COUNT (4U)
  67333. /*! @name FRACVAL4 - Fractional Value Register 4 */
  67334. /*! @{ */
  67335. #define PWM_FRACVAL4_FRACVAL4_MASK (0xF800U)
  67336. #define PWM_FRACVAL4_FRACVAL4_SHIFT (11U)
  67337. /*! FRACVAL4 - Fractional Value 4
  67338. */
  67339. #define PWM_FRACVAL4_FRACVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL4_FRACVAL4_SHIFT)) & PWM_FRACVAL4_FRACVAL4_MASK)
  67340. /*! @} */
  67341. /* The count of PWM_FRACVAL4 */
  67342. #define PWM_FRACVAL4_COUNT (4U)
  67343. /*! @name VAL4 - Value Register 4 */
  67344. /*! @{ */
  67345. #define PWM_VAL4_VAL4_MASK (0xFFFFU)
  67346. #define PWM_VAL4_VAL4_SHIFT (0U)
  67347. /*! VAL4 - Value Register 4
  67348. */
  67349. #define PWM_VAL4_VAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL4_VAL4_SHIFT)) & PWM_VAL4_VAL4_MASK)
  67350. /*! @} */
  67351. /* The count of PWM_VAL4 */
  67352. #define PWM_VAL4_COUNT (4U)
  67353. /*! @name FRACVAL5 - Fractional Value Register 5 */
  67354. /*! @{ */
  67355. #define PWM_FRACVAL5_FRACVAL5_MASK (0xF800U)
  67356. #define PWM_FRACVAL5_FRACVAL5_SHIFT (11U)
  67357. /*! FRACVAL5 - Fractional Value 5
  67358. */
  67359. #define PWM_FRACVAL5_FRACVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRACVAL5_FRACVAL5_SHIFT)) & PWM_FRACVAL5_FRACVAL5_MASK)
  67360. /*! @} */
  67361. /* The count of PWM_FRACVAL5 */
  67362. #define PWM_FRACVAL5_COUNT (4U)
  67363. /*! @name VAL5 - Value Register 5 */
  67364. /*! @{ */
  67365. #define PWM_VAL5_VAL5_MASK (0xFFFFU)
  67366. #define PWM_VAL5_VAL5_SHIFT (0U)
  67367. /*! VAL5 - Value Register 5
  67368. */
  67369. #define PWM_VAL5_VAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_VAL5_VAL5_SHIFT)) & PWM_VAL5_VAL5_MASK)
  67370. /*! @} */
  67371. /* The count of PWM_VAL5 */
  67372. #define PWM_VAL5_COUNT (4U)
  67373. /*! @name FRCTRL - Fractional Control Register */
  67374. /*! @{ */
  67375. #define PWM_FRCTRL_FRAC1_EN_MASK (0x2U)
  67376. #define PWM_FRCTRL_FRAC1_EN_SHIFT (1U)
  67377. /*! FRAC1_EN - Fractional Cycle PWM Period Enable
  67378. * 0b0..Disable fractional cycle length for the PWM period.
  67379. * 0b1..Enable fractional cycle length for the PWM period.
  67380. */
  67381. #define PWM_FRCTRL_FRAC1_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC1_EN_SHIFT)) & PWM_FRCTRL_FRAC1_EN_MASK)
  67382. #define PWM_FRCTRL_FRAC23_EN_MASK (0x4U)
  67383. #define PWM_FRCTRL_FRAC23_EN_SHIFT (2U)
  67384. /*! FRAC23_EN - Fractional Cycle Placement Enable for PWM_A
  67385. * 0b0..Disable fractional cycle placement for PWM_A.
  67386. * 0b1..Enable fractional cycle placement for PWM_A.
  67387. */
  67388. #define PWM_FRCTRL_FRAC23_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC23_EN_SHIFT)) & PWM_FRCTRL_FRAC23_EN_MASK)
  67389. #define PWM_FRCTRL_FRAC45_EN_MASK (0x10U)
  67390. #define PWM_FRCTRL_FRAC45_EN_SHIFT (4U)
  67391. /*! FRAC45_EN - Fractional Cycle Placement Enable for PWM_B
  67392. * 0b0..Disable fractional cycle placement for PWM_B.
  67393. * 0b1..Enable fractional cycle placement for PWM_B.
  67394. */
  67395. #define PWM_FRCTRL_FRAC45_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_FRAC45_EN_SHIFT)) & PWM_FRCTRL_FRAC45_EN_MASK)
  67396. #define PWM_FRCTRL_TEST_MASK (0x8000U)
  67397. #define PWM_FRCTRL_TEST_SHIFT (15U)
  67398. /*! TEST - Test Status Bit
  67399. */
  67400. #define PWM_FRCTRL_TEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FRCTRL_TEST_SHIFT)) & PWM_FRCTRL_TEST_MASK)
  67401. /*! @} */
  67402. /* The count of PWM_FRCTRL */
  67403. #define PWM_FRCTRL_COUNT (4U)
  67404. /*! @name OCTRL - Output Control Register */
  67405. /*! @{ */
  67406. #define PWM_OCTRL_PWMXFS_MASK (0x3U)
  67407. #define PWM_OCTRL_PWMXFS_SHIFT (0U)
  67408. /*! PWMXFS - PWM_X Fault State
  67409. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  67410. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  67411. * 0b10, 0b11..Output is tristated.
  67412. */
  67413. #define PWM_OCTRL_PWMXFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMXFS_SHIFT)) & PWM_OCTRL_PWMXFS_MASK)
  67414. #define PWM_OCTRL_PWMBFS_MASK (0xCU)
  67415. #define PWM_OCTRL_PWMBFS_SHIFT (2U)
  67416. /*! PWMBFS - PWM_B Fault State
  67417. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  67418. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  67419. * 0b10, 0b11..Output is tristated.
  67420. */
  67421. #define PWM_OCTRL_PWMBFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMBFS_SHIFT)) & PWM_OCTRL_PWMBFS_MASK)
  67422. #define PWM_OCTRL_PWMAFS_MASK (0x30U)
  67423. #define PWM_OCTRL_PWMAFS_SHIFT (4U)
  67424. /*! PWMAFS - PWM_A Fault State
  67425. * 0b00..Output is forced to logic 0 state prior to consideration of output polarity control.
  67426. * 0b01..Output is forced to logic 1 state prior to consideration of output polarity control.
  67427. * 0b10, 0b11..Output is tristated.
  67428. */
  67429. #define PWM_OCTRL_PWMAFS(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMAFS_SHIFT)) & PWM_OCTRL_PWMAFS_MASK)
  67430. #define PWM_OCTRL_POLX_MASK (0x100U)
  67431. #define PWM_OCTRL_POLX_SHIFT (8U)
  67432. /*! POLX - PWM_X Output Polarity
  67433. * 0b0..PWM_X output not inverted. A high level on the PWM_X pin represents the "on" or "active" state.
  67434. * 0b1..PWM_X output inverted. A low level on the PWM_X pin represents the "on" or "active" state.
  67435. */
  67436. #define PWM_OCTRL_POLX(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLX_SHIFT)) & PWM_OCTRL_POLX_MASK)
  67437. #define PWM_OCTRL_POLB_MASK (0x200U)
  67438. #define PWM_OCTRL_POLB_SHIFT (9U)
  67439. /*! POLB - PWM_B Output Polarity
  67440. * 0b0..PWM_B output not inverted. A high level on the PWM_B pin represents the "on" or "active" state.
  67441. * 0b1..PWM_B output inverted. A low level on the PWM_B pin represents the "on" or "active" state.
  67442. */
  67443. #define PWM_OCTRL_POLB(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLB_SHIFT)) & PWM_OCTRL_POLB_MASK)
  67444. #define PWM_OCTRL_POLA_MASK (0x400U)
  67445. #define PWM_OCTRL_POLA_SHIFT (10U)
  67446. /*! POLA - PWM_A Output Polarity
  67447. * 0b0..PWM_A output not inverted. A high level on the PWM_A pin represents the "on" or "active" state.
  67448. * 0b1..PWM_A output inverted. A low level on the PWM_A pin represents the "on" or "active" state.
  67449. */
  67450. #define PWM_OCTRL_POLA(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_POLA_SHIFT)) & PWM_OCTRL_POLA_MASK)
  67451. #define PWM_OCTRL_PWMX_IN_MASK (0x2000U)
  67452. #define PWM_OCTRL_PWMX_IN_SHIFT (13U)
  67453. /*! PWMX_IN - PWM_X Input
  67454. */
  67455. #define PWM_OCTRL_PWMX_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMX_IN_SHIFT)) & PWM_OCTRL_PWMX_IN_MASK)
  67456. #define PWM_OCTRL_PWMB_IN_MASK (0x4000U)
  67457. #define PWM_OCTRL_PWMB_IN_SHIFT (14U)
  67458. /*! PWMB_IN - PWM_B Input
  67459. */
  67460. #define PWM_OCTRL_PWMB_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMB_IN_SHIFT)) & PWM_OCTRL_PWMB_IN_MASK)
  67461. #define PWM_OCTRL_PWMA_IN_MASK (0x8000U)
  67462. #define PWM_OCTRL_PWMA_IN_SHIFT (15U)
  67463. /*! PWMA_IN - PWM_A Input
  67464. */
  67465. #define PWM_OCTRL_PWMA_IN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OCTRL_PWMA_IN_SHIFT)) & PWM_OCTRL_PWMA_IN_MASK)
  67466. /*! @} */
  67467. /* The count of PWM_OCTRL */
  67468. #define PWM_OCTRL_COUNT (4U)
  67469. /*! @name STS - Status Register */
  67470. /*! @{ */
  67471. #define PWM_STS_CMPF_MASK (0x3FU)
  67472. #define PWM_STS_CMPF_SHIFT (0U)
  67473. /*! CMPF - Compare Flags
  67474. * 0b000000..No compare event has occurred for a particular VALx value.
  67475. * 0b000001..A compare event has occurred for a particular VALx value.
  67476. */
  67477. #define PWM_STS_CMPF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CMPF_SHIFT)) & PWM_STS_CMPF_MASK)
  67478. #define PWM_STS_CFX0_MASK (0x40U)
  67479. #define PWM_STS_CFX0_SHIFT (6U)
  67480. /*! CFX0 - Capture Flag X0
  67481. */
  67482. #define PWM_STS_CFX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX0_SHIFT)) & PWM_STS_CFX0_MASK)
  67483. #define PWM_STS_CFX1_MASK (0x80U)
  67484. #define PWM_STS_CFX1_SHIFT (7U)
  67485. /*! CFX1 - Capture Flag X1
  67486. */
  67487. #define PWM_STS_CFX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFX1_SHIFT)) & PWM_STS_CFX1_MASK)
  67488. #define PWM_STS_CFB0_MASK (0x100U)
  67489. #define PWM_STS_CFB0_SHIFT (8U)
  67490. /*! CFB0 - Capture Flag B0
  67491. */
  67492. #define PWM_STS_CFB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB0_SHIFT)) & PWM_STS_CFB0_MASK)
  67493. #define PWM_STS_CFB1_MASK (0x200U)
  67494. #define PWM_STS_CFB1_SHIFT (9U)
  67495. /*! CFB1 - Capture Flag B1
  67496. */
  67497. #define PWM_STS_CFB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFB1_SHIFT)) & PWM_STS_CFB1_MASK)
  67498. #define PWM_STS_CFA0_MASK (0x400U)
  67499. #define PWM_STS_CFA0_SHIFT (10U)
  67500. /*! CFA0 - Capture Flag A0
  67501. */
  67502. #define PWM_STS_CFA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA0_SHIFT)) & PWM_STS_CFA0_MASK)
  67503. #define PWM_STS_CFA1_MASK (0x800U)
  67504. #define PWM_STS_CFA1_SHIFT (11U)
  67505. /*! CFA1 - Capture Flag A1
  67506. */
  67507. #define PWM_STS_CFA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_CFA1_SHIFT)) & PWM_STS_CFA1_MASK)
  67508. #define PWM_STS_RF_MASK (0x1000U)
  67509. #define PWM_STS_RF_SHIFT (12U)
  67510. /*! RF - Reload Flag
  67511. * 0b0..No new reload cycle since last STS[RF] clearing
  67512. * 0b1..New reload cycle since last STS[RF] clearing
  67513. */
  67514. #define PWM_STS_RF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RF_SHIFT)) & PWM_STS_RF_MASK)
  67515. #define PWM_STS_REF_MASK (0x2000U)
  67516. #define PWM_STS_REF_SHIFT (13U)
  67517. /*! REF - Reload Error Flag
  67518. * 0b0..No reload error occurred.
  67519. * 0b1..Reload signal occurred with non-coherent data and MCTRL[LDOK] = 0.
  67520. */
  67521. #define PWM_STS_REF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_REF_SHIFT)) & PWM_STS_REF_MASK)
  67522. #define PWM_STS_RUF_MASK (0x4000U)
  67523. #define PWM_STS_RUF_SHIFT (14U)
  67524. /*! RUF - Registers Updated Flag
  67525. * 0b0..No register update has occurred since last reload.
  67526. * 0b1..At least one of the double buffered registers has been updated since the last reload.
  67527. */
  67528. #define PWM_STS_RUF(x) (((uint16_t)(((uint16_t)(x)) << PWM_STS_RUF_SHIFT)) & PWM_STS_RUF_MASK)
  67529. /*! @} */
  67530. /* The count of PWM_STS */
  67531. #define PWM_STS_COUNT (4U)
  67532. /*! @name INTEN - Interrupt Enable Register */
  67533. /*! @{ */
  67534. #define PWM_INTEN_CMPIE_MASK (0x3FU)
  67535. #define PWM_INTEN_CMPIE_SHIFT (0U)
  67536. /*! CMPIE - Compare Interrupt Enables
  67537. * 0b000000..The corresponding STS[CMPF] bit will not cause an interrupt request.
  67538. * 0b000001..The corresponding STS[CMPF] bit will cause an interrupt request.
  67539. */
  67540. #define PWM_INTEN_CMPIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CMPIE_SHIFT)) & PWM_INTEN_CMPIE_MASK)
  67541. #define PWM_INTEN_CX0IE_MASK (0x40U)
  67542. #define PWM_INTEN_CX0IE_SHIFT (6U)
  67543. /*! CX0IE - Capture X 0 Interrupt Enable
  67544. * 0b0..Interrupt request disabled for STS[CFX0].
  67545. * 0b1..Interrupt request enabled for STS[CFX0].
  67546. */
  67547. #define PWM_INTEN_CX0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX0IE_SHIFT)) & PWM_INTEN_CX0IE_MASK)
  67548. #define PWM_INTEN_CX1IE_MASK (0x80U)
  67549. #define PWM_INTEN_CX1IE_SHIFT (7U)
  67550. /*! CX1IE - Capture X 1 Interrupt Enable
  67551. * 0b0..Interrupt request disabled for STS[CFX1].
  67552. * 0b1..Interrupt request enabled for STS[CFX1].
  67553. */
  67554. #define PWM_INTEN_CX1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CX1IE_SHIFT)) & PWM_INTEN_CX1IE_MASK)
  67555. #define PWM_INTEN_CB0IE_MASK (0x100U)
  67556. #define PWM_INTEN_CB0IE_SHIFT (8U)
  67557. /*! CB0IE - Capture B 0 Interrupt Enable
  67558. * 0b0..Interrupt request disabled for STS[CFB0].
  67559. * 0b1..Interrupt request enabled for STS[CFB0].
  67560. */
  67561. #define PWM_INTEN_CB0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB0IE_SHIFT)) & PWM_INTEN_CB0IE_MASK)
  67562. #define PWM_INTEN_CB1IE_MASK (0x200U)
  67563. #define PWM_INTEN_CB1IE_SHIFT (9U)
  67564. /*! CB1IE - Capture B 1 Interrupt Enable
  67565. * 0b0..Interrupt request disabled for STS[CFB1].
  67566. * 0b1..Interrupt request enabled for STS[CFB1].
  67567. */
  67568. #define PWM_INTEN_CB1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CB1IE_SHIFT)) & PWM_INTEN_CB1IE_MASK)
  67569. #define PWM_INTEN_CA0IE_MASK (0x400U)
  67570. #define PWM_INTEN_CA0IE_SHIFT (10U)
  67571. /*! CA0IE - Capture A 0 Interrupt Enable
  67572. * 0b0..Interrupt request disabled for STS[CFA0].
  67573. * 0b1..Interrupt request enabled for STS[CFA0].
  67574. */
  67575. #define PWM_INTEN_CA0IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA0IE_SHIFT)) & PWM_INTEN_CA0IE_MASK)
  67576. #define PWM_INTEN_CA1IE_MASK (0x800U)
  67577. #define PWM_INTEN_CA1IE_SHIFT (11U)
  67578. /*! CA1IE - Capture A 1 Interrupt Enable
  67579. * 0b0..Interrupt request disabled for STS[CFA1].
  67580. * 0b1..Interrupt request enabled for STS[CFA1].
  67581. */
  67582. #define PWM_INTEN_CA1IE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_CA1IE_SHIFT)) & PWM_INTEN_CA1IE_MASK)
  67583. #define PWM_INTEN_RIE_MASK (0x1000U)
  67584. #define PWM_INTEN_RIE_SHIFT (12U)
  67585. /*! RIE - Reload Interrupt Enable
  67586. * 0b0..STS[RF] CPU interrupt requests disabled
  67587. * 0b1..STS[RF] CPU interrupt requests enabled
  67588. */
  67589. #define PWM_INTEN_RIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_RIE_SHIFT)) & PWM_INTEN_RIE_MASK)
  67590. #define PWM_INTEN_REIE_MASK (0x2000U)
  67591. #define PWM_INTEN_REIE_SHIFT (13U)
  67592. /*! REIE - Reload Error Interrupt Enable
  67593. * 0b0..STS[REF] CPU interrupt requests disabled
  67594. * 0b1..STS[REF] CPU interrupt requests enabled
  67595. */
  67596. #define PWM_INTEN_REIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_INTEN_REIE_SHIFT)) & PWM_INTEN_REIE_MASK)
  67597. /*! @} */
  67598. /* The count of PWM_INTEN */
  67599. #define PWM_INTEN_COUNT (4U)
  67600. /*! @name DMAEN - DMA Enable Register */
  67601. /*! @{ */
  67602. #define PWM_DMAEN_CX0DE_MASK (0x1U)
  67603. #define PWM_DMAEN_CX0DE_SHIFT (0U)
  67604. /*! CX0DE - Capture X0 FIFO DMA Enable
  67605. */
  67606. #define PWM_DMAEN_CX0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX0DE_SHIFT)) & PWM_DMAEN_CX0DE_MASK)
  67607. #define PWM_DMAEN_CX1DE_MASK (0x2U)
  67608. #define PWM_DMAEN_CX1DE_SHIFT (1U)
  67609. /*! CX1DE - Capture X1 FIFO DMA Enable
  67610. */
  67611. #define PWM_DMAEN_CX1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CX1DE_SHIFT)) & PWM_DMAEN_CX1DE_MASK)
  67612. #define PWM_DMAEN_CB0DE_MASK (0x4U)
  67613. #define PWM_DMAEN_CB0DE_SHIFT (2U)
  67614. /*! CB0DE - Capture B0 FIFO DMA Enable
  67615. */
  67616. #define PWM_DMAEN_CB0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB0DE_SHIFT)) & PWM_DMAEN_CB0DE_MASK)
  67617. #define PWM_DMAEN_CB1DE_MASK (0x8U)
  67618. #define PWM_DMAEN_CB1DE_SHIFT (3U)
  67619. /*! CB1DE - Capture B1 FIFO DMA Enable
  67620. */
  67621. #define PWM_DMAEN_CB1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CB1DE_SHIFT)) & PWM_DMAEN_CB1DE_MASK)
  67622. #define PWM_DMAEN_CA0DE_MASK (0x10U)
  67623. #define PWM_DMAEN_CA0DE_SHIFT (4U)
  67624. /*! CA0DE - Capture A0 FIFO DMA Enable
  67625. */
  67626. #define PWM_DMAEN_CA0DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA0DE_SHIFT)) & PWM_DMAEN_CA0DE_MASK)
  67627. #define PWM_DMAEN_CA1DE_MASK (0x20U)
  67628. #define PWM_DMAEN_CA1DE_SHIFT (5U)
  67629. /*! CA1DE - Capture A1 FIFO DMA Enable
  67630. */
  67631. #define PWM_DMAEN_CA1DE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CA1DE_SHIFT)) & PWM_DMAEN_CA1DE_MASK)
  67632. #define PWM_DMAEN_CAPTDE_MASK (0xC0U)
  67633. #define PWM_DMAEN_CAPTDE_SHIFT (6U)
  67634. /*! CAPTDE - Capture DMA Enable Source Select
  67635. * 0b00..Read DMA requests disabled.
  67636. * 0b01..Exceeding a FIFO watermark sets the DMA read request. This requires at least one of DMAEN[CA1DE],
  67637. * DMAEN[CA0DE], DMAEN[CB1DE], DMAEN[CB0DE], DMAEN[CX1DE], or DMAEN[CX0DE] to also be set in order to determine to
  67638. * which watermark(s) the DMA request is sensitive.
  67639. * 0b10..A local sync (VAL1 matches counter) sets the read DMA request.
  67640. * 0b11..A local reload (STS[RF] being set) sets the read DMA request.
  67641. */
  67642. #define PWM_DMAEN_CAPTDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_CAPTDE_SHIFT)) & PWM_DMAEN_CAPTDE_MASK)
  67643. #define PWM_DMAEN_FAND_MASK (0x100U)
  67644. #define PWM_DMAEN_FAND_SHIFT (8U)
  67645. /*! FAND - FIFO Watermark AND Control
  67646. * 0b0..Selected FIFO watermarks are OR'ed together.
  67647. * 0b1..Selected FIFO watermarks are AND'ed together.
  67648. */
  67649. #define PWM_DMAEN_FAND(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_FAND_SHIFT)) & PWM_DMAEN_FAND_MASK)
  67650. #define PWM_DMAEN_VALDE_MASK (0x200U)
  67651. #define PWM_DMAEN_VALDE_SHIFT (9U)
  67652. /*! VALDE - Value Registers DMA Enable
  67653. * 0b0..DMA write requests disabled
  67654. * 0b1..Enabled
  67655. */
  67656. #define PWM_DMAEN_VALDE(x) (((uint16_t)(((uint16_t)(x)) << PWM_DMAEN_VALDE_SHIFT)) & PWM_DMAEN_VALDE_MASK)
  67657. /*! @} */
  67658. /* The count of PWM_DMAEN */
  67659. #define PWM_DMAEN_COUNT (4U)
  67660. /*! @name TCTRL - Output Trigger Control Register */
  67661. /*! @{ */
  67662. #define PWM_TCTRL_OUT_TRIG_EN_MASK (0x3FU)
  67663. #define PWM_TCTRL_OUT_TRIG_EN_SHIFT (0U)
  67664. /*! OUT_TRIG_EN - Output Trigger Enables
  67665. * 0bxxxxx1..PWM_OUT_TRIG0 will set when the counter value matches the VAL0 value.
  67666. * 0bxxxx1x..PWM_OUT_TRIG1 will set when the counter value matches the VAL1 value.
  67667. * 0bxxx1xx..PWM_OUT_TRIG0 will set when the counter value matches the VAL2 value.
  67668. * 0bxx1xxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL3 value.
  67669. * 0bx1xxxx..PWM_OUT_TRIG0 will set when the counter value matches the VAL4 value.
  67670. * 0b1xxxxx..PWM_OUT_TRIG1 will set when the counter value matches the VAL5 value.
  67671. */
  67672. #define PWM_TCTRL_OUT_TRIG_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_OUT_TRIG_EN_SHIFT)) & PWM_TCTRL_OUT_TRIG_EN_MASK)
  67673. #define PWM_TCTRL_TRGFRQ_MASK (0x1000U)
  67674. #define PWM_TCTRL_TRGFRQ_SHIFT (12U)
  67675. /*! TRGFRQ - Trigger frequency
  67676. * 0b0..Trigger outputs are generated during every PWM period even if the PWM is not reloaded every period due to CTRL[LDFQ] being non-zero.
  67677. * 0b1..Trigger outputs are generated only during the final PWM period prior to a reload opportunity when the PWM
  67678. * is not reloaded every period due to CTRL[LDFQ] being non-zero.
  67679. */
  67680. #define PWM_TCTRL_TRGFRQ(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_TRGFRQ_SHIFT)) & PWM_TCTRL_TRGFRQ_MASK)
  67681. #define PWM_TCTRL_PWBOT1_MASK (0x4000U)
  67682. #define PWM_TCTRL_PWBOT1_SHIFT (14U)
  67683. /*! PWBOT1 - Output Trigger 1 Source Select
  67684. * 0b0..Route the PWM_OUT_TRIG1 signal to PWM_OUT_TRIG1 port.
  67685. * 0b1..Route the PWMB output to the PWM_OUT_TRIG1 port.
  67686. */
  67687. #define PWM_TCTRL_PWBOT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWBOT1_SHIFT)) & PWM_TCTRL_PWBOT1_MASK)
  67688. #define PWM_TCTRL_PWAOT0_MASK (0x8000U)
  67689. #define PWM_TCTRL_PWAOT0_SHIFT (15U)
  67690. /*! PWAOT0 - Output Trigger 0 Source Select
  67691. * 0b0..Route the PWM_OUT_TRIG0 signal to PWM_OUT_TRIG0 port.
  67692. * 0b1..Route the PWMA output to the PWM_OUT_TRIG0 port.
  67693. */
  67694. #define PWM_TCTRL_PWAOT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_TCTRL_PWAOT0_SHIFT)) & PWM_TCTRL_PWAOT0_MASK)
  67695. /*! @} */
  67696. /* The count of PWM_TCTRL */
  67697. #define PWM_TCTRL_COUNT (4U)
  67698. /*! @name DISMAP - Fault Disable Mapping Register 0 */
  67699. /*! @{ */
  67700. #define PWM_DISMAP_DIS0A_MASK (0xFU)
  67701. #define PWM_DISMAP_DIS0A_SHIFT (0U)
  67702. /*! DIS0A - PWM_A Fault Disable Mask 0
  67703. */
  67704. #define PWM_DISMAP_DIS0A(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0A_SHIFT)) & PWM_DISMAP_DIS0A_MASK)
  67705. #define PWM_DISMAP_DIS0B_MASK (0xF0U)
  67706. #define PWM_DISMAP_DIS0B_SHIFT (4U)
  67707. /*! DIS0B - PWM_B Fault Disable Mask 0
  67708. */
  67709. #define PWM_DISMAP_DIS0B(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0B_SHIFT)) & PWM_DISMAP_DIS0B_MASK)
  67710. #define PWM_DISMAP_DIS0X_MASK (0xF00U)
  67711. #define PWM_DISMAP_DIS0X_SHIFT (8U)
  67712. /*! DIS0X - PWM_X Fault Disable Mask 0
  67713. */
  67714. #define PWM_DISMAP_DIS0X(x) (((uint16_t)(((uint16_t)(x)) << PWM_DISMAP_DIS0X_SHIFT)) & PWM_DISMAP_DIS0X_MASK)
  67715. /*! @} */
  67716. /* The count of PWM_DISMAP */
  67717. #define PWM_DISMAP_COUNT (4U)
  67718. /* The count of PWM_DISMAP */
  67719. #define PWM_DISMAP_COUNT2 (1U)
  67720. /*! @name DTCNT0 - Deadtime Count Register 0 */
  67721. /*! @{ */
  67722. #define PWM_DTCNT0_DTCNT0_MASK (0xFFFFU)
  67723. #define PWM_DTCNT0_DTCNT0_SHIFT (0U)
  67724. /*! DTCNT0 - DTCNT0
  67725. */
  67726. #define PWM_DTCNT0_DTCNT0(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT0_DTCNT0_SHIFT)) & PWM_DTCNT0_DTCNT0_MASK)
  67727. /*! @} */
  67728. /* The count of PWM_DTCNT0 */
  67729. #define PWM_DTCNT0_COUNT (4U)
  67730. /*! @name DTCNT1 - Deadtime Count Register 1 */
  67731. /*! @{ */
  67732. #define PWM_DTCNT1_DTCNT1_MASK (0xFFFFU)
  67733. #define PWM_DTCNT1_DTCNT1_SHIFT (0U)
  67734. /*! DTCNT1 - DTCNT1
  67735. */
  67736. #define PWM_DTCNT1_DTCNT1(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTCNT1_DTCNT1_SHIFT)) & PWM_DTCNT1_DTCNT1_MASK)
  67737. /*! @} */
  67738. /* The count of PWM_DTCNT1 */
  67739. #define PWM_DTCNT1_COUNT (4U)
  67740. /*! @name CAPTCTRLA - Capture Control A Register */
  67741. /*! @{ */
  67742. #define PWM_CAPTCTRLA_ARMA_MASK (0x1U)
  67743. #define PWM_CAPTCTRLA_ARMA_SHIFT (0U)
  67744. /*! ARMA - Arm A
  67745. * 0b0..Input capture operation is disabled.
  67746. * 0b1..Input capture operation as specified by CAPTCTRLA[EDGAx] is enabled.
  67747. */
  67748. #define PWM_CAPTCTRLA_ARMA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ARMA_SHIFT)) & PWM_CAPTCTRLA_ARMA_MASK)
  67749. #define PWM_CAPTCTRLA_ONESHOTA_MASK (0x2U)
  67750. #define PWM_CAPTCTRLA_ONESHOTA_SHIFT (1U)
  67751. /*! ONESHOTA - One Shot Mode A
  67752. * 0b0..Free Running
  67753. * 0b1..One Shot
  67754. */
  67755. #define PWM_CAPTCTRLA_ONESHOTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_ONESHOTA_SHIFT)) & PWM_CAPTCTRLA_ONESHOTA_MASK)
  67756. #define PWM_CAPTCTRLA_EDGA0_MASK (0xCU)
  67757. #define PWM_CAPTCTRLA_EDGA0_SHIFT (2U)
  67758. /*! EDGA0 - Edge A 0
  67759. * 0b00..Disabled
  67760. * 0b01..Capture falling edges
  67761. * 0b10..Capture rising edges
  67762. * 0b11..Capture any edge
  67763. */
  67764. #define PWM_CAPTCTRLA_EDGA0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA0_SHIFT)) & PWM_CAPTCTRLA_EDGA0_MASK)
  67765. #define PWM_CAPTCTRLA_EDGA1_MASK (0x30U)
  67766. #define PWM_CAPTCTRLA_EDGA1_SHIFT (4U)
  67767. /*! EDGA1 - Edge A 1
  67768. * 0b00..Disabled
  67769. * 0b01..Capture falling edges
  67770. * 0b10..Capture rising edges
  67771. * 0b11..Capture any edge
  67772. */
  67773. #define PWM_CAPTCTRLA_EDGA1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGA1_SHIFT)) & PWM_CAPTCTRLA_EDGA1_MASK)
  67774. #define PWM_CAPTCTRLA_INP_SELA_MASK (0x40U)
  67775. #define PWM_CAPTCTRLA_INP_SELA_SHIFT (6U)
  67776. /*! INP_SELA - Input Select A
  67777. * 0b0..Raw PWM_A input signal selected as source.
  67778. * 0b1..Edge Counter
  67779. */
  67780. #define PWM_CAPTCTRLA_INP_SELA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_INP_SELA_SHIFT)) & PWM_CAPTCTRLA_INP_SELA_MASK)
  67781. #define PWM_CAPTCTRLA_EDGCNTA_EN_MASK (0x80U)
  67782. #define PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT (7U)
  67783. /*! EDGCNTA_EN - Edge Counter A Enable
  67784. * 0b0..Edge counter disabled and held in reset
  67785. * 0b1..Edge counter enabled
  67786. */
  67787. #define PWM_CAPTCTRLA_EDGCNTA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_EDGCNTA_EN_SHIFT)) & PWM_CAPTCTRLA_EDGCNTA_EN_MASK)
  67788. #define PWM_CAPTCTRLA_CFAWM_MASK (0x300U)
  67789. #define PWM_CAPTCTRLA_CFAWM_SHIFT (8U)
  67790. /*! CFAWM - Capture A FIFOs Water Mark
  67791. */
  67792. #define PWM_CAPTCTRLA_CFAWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CFAWM_SHIFT)) & PWM_CAPTCTRLA_CFAWM_MASK)
  67793. #define PWM_CAPTCTRLA_CA0CNT_MASK (0x1C00U)
  67794. #define PWM_CAPTCTRLA_CA0CNT_SHIFT (10U)
  67795. /*! CA0CNT - Capture A0 FIFO Word Count
  67796. */
  67797. #define PWM_CAPTCTRLA_CA0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA0CNT_SHIFT)) & PWM_CAPTCTRLA_CA0CNT_MASK)
  67798. #define PWM_CAPTCTRLA_CA1CNT_MASK (0xE000U)
  67799. #define PWM_CAPTCTRLA_CA1CNT_SHIFT (13U)
  67800. /*! CA1CNT - Capture A1 FIFO Word Count
  67801. */
  67802. #define PWM_CAPTCTRLA_CA1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLA_CA1CNT_SHIFT)) & PWM_CAPTCTRLA_CA1CNT_MASK)
  67803. /*! @} */
  67804. /* The count of PWM_CAPTCTRLA */
  67805. #define PWM_CAPTCTRLA_COUNT (4U)
  67806. /*! @name CAPTCOMPA - Capture Compare A Register */
  67807. /*! @{ */
  67808. #define PWM_CAPTCOMPA_EDGCMPA_MASK (0xFFU)
  67809. #define PWM_CAPTCOMPA_EDGCMPA_SHIFT (0U)
  67810. /*! EDGCMPA - Edge Compare A
  67811. */
  67812. #define PWM_CAPTCOMPA_EDGCMPA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCMPA_SHIFT)) & PWM_CAPTCOMPA_EDGCMPA_MASK)
  67813. #define PWM_CAPTCOMPA_EDGCNTA_MASK (0xFF00U)
  67814. #define PWM_CAPTCOMPA_EDGCNTA_SHIFT (8U)
  67815. /*! EDGCNTA - Edge Counter A
  67816. */
  67817. #define PWM_CAPTCOMPA_EDGCNTA(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPA_EDGCNTA_SHIFT)) & PWM_CAPTCOMPA_EDGCNTA_MASK)
  67818. /*! @} */
  67819. /* The count of PWM_CAPTCOMPA */
  67820. #define PWM_CAPTCOMPA_COUNT (4U)
  67821. /*! @name CAPTCTRLB - Capture Control B Register */
  67822. /*! @{ */
  67823. #define PWM_CAPTCTRLB_ARMB_MASK (0x1U)
  67824. #define PWM_CAPTCTRLB_ARMB_SHIFT (0U)
  67825. /*! ARMB - Arm B
  67826. * 0b0..Input capture operation is disabled.
  67827. * 0b1..Input capture operation as specified by CAPTCTRLB[EDGBx] is enabled.
  67828. */
  67829. #define PWM_CAPTCTRLB_ARMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ARMB_SHIFT)) & PWM_CAPTCTRLB_ARMB_MASK)
  67830. #define PWM_CAPTCTRLB_ONESHOTB_MASK (0x2U)
  67831. #define PWM_CAPTCTRLB_ONESHOTB_SHIFT (1U)
  67832. /*! ONESHOTB - One Shot Mode B
  67833. * 0b0..Free Running
  67834. * 0b1..One Shot
  67835. */
  67836. #define PWM_CAPTCTRLB_ONESHOTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_ONESHOTB_SHIFT)) & PWM_CAPTCTRLB_ONESHOTB_MASK)
  67837. #define PWM_CAPTCTRLB_EDGB0_MASK (0xCU)
  67838. #define PWM_CAPTCTRLB_EDGB0_SHIFT (2U)
  67839. /*! EDGB0 - Edge B 0
  67840. * 0b00..Disabled
  67841. * 0b01..Capture falling edges
  67842. * 0b10..Capture rising edges
  67843. * 0b11..Capture any edge
  67844. */
  67845. #define PWM_CAPTCTRLB_EDGB0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB0_SHIFT)) & PWM_CAPTCTRLB_EDGB0_MASK)
  67846. #define PWM_CAPTCTRLB_EDGB1_MASK (0x30U)
  67847. #define PWM_CAPTCTRLB_EDGB1_SHIFT (4U)
  67848. /*! EDGB1 - Edge B 1
  67849. * 0b00..Disabled
  67850. * 0b01..Capture falling edges
  67851. * 0b10..Capture rising edges
  67852. * 0b11..Capture any edge
  67853. */
  67854. #define PWM_CAPTCTRLB_EDGB1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGB1_SHIFT)) & PWM_CAPTCTRLB_EDGB1_MASK)
  67855. #define PWM_CAPTCTRLB_INP_SELB_MASK (0x40U)
  67856. #define PWM_CAPTCTRLB_INP_SELB_SHIFT (6U)
  67857. /*! INP_SELB - Input Select B
  67858. * 0b0..Raw PWM_B input signal selected as source.
  67859. * 0b1..Edge Counter
  67860. */
  67861. #define PWM_CAPTCTRLB_INP_SELB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_INP_SELB_SHIFT)) & PWM_CAPTCTRLB_INP_SELB_MASK)
  67862. #define PWM_CAPTCTRLB_EDGCNTB_EN_MASK (0x80U)
  67863. #define PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT (7U)
  67864. /*! EDGCNTB_EN - Edge Counter B Enable
  67865. * 0b0..Edge counter disabled and held in reset
  67866. * 0b1..Edge counter enabled
  67867. */
  67868. #define PWM_CAPTCTRLB_EDGCNTB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_EDGCNTB_EN_SHIFT)) & PWM_CAPTCTRLB_EDGCNTB_EN_MASK)
  67869. #define PWM_CAPTCTRLB_CFBWM_MASK (0x300U)
  67870. #define PWM_CAPTCTRLB_CFBWM_SHIFT (8U)
  67871. /*! CFBWM - Capture B FIFOs Water Mark
  67872. */
  67873. #define PWM_CAPTCTRLB_CFBWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CFBWM_SHIFT)) & PWM_CAPTCTRLB_CFBWM_MASK)
  67874. #define PWM_CAPTCTRLB_CB0CNT_MASK (0x1C00U)
  67875. #define PWM_CAPTCTRLB_CB0CNT_SHIFT (10U)
  67876. /*! CB0CNT - Capture B0 FIFO Word Count
  67877. */
  67878. #define PWM_CAPTCTRLB_CB0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB0CNT_SHIFT)) & PWM_CAPTCTRLB_CB0CNT_MASK)
  67879. #define PWM_CAPTCTRLB_CB1CNT_MASK (0xE000U)
  67880. #define PWM_CAPTCTRLB_CB1CNT_SHIFT (13U)
  67881. /*! CB1CNT - Capture B1 FIFO Word Count
  67882. */
  67883. #define PWM_CAPTCTRLB_CB1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLB_CB1CNT_SHIFT)) & PWM_CAPTCTRLB_CB1CNT_MASK)
  67884. /*! @} */
  67885. /* The count of PWM_CAPTCTRLB */
  67886. #define PWM_CAPTCTRLB_COUNT (4U)
  67887. /*! @name CAPTCOMPB - Capture Compare B Register */
  67888. /*! @{ */
  67889. #define PWM_CAPTCOMPB_EDGCMPB_MASK (0xFFU)
  67890. #define PWM_CAPTCOMPB_EDGCMPB_SHIFT (0U)
  67891. /*! EDGCMPB - Edge Compare B
  67892. */
  67893. #define PWM_CAPTCOMPB_EDGCMPB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCMPB_SHIFT)) & PWM_CAPTCOMPB_EDGCMPB_MASK)
  67894. #define PWM_CAPTCOMPB_EDGCNTB_MASK (0xFF00U)
  67895. #define PWM_CAPTCOMPB_EDGCNTB_SHIFT (8U)
  67896. /*! EDGCNTB - Edge Counter B
  67897. */
  67898. #define PWM_CAPTCOMPB_EDGCNTB(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPB_EDGCNTB_SHIFT)) & PWM_CAPTCOMPB_EDGCNTB_MASK)
  67899. /*! @} */
  67900. /* The count of PWM_CAPTCOMPB */
  67901. #define PWM_CAPTCOMPB_COUNT (4U)
  67902. /*! @name CAPTCTRLX - Capture Control X Register */
  67903. /*! @{ */
  67904. #define PWM_CAPTCTRLX_ARMX_MASK (0x1U)
  67905. #define PWM_CAPTCTRLX_ARMX_SHIFT (0U)
  67906. /*! ARMX - Arm X
  67907. * 0b0..Input capture operation is disabled.
  67908. * 0b1..Input capture operation as specified by CAPTCTRLX[EDGXx] is enabled.
  67909. */
  67910. #define PWM_CAPTCTRLX_ARMX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ARMX_SHIFT)) & PWM_CAPTCTRLX_ARMX_MASK)
  67911. #define PWM_CAPTCTRLX_ONESHOTX_MASK (0x2U)
  67912. #define PWM_CAPTCTRLX_ONESHOTX_SHIFT (1U)
  67913. /*! ONESHOTX - One Shot Mode Aux
  67914. * 0b0..Free Running
  67915. * 0b1..One Shot
  67916. */
  67917. #define PWM_CAPTCTRLX_ONESHOTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_ONESHOTX_SHIFT)) & PWM_CAPTCTRLX_ONESHOTX_MASK)
  67918. #define PWM_CAPTCTRLX_EDGX0_MASK (0xCU)
  67919. #define PWM_CAPTCTRLX_EDGX0_SHIFT (2U)
  67920. /*! EDGX0 - Edge X 0
  67921. * 0b00..Disabled
  67922. * 0b01..Capture falling edges
  67923. * 0b10..Capture rising edges
  67924. * 0b11..Capture any edge
  67925. */
  67926. #define PWM_CAPTCTRLX_EDGX0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX0_SHIFT)) & PWM_CAPTCTRLX_EDGX0_MASK)
  67927. #define PWM_CAPTCTRLX_EDGX1_MASK (0x30U)
  67928. #define PWM_CAPTCTRLX_EDGX1_SHIFT (4U)
  67929. /*! EDGX1 - Edge X 1
  67930. * 0b00..Disabled
  67931. * 0b01..Capture falling edges
  67932. * 0b10..Capture rising edges
  67933. * 0b11..Capture any edge
  67934. */
  67935. #define PWM_CAPTCTRLX_EDGX1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGX1_SHIFT)) & PWM_CAPTCTRLX_EDGX1_MASK)
  67936. #define PWM_CAPTCTRLX_INP_SELX_MASK (0x40U)
  67937. #define PWM_CAPTCTRLX_INP_SELX_SHIFT (6U)
  67938. /*! INP_SELX - Input Select X
  67939. * 0b0..Raw PWM_X input signal selected as source.
  67940. * 0b1..Edge Counter
  67941. */
  67942. #define PWM_CAPTCTRLX_INP_SELX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_INP_SELX_SHIFT)) & PWM_CAPTCTRLX_INP_SELX_MASK)
  67943. #define PWM_CAPTCTRLX_EDGCNTX_EN_MASK (0x80U)
  67944. #define PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT (7U)
  67945. /*! EDGCNTX_EN - Edge Counter X Enable
  67946. * 0b0..Edge counter disabled and held in reset
  67947. * 0b1..Edge counter enabled
  67948. */
  67949. #define PWM_CAPTCTRLX_EDGCNTX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_EDGCNTX_EN_SHIFT)) & PWM_CAPTCTRLX_EDGCNTX_EN_MASK)
  67950. #define PWM_CAPTCTRLX_CFXWM_MASK (0x300U)
  67951. #define PWM_CAPTCTRLX_CFXWM_SHIFT (8U)
  67952. /*! CFXWM - Capture X FIFOs Water Mark
  67953. */
  67954. #define PWM_CAPTCTRLX_CFXWM(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CFXWM_SHIFT)) & PWM_CAPTCTRLX_CFXWM_MASK)
  67955. #define PWM_CAPTCTRLX_CX0CNT_MASK (0x1C00U)
  67956. #define PWM_CAPTCTRLX_CX0CNT_SHIFT (10U)
  67957. /*! CX0CNT - Capture X0 FIFO Word Count
  67958. */
  67959. #define PWM_CAPTCTRLX_CX0CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX0CNT_SHIFT)) & PWM_CAPTCTRLX_CX0CNT_MASK)
  67960. #define PWM_CAPTCTRLX_CX1CNT_MASK (0xE000U)
  67961. #define PWM_CAPTCTRLX_CX1CNT_SHIFT (13U)
  67962. /*! CX1CNT - Capture X1 FIFO Word Count
  67963. */
  67964. #define PWM_CAPTCTRLX_CX1CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCTRLX_CX1CNT_SHIFT)) & PWM_CAPTCTRLX_CX1CNT_MASK)
  67965. /*! @} */
  67966. /* The count of PWM_CAPTCTRLX */
  67967. #define PWM_CAPTCTRLX_COUNT (4U)
  67968. /*! @name CAPTCOMPX - Capture Compare X Register */
  67969. /*! @{ */
  67970. #define PWM_CAPTCOMPX_EDGCMPX_MASK (0xFFU)
  67971. #define PWM_CAPTCOMPX_EDGCMPX_SHIFT (0U)
  67972. /*! EDGCMPX - Edge Compare X
  67973. */
  67974. #define PWM_CAPTCOMPX_EDGCMPX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCMPX_SHIFT)) & PWM_CAPTCOMPX_EDGCMPX_MASK)
  67975. #define PWM_CAPTCOMPX_EDGCNTX_MASK (0xFF00U)
  67976. #define PWM_CAPTCOMPX_EDGCNTX_SHIFT (8U)
  67977. /*! EDGCNTX - Edge Counter X
  67978. */
  67979. #define PWM_CAPTCOMPX_EDGCNTX(x) (((uint16_t)(((uint16_t)(x)) << PWM_CAPTCOMPX_EDGCNTX_SHIFT)) & PWM_CAPTCOMPX_EDGCNTX_MASK)
  67980. /*! @} */
  67981. /* The count of PWM_CAPTCOMPX */
  67982. #define PWM_CAPTCOMPX_COUNT (4U)
  67983. /*! @name CVAL0 - Capture Value 0 Register */
  67984. /*! @{ */
  67985. #define PWM_CVAL0_CAPTVAL0_MASK (0xFFFFU)
  67986. #define PWM_CVAL0_CAPTVAL0_SHIFT (0U)
  67987. /*! CAPTVAL0 - CAPTVAL0
  67988. */
  67989. #define PWM_CVAL0_CAPTVAL0(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0_CAPTVAL0_SHIFT)) & PWM_CVAL0_CAPTVAL0_MASK)
  67990. /*! @} */
  67991. /* The count of PWM_CVAL0 */
  67992. #define PWM_CVAL0_COUNT (4U)
  67993. /*! @name CVAL0CYC - Capture Value 0 Cycle Register */
  67994. /*! @{ */
  67995. #define PWM_CVAL0CYC_CVAL0CYC_MASK (0xFU)
  67996. #define PWM_CVAL0CYC_CVAL0CYC_SHIFT (0U)
  67997. /*! CVAL0CYC - CVAL0CYC
  67998. */
  67999. #define PWM_CVAL0CYC_CVAL0CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL0CYC_CVAL0CYC_SHIFT)) & PWM_CVAL0CYC_CVAL0CYC_MASK)
  68000. /*! @} */
  68001. /* The count of PWM_CVAL0CYC */
  68002. #define PWM_CVAL0CYC_COUNT (4U)
  68003. /*! @name CVAL1 - Capture Value 1 Register */
  68004. /*! @{ */
  68005. #define PWM_CVAL1_CAPTVAL1_MASK (0xFFFFU)
  68006. #define PWM_CVAL1_CAPTVAL1_SHIFT (0U)
  68007. /*! CAPTVAL1 - CAPTVAL1
  68008. */
  68009. #define PWM_CVAL1_CAPTVAL1(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1_CAPTVAL1_SHIFT)) & PWM_CVAL1_CAPTVAL1_MASK)
  68010. /*! @} */
  68011. /* The count of PWM_CVAL1 */
  68012. #define PWM_CVAL1_COUNT (4U)
  68013. /*! @name CVAL1CYC - Capture Value 1 Cycle Register */
  68014. /*! @{ */
  68015. #define PWM_CVAL1CYC_CVAL1CYC_MASK (0xFU)
  68016. #define PWM_CVAL1CYC_CVAL1CYC_SHIFT (0U)
  68017. /*! CVAL1CYC - CVAL1CYC
  68018. */
  68019. #define PWM_CVAL1CYC_CVAL1CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL1CYC_CVAL1CYC_SHIFT)) & PWM_CVAL1CYC_CVAL1CYC_MASK)
  68020. /*! @} */
  68021. /* The count of PWM_CVAL1CYC */
  68022. #define PWM_CVAL1CYC_COUNT (4U)
  68023. /*! @name CVAL2 - Capture Value 2 Register */
  68024. /*! @{ */
  68025. #define PWM_CVAL2_CAPTVAL2_MASK (0xFFFFU)
  68026. #define PWM_CVAL2_CAPTVAL2_SHIFT (0U)
  68027. /*! CAPTVAL2 - CAPTVAL2
  68028. */
  68029. #define PWM_CVAL2_CAPTVAL2(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2_CAPTVAL2_SHIFT)) & PWM_CVAL2_CAPTVAL2_MASK)
  68030. /*! @} */
  68031. /* The count of PWM_CVAL2 */
  68032. #define PWM_CVAL2_COUNT (4U)
  68033. /*! @name CVAL2CYC - Capture Value 2 Cycle Register */
  68034. /*! @{ */
  68035. #define PWM_CVAL2CYC_CVAL2CYC_MASK (0xFU)
  68036. #define PWM_CVAL2CYC_CVAL2CYC_SHIFT (0U)
  68037. /*! CVAL2CYC - CVAL2CYC
  68038. */
  68039. #define PWM_CVAL2CYC_CVAL2CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL2CYC_CVAL2CYC_SHIFT)) & PWM_CVAL2CYC_CVAL2CYC_MASK)
  68040. /*! @} */
  68041. /* The count of PWM_CVAL2CYC */
  68042. #define PWM_CVAL2CYC_COUNT (4U)
  68043. /*! @name CVAL3 - Capture Value 3 Register */
  68044. /*! @{ */
  68045. #define PWM_CVAL3_CAPTVAL3_MASK (0xFFFFU)
  68046. #define PWM_CVAL3_CAPTVAL3_SHIFT (0U)
  68047. /*! CAPTVAL3 - CAPTVAL3
  68048. */
  68049. #define PWM_CVAL3_CAPTVAL3(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3_CAPTVAL3_SHIFT)) & PWM_CVAL3_CAPTVAL3_MASK)
  68050. /*! @} */
  68051. /* The count of PWM_CVAL3 */
  68052. #define PWM_CVAL3_COUNT (4U)
  68053. /*! @name CVAL3CYC - Capture Value 3 Cycle Register */
  68054. /*! @{ */
  68055. #define PWM_CVAL3CYC_CVAL3CYC_MASK (0xFU)
  68056. #define PWM_CVAL3CYC_CVAL3CYC_SHIFT (0U)
  68057. /*! CVAL3CYC - CVAL3CYC
  68058. */
  68059. #define PWM_CVAL3CYC_CVAL3CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL3CYC_CVAL3CYC_SHIFT)) & PWM_CVAL3CYC_CVAL3CYC_MASK)
  68060. /*! @} */
  68061. /* The count of PWM_CVAL3CYC */
  68062. #define PWM_CVAL3CYC_COUNT (4U)
  68063. /*! @name CVAL4 - Capture Value 4 Register */
  68064. /*! @{ */
  68065. #define PWM_CVAL4_CAPTVAL4_MASK (0xFFFFU)
  68066. #define PWM_CVAL4_CAPTVAL4_SHIFT (0U)
  68067. /*! CAPTVAL4 - CAPTVAL4
  68068. */
  68069. #define PWM_CVAL4_CAPTVAL4(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4_CAPTVAL4_SHIFT)) & PWM_CVAL4_CAPTVAL4_MASK)
  68070. /*! @} */
  68071. /* The count of PWM_CVAL4 */
  68072. #define PWM_CVAL4_COUNT (4U)
  68073. /*! @name CVAL4CYC - Capture Value 4 Cycle Register */
  68074. /*! @{ */
  68075. #define PWM_CVAL4CYC_CVAL4CYC_MASK (0xFU)
  68076. #define PWM_CVAL4CYC_CVAL4CYC_SHIFT (0U)
  68077. /*! CVAL4CYC - CVAL4CYC
  68078. */
  68079. #define PWM_CVAL4CYC_CVAL4CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL4CYC_CVAL4CYC_SHIFT)) & PWM_CVAL4CYC_CVAL4CYC_MASK)
  68080. /*! @} */
  68081. /* The count of PWM_CVAL4CYC */
  68082. #define PWM_CVAL4CYC_COUNT (4U)
  68083. /*! @name CVAL5 - Capture Value 5 Register */
  68084. /*! @{ */
  68085. #define PWM_CVAL5_CAPTVAL5_MASK (0xFFFFU)
  68086. #define PWM_CVAL5_CAPTVAL5_SHIFT (0U)
  68087. /*! CAPTVAL5 - CAPTVAL5
  68088. */
  68089. #define PWM_CVAL5_CAPTVAL5(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5_CAPTVAL5_SHIFT)) & PWM_CVAL5_CAPTVAL5_MASK)
  68090. /*! @} */
  68091. /* The count of PWM_CVAL5 */
  68092. #define PWM_CVAL5_COUNT (4U)
  68093. /*! @name CVAL5CYC - Capture Value 5 Cycle Register */
  68094. /*! @{ */
  68095. #define PWM_CVAL5CYC_CVAL5CYC_MASK (0xFU)
  68096. #define PWM_CVAL5CYC_CVAL5CYC_SHIFT (0U)
  68097. /*! CVAL5CYC - CVAL5CYC
  68098. */
  68099. #define PWM_CVAL5CYC_CVAL5CYC(x) (((uint16_t)(((uint16_t)(x)) << PWM_CVAL5CYC_CVAL5CYC_SHIFT)) & PWM_CVAL5CYC_CVAL5CYC_MASK)
  68100. /*! @} */
  68101. /* The count of PWM_CVAL5CYC */
  68102. #define PWM_CVAL5CYC_COUNT (4U)
  68103. /*! @name OUTEN - Output Enable Register */
  68104. /*! @{ */
  68105. #define PWM_OUTEN_PWMX_EN_MASK (0xFU)
  68106. #define PWM_OUTEN_PWMX_EN_SHIFT (0U)
  68107. /*! PWMX_EN - PWM_X Output Enables
  68108. * 0b0000..PWM_X output disabled.
  68109. * 0b0001..PWM_X output enabled.
  68110. */
  68111. #define PWM_OUTEN_PWMX_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMX_EN_SHIFT)) & PWM_OUTEN_PWMX_EN_MASK)
  68112. #define PWM_OUTEN_PWMB_EN_MASK (0xF0U)
  68113. #define PWM_OUTEN_PWMB_EN_SHIFT (4U)
  68114. /*! PWMB_EN - PWM_B Output Enables
  68115. * 0b0000..PWM_B output disabled.
  68116. * 0b0001..PWM_B output enabled.
  68117. */
  68118. #define PWM_OUTEN_PWMB_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMB_EN_SHIFT)) & PWM_OUTEN_PWMB_EN_MASK)
  68119. #define PWM_OUTEN_PWMA_EN_MASK (0xF00U)
  68120. #define PWM_OUTEN_PWMA_EN_SHIFT (8U)
  68121. /*! PWMA_EN - PWM_A Output Enables
  68122. * 0b0000..PWM_A output disabled.
  68123. * 0b0001..PWM_A output enabled.
  68124. */
  68125. #define PWM_OUTEN_PWMA_EN(x) (((uint16_t)(((uint16_t)(x)) << PWM_OUTEN_PWMA_EN_SHIFT)) & PWM_OUTEN_PWMA_EN_MASK)
  68126. /*! @} */
  68127. /*! @name MASK - Mask Register */
  68128. /*! @{ */
  68129. #define PWM_MASK_MASKX_MASK (0xFU)
  68130. #define PWM_MASK_MASKX_SHIFT (0U)
  68131. /*! MASKX - PWM_X Masks
  68132. * 0b0000..PWM_X output normal.
  68133. * 0b0001..PWM_X output masked.
  68134. */
  68135. #define PWM_MASK_MASKX(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKX_SHIFT)) & PWM_MASK_MASKX_MASK)
  68136. #define PWM_MASK_MASKB_MASK (0xF0U)
  68137. #define PWM_MASK_MASKB_SHIFT (4U)
  68138. /*! MASKB - PWM_B Masks
  68139. * 0b0000..PWM_B output normal.
  68140. * 0b0001..PWM_B output masked.
  68141. */
  68142. #define PWM_MASK_MASKB(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKB_SHIFT)) & PWM_MASK_MASKB_MASK)
  68143. #define PWM_MASK_MASKA_MASK (0xF00U)
  68144. #define PWM_MASK_MASKA_SHIFT (8U)
  68145. /*! MASKA - PWM_A Masks
  68146. * 0b0000..PWM_A output normal.
  68147. * 0b0001..PWM_A output masked.
  68148. */
  68149. #define PWM_MASK_MASKA(x) (((uint16_t)(((uint16_t)(x)) << PWM_MASK_MASKA_SHIFT)) & PWM_MASK_MASKA_MASK)
  68150. /*! @} */
  68151. /*! @name SWCOUT - Software Controlled Output Register */
  68152. /*! @{ */
  68153. #define PWM_SWCOUT_SM0OUT45_MASK (0x1U)
  68154. #define PWM_SWCOUT_SM0OUT45_SHIFT (0U)
  68155. /*! SM0OUT45 - Submodule 0 Software Controlled Output 45
  68156. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  68157. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM45.
  68158. */
  68159. #define PWM_SWCOUT_SM0OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT45_SHIFT)) & PWM_SWCOUT_SM0OUT45_MASK)
  68160. #define PWM_SWCOUT_SM0OUT23_MASK (0x2U)
  68161. #define PWM_SWCOUT_SM0OUT23_SHIFT (1U)
  68162. /*! SM0OUT23 - Submodule 0 Software Controlled Output 23
  68163. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  68164. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 0 instead of PWM23.
  68165. */
  68166. #define PWM_SWCOUT_SM0OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM0OUT23_SHIFT)) & PWM_SWCOUT_SM0OUT23_MASK)
  68167. #define PWM_SWCOUT_SM1OUT45_MASK (0x4U)
  68168. #define PWM_SWCOUT_SM1OUT45_SHIFT (2U)
  68169. /*! SM1OUT45 - Submodule 1 Software Controlled Output 45
  68170. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  68171. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM45.
  68172. */
  68173. #define PWM_SWCOUT_SM1OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT45_SHIFT)) & PWM_SWCOUT_SM1OUT45_MASK)
  68174. #define PWM_SWCOUT_SM1OUT23_MASK (0x8U)
  68175. #define PWM_SWCOUT_SM1OUT23_SHIFT (3U)
  68176. /*! SM1OUT23 - Submodule 1 Software Controlled Output 23
  68177. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  68178. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 1 instead of PWM23.
  68179. */
  68180. #define PWM_SWCOUT_SM1OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM1OUT23_SHIFT)) & PWM_SWCOUT_SM1OUT23_MASK)
  68181. #define PWM_SWCOUT_SM2OUT45_MASK (0x10U)
  68182. #define PWM_SWCOUT_SM2OUT45_SHIFT (4U)
  68183. /*! SM2OUT45 - Submodule 2 Software Controlled Output 45
  68184. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  68185. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM45.
  68186. */
  68187. #define PWM_SWCOUT_SM2OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT45_SHIFT)) & PWM_SWCOUT_SM2OUT45_MASK)
  68188. #define PWM_SWCOUT_SM2OUT23_MASK (0x20U)
  68189. #define PWM_SWCOUT_SM2OUT23_SHIFT (5U)
  68190. /*! SM2OUT23 - Submodule 2 Software Controlled Output 23
  68191. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  68192. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 2 instead of PWM23.
  68193. */
  68194. #define PWM_SWCOUT_SM2OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM2OUT23_SHIFT)) & PWM_SWCOUT_SM2OUT23_MASK)
  68195. #define PWM_SWCOUT_SM3OUT45_MASK (0x40U)
  68196. #define PWM_SWCOUT_SM3OUT45_SHIFT (6U)
  68197. /*! SM3OUT45 - Submodule 3 Software Controlled Output 45
  68198. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  68199. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM45.
  68200. */
  68201. #define PWM_SWCOUT_SM3OUT45(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT45_SHIFT)) & PWM_SWCOUT_SM3OUT45_MASK)
  68202. #define PWM_SWCOUT_SM3OUT23_MASK (0x80U)
  68203. #define PWM_SWCOUT_SM3OUT23_SHIFT (7U)
  68204. /*! SM3OUT23 - Submodule 3 Software Controlled Output 23
  68205. * 0b0..A logic 0 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  68206. * 0b1..A logic 1 is supplied to the deadtime generator of submodule 3 instead of PWM23.
  68207. */
  68208. #define PWM_SWCOUT_SM3OUT23(x) (((uint16_t)(((uint16_t)(x)) << PWM_SWCOUT_SM3OUT23_SHIFT)) & PWM_SWCOUT_SM3OUT23_MASK)
  68209. /*! @} */
  68210. /*! @name DTSRCSEL - PWM Source Select Register */
  68211. /*! @{ */
  68212. #define PWM_DTSRCSEL_SM0SEL45_MASK (0x3U)
  68213. #define PWM_DTSRCSEL_SM0SEL45_SHIFT (0U)
  68214. /*! SM0SEL45 - Submodule 0 PWM45 Control Select
  68215. * 0b00..Generated SM0PWM45 signal is used by the deadtime logic.
  68216. * 0b01..Inverted generated SM0PWM45 signal is used by the deadtime logic.
  68217. * 0b10..SWCOUT[SM0OUT45] is used by the deadtime logic.
  68218. * 0b11..PWM0_EXTB signal is used by the deadtime logic.
  68219. */
  68220. #define PWM_DTSRCSEL_SM0SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL45_SHIFT)) & PWM_DTSRCSEL_SM0SEL45_MASK)
  68221. #define PWM_DTSRCSEL_SM0SEL23_MASK (0xCU)
  68222. #define PWM_DTSRCSEL_SM0SEL23_SHIFT (2U)
  68223. /*! SM0SEL23 - Submodule 0 PWM23 Control Select
  68224. * 0b00..Generated SM0PWM23 signal is used by the deadtime logic.
  68225. * 0b01..Inverted generated SM0PWM23 signal is used by the deadtime logic.
  68226. * 0b10..SWCOUT[SM0OUT23] is used by the deadtime logic.
  68227. * 0b11..PWM0_EXTA signal is used by the deadtime logic.
  68228. */
  68229. #define PWM_DTSRCSEL_SM0SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM0SEL23_SHIFT)) & PWM_DTSRCSEL_SM0SEL23_MASK)
  68230. #define PWM_DTSRCSEL_SM1SEL45_MASK (0x30U)
  68231. #define PWM_DTSRCSEL_SM1SEL45_SHIFT (4U)
  68232. /*! SM1SEL45 - Submodule 1 PWM45 Control Select
  68233. * 0b00..Generated SM1PWM45 signal is used by the deadtime logic.
  68234. * 0b01..Inverted generated SM1PWM45 signal is used by the deadtime logic.
  68235. * 0b10..SWCOUT[SM1OUT45] is used by the deadtime logic.
  68236. * 0b11..PWM1_EXTB signal is used by the deadtime logic.
  68237. */
  68238. #define PWM_DTSRCSEL_SM1SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL45_SHIFT)) & PWM_DTSRCSEL_SM1SEL45_MASK)
  68239. #define PWM_DTSRCSEL_SM1SEL23_MASK (0xC0U)
  68240. #define PWM_DTSRCSEL_SM1SEL23_SHIFT (6U)
  68241. /*! SM1SEL23 - Submodule 1 PWM23 Control Select
  68242. * 0b00..Generated SM1PWM23 signal is used by the deadtime logic.
  68243. * 0b01..Inverted generated SM1PWM23 signal is used by the deadtime logic.
  68244. * 0b10..SWCOUT[SM1OUT23] is used by the deadtime logic.
  68245. * 0b11..PWM1_EXTA signal is used by the deadtime logic.
  68246. */
  68247. #define PWM_DTSRCSEL_SM1SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM1SEL23_SHIFT)) & PWM_DTSRCSEL_SM1SEL23_MASK)
  68248. #define PWM_DTSRCSEL_SM2SEL45_MASK (0x300U)
  68249. #define PWM_DTSRCSEL_SM2SEL45_SHIFT (8U)
  68250. /*! SM2SEL45 - Submodule 2 PWM45 Control Select
  68251. * 0b00..Generated SM2PWM45 signal is used by the deadtime logic.
  68252. * 0b01..Inverted generated SM2PWM45 signal is used by the deadtime logic.
  68253. * 0b10..SWCOUT[SM2OUT45] is used by the deadtime logic.
  68254. * 0b11..PWM2_EXTB signal is used by the deadtime logic.
  68255. */
  68256. #define PWM_DTSRCSEL_SM2SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL45_SHIFT)) & PWM_DTSRCSEL_SM2SEL45_MASK)
  68257. #define PWM_DTSRCSEL_SM2SEL23_MASK (0xC00U)
  68258. #define PWM_DTSRCSEL_SM2SEL23_SHIFT (10U)
  68259. /*! SM2SEL23 - Submodule 2 PWM23 Control Select
  68260. * 0b00..Generated SM2PWM23 signal is used by the deadtime logic.
  68261. * 0b01..Inverted generated SM2PWM23 signal is used by the deadtime logic.
  68262. * 0b10..SWCOUT[SM2OUT23] is used by the deadtime logic.
  68263. * 0b11..PWM2_EXTA signal is used by the deadtime logic.
  68264. */
  68265. #define PWM_DTSRCSEL_SM2SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM2SEL23_SHIFT)) & PWM_DTSRCSEL_SM2SEL23_MASK)
  68266. #define PWM_DTSRCSEL_SM3SEL45_MASK (0x3000U)
  68267. #define PWM_DTSRCSEL_SM3SEL45_SHIFT (12U)
  68268. /*! SM3SEL45 - Submodule 3 PWM45 Control Select
  68269. * 0b00..Generated SM3PWM45 signal is used by the deadtime logic.
  68270. * 0b01..Inverted generated SM3PWM45 signal is used by the deadtime logic.
  68271. * 0b10..SWCOUT[SM3OUT45] is used by the deadtime logic.
  68272. * 0b11..PWM3_EXTB signal is used by the deadtime logic.
  68273. */
  68274. #define PWM_DTSRCSEL_SM3SEL45(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL45_SHIFT)) & PWM_DTSRCSEL_SM3SEL45_MASK)
  68275. #define PWM_DTSRCSEL_SM3SEL23_MASK (0xC000U)
  68276. #define PWM_DTSRCSEL_SM3SEL23_SHIFT (14U)
  68277. /*! SM3SEL23 - Submodule 3 PWM23 Control Select
  68278. * 0b00..Generated SM3PWM23 signal is used by the deadtime logic.
  68279. * 0b01..Inverted generated SM3PWM23 signal is used by the deadtime logic.
  68280. * 0b10..SWCOUT[SM3OUT23] is used by the deadtime logic.
  68281. * 0b11..PWM3_EXTA signal is used by the deadtime logic.
  68282. */
  68283. #define PWM_DTSRCSEL_SM3SEL23(x) (((uint16_t)(((uint16_t)(x)) << PWM_DTSRCSEL_SM3SEL23_SHIFT)) & PWM_DTSRCSEL_SM3SEL23_MASK)
  68284. /*! @} */
  68285. /*! @name MCTRL - Master Control Register */
  68286. /*! @{ */
  68287. #define PWM_MCTRL_LDOK_MASK (0xFU)
  68288. #define PWM_MCTRL_LDOK_SHIFT (0U)
  68289. /*! LDOK - Load Okay
  68290. * 0b0000..Do not load new values.
  68291. * 0b0001..Load prescaler, modulus, and PWM values of the corresponding submodule.
  68292. */
  68293. #define PWM_MCTRL_LDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_LDOK_SHIFT)) & PWM_MCTRL_LDOK_MASK)
  68294. #define PWM_MCTRL_CLDOK_MASK (0xF0U)
  68295. #define PWM_MCTRL_CLDOK_SHIFT (4U)
  68296. /*! CLDOK - Clear Load Okay
  68297. */
  68298. #define PWM_MCTRL_CLDOK(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_CLDOK_SHIFT)) & PWM_MCTRL_CLDOK_MASK)
  68299. #define PWM_MCTRL_RUN_MASK (0xF00U)
  68300. #define PWM_MCTRL_RUN_SHIFT (8U)
  68301. /*! RUN - Run
  68302. * 0b0000..PWM counter is stopped, but PWM outputs will hold the current state.
  68303. * 0b0001..PWM counter is started in the corresponding submodule.
  68304. */
  68305. #define PWM_MCTRL_RUN(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_RUN_SHIFT)) & PWM_MCTRL_RUN_MASK)
  68306. #define PWM_MCTRL_IPOL_MASK (0xF000U)
  68307. #define PWM_MCTRL_IPOL_SHIFT (12U)
  68308. /*! IPOL - Current Polarity
  68309. * 0b0000..PWM23 is used to generate complementary PWM pair in the corresponding submodule.
  68310. * 0b0001..PWM45 is used to generate complementary PWM pair in the corresponding submodule.
  68311. */
  68312. #define PWM_MCTRL_IPOL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL_IPOL_SHIFT)) & PWM_MCTRL_IPOL_MASK)
  68313. /*! @} */
  68314. /*! @name MCTRL2 - Master Control 2 Register */
  68315. /*! @{ */
  68316. #define PWM_MCTRL2_MONPLL_MASK (0x3U)
  68317. #define PWM_MCTRL2_MONPLL_SHIFT (0U)
  68318. /*! MONPLL - Monitor PLL State
  68319. * 0b00..Not locked. Do not monitor PLL operation. Resetting of the fractional delay block in case of PLL losing lock will be controlled by software.
  68320. * 0b01..Not locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL encounters problems.
  68321. * 0b10..Locked. Do not monitor PLL operation. Resetting of the fractional delay block in case of PLL losing lock
  68322. * will be controlled by software. These bits are write protected until the next reset.
  68323. * 0b11..Locked. Monitor PLL operation to automatically disable the fractional delay block when the PLL
  68324. * encounters problems. These bits are write protected until the next reset.
  68325. */
  68326. #define PWM_MCTRL2_MONPLL(x) (((uint16_t)(((uint16_t)(x)) << PWM_MCTRL2_MONPLL_SHIFT)) & PWM_MCTRL2_MONPLL_MASK)
  68327. /*! @} */
  68328. /*! @name FCTRL - Fault Control Register */
  68329. /*! @{ */
  68330. #define PWM_FCTRL_FIE_MASK (0xFU)
  68331. #define PWM_FCTRL_FIE_SHIFT (0U)
  68332. /*! FIE - Fault Interrupt Enables
  68333. * 0b0000..FAULTx CPU interrupt requests disabled.
  68334. * 0b0001..FAULTx CPU interrupt requests enabled.
  68335. */
  68336. #define PWM_FCTRL_FIE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FIE_SHIFT)) & PWM_FCTRL_FIE_MASK)
  68337. #define PWM_FCTRL_FSAFE_MASK (0xF0U)
  68338. #define PWM_FCTRL_FSAFE_SHIFT (4U)
  68339. /*! FSAFE - Fault Safety Mode
  68340. * 0b0000..Normal mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear at the
  68341. * start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without regard
  68342. * to the state of FSTS[FFPINx]. If neither FHALF nor FFULL is set then the fault condition cannot be
  68343. * cleared. The PWM outputs disabled by this fault input will not be re-enabled until the actual FAULTx input
  68344. * signal de-asserts since the fault input will combinationally disable the PWM outputs (as programmed in
  68345. * DISMAPn).
  68346. * 0b0001..Safe mode. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear and
  68347. * FSTS[FFPINx] is clear at the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and
  68348. * FSTS[FFULL]. If neither FHLAF nor FFULL is set, then the fault condition cannot be cleared.
  68349. */
  68350. #define PWM_FCTRL_FSAFE(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FSAFE_SHIFT)) & PWM_FCTRL_FSAFE_MASK)
  68351. #define PWM_FCTRL_FAUTO_MASK (0xF00U)
  68352. #define PWM_FCTRL_FAUTO_SHIFT (8U)
  68353. /*! FAUTO - Automatic Fault Clearing
  68354. * 0b0000..Manual fault clearing. PWM outputs disabled by this fault are not enabled until FSTS[FFLAGx] is clear
  68355. * at the start of a half cycle or full cycle depending the states of FSTS[FHALF] and FSTS[FFULL]. If
  68356. * neither FFULL nor FHALF is set, then the fault condition cannot be cleared. This is further controlled by
  68357. * FCTRL[FSAFE].
  68358. * 0b0001..Automatic fault clearing. PWM outputs disabled by this fault are enabled when FSTS[FFPINx] is clear at
  68359. * the start of a half cycle or full cycle depending on the states of FSTS[FHALF] and FSTS[FFULL] without
  68360. * regard to the state of FSTS[FFLAGx]. If neither FFULL nor FHALF is set, then the fault condition
  68361. * cannot be cleared.
  68362. */
  68363. #define PWM_FCTRL_FAUTO(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FAUTO_SHIFT)) & PWM_FCTRL_FAUTO_MASK)
  68364. #define PWM_FCTRL_FLVL_MASK (0xF000U)
  68365. #define PWM_FCTRL_FLVL_SHIFT (12U)
  68366. /*! FLVL - Fault Level
  68367. * 0b0000..A logic 0 on the fault input indicates a fault condition.
  68368. * 0b0001..A logic 1 on the fault input indicates a fault condition.
  68369. */
  68370. #define PWM_FCTRL_FLVL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL_FLVL_SHIFT)) & PWM_FCTRL_FLVL_MASK)
  68371. /*! @} */
  68372. /*! @name FSTS - Fault Status Register */
  68373. /*! @{ */
  68374. #define PWM_FSTS_FFLAG_MASK (0xFU)
  68375. #define PWM_FSTS_FFLAG_SHIFT (0U)
  68376. /*! FFLAG - Fault Flags
  68377. * 0b0000..No fault on the FAULTx pin.
  68378. * 0b0001..Fault on the FAULTx pin.
  68379. */
  68380. #define PWM_FSTS_FFLAG(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFLAG_SHIFT)) & PWM_FSTS_FFLAG_MASK)
  68381. #define PWM_FSTS_FFULL_MASK (0xF0U)
  68382. #define PWM_FSTS_FFULL_SHIFT (4U)
  68383. /*! FFULL - Full Cycle
  68384. * 0b0000..PWM outputs are not re-enabled at the start of a full cycle
  68385. * 0b0001..PWM outputs are re-enabled at the start of a full cycle
  68386. */
  68387. #define PWM_FSTS_FFULL(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFULL_SHIFT)) & PWM_FSTS_FFULL_MASK)
  68388. #define PWM_FSTS_FFPIN_MASK (0xF00U)
  68389. #define PWM_FSTS_FFPIN_SHIFT (8U)
  68390. /*! FFPIN - Filtered Fault Pins
  68391. */
  68392. #define PWM_FSTS_FFPIN(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FFPIN_SHIFT)) & PWM_FSTS_FFPIN_MASK)
  68393. #define PWM_FSTS_FHALF_MASK (0xF000U)
  68394. #define PWM_FSTS_FHALF_SHIFT (12U)
  68395. /*! FHALF - Half Cycle Fault Recovery
  68396. * 0b0000..PWM outputs are not re-enabled at the start of a half cycle.
  68397. * 0b0001..PWM outputs are re-enabled at the start of a half cycle (as defined by VAL0).
  68398. */
  68399. #define PWM_FSTS_FHALF(x) (((uint16_t)(((uint16_t)(x)) << PWM_FSTS_FHALF_SHIFT)) & PWM_FSTS_FHALF_MASK)
  68400. /*! @} */
  68401. /*! @name FFILT - Fault Filter Register */
  68402. /*! @{ */
  68403. #define PWM_FFILT_FILT_PER_MASK (0xFFU)
  68404. #define PWM_FFILT_FILT_PER_SHIFT (0U)
  68405. /*! FILT_PER - Fault Filter Period
  68406. */
  68407. #define PWM_FFILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_PER_SHIFT)) & PWM_FFILT_FILT_PER_MASK)
  68408. #define PWM_FFILT_FILT_CNT_MASK (0x700U)
  68409. #define PWM_FFILT_FILT_CNT_SHIFT (8U)
  68410. /*! FILT_CNT - Fault Filter Count
  68411. */
  68412. #define PWM_FFILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_FILT_CNT_SHIFT)) & PWM_FFILT_FILT_CNT_MASK)
  68413. #define PWM_FFILT_GSTR_MASK (0x8000U)
  68414. #define PWM_FFILT_GSTR_SHIFT (15U)
  68415. /*! GSTR - Fault Glitch Stretch Enable
  68416. * 0b0..Fault input glitch stretching is disabled.
  68417. * 0b1..Input fault signals will be stretched to at least 2 IPBus clock cycles.
  68418. */
  68419. #define PWM_FFILT_GSTR(x) (((uint16_t)(((uint16_t)(x)) << PWM_FFILT_GSTR_SHIFT)) & PWM_FFILT_GSTR_MASK)
  68420. /*! @} */
  68421. /*! @name FTST - Fault Test Register */
  68422. /*! @{ */
  68423. #define PWM_FTST_FTEST_MASK (0x1U)
  68424. #define PWM_FTST_FTEST_SHIFT (0U)
  68425. /*! FTEST - Fault Test
  68426. * 0b0..No fault
  68427. * 0b1..Cause a simulated fault
  68428. */
  68429. #define PWM_FTST_FTEST(x) (((uint16_t)(((uint16_t)(x)) << PWM_FTST_FTEST_SHIFT)) & PWM_FTST_FTEST_MASK)
  68430. /*! @} */
  68431. /*! @name FCTRL2 - Fault Control 2 Register */
  68432. /*! @{ */
  68433. #define PWM_FCTRL2_NOCOMB_MASK (0xFU)
  68434. #define PWM_FCTRL2_NOCOMB_SHIFT (0U)
  68435. /*! NOCOMB - No Combinational Path From Fault Input To PWM Output
  68436. * 0b0000..There is a combinational link from the fault inputs to the PWM outputs. The fault inputs are combined
  68437. * with the filtered and latched fault signals to disable the PWM outputs.
  68438. * 0b0001..The direct combinational path from the fault inputs to the PWM outputs is disabled and the filtered
  68439. * and latched fault signals are used to disable the PWM outputs.
  68440. */
  68441. #define PWM_FCTRL2_NOCOMB(x) (((uint16_t)(((uint16_t)(x)) << PWM_FCTRL2_NOCOMB_SHIFT)) & PWM_FCTRL2_NOCOMB_MASK)
  68442. /*! @} */
  68443. /*!
  68444. * @}
  68445. */ /* end of group PWM_Register_Masks */
  68446. /* PWM - Peripheral instance base addresses */
  68447. /** Peripheral PWM1 base address */
  68448. #define PWM1_BASE (0x4018C000u)
  68449. /** Peripheral PWM1 base pointer */
  68450. #define PWM1 ((PWM_Type *)PWM1_BASE)
  68451. /** Peripheral PWM2 base address */
  68452. #define PWM2_BASE (0x40190000u)
  68453. /** Peripheral PWM2 base pointer */
  68454. #define PWM2 ((PWM_Type *)PWM2_BASE)
  68455. /** Peripheral PWM3 base address */
  68456. #define PWM3_BASE (0x40194000u)
  68457. /** Peripheral PWM3 base pointer */
  68458. #define PWM3 ((PWM_Type *)PWM3_BASE)
  68459. /** Peripheral PWM4 base address */
  68460. #define PWM4_BASE (0x40198000u)
  68461. /** Peripheral PWM4 base pointer */
  68462. #define PWM4 ((PWM_Type *)PWM4_BASE)
  68463. /** Array initializer of PWM peripheral base addresses */
  68464. #define PWM_BASE_ADDRS { 0u, PWM1_BASE, PWM2_BASE, PWM3_BASE, PWM4_BASE }
  68465. /** Array initializer of PWM peripheral base pointers */
  68466. #define PWM_BASE_PTRS { (PWM_Type *)0u, PWM1, PWM2, PWM3, PWM4 }
  68467. /** Interrupt vectors for the PWM peripheral type */
  68468. #define PWM_CMP_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  68469. #define PWM_RELOAD_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  68470. #define PWM_CAPTURE_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { PWM1_0_IRQn, PWM1_1_IRQn, PWM1_2_IRQn, PWM1_3_IRQn }, { PWM2_0_IRQn, PWM2_1_IRQn, PWM2_2_IRQn, PWM2_3_IRQn }, { PWM3_0_IRQn, PWM3_1_IRQn, PWM3_2_IRQn, PWM3_3_IRQn }, { PWM4_0_IRQn, PWM4_1_IRQn, PWM4_2_IRQn, PWM4_3_IRQn } }
  68471. #define PWM_FAULT_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  68472. #define PWM_RELOAD_ERROR_IRQS { NotAvail_IRQn, PWM1_FAULT_IRQn, PWM2_FAULT_IRQn, PWM3_FAULT_IRQn, PWM4_FAULT_IRQn }
  68473. /*!
  68474. * @}
  68475. */ /* end of group PWM_Peripheral_Access_Layer */
  68476. /* ----------------------------------------------------------------------------
  68477. -- PXP Peripheral Access Layer
  68478. ---------------------------------------------------------------------------- */
  68479. /*!
  68480. * @addtogroup PXP_Peripheral_Access_Layer PXP Peripheral Access Layer
  68481. * @{
  68482. */
  68483. /** PXP - Register Layout Typedef */
  68484. typedef struct {
  68485. __IO uint32_t CTRL; /**< Control Register 0, offset: 0x0 */
  68486. __IO uint32_t CTRL_SET; /**< Control Register 0, offset: 0x4 */
  68487. __IO uint32_t CTRL_CLR; /**< Control Register 0, offset: 0x8 */
  68488. __IO uint32_t CTRL_TOG; /**< Control Register 0, offset: 0xC */
  68489. __IO uint32_t STAT; /**< Status Register, offset: 0x10 */
  68490. __IO uint32_t STAT_SET; /**< Status Register, offset: 0x14 */
  68491. __IO uint32_t STAT_CLR; /**< Status Register, offset: 0x18 */
  68492. __IO uint32_t STAT_TOG; /**< Status Register, offset: 0x1C */
  68493. __IO uint32_t OUT_CTRL; /**< Output Buffer Control Register, offset: 0x20 */
  68494. __IO uint32_t OUT_CTRL_SET; /**< Output Buffer Control Register, offset: 0x24 */
  68495. __IO uint32_t OUT_CTRL_CLR; /**< Output Buffer Control Register, offset: 0x28 */
  68496. __IO uint32_t OUT_CTRL_TOG; /**< Output Buffer Control Register, offset: 0x2C */
  68497. __IO uint32_t OUT_BUF; /**< Output Frame Buffer Pointer, offset: 0x30 */
  68498. uint8_t RESERVED_0[12];
  68499. __IO uint32_t OUT_BUF2; /**< Output Frame Buffer Pointer #2, offset: 0x40 */
  68500. uint8_t RESERVED_1[12];
  68501. __IO uint32_t OUT_PITCH; /**< Output Buffer Pitch, offset: 0x50 */
  68502. uint8_t RESERVED_2[12];
  68503. __IO uint32_t OUT_LRC; /**< Output Surface Lower Right Coordinate, offset: 0x60 */
  68504. uint8_t RESERVED_3[12];
  68505. __IO uint32_t OUT_PS_ULC; /**< Processed Surface Upper Left Coordinate, offset: 0x70 */
  68506. uint8_t RESERVED_4[12];
  68507. __IO uint32_t OUT_PS_LRC; /**< Processed Surface Lower Right Coordinate, offset: 0x80 */
  68508. uint8_t RESERVED_5[12];
  68509. __IO uint32_t OUT_AS_ULC; /**< Alpha Surface Upper Left Coordinate, offset: 0x90 */
  68510. uint8_t RESERVED_6[12];
  68511. __IO uint32_t OUT_AS_LRC; /**< Alpha Surface Lower Right Coordinate, offset: 0xA0 */
  68512. uint8_t RESERVED_7[12];
  68513. __IO uint32_t PS_CTRL; /**< Processed Surface (PS) Control Register, offset: 0xB0 */
  68514. __IO uint32_t PS_CTRL_SET; /**< Processed Surface (PS) Control Register, offset: 0xB4 */
  68515. __IO uint32_t PS_CTRL_CLR; /**< Processed Surface (PS) Control Register, offset: 0xB8 */
  68516. __IO uint32_t PS_CTRL_TOG; /**< Processed Surface (PS) Control Register, offset: 0xBC */
  68517. __IO uint32_t PS_BUF; /**< PS Input Buffer Address, offset: 0xC0 */
  68518. uint8_t RESERVED_8[12];
  68519. __IO uint32_t PS_UBUF; /**< PS U/Cb or 2 Plane UV Input Buffer Address, offset: 0xD0 */
  68520. uint8_t RESERVED_9[12];
  68521. __IO uint32_t PS_VBUF; /**< PS V/Cr Input Buffer Address, offset: 0xE0 */
  68522. uint8_t RESERVED_10[12];
  68523. __IO uint32_t PS_PITCH; /**< Processed Surface Pitch, offset: 0xF0 */
  68524. uint8_t RESERVED_11[12];
  68525. __IO uint32_t PS_BACKGROUND; /**< PS Background Color, offset: 0x100 */
  68526. uint8_t RESERVED_12[12];
  68527. __IO uint32_t PS_SCALE; /**< PS Scale Factor Register, offset: 0x110 */
  68528. uint8_t RESERVED_13[12];
  68529. __IO uint32_t PS_OFFSET; /**< PS Scale Offset Register, offset: 0x120 */
  68530. uint8_t RESERVED_14[12];
  68531. __IO uint32_t PS_CLRKEYLOW; /**< PS Color Key Low, offset: 0x130 */
  68532. uint8_t RESERVED_15[12];
  68533. __IO uint32_t PS_CLRKEYHIGH; /**< PS Color Key High, offset: 0x140 */
  68534. uint8_t RESERVED_16[12];
  68535. __IO uint32_t AS_CTRL; /**< Alpha Surface Control, offset: 0x150 */
  68536. uint8_t RESERVED_17[12];
  68537. __IO uint32_t AS_BUF; /**< Alpha Surface Buffer Pointer, offset: 0x160 */
  68538. uint8_t RESERVED_18[12];
  68539. __IO uint32_t AS_PITCH; /**< Alpha Surface Pitch, offset: 0x170 */
  68540. uint8_t RESERVED_19[12];
  68541. __IO uint32_t AS_CLRKEYLOW; /**< Overlay Color Key Low, offset: 0x180 */
  68542. uint8_t RESERVED_20[12];
  68543. __IO uint32_t AS_CLRKEYHIGH; /**< Overlay Color Key High, offset: 0x190 */
  68544. uint8_t RESERVED_21[12];
  68545. __IO uint32_t CSC1_COEF0; /**< Color Space Conversion Coefficient Register 0, offset: 0x1A0 */
  68546. uint8_t RESERVED_22[12];
  68547. __IO uint32_t CSC1_COEF1; /**< Color Space Conversion Coefficient Register 1, offset: 0x1B0 */
  68548. uint8_t RESERVED_23[12];
  68549. __IO uint32_t CSC1_COEF2; /**< Color Space Conversion Coefficient Register 2, offset: 0x1C0 */
  68550. uint8_t RESERVED_24[348];
  68551. __IO uint32_t POWER; /**< PXP Power Control Register, offset: 0x320 */
  68552. uint8_t RESERVED_25[220];
  68553. __IO uint32_t NEXT; /**< Next Frame Pointer, offset: 0x400 */
  68554. uint8_t RESERVED_26[60];
  68555. __IO uint32_t PORTER_DUFF_CTRL; /**< PXP Alpha Engine A Control Register., offset: 0x440 */
  68556. } PXP_Type;
  68557. /* ----------------------------------------------------------------------------
  68558. -- PXP Register Masks
  68559. ---------------------------------------------------------------------------- */
  68560. /*!
  68561. * @addtogroup PXP_Register_Masks PXP Register Masks
  68562. * @{
  68563. */
  68564. /*! @name CTRL - Control Register 0 */
  68565. /*! @{ */
  68566. #define PXP_CTRL_ENABLE_MASK (0x1U)
  68567. #define PXP_CTRL_ENABLE_SHIFT (0U)
  68568. /*! ENABLE
  68569. * 0b1..PXP is enabled
  68570. * 0b0..PXP is disabled
  68571. */
  68572. #define PXP_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_SHIFT)) & PXP_CTRL_ENABLE_MASK)
  68573. #define PXP_CTRL_IRQ_ENABLE_MASK (0x2U)
  68574. #define PXP_CTRL_IRQ_ENABLE_SHIFT (1U)
  68575. /*! IRQ_ENABLE
  68576. * 0b1..PXP interrupt is enabled
  68577. * 0b0..PXP interrupt is disabled
  68578. */
  68579. #define PXP_CTRL_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_IRQ_ENABLE_SHIFT)) & PXP_CTRL_IRQ_ENABLE_MASK)
  68580. #define PXP_CTRL_NEXT_IRQ_ENABLE_MASK (0x4U)
  68581. #define PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT (2U)
  68582. /*! NEXT_IRQ_ENABLE
  68583. * 0b0..Disabled
  68584. * 0b1..Enabled
  68585. */
  68586. #define PXP_CTRL_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_NEXT_IRQ_ENABLE_MASK)
  68587. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  68588. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  68589. #define PXP_CTRL_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_ENABLE_LCD_HANDSHAKE_MASK)
  68590. #define PXP_CTRL_ROTATE_MASK (0x300U)
  68591. #define PXP_CTRL_ROTATE_SHIFT (8U)
  68592. /*! ROTATE
  68593. * 0b00..ROT_0
  68594. * 0b01..ROT_90
  68595. * 0b10..ROT_180
  68596. * 0b11..ROT_270
  68597. */
  68598. #define PXP_CTRL_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROTATE_SHIFT)) & PXP_CTRL_ROTATE_MASK)
  68599. #define PXP_CTRL_HFLIP_MASK (0x400U)
  68600. #define PXP_CTRL_HFLIP_SHIFT (10U)
  68601. /*! HFLIP
  68602. * 0b0..Horizontal Flip is disabled
  68603. * 0b1..Horizontal Flip is enabled
  68604. */
  68605. #define PXP_CTRL_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_HFLIP_SHIFT)) & PXP_CTRL_HFLIP_MASK)
  68606. #define PXP_CTRL_VFLIP_MASK (0x800U)
  68607. #define PXP_CTRL_VFLIP_SHIFT (11U)
  68608. /*! VFLIP
  68609. * 0b0..Vertical Flip is disabled
  68610. * 0b1..Vertical Flip is enabled
  68611. */
  68612. #define PXP_CTRL_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_VFLIP_SHIFT)) & PXP_CTRL_VFLIP_MASK)
  68613. #define PXP_CTRL_ROT_POS_MASK (0x400000U)
  68614. #define PXP_CTRL_ROT_POS_SHIFT (22U)
  68615. #define PXP_CTRL_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_ROT_POS_SHIFT)) & PXP_CTRL_ROT_POS_MASK)
  68616. #define PXP_CTRL_BLOCK_SIZE_MASK (0x800000U)
  68617. #define PXP_CTRL_BLOCK_SIZE_SHIFT (23U)
  68618. /*! BLOCK_SIZE
  68619. * 0b0..Process 8x8 pixel blocks.
  68620. * 0b1..Process 16x16 pixel blocks.
  68621. */
  68622. #define PXP_CTRL_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_BLOCK_SIZE_SHIFT)) & PXP_CTRL_BLOCK_SIZE_MASK)
  68623. #define PXP_CTRL_EN_REPEAT_MASK (0x10000000U)
  68624. #define PXP_CTRL_EN_REPEAT_SHIFT (28U)
  68625. /*! EN_REPEAT
  68626. * 0b1..PXP will repeat based on the current configuration register settings
  68627. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  68628. */
  68629. #define PXP_CTRL_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_EN_REPEAT_SHIFT)) & PXP_CTRL_EN_REPEAT_MASK)
  68630. #define PXP_CTRL_CLKGATE_MASK (0x40000000U)
  68631. #define PXP_CTRL_CLKGATE_SHIFT (30U)
  68632. /*! CLKGATE
  68633. * 0b0..Normal operation
  68634. * 0b1..All clocks to PXP is gated-off
  68635. */
  68636. #define PXP_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLKGATE_SHIFT)) & PXP_CTRL_CLKGATE_MASK)
  68637. #define PXP_CTRL_SFTRST_MASK (0x80000000U)
  68638. #define PXP_CTRL_SFTRST_SHIFT (31U)
  68639. /*! SFTRST
  68640. * 0b0..Normal PXP operation is enabled
  68641. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  68642. */
  68643. #define PXP_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SFTRST_SHIFT)) & PXP_CTRL_SFTRST_MASK)
  68644. /*! @} */
  68645. /*! @name CTRL_SET - Control Register 0 */
  68646. /*! @{ */
  68647. #define PXP_CTRL_SET_ENABLE_MASK (0x1U)
  68648. #define PXP_CTRL_SET_ENABLE_SHIFT (0U)
  68649. /*! ENABLE
  68650. * 0b1..PXP is enabled
  68651. * 0b0..PXP is disabled
  68652. */
  68653. #define PXP_CTRL_SET_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ENABLE_SHIFT)) & PXP_CTRL_SET_ENABLE_MASK)
  68654. #define PXP_CTRL_SET_IRQ_ENABLE_MASK (0x2U)
  68655. #define PXP_CTRL_SET_IRQ_ENABLE_SHIFT (1U)
  68656. /*! IRQ_ENABLE
  68657. * 0b1..PXP interrupt is enabled
  68658. * 0b0..PXP interrupt is disabled
  68659. */
  68660. #define PXP_CTRL_SET_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_IRQ_ENABLE_SHIFT)) & PXP_CTRL_SET_IRQ_ENABLE_MASK)
  68661. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_MASK (0x4U)
  68662. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE_SHIFT (2U)
  68663. /*! NEXT_IRQ_ENABLE
  68664. * 0b0..Disabled
  68665. * 0b1..Enabled
  68666. */
  68667. #define PXP_CTRL_SET_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_SET_NEXT_IRQ_ENABLE_MASK)
  68668. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  68669. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  68670. #define PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_SET_ENABLE_LCD_HANDSHAKE_MASK)
  68671. #define PXP_CTRL_SET_ROTATE_MASK (0x300U)
  68672. #define PXP_CTRL_SET_ROTATE_SHIFT (8U)
  68673. /*! ROTATE
  68674. * 0b00..ROT_0
  68675. * 0b01..ROT_90
  68676. * 0b10..ROT_180
  68677. * 0b11..ROT_270
  68678. */
  68679. #define PXP_CTRL_SET_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROTATE_SHIFT)) & PXP_CTRL_SET_ROTATE_MASK)
  68680. #define PXP_CTRL_SET_HFLIP_MASK (0x400U)
  68681. #define PXP_CTRL_SET_HFLIP_SHIFT (10U)
  68682. /*! HFLIP
  68683. * 0b0..Horizontal Flip is disabled
  68684. * 0b1..Horizontal Flip is enabled
  68685. */
  68686. #define PXP_CTRL_SET_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_HFLIP_SHIFT)) & PXP_CTRL_SET_HFLIP_MASK)
  68687. #define PXP_CTRL_SET_VFLIP_MASK (0x800U)
  68688. #define PXP_CTRL_SET_VFLIP_SHIFT (11U)
  68689. /*! VFLIP
  68690. * 0b0..Vertical Flip is disabled
  68691. * 0b1..Vertical Flip is enabled
  68692. */
  68693. #define PXP_CTRL_SET_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_VFLIP_SHIFT)) & PXP_CTRL_SET_VFLIP_MASK)
  68694. #define PXP_CTRL_SET_ROT_POS_MASK (0x400000U)
  68695. #define PXP_CTRL_SET_ROT_POS_SHIFT (22U)
  68696. #define PXP_CTRL_SET_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_ROT_POS_SHIFT)) & PXP_CTRL_SET_ROT_POS_MASK)
  68697. #define PXP_CTRL_SET_BLOCK_SIZE_MASK (0x800000U)
  68698. #define PXP_CTRL_SET_BLOCK_SIZE_SHIFT (23U)
  68699. /*! BLOCK_SIZE
  68700. * 0b0..Process 8x8 pixel blocks.
  68701. * 0b1..Process 16x16 pixel blocks.
  68702. */
  68703. #define PXP_CTRL_SET_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_BLOCK_SIZE_SHIFT)) & PXP_CTRL_SET_BLOCK_SIZE_MASK)
  68704. #define PXP_CTRL_SET_EN_REPEAT_MASK (0x10000000U)
  68705. #define PXP_CTRL_SET_EN_REPEAT_SHIFT (28U)
  68706. /*! EN_REPEAT
  68707. * 0b1..PXP will repeat based on the current configuration register settings
  68708. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  68709. */
  68710. #define PXP_CTRL_SET_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_EN_REPEAT_SHIFT)) & PXP_CTRL_SET_EN_REPEAT_MASK)
  68711. #define PXP_CTRL_SET_CLKGATE_MASK (0x40000000U)
  68712. #define PXP_CTRL_SET_CLKGATE_SHIFT (30U)
  68713. /*! CLKGATE
  68714. * 0b0..Normal operation
  68715. * 0b1..All clocks to PXP is gated-off
  68716. */
  68717. #define PXP_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_CLKGATE_SHIFT)) & PXP_CTRL_SET_CLKGATE_MASK)
  68718. #define PXP_CTRL_SET_SFTRST_MASK (0x80000000U)
  68719. #define PXP_CTRL_SET_SFTRST_SHIFT (31U)
  68720. /*! SFTRST
  68721. * 0b0..Normal PXP operation is enabled
  68722. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  68723. */
  68724. #define PXP_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_SET_SFTRST_SHIFT)) & PXP_CTRL_SET_SFTRST_MASK)
  68725. /*! @} */
  68726. /*! @name CTRL_CLR - Control Register 0 */
  68727. /*! @{ */
  68728. #define PXP_CTRL_CLR_ENABLE_MASK (0x1U)
  68729. #define PXP_CTRL_CLR_ENABLE_SHIFT (0U)
  68730. /*! ENABLE
  68731. * 0b1..PXP is enabled
  68732. * 0b0..PXP is disabled
  68733. */
  68734. #define PXP_CTRL_CLR_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ENABLE_SHIFT)) & PXP_CTRL_CLR_ENABLE_MASK)
  68735. #define PXP_CTRL_CLR_IRQ_ENABLE_MASK (0x2U)
  68736. #define PXP_CTRL_CLR_IRQ_ENABLE_SHIFT (1U)
  68737. /*! IRQ_ENABLE
  68738. * 0b1..PXP interrupt is enabled
  68739. * 0b0..PXP interrupt is disabled
  68740. */
  68741. #define PXP_CTRL_CLR_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_IRQ_ENABLE_SHIFT)) & PXP_CTRL_CLR_IRQ_ENABLE_MASK)
  68742. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_MASK (0x4U)
  68743. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE_SHIFT (2U)
  68744. /*! NEXT_IRQ_ENABLE
  68745. * 0b0..Disabled
  68746. * 0b1..Enabled
  68747. */
  68748. #define PXP_CTRL_CLR_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_CLR_NEXT_IRQ_ENABLE_MASK)
  68749. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  68750. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  68751. #define PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_CLR_ENABLE_LCD_HANDSHAKE_MASK)
  68752. #define PXP_CTRL_CLR_ROTATE_MASK (0x300U)
  68753. #define PXP_CTRL_CLR_ROTATE_SHIFT (8U)
  68754. /*! ROTATE
  68755. * 0b00..ROT_0
  68756. * 0b01..ROT_90
  68757. * 0b10..ROT_180
  68758. * 0b11..ROT_270
  68759. */
  68760. #define PXP_CTRL_CLR_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROTATE_SHIFT)) & PXP_CTRL_CLR_ROTATE_MASK)
  68761. #define PXP_CTRL_CLR_HFLIP_MASK (0x400U)
  68762. #define PXP_CTRL_CLR_HFLIP_SHIFT (10U)
  68763. /*! HFLIP
  68764. * 0b0..Horizontal Flip is disabled
  68765. * 0b1..Horizontal Flip is enabled
  68766. */
  68767. #define PXP_CTRL_CLR_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_HFLIP_SHIFT)) & PXP_CTRL_CLR_HFLIP_MASK)
  68768. #define PXP_CTRL_CLR_VFLIP_MASK (0x800U)
  68769. #define PXP_CTRL_CLR_VFLIP_SHIFT (11U)
  68770. /*! VFLIP
  68771. * 0b0..Vertical Flip is disabled
  68772. * 0b1..Vertical Flip is enabled
  68773. */
  68774. #define PXP_CTRL_CLR_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_VFLIP_SHIFT)) & PXP_CTRL_CLR_VFLIP_MASK)
  68775. #define PXP_CTRL_CLR_ROT_POS_MASK (0x400000U)
  68776. #define PXP_CTRL_CLR_ROT_POS_SHIFT (22U)
  68777. #define PXP_CTRL_CLR_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_ROT_POS_SHIFT)) & PXP_CTRL_CLR_ROT_POS_MASK)
  68778. #define PXP_CTRL_CLR_BLOCK_SIZE_MASK (0x800000U)
  68779. #define PXP_CTRL_CLR_BLOCK_SIZE_SHIFT (23U)
  68780. /*! BLOCK_SIZE
  68781. * 0b0..Process 8x8 pixel blocks.
  68782. * 0b1..Process 16x16 pixel blocks.
  68783. */
  68784. #define PXP_CTRL_CLR_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_BLOCK_SIZE_SHIFT)) & PXP_CTRL_CLR_BLOCK_SIZE_MASK)
  68785. #define PXP_CTRL_CLR_EN_REPEAT_MASK (0x10000000U)
  68786. #define PXP_CTRL_CLR_EN_REPEAT_SHIFT (28U)
  68787. /*! EN_REPEAT
  68788. * 0b1..PXP will repeat based on the current configuration register settings
  68789. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  68790. */
  68791. #define PXP_CTRL_CLR_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_EN_REPEAT_SHIFT)) & PXP_CTRL_CLR_EN_REPEAT_MASK)
  68792. #define PXP_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  68793. #define PXP_CTRL_CLR_CLKGATE_SHIFT (30U)
  68794. /*! CLKGATE
  68795. * 0b0..Normal operation
  68796. * 0b1..All clocks to PXP is gated-off
  68797. */
  68798. #define PXP_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_CLKGATE_SHIFT)) & PXP_CTRL_CLR_CLKGATE_MASK)
  68799. #define PXP_CTRL_CLR_SFTRST_MASK (0x80000000U)
  68800. #define PXP_CTRL_CLR_SFTRST_SHIFT (31U)
  68801. /*! SFTRST
  68802. * 0b0..Normal PXP operation is enabled
  68803. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  68804. */
  68805. #define PXP_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_CLR_SFTRST_SHIFT)) & PXP_CTRL_CLR_SFTRST_MASK)
  68806. /*! @} */
  68807. /*! @name CTRL_TOG - Control Register 0 */
  68808. /*! @{ */
  68809. #define PXP_CTRL_TOG_ENABLE_MASK (0x1U)
  68810. #define PXP_CTRL_TOG_ENABLE_SHIFT (0U)
  68811. /*! ENABLE
  68812. * 0b1..PXP is enabled
  68813. * 0b0..PXP is disabled
  68814. */
  68815. #define PXP_CTRL_TOG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ENABLE_SHIFT)) & PXP_CTRL_TOG_ENABLE_MASK)
  68816. #define PXP_CTRL_TOG_IRQ_ENABLE_MASK (0x2U)
  68817. #define PXP_CTRL_TOG_IRQ_ENABLE_SHIFT (1U)
  68818. /*! IRQ_ENABLE
  68819. * 0b1..PXP interrupt is enabled
  68820. * 0b0..PXP interrupt is disabled
  68821. */
  68822. #define PXP_CTRL_TOG_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_IRQ_ENABLE_SHIFT)) & PXP_CTRL_TOG_IRQ_ENABLE_MASK)
  68823. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_MASK (0x4U)
  68824. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE_SHIFT (2U)
  68825. /*! NEXT_IRQ_ENABLE
  68826. * 0b0..Disabled
  68827. * 0b1..Enabled
  68828. */
  68829. #define PXP_CTRL_TOG_NEXT_IRQ_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_NEXT_IRQ_ENABLE_SHIFT)) & PXP_CTRL_TOG_NEXT_IRQ_ENABLE_MASK)
  68830. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_MASK (0x10U)
  68831. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_SHIFT (4U)
  68832. #define PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_SHIFT)) & PXP_CTRL_TOG_ENABLE_LCD_HANDSHAKE_MASK)
  68833. #define PXP_CTRL_TOG_ROTATE_MASK (0x300U)
  68834. #define PXP_CTRL_TOG_ROTATE_SHIFT (8U)
  68835. /*! ROTATE
  68836. * 0b00..ROT_0
  68837. * 0b01..ROT_90
  68838. * 0b10..ROT_180
  68839. * 0b11..ROT_270
  68840. */
  68841. #define PXP_CTRL_TOG_ROTATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROTATE_SHIFT)) & PXP_CTRL_TOG_ROTATE_MASK)
  68842. #define PXP_CTRL_TOG_HFLIP_MASK (0x400U)
  68843. #define PXP_CTRL_TOG_HFLIP_SHIFT (10U)
  68844. /*! HFLIP
  68845. * 0b0..Horizontal Flip is disabled
  68846. * 0b1..Horizontal Flip is enabled
  68847. */
  68848. #define PXP_CTRL_TOG_HFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_HFLIP_SHIFT)) & PXP_CTRL_TOG_HFLIP_MASK)
  68849. #define PXP_CTRL_TOG_VFLIP_MASK (0x800U)
  68850. #define PXP_CTRL_TOG_VFLIP_SHIFT (11U)
  68851. /*! VFLIP
  68852. * 0b0..Vertical Flip is disabled
  68853. * 0b1..Vertical Flip is enabled
  68854. */
  68855. #define PXP_CTRL_TOG_VFLIP(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_VFLIP_SHIFT)) & PXP_CTRL_TOG_VFLIP_MASK)
  68856. #define PXP_CTRL_TOG_ROT_POS_MASK (0x400000U)
  68857. #define PXP_CTRL_TOG_ROT_POS_SHIFT (22U)
  68858. #define PXP_CTRL_TOG_ROT_POS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_ROT_POS_SHIFT)) & PXP_CTRL_TOG_ROT_POS_MASK)
  68859. #define PXP_CTRL_TOG_BLOCK_SIZE_MASK (0x800000U)
  68860. #define PXP_CTRL_TOG_BLOCK_SIZE_SHIFT (23U)
  68861. /*! BLOCK_SIZE
  68862. * 0b0..Process 8x8 pixel blocks.
  68863. * 0b1..Process 16x16 pixel blocks.
  68864. */
  68865. #define PXP_CTRL_TOG_BLOCK_SIZE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_BLOCK_SIZE_SHIFT)) & PXP_CTRL_TOG_BLOCK_SIZE_MASK)
  68866. #define PXP_CTRL_TOG_EN_REPEAT_MASK (0x10000000U)
  68867. #define PXP_CTRL_TOG_EN_REPEAT_SHIFT (28U)
  68868. /*! EN_REPEAT
  68869. * 0b1..PXP will repeat based on the current configuration register settings
  68870. * 0b0..PXP will complete the process and enter the idle state ready to accept the next frame to be processed
  68871. */
  68872. #define PXP_CTRL_TOG_EN_REPEAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_EN_REPEAT_SHIFT)) & PXP_CTRL_TOG_EN_REPEAT_MASK)
  68873. #define PXP_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  68874. #define PXP_CTRL_TOG_CLKGATE_SHIFT (30U)
  68875. /*! CLKGATE
  68876. * 0b0..Normal operation
  68877. * 0b1..All clocks to PXP is gated-off
  68878. */
  68879. #define PXP_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_CLKGATE_SHIFT)) & PXP_CTRL_TOG_CLKGATE_MASK)
  68880. #define PXP_CTRL_TOG_SFTRST_MASK (0x80000000U)
  68881. #define PXP_CTRL_TOG_SFTRST_SHIFT (31U)
  68882. /*! SFTRST
  68883. * 0b0..Normal PXP operation is enabled
  68884. * 0b1..Clocking with PXP is disabled and held in its reset (lowest power) state. This is the default value.
  68885. */
  68886. #define PXP_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << PXP_CTRL_TOG_SFTRST_SHIFT)) & PXP_CTRL_TOG_SFTRST_MASK)
  68887. /*! @} */
  68888. /*! @name STAT - Status Register */
  68889. /*! @{ */
  68890. #define PXP_STAT_IRQ_MASK (0x1U)
  68891. #define PXP_STAT_IRQ_SHIFT (0U)
  68892. /*! IRQ
  68893. * 0b0..No interrupt
  68894. * 0b1..Interrupt generated
  68895. */
  68896. #define PXP_STAT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_IRQ_SHIFT)) & PXP_STAT_IRQ_MASK)
  68897. #define PXP_STAT_AXI_WRITE_ERROR_MASK (0x2U)
  68898. #define PXP_STAT_AXI_WRITE_ERROR_SHIFT (1U)
  68899. /*! AXI_WRITE_ERROR
  68900. * 0b0..AXI write is normal
  68901. * 0b1..AXI write error has occurred
  68902. */
  68903. #define PXP_STAT_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_AXI_WRITE_ERROR_MASK)
  68904. #define PXP_STAT_AXI_READ_ERROR_MASK (0x4U)
  68905. #define PXP_STAT_AXI_READ_ERROR_SHIFT (2U)
  68906. /*! AXI_READ_ERROR
  68907. * 0b0..AXI read is normal
  68908. * 0b1..AXI read error has occurred
  68909. */
  68910. #define PXP_STAT_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_READ_ERROR_SHIFT)) & PXP_STAT_AXI_READ_ERROR_MASK)
  68911. #define PXP_STAT_NEXT_IRQ_MASK (0x8U)
  68912. #define PXP_STAT_NEXT_IRQ_SHIFT (3U)
  68913. #define PXP_STAT_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_NEXT_IRQ_SHIFT)) & PXP_STAT_NEXT_IRQ_MASK)
  68914. #define PXP_STAT_AXI_ERROR_ID_MASK (0xF0U)
  68915. #define PXP_STAT_AXI_ERROR_ID_SHIFT (4U)
  68916. #define PXP_STAT_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_AXI_ERROR_ID_SHIFT)) & PXP_STAT_AXI_ERROR_ID_MASK)
  68917. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  68918. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  68919. /*! LUT_DMA_LOAD_DONE_IRQ
  68920. * 0b0..LUT DMA LOAD transfer is active
  68921. * 0b1..LUT DMA LOAD transfer is complete
  68922. */
  68923. #define PXP_STAT_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_LUT_DMA_LOAD_DONE_IRQ_MASK)
  68924. #define PXP_STAT_BLOCKY_MASK (0xFF0000U)
  68925. #define PXP_STAT_BLOCKY_SHIFT (16U)
  68926. #define PXP_STAT_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKY_SHIFT)) & PXP_STAT_BLOCKY_MASK)
  68927. #define PXP_STAT_BLOCKX_MASK (0xFF000000U)
  68928. #define PXP_STAT_BLOCKX_SHIFT (24U)
  68929. #define PXP_STAT_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_BLOCKX_SHIFT)) & PXP_STAT_BLOCKX_MASK)
  68930. /*! @} */
  68931. /*! @name STAT_SET - Status Register */
  68932. /*! @{ */
  68933. #define PXP_STAT_SET_IRQ_MASK (0x1U)
  68934. #define PXP_STAT_SET_IRQ_SHIFT (0U)
  68935. /*! IRQ
  68936. * 0b0..No interrupt
  68937. * 0b1..Interrupt generated
  68938. */
  68939. #define PXP_STAT_SET_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_IRQ_SHIFT)) & PXP_STAT_SET_IRQ_MASK)
  68940. #define PXP_STAT_SET_AXI_WRITE_ERROR_MASK (0x2U)
  68941. #define PXP_STAT_SET_AXI_WRITE_ERROR_SHIFT (1U)
  68942. /*! AXI_WRITE_ERROR
  68943. * 0b0..AXI write is normal
  68944. * 0b1..AXI write error has occurred
  68945. */
  68946. #define PXP_STAT_SET_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_SET_AXI_WRITE_ERROR_MASK)
  68947. #define PXP_STAT_SET_AXI_READ_ERROR_MASK (0x4U)
  68948. #define PXP_STAT_SET_AXI_READ_ERROR_SHIFT (2U)
  68949. /*! AXI_READ_ERROR
  68950. * 0b0..AXI read is normal
  68951. * 0b1..AXI read error has occurred
  68952. */
  68953. #define PXP_STAT_SET_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_READ_ERROR_SHIFT)) & PXP_STAT_SET_AXI_READ_ERROR_MASK)
  68954. #define PXP_STAT_SET_NEXT_IRQ_MASK (0x8U)
  68955. #define PXP_STAT_SET_NEXT_IRQ_SHIFT (3U)
  68956. #define PXP_STAT_SET_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_NEXT_IRQ_SHIFT)) & PXP_STAT_SET_NEXT_IRQ_MASK)
  68957. #define PXP_STAT_SET_AXI_ERROR_ID_MASK (0xF0U)
  68958. #define PXP_STAT_SET_AXI_ERROR_ID_SHIFT (4U)
  68959. #define PXP_STAT_SET_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_AXI_ERROR_ID_SHIFT)) & PXP_STAT_SET_AXI_ERROR_ID_MASK)
  68960. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  68961. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  68962. /*! LUT_DMA_LOAD_DONE_IRQ
  68963. * 0b0..LUT DMA LOAD transfer is active
  68964. * 0b1..LUT DMA LOAD transfer is complete
  68965. */
  68966. #define PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_SET_LUT_DMA_LOAD_DONE_IRQ_MASK)
  68967. #define PXP_STAT_SET_BLOCKY_MASK (0xFF0000U)
  68968. #define PXP_STAT_SET_BLOCKY_SHIFT (16U)
  68969. #define PXP_STAT_SET_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKY_SHIFT)) & PXP_STAT_SET_BLOCKY_MASK)
  68970. #define PXP_STAT_SET_BLOCKX_MASK (0xFF000000U)
  68971. #define PXP_STAT_SET_BLOCKX_SHIFT (24U)
  68972. #define PXP_STAT_SET_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_SET_BLOCKX_SHIFT)) & PXP_STAT_SET_BLOCKX_MASK)
  68973. /*! @} */
  68974. /*! @name STAT_CLR - Status Register */
  68975. /*! @{ */
  68976. #define PXP_STAT_CLR_IRQ_MASK (0x1U)
  68977. #define PXP_STAT_CLR_IRQ_SHIFT (0U)
  68978. /*! IRQ
  68979. * 0b0..No interrupt
  68980. * 0b1..Interrupt generated
  68981. */
  68982. #define PXP_STAT_CLR_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_IRQ_SHIFT)) & PXP_STAT_CLR_IRQ_MASK)
  68983. #define PXP_STAT_CLR_AXI_WRITE_ERROR_MASK (0x2U)
  68984. #define PXP_STAT_CLR_AXI_WRITE_ERROR_SHIFT (1U)
  68985. /*! AXI_WRITE_ERROR
  68986. * 0b0..AXI write is normal
  68987. * 0b1..AXI write error has occurred
  68988. */
  68989. #define PXP_STAT_CLR_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_CLR_AXI_WRITE_ERROR_MASK)
  68990. #define PXP_STAT_CLR_AXI_READ_ERROR_MASK (0x4U)
  68991. #define PXP_STAT_CLR_AXI_READ_ERROR_SHIFT (2U)
  68992. /*! AXI_READ_ERROR
  68993. * 0b0..AXI read is normal
  68994. * 0b1..AXI read error has occurred
  68995. */
  68996. #define PXP_STAT_CLR_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_READ_ERROR_SHIFT)) & PXP_STAT_CLR_AXI_READ_ERROR_MASK)
  68997. #define PXP_STAT_CLR_NEXT_IRQ_MASK (0x8U)
  68998. #define PXP_STAT_CLR_NEXT_IRQ_SHIFT (3U)
  68999. #define PXP_STAT_CLR_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_NEXT_IRQ_SHIFT)) & PXP_STAT_CLR_NEXT_IRQ_MASK)
  69000. #define PXP_STAT_CLR_AXI_ERROR_ID_MASK (0xF0U)
  69001. #define PXP_STAT_CLR_AXI_ERROR_ID_SHIFT (4U)
  69002. #define PXP_STAT_CLR_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_AXI_ERROR_ID_SHIFT)) & PXP_STAT_CLR_AXI_ERROR_ID_MASK)
  69003. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69004. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69005. /*! LUT_DMA_LOAD_DONE_IRQ
  69006. * 0b0..LUT DMA LOAD transfer is active
  69007. * 0b1..LUT DMA LOAD transfer is complete
  69008. */
  69009. #define PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_CLR_LUT_DMA_LOAD_DONE_IRQ_MASK)
  69010. #define PXP_STAT_CLR_BLOCKY_MASK (0xFF0000U)
  69011. #define PXP_STAT_CLR_BLOCKY_SHIFT (16U)
  69012. #define PXP_STAT_CLR_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKY_SHIFT)) & PXP_STAT_CLR_BLOCKY_MASK)
  69013. #define PXP_STAT_CLR_BLOCKX_MASK (0xFF000000U)
  69014. #define PXP_STAT_CLR_BLOCKX_SHIFT (24U)
  69015. #define PXP_STAT_CLR_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_CLR_BLOCKX_SHIFT)) & PXP_STAT_CLR_BLOCKX_MASK)
  69016. /*! @} */
  69017. /*! @name STAT_TOG - Status Register */
  69018. /*! @{ */
  69019. #define PXP_STAT_TOG_IRQ_MASK (0x1U)
  69020. #define PXP_STAT_TOG_IRQ_SHIFT (0U)
  69021. /*! IRQ
  69022. * 0b0..No interrupt
  69023. * 0b1..Interrupt generated
  69024. */
  69025. #define PXP_STAT_TOG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_IRQ_SHIFT)) & PXP_STAT_TOG_IRQ_MASK)
  69026. #define PXP_STAT_TOG_AXI_WRITE_ERROR_MASK (0x2U)
  69027. #define PXP_STAT_TOG_AXI_WRITE_ERROR_SHIFT (1U)
  69028. /*! AXI_WRITE_ERROR
  69029. * 0b0..AXI write is normal
  69030. * 0b1..AXI write error has occurred
  69031. */
  69032. #define PXP_STAT_TOG_AXI_WRITE_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_WRITE_ERROR_SHIFT)) & PXP_STAT_TOG_AXI_WRITE_ERROR_MASK)
  69033. #define PXP_STAT_TOG_AXI_READ_ERROR_MASK (0x4U)
  69034. #define PXP_STAT_TOG_AXI_READ_ERROR_SHIFT (2U)
  69035. /*! AXI_READ_ERROR
  69036. * 0b0..AXI read is normal
  69037. * 0b1..AXI read error has occurred
  69038. */
  69039. #define PXP_STAT_TOG_AXI_READ_ERROR(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_READ_ERROR_SHIFT)) & PXP_STAT_TOG_AXI_READ_ERROR_MASK)
  69040. #define PXP_STAT_TOG_NEXT_IRQ_MASK (0x8U)
  69041. #define PXP_STAT_TOG_NEXT_IRQ_SHIFT (3U)
  69042. #define PXP_STAT_TOG_NEXT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_NEXT_IRQ_SHIFT)) & PXP_STAT_TOG_NEXT_IRQ_MASK)
  69043. #define PXP_STAT_TOG_AXI_ERROR_ID_MASK (0xF0U)
  69044. #define PXP_STAT_TOG_AXI_ERROR_ID_SHIFT (4U)
  69045. #define PXP_STAT_TOG_AXI_ERROR_ID(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_AXI_ERROR_ID_SHIFT)) & PXP_STAT_TOG_AXI_ERROR_ID_MASK)
  69046. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_MASK (0x100U)
  69047. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_SHIFT (8U)
  69048. /*! LUT_DMA_LOAD_DONE_IRQ
  69049. * 0b0..LUT DMA LOAD transfer is active
  69050. * 0b1..LUT DMA LOAD transfer is complete
  69051. */
  69052. #define PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_SHIFT)) & PXP_STAT_TOG_LUT_DMA_LOAD_DONE_IRQ_MASK)
  69053. #define PXP_STAT_TOG_BLOCKY_MASK (0xFF0000U)
  69054. #define PXP_STAT_TOG_BLOCKY_SHIFT (16U)
  69055. #define PXP_STAT_TOG_BLOCKY(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKY_SHIFT)) & PXP_STAT_TOG_BLOCKY_MASK)
  69056. #define PXP_STAT_TOG_BLOCKX_MASK (0xFF000000U)
  69057. #define PXP_STAT_TOG_BLOCKX_SHIFT (24U)
  69058. #define PXP_STAT_TOG_BLOCKX(x) (((uint32_t)(((uint32_t)(x)) << PXP_STAT_TOG_BLOCKX_SHIFT)) & PXP_STAT_TOG_BLOCKX_MASK)
  69059. /*! @} */
  69060. /*! @name OUT_CTRL - Output Buffer Control Register */
  69061. /*! @{ */
  69062. #define PXP_OUT_CTRL_FORMAT_MASK (0x1FU)
  69063. #define PXP_OUT_CTRL_FORMAT_SHIFT (0U)
  69064. /*! FORMAT
  69065. * 0b00000..32-bit pixels
  69066. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69067. * 0b00101..24-bit pixels (packed 24-bit format)
  69068. * 0b01000..16-bit pixels
  69069. * 0b01001..16-bit pixels
  69070. * 0b01100..16-bit pixels
  69071. * 0b01101..16-bit pixels
  69072. * 0b01110..16-bit pixels
  69073. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69074. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69075. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69076. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69077. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69078. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69079. * 0b11001..16-bit pixels (2-plane UV)
  69080. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69081. * 0b11011..16-bit pixels (2-plane VU)
  69082. */
  69083. #define PXP_OUT_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_FORMAT_SHIFT)) & PXP_OUT_CTRL_FORMAT_MASK)
  69084. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK (0x300U)
  69085. #define PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT (8U)
  69086. /*! INTERLACED_OUTPUT
  69087. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69088. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69089. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69090. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69091. */
  69092. #define PXP_OUT_CTRL_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_INTERLACED_OUTPUT_MASK)
  69093. #define PXP_OUT_CTRL_ALPHA_OUTPUT_MASK (0x800000U)
  69094. #define PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT (23U)
  69095. /*! ALPHA_OUTPUT
  69096. * 0b0..Retain
  69097. * 0b1..Overwritten
  69098. */
  69099. #define PXP_OUT_CTRL_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_ALPHA_OUTPUT_MASK)
  69100. #define PXP_OUT_CTRL_ALPHA_MASK (0xFF000000U)
  69101. #define PXP_OUT_CTRL_ALPHA_SHIFT (24U)
  69102. #define PXP_OUT_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_ALPHA_SHIFT)) & PXP_OUT_CTRL_ALPHA_MASK)
  69103. /*! @} */
  69104. /*! @name OUT_CTRL_SET - Output Buffer Control Register */
  69105. /*! @{ */
  69106. #define PXP_OUT_CTRL_SET_FORMAT_MASK (0x1FU)
  69107. #define PXP_OUT_CTRL_SET_FORMAT_SHIFT (0U)
  69108. /*! FORMAT
  69109. * 0b00000..32-bit pixels
  69110. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69111. * 0b00101..24-bit pixels (packed 24-bit format)
  69112. * 0b01000..16-bit pixels
  69113. * 0b01001..16-bit pixels
  69114. * 0b01100..16-bit pixels
  69115. * 0b01101..16-bit pixels
  69116. * 0b01110..16-bit pixels
  69117. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69118. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69119. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69120. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69121. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69122. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69123. * 0b11001..16-bit pixels (2-plane UV)
  69124. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69125. * 0b11011..16-bit pixels (2-plane VU)
  69126. */
  69127. #define PXP_OUT_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_FORMAT_SHIFT)) & PXP_OUT_CTRL_SET_FORMAT_MASK)
  69128. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_MASK (0x300U)
  69129. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_SHIFT (8U)
  69130. /*! INTERLACED_OUTPUT
  69131. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69132. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69133. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69134. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69135. */
  69136. #define PXP_OUT_CTRL_SET_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_SET_INTERLACED_OUTPUT_MASK)
  69137. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_MASK (0x800000U)
  69138. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT_SHIFT (23U)
  69139. /*! ALPHA_OUTPUT
  69140. * 0b0..Retain
  69141. * 0b1..Overwritten
  69142. */
  69143. #define PXP_OUT_CTRL_SET_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_SET_ALPHA_OUTPUT_MASK)
  69144. #define PXP_OUT_CTRL_SET_ALPHA_MASK (0xFF000000U)
  69145. #define PXP_OUT_CTRL_SET_ALPHA_SHIFT (24U)
  69146. #define PXP_OUT_CTRL_SET_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_SET_ALPHA_SHIFT)) & PXP_OUT_CTRL_SET_ALPHA_MASK)
  69147. /*! @} */
  69148. /*! @name OUT_CTRL_CLR - Output Buffer Control Register */
  69149. /*! @{ */
  69150. #define PXP_OUT_CTRL_CLR_FORMAT_MASK (0x1FU)
  69151. #define PXP_OUT_CTRL_CLR_FORMAT_SHIFT (0U)
  69152. /*! FORMAT
  69153. * 0b00000..32-bit pixels
  69154. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69155. * 0b00101..24-bit pixels (packed 24-bit format)
  69156. * 0b01000..16-bit pixels
  69157. * 0b01001..16-bit pixels
  69158. * 0b01100..16-bit pixels
  69159. * 0b01101..16-bit pixels
  69160. * 0b01110..16-bit pixels
  69161. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69162. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69163. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69164. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69165. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69166. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69167. * 0b11001..16-bit pixels (2-plane UV)
  69168. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69169. * 0b11011..16-bit pixels (2-plane VU)
  69170. */
  69171. #define PXP_OUT_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_FORMAT_SHIFT)) & PXP_OUT_CTRL_CLR_FORMAT_MASK)
  69172. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_MASK (0x300U)
  69173. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_SHIFT (8U)
  69174. /*! INTERLACED_OUTPUT
  69175. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69176. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69177. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69178. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69179. */
  69180. #define PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_CLR_INTERLACED_OUTPUT_MASK)
  69181. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_MASK (0x800000U)
  69182. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_SHIFT (23U)
  69183. /*! ALPHA_OUTPUT
  69184. * 0b0..Retain
  69185. * 0b1..Overwritten
  69186. */
  69187. #define PXP_OUT_CTRL_CLR_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_CLR_ALPHA_OUTPUT_MASK)
  69188. #define PXP_OUT_CTRL_CLR_ALPHA_MASK (0xFF000000U)
  69189. #define PXP_OUT_CTRL_CLR_ALPHA_SHIFT (24U)
  69190. #define PXP_OUT_CTRL_CLR_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_CLR_ALPHA_SHIFT)) & PXP_OUT_CTRL_CLR_ALPHA_MASK)
  69191. /*! @} */
  69192. /*! @name OUT_CTRL_TOG - Output Buffer Control Register */
  69193. /*! @{ */
  69194. #define PXP_OUT_CTRL_TOG_FORMAT_MASK (0x1FU)
  69195. #define PXP_OUT_CTRL_TOG_FORMAT_SHIFT (0U)
  69196. /*! FORMAT
  69197. * 0b00000..32-bit pixels
  69198. * 0b00100..32-bit pixels (unpacked 24-bit pixel in 32 bit DWORD.)
  69199. * 0b00101..24-bit pixels (packed 24-bit format)
  69200. * 0b01000..16-bit pixels
  69201. * 0b01001..16-bit pixels
  69202. * 0b01100..16-bit pixels
  69203. * 0b01101..16-bit pixels
  69204. * 0b01110..16-bit pixels
  69205. * 0b10000..32-bit pixels (1-plane XYUV unpacked)
  69206. * 0b10010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69207. * 0b10011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69208. * 0b10100..8-bit monochrome pixels (1-plane Y luma output)
  69209. * 0b10101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69210. * 0b11000..16-bit pixels (2-plane UV interleaved bytes)
  69211. * 0b11001..16-bit pixels (2-plane UV)
  69212. * 0b11010..16-bit pixels (2-plane VU interleaved bytes)
  69213. * 0b11011..16-bit pixels (2-plane VU)
  69214. */
  69215. #define PXP_OUT_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_FORMAT_SHIFT)) & PXP_OUT_CTRL_TOG_FORMAT_MASK)
  69216. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_MASK (0x300U)
  69217. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_SHIFT (8U)
  69218. /*! INTERLACED_OUTPUT
  69219. * 0b00..All data written in progressive format to the OUTBUF Pointer.
  69220. * 0b01..Interlaced output: only data for field 0 is written to the OUTBUF Pointer.
  69221. * 0b10..Interlaced output: only data for field 1 is written to the OUTBUF2 Pointer.
  69222. * 0b11..Interlaced output: data for field 0 is written to OUTBUF and data for field 1 is written to OUTBUF2.
  69223. */
  69224. #define PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_SHIFT)) & PXP_OUT_CTRL_TOG_INTERLACED_OUTPUT_MASK)
  69225. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_MASK (0x800000U)
  69226. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_SHIFT (23U)
  69227. /*! ALPHA_OUTPUT
  69228. * 0b0..Retain
  69229. * 0b1..Overwritten
  69230. */
  69231. #define PXP_OUT_CTRL_TOG_ALPHA_OUTPUT(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_SHIFT)) & PXP_OUT_CTRL_TOG_ALPHA_OUTPUT_MASK)
  69232. #define PXP_OUT_CTRL_TOG_ALPHA_MASK (0xFF000000U)
  69233. #define PXP_OUT_CTRL_TOG_ALPHA_SHIFT (24U)
  69234. #define PXP_OUT_CTRL_TOG_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_CTRL_TOG_ALPHA_SHIFT)) & PXP_OUT_CTRL_TOG_ALPHA_MASK)
  69235. /*! @} */
  69236. /*! @name OUT_BUF - Output Frame Buffer Pointer */
  69237. /*! @{ */
  69238. #define PXP_OUT_BUF_ADDR_MASK (0xFFFFFFFFU)
  69239. #define PXP_OUT_BUF_ADDR_SHIFT (0U)
  69240. #define PXP_OUT_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF_ADDR_SHIFT)) & PXP_OUT_BUF_ADDR_MASK)
  69241. /*! @} */
  69242. /*! @name OUT_BUF2 - Output Frame Buffer Pointer #2 */
  69243. /*! @{ */
  69244. #define PXP_OUT_BUF2_ADDR_MASK (0xFFFFFFFFU)
  69245. #define PXP_OUT_BUF2_ADDR_SHIFT (0U)
  69246. #define PXP_OUT_BUF2_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_BUF2_ADDR_SHIFT)) & PXP_OUT_BUF2_ADDR_MASK)
  69247. /*! @} */
  69248. /*! @name OUT_PITCH - Output Buffer Pitch */
  69249. /*! @{ */
  69250. #define PXP_OUT_PITCH_PITCH_MASK (0xFFFFU)
  69251. #define PXP_OUT_PITCH_PITCH_SHIFT (0U)
  69252. #define PXP_OUT_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PITCH_PITCH_SHIFT)) & PXP_OUT_PITCH_PITCH_MASK)
  69253. /*! @} */
  69254. /*! @name OUT_LRC - Output Surface Lower Right Coordinate */
  69255. /*! @{ */
  69256. #define PXP_OUT_LRC_Y_MASK (0x3FFFU)
  69257. #define PXP_OUT_LRC_Y_SHIFT (0U)
  69258. #define PXP_OUT_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_Y_SHIFT)) & PXP_OUT_LRC_Y_MASK)
  69259. #define PXP_OUT_LRC_X_MASK (0x3FFF0000U)
  69260. #define PXP_OUT_LRC_X_SHIFT (16U)
  69261. #define PXP_OUT_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_LRC_X_SHIFT)) & PXP_OUT_LRC_X_MASK)
  69262. /*! @} */
  69263. /*! @name OUT_PS_ULC - Processed Surface Upper Left Coordinate */
  69264. /*! @{ */
  69265. #define PXP_OUT_PS_ULC_Y_MASK (0x3FFFU)
  69266. #define PXP_OUT_PS_ULC_Y_SHIFT (0U)
  69267. #define PXP_OUT_PS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_Y_SHIFT)) & PXP_OUT_PS_ULC_Y_MASK)
  69268. #define PXP_OUT_PS_ULC_X_MASK (0x3FFF0000U)
  69269. #define PXP_OUT_PS_ULC_X_SHIFT (16U)
  69270. #define PXP_OUT_PS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_ULC_X_SHIFT)) & PXP_OUT_PS_ULC_X_MASK)
  69271. /*! @} */
  69272. /*! @name OUT_PS_LRC - Processed Surface Lower Right Coordinate */
  69273. /*! @{ */
  69274. #define PXP_OUT_PS_LRC_Y_MASK (0x3FFFU)
  69275. #define PXP_OUT_PS_LRC_Y_SHIFT (0U)
  69276. #define PXP_OUT_PS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_Y_SHIFT)) & PXP_OUT_PS_LRC_Y_MASK)
  69277. #define PXP_OUT_PS_LRC_X_MASK (0x3FFF0000U)
  69278. #define PXP_OUT_PS_LRC_X_SHIFT (16U)
  69279. #define PXP_OUT_PS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_PS_LRC_X_SHIFT)) & PXP_OUT_PS_LRC_X_MASK)
  69280. /*! @} */
  69281. /*! @name OUT_AS_ULC - Alpha Surface Upper Left Coordinate */
  69282. /*! @{ */
  69283. #define PXP_OUT_AS_ULC_Y_MASK (0x3FFFU)
  69284. #define PXP_OUT_AS_ULC_Y_SHIFT (0U)
  69285. #define PXP_OUT_AS_ULC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_Y_SHIFT)) & PXP_OUT_AS_ULC_Y_MASK)
  69286. #define PXP_OUT_AS_ULC_X_MASK (0x3FFF0000U)
  69287. #define PXP_OUT_AS_ULC_X_SHIFT (16U)
  69288. #define PXP_OUT_AS_ULC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_ULC_X_SHIFT)) & PXP_OUT_AS_ULC_X_MASK)
  69289. /*! @} */
  69290. /*! @name OUT_AS_LRC - Alpha Surface Lower Right Coordinate */
  69291. /*! @{ */
  69292. #define PXP_OUT_AS_LRC_Y_MASK (0x3FFFU)
  69293. #define PXP_OUT_AS_LRC_Y_SHIFT (0U)
  69294. #define PXP_OUT_AS_LRC_Y(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_Y_SHIFT)) & PXP_OUT_AS_LRC_Y_MASK)
  69295. #define PXP_OUT_AS_LRC_X_MASK (0x3FFF0000U)
  69296. #define PXP_OUT_AS_LRC_X_SHIFT (16U)
  69297. #define PXP_OUT_AS_LRC_X(x) (((uint32_t)(((uint32_t)(x)) << PXP_OUT_AS_LRC_X_SHIFT)) & PXP_OUT_AS_LRC_X_MASK)
  69298. /*! @} */
  69299. /*! @name PS_CTRL - Processed Surface (PS) Control Register */
  69300. /*! @{ */
  69301. #define PXP_PS_CTRL_FORMAT_MASK (0x3FU)
  69302. #define PXP_PS_CTRL_FORMAT_SHIFT (0U)
  69303. /*! FORMAT
  69304. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  69305. * 0b001100..16-bit pixels with/without alpha at high 1bit
  69306. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  69307. * 0b001110..16-bit pixels
  69308. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  69309. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69310. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69311. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  69312. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69313. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  69314. * 0b011001..16-bit pixels (2-plane UV)
  69315. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  69316. * 0b011011..16-bit pixels (2-plane VU)
  69317. * 0b011110..16-bit pixels (3-plane format)
  69318. * 0b011111..16-bit pixels (3-plane format)
  69319. * 0b100100..2-bit pixels with alpha at the low 8 bits
  69320. * 0b101100..16-bit pixels with alpha at the low 1bits
  69321. * 0b101101..16-bit pixels with alpha at the low 4 bits
  69322. */
  69323. #define PXP_PS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_FORMAT_SHIFT)) & PXP_PS_CTRL_FORMAT_MASK)
  69324. #define PXP_PS_CTRL_WB_SWAP_MASK (0x40U)
  69325. #define PXP_PS_CTRL_WB_SWAP_SHIFT (6U)
  69326. /*! WB_SWAP
  69327. * 0b0..Byte swap is disabled
  69328. * 0b1..Byte swap is enabled
  69329. */
  69330. #define PXP_PS_CTRL_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_WB_SWAP_SHIFT)) & PXP_PS_CTRL_WB_SWAP_MASK)
  69331. #define PXP_PS_CTRL_DECY_MASK (0x300U)
  69332. #define PXP_PS_CTRL_DECY_SHIFT (8U)
  69333. /*! DECY
  69334. * 0b00..Disable pre-decimation filter.
  69335. * 0b01..Decimate PS by 2.
  69336. * 0b10..Decimate PS by 4.
  69337. * 0b11..Decimate PS by 8.
  69338. */
  69339. #define PXP_PS_CTRL_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECY_SHIFT)) & PXP_PS_CTRL_DECY_MASK)
  69340. #define PXP_PS_CTRL_DECX_MASK (0xC00U)
  69341. #define PXP_PS_CTRL_DECX_SHIFT (10U)
  69342. /*! DECX
  69343. * 0b00..Disable pre-decimation filter.
  69344. * 0b01..Decimate PS by 2.
  69345. * 0b10..Decimate PS by 4.
  69346. * 0b11..Decimate PS by 8.
  69347. */
  69348. #define PXP_PS_CTRL_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_DECX_SHIFT)) & PXP_PS_CTRL_DECX_MASK)
  69349. /*! @} */
  69350. /*! @name PS_CTRL_SET - Processed Surface (PS) Control Register */
  69351. /*! @{ */
  69352. #define PXP_PS_CTRL_SET_FORMAT_MASK (0x3FU)
  69353. #define PXP_PS_CTRL_SET_FORMAT_SHIFT (0U)
  69354. /*! FORMAT
  69355. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  69356. * 0b001100..16-bit pixels with/without alpha at high 1bit
  69357. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  69358. * 0b001110..16-bit pixels
  69359. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  69360. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69361. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69362. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  69363. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69364. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  69365. * 0b011001..16-bit pixels (2-plane UV)
  69366. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  69367. * 0b011011..16-bit pixels (2-plane VU)
  69368. * 0b011110..16-bit pixels (3-plane format)
  69369. * 0b011111..16-bit pixels (3-plane format)
  69370. * 0b100100..2-bit pixels with alpha at the low 8 bits
  69371. * 0b101100..16-bit pixels with alpha at the low 1bits
  69372. * 0b101101..16-bit pixels with alpha at the low 4 bits
  69373. */
  69374. #define PXP_PS_CTRL_SET_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_FORMAT_SHIFT)) & PXP_PS_CTRL_SET_FORMAT_MASK)
  69375. #define PXP_PS_CTRL_SET_WB_SWAP_MASK (0x40U)
  69376. #define PXP_PS_CTRL_SET_WB_SWAP_SHIFT (6U)
  69377. /*! WB_SWAP
  69378. * 0b0..Byte swap is disabled
  69379. * 0b1..Byte swap is enabled
  69380. */
  69381. #define PXP_PS_CTRL_SET_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_WB_SWAP_SHIFT)) & PXP_PS_CTRL_SET_WB_SWAP_MASK)
  69382. #define PXP_PS_CTRL_SET_DECY_MASK (0x300U)
  69383. #define PXP_PS_CTRL_SET_DECY_SHIFT (8U)
  69384. /*! DECY
  69385. * 0b00..Disable pre-decimation filter.
  69386. * 0b01..Decimate PS by 2.
  69387. * 0b10..Decimate PS by 4.
  69388. * 0b11..Decimate PS by 8.
  69389. */
  69390. #define PXP_PS_CTRL_SET_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECY_SHIFT)) & PXP_PS_CTRL_SET_DECY_MASK)
  69391. #define PXP_PS_CTRL_SET_DECX_MASK (0xC00U)
  69392. #define PXP_PS_CTRL_SET_DECX_SHIFT (10U)
  69393. /*! DECX
  69394. * 0b00..Disable pre-decimation filter.
  69395. * 0b01..Decimate PS by 2.
  69396. * 0b10..Decimate PS by 4.
  69397. * 0b11..Decimate PS by 8.
  69398. */
  69399. #define PXP_PS_CTRL_SET_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_SET_DECX_SHIFT)) & PXP_PS_CTRL_SET_DECX_MASK)
  69400. /*! @} */
  69401. /*! @name PS_CTRL_CLR - Processed Surface (PS) Control Register */
  69402. /*! @{ */
  69403. #define PXP_PS_CTRL_CLR_FORMAT_MASK (0x3FU)
  69404. #define PXP_PS_CTRL_CLR_FORMAT_SHIFT (0U)
  69405. /*! FORMAT
  69406. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  69407. * 0b001100..16-bit pixels with/without alpha at high 1bit
  69408. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  69409. * 0b001110..16-bit pixels
  69410. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  69411. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69412. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69413. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  69414. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69415. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  69416. * 0b011001..16-bit pixels (2-plane UV)
  69417. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  69418. * 0b011011..16-bit pixels (2-plane VU)
  69419. * 0b011110..16-bit pixels (3-plane format)
  69420. * 0b011111..16-bit pixels (3-plane format)
  69421. * 0b100100..2-bit pixels with alpha at the low 8 bits
  69422. * 0b101100..16-bit pixels with alpha at the low 1bits
  69423. * 0b101101..16-bit pixels with alpha at the low 4 bits
  69424. */
  69425. #define PXP_PS_CTRL_CLR_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_FORMAT_SHIFT)) & PXP_PS_CTRL_CLR_FORMAT_MASK)
  69426. #define PXP_PS_CTRL_CLR_WB_SWAP_MASK (0x40U)
  69427. #define PXP_PS_CTRL_CLR_WB_SWAP_SHIFT (6U)
  69428. /*! WB_SWAP
  69429. * 0b0..Byte swap is disabled
  69430. * 0b1..Byte swap is enabled
  69431. */
  69432. #define PXP_PS_CTRL_CLR_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_WB_SWAP_SHIFT)) & PXP_PS_CTRL_CLR_WB_SWAP_MASK)
  69433. #define PXP_PS_CTRL_CLR_DECY_MASK (0x300U)
  69434. #define PXP_PS_CTRL_CLR_DECY_SHIFT (8U)
  69435. /*! DECY
  69436. * 0b00..Disable pre-decimation filter.
  69437. * 0b01..Decimate PS by 2.
  69438. * 0b10..Decimate PS by 4.
  69439. * 0b11..Decimate PS by 8.
  69440. */
  69441. #define PXP_PS_CTRL_CLR_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECY_SHIFT)) & PXP_PS_CTRL_CLR_DECY_MASK)
  69442. #define PXP_PS_CTRL_CLR_DECX_MASK (0xC00U)
  69443. #define PXP_PS_CTRL_CLR_DECX_SHIFT (10U)
  69444. /*! DECX
  69445. * 0b00..Disable pre-decimation filter.
  69446. * 0b01..Decimate PS by 2.
  69447. * 0b10..Decimate PS by 4.
  69448. * 0b11..Decimate PS by 8.
  69449. */
  69450. #define PXP_PS_CTRL_CLR_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_CLR_DECX_SHIFT)) & PXP_PS_CTRL_CLR_DECX_MASK)
  69451. /*! @} */
  69452. /*! @name PS_CTRL_TOG - Processed Surface (PS) Control Register */
  69453. /*! @{ */
  69454. #define PXP_PS_CTRL_TOG_FORMAT_MASK (0x3FU)
  69455. #define PXP_PS_CTRL_TOG_FORMAT_SHIFT (0U)
  69456. /*! FORMAT
  69457. * 0b000100..32-bit pixels (unpacked 24-bit format with/without alpha at high 8bits)
  69458. * 0b001100..16-bit pixels with/without alpha at high 1bit
  69459. * 0b001101..16-bit pixels with/without alpha at high 4 bits
  69460. * 0b001110..16-bit pixels
  69461. * 0b010000..32-bit pixels (1-plane XYUV unpacked)
  69462. * 0b010010..16-bit pixels (1-plane U0,Y0,V0,Y1 interleaved bytes)
  69463. * 0b010011..16-bit pixels (1-plane V0,Y0,U0,Y1 interleaved bytes)
  69464. * 0b010100..8-bit monochrome pixels (1-plane Y luma output)
  69465. * 0b010101..4-bit monochrome pixels (1-plane Y luma, 4 bit truncation)
  69466. * 0b011000..16-bit pixels (2-plane UV interleaved bytes)
  69467. * 0b011001..16-bit pixels (2-plane UV)
  69468. * 0b011010..16-bit pixels (2-plane VU interleaved bytes)
  69469. * 0b011011..16-bit pixels (2-plane VU)
  69470. * 0b011110..16-bit pixels (3-plane format)
  69471. * 0b011111..16-bit pixels (3-plane format)
  69472. * 0b100100..2-bit pixels with alpha at the low 8 bits
  69473. * 0b101100..16-bit pixels with alpha at the low 1bits
  69474. * 0b101101..16-bit pixels with alpha at the low 4 bits
  69475. */
  69476. #define PXP_PS_CTRL_TOG_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_FORMAT_SHIFT)) & PXP_PS_CTRL_TOG_FORMAT_MASK)
  69477. #define PXP_PS_CTRL_TOG_WB_SWAP_MASK (0x40U)
  69478. #define PXP_PS_CTRL_TOG_WB_SWAP_SHIFT (6U)
  69479. /*! WB_SWAP
  69480. * 0b0..Byte swap is disabled
  69481. * 0b1..Byte swap is enabled
  69482. */
  69483. #define PXP_PS_CTRL_TOG_WB_SWAP(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_WB_SWAP_SHIFT)) & PXP_PS_CTRL_TOG_WB_SWAP_MASK)
  69484. #define PXP_PS_CTRL_TOG_DECY_MASK (0x300U)
  69485. #define PXP_PS_CTRL_TOG_DECY_SHIFT (8U)
  69486. /*! DECY
  69487. * 0b00..Disable pre-decimation filter.
  69488. * 0b01..Decimate PS by 2.
  69489. * 0b10..Decimate PS by 4.
  69490. * 0b11..Decimate PS by 8.
  69491. */
  69492. #define PXP_PS_CTRL_TOG_DECY(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECY_SHIFT)) & PXP_PS_CTRL_TOG_DECY_MASK)
  69493. #define PXP_PS_CTRL_TOG_DECX_MASK (0xC00U)
  69494. #define PXP_PS_CTRL_TOG_DECX_SHIFT (10U)
  69495. /*! DECX
  69496. * 0b00..Disable pre-decimation filter.
  69497. * 0b01..Decimate PS by 2.
  69498. * 0b10..Decimate PS by 4.
  69499. * 0b11..Decimate PS by 8.
  69500. */
  69501. #define PXP_PS_CTRL_TOG_DECX(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CTRL_TOG_DECX_SHIFT)) & PXP_PS_CTRL_TOG_DECX_MASK)
  69502. /*! @} */
  69503. /*! @name PS_BUF - PS Input Buffer Address */
  69504. /*! @{ */
  69505. #define PXP_PS_BUF_ADDR_MASK (0xFFFFFFFFU)
  69506. #define PXP_PS_BUF_ADDR_SHIFT (0U)
  69507. #define PXP_PS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BUF_ADDR_SHIFT)) & PXP_PS_BUF_ADDR_MASK)
  69508. /*! @} */
  69509. /*! @name PS_UBUF - PS U/Cb or 2 Plane UV Input Buffer Address */
  69510. /*! @{ */
  69511. #define PXP_PS_UBUF_ADDR_MASK (0xFFFFFFFFU)
  69512. #define PXP_PS_UBUF_ADDR_SHIFT (0U)
  69513. #define PXP_PS_UBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_UBUF_ADDR_SHIFT)) & PXP_PS_UBUF_ADDR_MASK)
  69514. /*! @} */
  69515. /*! @name PS_VBUF - PS V/Cr Input Buffer Address */
  69516. /*! @{ */
  69517. #define PXP_PS_VBUF_ADDR_MASK (0xFFFFFFFFU)
  69518. #define PXP_PS_VBUF_ADDR_SHIFT (0U)
  69519. #define PXP_PS_VBUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_VBUF_ADDR_SHIFT)) & PXP_PS_VBUF_ADDR_MASK)
  69520. /*! @} */
  69521. /*! @name PS_PITCH - Processed Surface Pitch */
  69522. /*! @{ */
  69523. #define PXP_PS_PITCH_PITCH_MASK (0xFFFFU)
  69524. #define PXP_PS_PITCH_PITCH_SHIFT (0U)
  69525. #define PXP_PS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_PITCH_PITCH_SHIFT)) & PXP_PS_PITCH_PITCH_MASK)
  69526. /*! @} */
  69527. /*! @name PS_BACKGROUND - PS Background Color */
  69528. /*! @{ */
  69529. #define PXP_PS_BACKGROUND_COLOR_MASK (0xFFFFFFU)
  69530. #define PXP_PS_BACKGROUND_COLOR_SHIFT (0U)
  69531. #define PXP_PS_BACKGROUND_COLOR(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_BACKGROUND_COLOR_SHIFT)) & PXP_PS_BACKGROUND_COLOR_MASK)
  69532. /*! @} */
  69533. /*! @name PS_SCALE - PS Scale Factor Register */
  69534. /*! @{ */
  69535. #define PXP_PS_SCALE_XSCALE_MASK (0x7FFFU)
  69536. #define PXP_PS_SCALE_XSCALE_SHIFT (0U)
  69537. #define PXP_PS_SCALE_XSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_XSCALE_SHIFT)) & PXP_PS_SCALE_XSCALE_MASK)
  69538. #define PXP_PS_SCALE_YSCALE_MASK (0x7FFF0000U)
  69539. #define PXP_PS_SCALE_YSCALE_SHIFT (16U)
  69540. #define PXP_PS_SCALE_YSCALE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_SCALE_YSCALE_SHIFT)) & PXP_PS_SCALE_YSCALE_MASK)
  69541. /*! @} */
  69542. /*! @name PS_OFFSET - PS Scale Offset Register */
  69543. /*! @{ */
  69544. #define PXP_PS_OFFSET_XOFFSET_MASK (0xFFFU)
  69545. #define PXP_PS_OFFSET_XOFFSET_SHIFT (0U)
  69546. #define PXP_PS_OFFSET_XOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_XOFFSET_SHIFT)) & PXP_PS_OFFSET_XOFFSET_MASK)
  69547. #define PXP_PS_OFFSET_YOFFSET_MASK (0xFFF0000U)
  69548. #define PXP_PS_OFFSET_YOFFSET_SHIFT (16U)
  69549. #define PXP_PS_OFFSET_YOFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_OFFSET_YOFFSET_SHIFT)) & PXP_PS_OFFSET_YOFFSET_MASK)
  69550. /*! @} */
  69551. /*! @name PS_CLRKEYLOW - PS Color Key Low */
  69552. /*! @{ */
  69553. #define PXP_PS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  69554. #define PXP_PS_CLRKEYLOW_PIXEL_SHIFT (0U)
  69555. #define PXP_PS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_PS_CLRKEYLOW_PIXEL_MASK)
  69556. /*! @} */
  69557. /*! @name PS_CLRKEYHIGH - PS Color Key High */
  69558. /*! @{ */
  69559. #define PXP_PS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  69560. #define PXP_PS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  69561. #define PXP_PS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_PS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_PS_CLRKEYHIGH_PIXEL_MASK)
  69562. /*! @} */
  69563. /*! @name AS_CTRL - Alpha Surface Control */
  69564. /*! @{ */
  69565. #define PXP_AS_CTRL_ALPHA_CTRL_MASK (0x6U)
  69566. #define PXP_AS_CTRL_ALPHA_CTRL_SHIFT (1U)
  69567. /*! ALPHA_CTRL
  69568. * 0b00..Indicates that the AS pixel alpha value will be used to blend the AS with PS. The ALPHA field is ignored.
  69569. * 0b01..Indicates that the value in the ALPHA field should be used instead of the alpha values present in the input pixels.
  69570. * 0b10..Indicates that the value in the ALPHA field should be used to scale all pixel alpha values. Each pixel
  69571. * alpha is multiplied by the value in the ALPHA field.
  69572. * 0b11..Enable ROPs. The ROP field indicates an operation to be performed on the alpha surface and PS pixels.
  69573. */
  69574. #define PXP_AS_CTRL_ALPHA_CTRL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_CTRL_SHIFT)) & PXP_AS_CTRL_ALPHA_CTRL_MASK)
  69575. #define PXP_AS_CTRL_ENABLE_COLORKEY_MASK (0x8U)
  69576. #define PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT (3U)
  69577. /*! ENABLE_COLORKEY
  69578. * 0b0..Disabled
  69579. * 0b1..Enabled
  69580. */
  69581. #define PXP_AS_CTRL_ENABLE_COLORKEY(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ENABLE_COLORKEY_SHIFT)) & PXP_AS_CTRL_ENABLE_COLORKEY_MASK)
  69582. #define PXP_AS_CTRL_FORMAT_MASK (0xF0U)
  69583. #define PXP_AS_CTRL_FORMAT_SHIFT (4U)
  69584. /*! FORMAT
  69585. * 0b0000..32-bit pixels with alpha
  69586. * 0b0001..2-bit pixel with alpha at low 8 bits
  69587. * 0b0100..32-bit pixels without alpha (unpacked 24-bit format)
  69588. * 0b1000..16-bit pixels with alpha
  69589. * 0b1001..16-bit pixels with alpha
  69590. * 0b1010..16-bit pixel with alpha at low 1 bit
  69591. * 0b1011..16-bit pixel with alpha at low 4 bits
  69592. * 0b1100..16-bit pixels without alpha
  69593. * 0b1101..16-bit pixels without alpha
  69594. * 0b1110..16-bit pixels without alpha
  69595. */
  69596. #define PXP_AS_CTRL_FORMAT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_FORMAT_SHIFT)) & PXP_AS_CTRL_FORMAT_MASK)
  69597. #define PXP_AS_CTRL_ALPHA_MASK (0xFF00U)
  69598. #define PXP_AS_CTRL_ALPHA_SHIFT (8U)
  69599. #define PXP_AS_CTRL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_SHIFT)) & PXP_AS_CTRL_ALPHA_MASK)
  69600. #define PXP_AS_CTRL_ROP_MASK (0xF0000U)
  69601. #define PXP_AS_CTRL_ROP_SHIFT (16U)
  69602. /*! ROP
  69603. * 0b0000..AS AND PS
  69604. * 0b0001..nAS AND PS
  69605. * 0b0010..AS AND nPS
  69606. * 0b0011..AS OR PS
  69607. * 0b0100..nAS OR PS
  69608. * 0b0101..AS OR nPS
  69609. * 0b0110..nAS
  69610. * 0b0111..nPS
  69611. * 0b1000..AS NAND PS
  69612. * 0b1001..AS NOR PS
  69613. * 0b1010..AS XOR PS
  69614. * 0b1011..AS XNOR PS
  69615. */
  69616. #define PXP_AS_CTRL_ROP(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ROP_SHIFT)) & PXP_AS_CTRL_ROP_MASK)
  69617. #define PXP_AS_CTRL_ALPHA_INVERT_MASK (0x100000U)
  69618. #define PXP_AS_CTRL_ALPHA_INVERT_SHIFT (20U)
  69619. /*! ALPHA_INVERT
  69620. * 0b0..Not inverted
  69621. * 0b1..Inverted
  69622. */
  69623. #define PXP_AS_CTRL_ALPHA_INVERT(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CTRL_ALPHA_INVERT_SHIFT)) & PXP_AS_CTRL_ALPHA_INVERT_MASK)
  69624. /*! @} */
  69625. /*! @name AS_BUF - Alpha Surface Buffer Pointer */
  69626. /*! @{ */
  69627. #define PXP_AS_BUF_ADDR_MASK (0xFFFFFFFFU)
  69628. #define PXP_AS_BUF_ADDR_SHIFT (0U)
  69629. #define PXP_AS_BUF_ADDR(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_BUF_ADDR_SHIFT)) & PXP_AS_BUF_ADDR_MASK)
  69630. /*! @} */
  69631. /*! @name AS_PITCH - Alpha Surface Pitch */
  69632. /*! @{ */
  69633. #define PXP_AS_PITCH_PITCH_MASK (0xFFFFU)
  69634. #define PXP_AS_PITCH_PITCH_SHIFT (0U)
  69635. #define PXP_AS_PITCH_PITCH(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_PITCH_PITCH_SHIFT)) & PXP_AS_PITCH_PITCH_MASK)
  69636. /*! @} */
  69637. /*! @name AS_CLRKEYLOW - Overlay Color Key Low */
  69638. /*! @{ */
  69639. #define PXP_AS_CLRKEYLOW_PIXEL_MASK (0xFFFFFFU)
  69640. #define PXP_AS_CLRKEYLOW_PIXEL_SHIFT (0U)
  69641. #define PXP_AS_CLRKEYLOW_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYLOW_PIXEL_SHIFT)) & PXP_AS_CLRKEYLOW_PIXEL_MASK)
  69642. /*! @} */
  69643. /*! @name AS_CLRKEYHIGH - Overlay Color Key High */
  69644. /*! @{ */
  69645. #define PXP_AS_CLRKEYHIGH_PIXEL_MASK (0xFFFFFFU)
  69646. #define PXP_AS_CLRKEYHIGH_PIXEL_SHIFT (0U)
  69647. #define PXP_AS_CLRKEYHIGH_PIXEL(x) (((uint32_t)(((uint32_t)(x)) << PXP_AS_CLRKEYHIGH_PIXEL_SHIFT)) & PXP_AS_CLRKEYHIGH_PIXEL_MASK)
  69648. /*! @} */
  69649. /*! @name CSC1_COEF0 - Color Space Conversion Coefficient Register 0 */
  69650. /*! @{ */
  69651. #define PXP_CSC1_COEF0_Y_OFFSET_MASK (0x1FFU)
  69652. #define PXP_CSC1_COEF0_Y_OFFSET_SHIFT (0U)
  69653. #define PXP_CSC1_COEF0_Y_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_Y_OFFSET_SHIFT)) & PXP_CSC1_COEF0_Y_OFFSET_MASK)
  69654. #define PXP_CSC1_COEF0_UV_OFFSET_MASK (0x3FE00U)
  69655. #define PXP_CSC1_COEF0_UV_OFFSET_SHIFT (9U)
  69656. #define PXP_CSC1_COEF0_UV_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_UV_OFFSET_SHIFT)) & PXP_CSC1_COEF0_UV_OFFSET_MASK)
  69657. #define PXP_CSC1_COEF0_C0_MASK (0x1FFC0000U)
  69658. #define PXP_CSC1_COEF0_C0_SHIFT (18U)
  69659. #define PXP_CSC1_COEF0_C0(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_C0_SHIFT)) & PXP_CSC1_COEF0_C0_MASK)
  69660. #define PXP_CSC1_COEF0_BYPASS_MASK (0x40000000U)
  69661. #define PXP_CSC1_COEF0_BYPASS_SHIFT (30U)
  69662. #define PXP_CSC1_COEF0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_BYPASS_SHIFT)) & PXP_CSC1_COEF0_BYPASS_MASK)
  69663. #define PXP_CSC1_COEF0_YCBCR_MODE_MASK (0x80000000U)
  69664. #define PXP_CSC1_COEF0_YCBCR_MODE_SHIFT (31U)
  69665. /*! YCBCR_MODE
  69666. * 0b0..YUV to RGB
  69667. * 0b1..YCbCr to RGB
  69668. */
  69669. #define PXP_CSC1_COEF0_YCBCR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF0_YCBCR_MODE_SHIFT)) & PXP_CSC1_COEF0_YCBCR_MODE_MASK)
  69670. /*! @} */
  69671. /*! @name CSC1_COEF1 - Color Space Conversion Coefficient Register 1 */
  69672. /*! @{ */
  69673. #define PXP_CSC1_COEF1_C4_MASK (0x7FFU)
  69674. #define PXP_CSC1_COEF1_C4_SHIFT (0U)
  69675. #define PXP_CSC1_COEF1_C4(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C4_SHIFT)) & PXP_CSC1_COEF1_C4_MASK)
  69676. #define PXP_CSC1_COEF1_C1_MASK (0x7FF0000U)
  69677. #define PXP_CSC1_COEF1_C1_SHIFT (16U)
  69678. #define PXP_CSC1_COEF1_C1(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF1_C1_SHIFT)) & PXP_CSC1_COEF1_C1_MASK)
  69679. /*! @} */
  69680. /*! @name CSC1_COEF2 - Color Space Conversion Coefficient Register 2 */
  69681. /*! @{ */
  69682. #define PXP_CSC1_COEF2_C3_MASK (0x7FFU)
  69683. #define PXP_CSC1_COEF2_C3_SHIFT (0U)
  69684. #define PXP_CSC1_COEF2_C3(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C3_SHIFT)) & PXP_CSC1_COEF2_C3_MASK)
  69685. #define PXP_CSC1_COEF2_C2_MASK (0x7FF0000U)
  69686. #define PXP_CSC1_COEF2_C2_SHIFT (16U)
  69687. #define PXP_CSC1_COEF2_C2(x) (((uint32_t)(((uint32_t)(x)) << PXP_CSC1_COEF2_C2_SHIFT)) & PXP_CSC1_COEF2_C2_MASK)
  69688. /*! @} */
  69689. /*! @name POWER - PXP Power Control Register */
  69690. /*! @{ */
  69691. #define PXP_POWER_ROT_MEM_LP_STATE_MASK (0xE00U)
  69692. #define PXP_POWER_ROT_MEM_LP_STATE_SHIFT (9U)
  69693. /*! ROT_MEM_LP_STATE
  69694. * 0b000..Memory is not in low power state.
  69695. * 0b001..Light Sleep Mode. Low leakage mode, maintain memory contents.
  69696. * 0b010..Deep Sleep Mode. Low leakage mode, maintain memory contents.
  69697. * 0b100..Shut Down Mode. Shut Down periphery and core, no memory retention.
  69698. */
  69699. #define PXP_POWER_ROT_MEM_LP_STATE(x) (((uint32_t)(((uint32_t)(x)) << PXP_POWER_ROT_MEM_LP_STATE_SHIFT)) & PXP_POWER_ROT_MEM_LP_STATE_MASK)
  69700. /*! @} */
  69701. /*! @name NEXT - Next Frame Pointer */
  69702. /*! @{ */
  69703. #define PXP_NEXT_ENABLED_MASK (0x1U)
  69704. #define PXP_NEXT_ENABLED_SHIFT (0U)
  69705. #define PXP_NEXT_ENABLED(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_ENABLED_SHIFT)) & PXP_NEXT_ENABLED_MASK)
  69706. #define PXP_NEXT_POINTER_MASK (0xFFFFFFFCU)
  69707. #define PXP_NEXT_POINTER_SHIFT (2U)
  69708. #define PXP_NEXT_POINTER(x) (((uint32_t)(((uint32_t)(x)) << PXP_NEXT_POINTER_SHIFT)) & PXP_NEXT_POINTER_MASK)
  69709. /*! @} */
  69710. /*! @name PORTER_DUFF_CTRL - PXP Alpha Engine A Control Register. */
  69711. /*! @{ */
  69712. #define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_MASK (0x1U)
  69713. #define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_SHIFT (0U)
  69714. /*! PORTER_DUFF_ENABLE
  69715. * 0b0..Disabled
  69716. * 0b1..Enabled
  69717. */
  69718. #define PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_SHIFT)) & PXP_PORTER_DUFF_CTRL_PORTER_DUFF_ENABLE_MASK)
  69719. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_MASK (0x6U)
  69720. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_SHIFT (1U)
  69721. /*! S0_S1_FACTOR_MODE
  69722. * 0b00..1
  69723. * 0b01..0
  69724. * 0b10..Straight alpha
  69725. * 0b11..Inverse alpha
  69726. */
  69727. #define PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_S1_FACTOR_MODE_MASK)
  69728. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_MASK (0x18U)
  69729. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_SHIFT (3U)
  69730. /*! S0_GLOBAL_ALPHA_MODE
  69731. * 0b00..Global alpha
  69732. * 0b01..Local alpha
  69733. * 0b10..Scaled alpha
  69734. * 0b11..Scaled alpha
  69735. */
  69736. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MODE_MASK)
  69737. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_MASK (0x20U)
  69738. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_SHIFT (5U)
  69739. /*! S0_ALPHA_MODE
  69740. * 0b0..Straight mode
  69741. * 0b1..Inverted mode
  69742. */
  69743. #define PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_ALPHA_MODE_MASK)
  69744. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_MASK (0x40U)
  69745. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_SHIFT (6U)
  69746. /*! S0_COLOR_MODE
  69747. * 0b0..Original pixel
  69748. * 0b1..Scaled pixel
  69749. */
  69750. #define PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_COLOR_MODE_MASK)
  69751. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_MASK (0x300U)
  69752. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_SHIFT (8U)
  69753. /*! S1_S0_FACTOR_MODE
  69754. * 0b00..1
  69755. * 0b01..0
  69756. * 0b10..Straight alpha
  69757. * 0b11..Inverse alpha
  69758. */
  69759. #define PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_S0_FACTOR_MODE_MASK)
  69760. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_MASK (0xC00U)
  69761. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_SHIFT (10U)
  69762. /*! S1_GLOBAL_ALPHA_MODE
  69763. * 0b00..Global alpha
  69764. * 0b01..Local alpha
  69765. * 0b10..Scaled alpha
  69766. * 0b11..Scaled alpha
  69767. */
  69768. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MODE_MASK)
  69769. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_MASK (0x1000U)
  69770. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_SHIFT (12U)
  69771. /*! S1_ALPHA_MODE
  69772. * 0b0..Straight mode
  69773. * 0b1..Inverted mode
  69774. */
  69775. #define PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_ALPHA_MODE_MASK)
  69776. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_MASK (0x2000U)
  69777. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_SHIFT (13U)
  69778. /*! S1_COLOR_MODE
  69779. * 0b0..Original pixel
  69780. * 0b1..Scaled pixel
  69781. */
  69782. #define PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_COLOR_MODE_MASK)
  69783. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MASK (0xFF0000U)
  69784. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_SHIFT (16U)
  69785. #define PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_SHIFT)) & PXP_PORTER_DUFF_CTRL_S0_GLOBAL_ALPHA_MASK)
  69786. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MASK (0xFF000000U)
  69787. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_SHIFT (24U)
  69788. #define PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA(x) (((uint32_t)(((uint32_t)(x)) << PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_SHIFT)) & PXP_PORTER_DUFF_CTRL_S1_GLOBAL_ALPHA_MASK)
  69789. /*! @} */
  69790. /*!
  69791. * @}
  69792. */ /* end of group PXP_Register_Masks */
  69793. /* PXP - Peripheral instance base addresses */
  69794. /** Peripheral PXP base address */
  69795. #define PXP_BASE (0x40814000u)
  69796. /** Peripheral PXP base pointer */
  69797. #define PXP ((PXP_Type *)PXP_BASE)
  69798. /** Array initializer of PXP peripheral base addresses */
  69799. #define PXP_BASE_ADDRS { PXP_BASE }
  69800. /** Array initializer of PXP peripheral base pointers */
  69801. #define PXP_BASE_PTRS { PXP }
  69802. /** Interrupt vectors for the PXP peripheral type */
  69803. #define PXP_IRQ0_IRQS { PXP_IRQn }
  69804. /*!
  69805. * @}
  69806. */ /* end of group PXP_Peripheral_Access_Layer */
  69807. /* ----------------------------------------------------------------------------
  69808. -- RDC Peripheral Access Layer
  69809. ---------------------------------------------------------------------------- */
  69810. /*!
  69811. * @addtogroup RDC_Peripheral_Access_Layer RDC Peripheral Access Layer
  69812. * @{
  69813. */
  69814. /** RDC - Register Layout Typedef */
  69815. typedef struct {
  69816. __I uint32_t VIR; /**< Version Information, offset: 0x0 */
  69817. uint8_t RESERVED_0[32];
  69818. __IO uint32_t STAT; /**< Status, offset: 0x24 */
  69819. __IO uint32_t INTCTRL; /**< Interrupt and Control, offset: 0x28 */
  69820. __IO uint32_t INTSTAT; /**< Interrupt Status, offset: 0x2C */
  69821. uint8_t RESERVED_1[464];
  69822. __IO uint32_t MDA[12]; /**< Master Domain Assignment, array offset: 0x200, array step: 0x4 */
  69823. uint8_t RESERVED_2[464];
  69824. __IO uint32_t PDAP[128]; /**< Peripheral Domain Access Permissions, array offset: 0x400, array step: 0x4 */
  69825. uint8_t RESERVED_3[512];
  69826. struct { /* offset: 0x800, array step: 0x10 */
  69827. __IO uint32_t MRSA; /**< Memory Region Start Address, array offset: 0x800, array step: 0x10 */
  69828. __IO uint32_t MREA; /**< Memory Region End Address, array offset: 0x804, array step: 0x10 */
  69829. __IO uint32_t MRC; /**< Memory Region Control, array offset: 0x808, array step: 0x10 */
  69830. __IO uint32_t MRVS; /**< Memory Region Violation Status, array offset: 0x80C, array step: 0x10 */
  69831. } MR[59];
  69832. } RDC_Type;
  69833. /* ----------------------------------------------------------------------------
  69834. -- RDC Register Masks
  69835. ---------------------------------------------------------------------------- */
  69836. /*!
  69837. * @addtogroup RDC_Register_Masks RDC Register Masks
  69838. * @{
  69839. */
  69840. /*! @name VIR - Version Information */
  69841. /*! @{ */
  69842. #define RDC_VIR_NDID_MASK (0xFU)
  69843. #define RDC_VIR_NDID_SHIFT (0U)
  69844. /*! NDID - Number of Domains
  69845. */
  69846. #define RDC_VIR_NDID(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NDID_SHIFT)) & RDC_VIR_NDID_MASK)
  69847. #define RDC_VIR_NMSTR_MASK (0xFF0U)
  69848. #define RDC_VIR_NMSTR_SHIFT (4U)
  69849. /*! NMSTR - Number of Masters
  69850. */
  69851. #define RDC_VIR_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NMSTR_SHIFT)) & RDC_VIR_NMSTR_MASK)
  69852. #define RDC_VIR_NPER_MASK (0xFF000U)
  69853. #define RDC_VIR_NPER_SHIFT (12U)
  69854. /*! NPER - Number of Peripherals
  69855. */
  69856. #define RDC_VIR_NPER(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NPER_SHIFT)) & RDC_VIR_NPER_MASK)
  69857. #define RDC_VIR_NRGN_MASK (0xFF00000U)
  69858. #define RDC_VIR_NRGN_SHIFT (20U)
  69859. /*! NRGN - Number of Memory Regions
  69860. */
  69861. #define RDC_VIR_NRGN(x) (((uint32_t)(((uint32_t)(x)) << RDC_VIR_NRGN_SHIFT)) & RDC_VIR_NRGN_MASK)
  69862. /*! @} */
  69863. /*! @name STAT - Status */
  69864. /*! @{ */
  69865. #define RDC_STAT_DID_MASK (0xFU)
  69866. #define RDC_STAT_DID_SHIFT (0U)
  69867. /*! DID - Domain ID
  69868. */
  69869. #define RDC_STAT_DID(x) (((uint32_t)(((uint32_t)(x)) << RDC_STAT_DID_SHIFT)) & RDC_STAT_DID_MASK)
  69870. #define RDC_STAT_PDS_MASK (0x100U)
  69871. #define RDC_STAT_PDS_SHIFT (8U)
  69872. /*! PDS - Power Domain Status
  69873. * 0b0..Power Down Domain is OFF
  69874. * 0b1..Power Down Domain is ON
  69875. */
  69876. #define RDC_STAT_PDS(x) (((uint32_t)(((uint32_t)(x)) << RDC_STAT_PDS_SHIFT)) & RDC_STAT_PDS_MASK)
  69877. /*! @} */
  69878. /*! @name INTCTRL - Interrupt and Control */
  69879. /*! @{ */
  69880. #define RDC_INTCTRL_RCI_EN_MASK (0x1U)
  69881. #define RDC_INTCTRL_RCI_EN_SHIFT (0U)
  69882. /*! RCI_EN - Restoration Complete Interrupt
  69883. * 0b0..Interrupt Disabled
  69884. * 0b1..Interrupt Enabled
  69885. */
  69886. #define RDC_INTCTRL_RCI_EN(x) (((uint32_t)(((uint32_t)(x)) << RDC_INTCTRL_RCI_EN_SHIFT)) & RDC_INTCTRL_RCI_EN_MASK)
  69887. /*! @} */
  69888. /*! @name INTSTAT - Interrupt Status */
  69889. /*! @{ */
  69890. #define RDC_INTSTAT_INT_MASK (0x1U)
  69891. #define RDC_INTSTAT_INT_SHIFT (0U)
  69892. /*! INT - Interrupt Status
  69893. * 0b0..No Interrupt Pending
  69894. * 0b1..Interrupt Pending
  69895. */
  69896. #define RDC_INTSTAT_INT(x) (((uint32_t)(((uint32_t)(x)) << RDC_INTSTAT_INT_SHIFT)) & RDC_INTSTAT_INT_MASK)
  69897. /*! @} */
  69898. /*! @name MDA - Master Domain Assignment */
  69899. /*! @{ */
  69900. #define RDC_MDA_DID_MASK (0x3U)
  69901. #define RDC_MDA_DID_SHIFT (0U)
  69902. /*! DID - Domain ID
  69903. * 0b00..Master assigned to Processing Domain 0
  69904. * 0b01..Master assigned to Processing Domain 1
  69905. * 0b10..Reserved
  69906. * 0b11..Reserved
  69907. */
  69908. #define RDC_MDA_DID(x) (((uint32_t)(((uint32_t)(x)) << RDC_MDA_DID_SHIFT)) & RDC_MDA_DID_MASK)
  69909. #define RDC_MDA_LCK_MASK (0x80000000U)
  69910. #define RDC_MDA_LCK_SHIFT (31U)
  69911. /*! LCK - Assignment Lock
  69912. * 0b0..Not Locked
  69913. * 0b1..Locked
  69914. */
  69915. #define RDC_MDA_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_MDA_LCK_SHIFT)) & RDC_MDA_LCK_MASK)
  69916. /*! @} */
  69917. /* The count of RDC_MDA */
  69918. #define RDC_MDA_COUNT (12U)
  69919. /*! @name PDAP - Peripheral Domain Access Permissions */
  69920. /*! @{ */
  69921. #define RDC_PDAP_D0W_MASK (0x1U)
  69922. #define RDC_PDAP_D0W_SHIFT (0U)
  69923. /*! D0W - Domain 0 Write Access
  69924. * 0b0..No Write Access
  69925. * 0b1..Write Access Allowed
  69926. */
  69927. #define RDC_PDAP_D0W(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D0W_SHIFT)) & RDC_PDAP_D0W_MASK)
  69928. #define RDC_PDAP_D0R_MASK (0x2U)
  69929. #define RDC_PDAP_D0R_SHIFT (1U)
  69930. /*! D0R - Domain 0 Read Access
  69931. * 0b0..No Read Access
  69932. * 0b1..Read Access Allowed
  69933. */
  69934. #define RDC_PDAP_D0R(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D0R_SHIFT)) & RDC_PDAP_D0R_MASK)
  69935. #define RDC_PDAP_D1W_MASK (0x4U)
  69936. #define RDC_PDAP_D1W_SHIFT (2U)
  69937. /*! D1W - Domain 1 Write Access
  69938. * 0b0..No Write Access
  69939. * 0b1..Write Access Allowed
  69940. */
  69941. #define RDC_PDAP_D1W(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D1W_SHIFT)) & RDC_PDAP_D1W_MASK)
  69942. #define RDC_PDAP_D1R_MASK (0x8U)
  69943. #define RDC_PDAP_D1R_SHIFT (3U)
  69944. /*! D1R - Domain 1 Read Access
  69945. * 0b0..No Read Access
  69946. * 0b1..Read Access Allowed
  69947. */
  69948. #define RDC_PDAP_D1R(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_D1R_SHIFT)) & RDC_PDAP_D1R_MASK)
  69949. #define RDC_PDAP_SREQ_MASK (0x40000000U)
  69950. #define RDC_PDAP_SREQ_SHIFT (30U)
  69951. /*! SREQ - Semaphore Required
  69952. * 0b0..Semaphores have no effect
  69953. * 0b1..Semaphores are enforced
  69954. */
  69955. #define RDC_PDAP_SREQ(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_SREQ_SHIFT)) & RDC_PDAP_SREQ_MASK)
  69956. #define RDC_PDAP_LCK_MASK (0x80000000U)
  69957. #define RDC_PDAP_LCK_SHIFT (31U)
  69958. /*! LCK - Peripheral Permissions Lock
  69959. * 0b0..Not Locked
  69960. * 0b1..Locked
  69961. */
  69962. #define RDC_PDAP_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_PDAP_LCK_SHIFT)) & RDC_PDAP_LCK_MASK)
  69963. /*! @} */
  69964. /* The count of RDC_PDAP */
  69965. #define RDC_PDAP_COUNT (128U)
  69966. /*! @name MRSA - Memory Region Start Address */
  69967. /*! @{ */
  69968. #define RDC_MRSA_SADR_MASK (0xFFFFFF80U)
  69969. #define RDC_MRSA_SADR_SHIFT (7U)
  69970. /*! SADR - Start address for memory region
  69971. */
  69972. #define RDC_MRSA_SADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRSA_SADR_SHIFT)) & RDC_MRSA_SADR_MASK)
  69973. /*! @} */
  69974. /* The count of RDC_MRSA */
  69975. #define RDC_MRSA_COUNT (59U)
  69976. /*! @name MREA - Memory Region End Address */
  69977. /*! @{ */
  69978. #define RDC_MREA_EADR_MASK (0xFFFFFF80U)
  69979. #define RDC_MREA_EADR_SHIFT (7U)
  69980. /*! EADR - Upper bound for memory region
  69981. */
  69982. #define RDC_MREA_EADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MREA_EADR_SHIFT)) & RDC_MREA_EADR_MASK)
  69983. /*! @} */
  69984. /* The count of RDC_MREA */
  69985. #define RDC_MREA_COUNT (59U)
  69986. /*! @name MRC - Memory Region Control */
  69987. /*! @{ */
  69988. #define RDC_MRC_D0W_MASK (0x1U)
  69989. #define RDC_MRC_D0W_SHIFT (0U)
  69990. /*! D0W - Domain 0 Write Access to Region
  69991. * 0b0..Processing Domain 0 does not have Write access to the memory region
  69992. * 0b1..Processing Domain 0 has Write access to the memory region
  69993. */
  69994. #define RDC_MRC_D0W(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D0W_SHIFT)) & RDC_MRC_D0W_MASK)
  69995. #define RDC_MRC_D0R_MASK (0x2U)
  69996. #define RDC_MRC_D0R_SHIFT (1U)
  69997. /*! D0R - Domain 0 Read Access to Region
  69998. * 0b0..Processing Domain 0 does not have Read access to the memory region
  69999. * 0b1..Processing Domain 0 has Read access to the memory region
  70000. */
  70001. #define RDC_MRC_D0R(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D0R_SHIFT)) & RDC_MRC_D0R_MASK)
  70002. #define RDC_MRC_D1W_MASK (0x4U)
  70003. #define RDC_MRC_D1W_SHIFT (2U)
  70004. /*! D1W - Domain 1 Write Access to Region
  70005. * 0b0..Processing Domain 1 does not have Write access to the memory region
  70006. * 0b1..Processing Domain 1 has Write access to the memory region
  70007. */
  70008. #define RDC_MRC_D1W(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D1W_SHIFT)) & RDC_MRC_D1W_MASK)
  70009. #define RDC_MRC_D1R_MASK (0x8U)
  70010. #define RDC_MRC_D1R_SHIFT (3U)
  70011. /*! D1R - Domain 1 Read Access to Region
  70012. * 0b0..Processing Domain 1 does not have Read access to the memory region
  70013. * 0b1..Processing Domain 1 has Read access to the memory region
  70014. */
  70015. #define RDC_MRC_D1R(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_D1R_SHIFT)) & RDC_MRC_D1R_MASK)
  70016. #define RDC_MRC_ENA_MASK (0x40000000U)
  70017. #define RDC_MRC_ENA_SHIFT (30U)
  70018. /*! ENA - Region Enable
  70019. * 0b0..Memory region is not defined or restricted.
  70020. * 0b1..Memory boundaries, domain permissions and controls are in effect.
  70021. */
  70022. #define RDC_MRC_ENA(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_ENA_SHIFT)) & RDC_MRC_ENA_MASK)
  70023. #define RDC_MRC_LCK_MASK (0x80000000U)
  70024. #define RDC_MRC_LCK_SHIFT (31U)
  70025. /*! LCK - Region Lock
  70026. * 0b0..No Lock. All fields in this register may be modified.
  70027. * 0b1..Locked. No fields in this register may be modified except ENA, which may be set but not cleared.
  70028. */
  70029. #define RDC_MRC_LCK(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRC_LCK_SHIFT)) & RDC_MRC_LCK_MASK)
  70030. /*! @} */
  70031. /* The count of RDC_MRC */
  70032. #define RDC_MRC_COUNT (59U)
  70033. /*! @name MRVS - Memory Region Violation Status */
  70034. /*! @{ */
  70035. #define RDC_MRVS_VDID_MASK (0x3U)
  70036. #define RDC_MRVS_VDID_SHIFT (0U)
  70037. /*! VDID - Violating Domain ID
  70038. * 0b00..Processing Domain 0
  70039. * 0b01..Processing Domain 1
  70040. * 0b10..Reserved
  70041. * 0b11..Reserved
  70042. */
  70043. #define RDC_MRVS_VDID(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_VDID_SHIFT)) & RDC_MRVS_VDID_MASK)
  70044. #define RDC_MRVS_AD_MASK (0x10U)
  70045. #define RDC_MRVS_AD_SHIFT (4U)
  70046. /*! AD - Access Denied
  70047. */
  70048. #define RDC_MRVS_AD(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_AD_SHIFT)) & RDC_MRVS_AD_MASK)
  70049. #define RDC_MRVS_VADR_MASK (0xFFFFFFE0U)
  70050. #define RDC_MRVS_VADR_SHIFT (5U)
  70051. /*! VADR - Violating Address
  70052. */
  70053. #define RDC_MRVS_VADR(x) (((uint32_t)(((uint32_t)(x)) << RDC_MRVS_VADR_SHIFT)) & RDC_MRVS_VADR_MASK)
  70054. /*! @} */
  70055. /* The count of RDC_MRVS */
  70056. #define RDC_MRVS_COUNT (59U)
  70057. /*!
  70058. * @}
  70059. */ /* end of group RDC_Register_Masks */
  70060. /* RDC - Peripheral instance base addresses */
  70061. /** Peripheral RDC base address */
  70062. #define RDC_BASE (0x40C78000u)
  70063. /** Peripheral RDC base pointer */
  70064. #define RDC ((RDC_Type *)RDC_BASE)
  70065. /** Array initializer of RDC peripheral base addresses */
  70066. #define RDC_BASE_ADDRS { RDC_BASE }
  70067. /** Array initializer of RDC peripheral base pointers */
  70068. #define RDC_BASE_PTRS { RDC }
  70069. /** Interrupt vectors for the RDC peripheral type */
  70070. #define RDC_IRQS { RDC_IRQn }
  70071. /*!
  70072. * @}
  70073. */ /* end of group RDC_Peripheral_Access_Layer */
  70074. /* ----------------------------------------------------------------------------
  70075. -- RDC_SEMAPHORE Peripheral Access Layer
  70076. ---------------------------------------------------------------------------- */
  70077. /*!
  70078. * @addtogroup RDC_SEMAPHORE_Peripheral_Access_Layer RDC_SEMAPHORE Peripheral Access Layer
  70079. * @{
  70080. */
  70081. /** RDC_SEMAPHORE - Register Layout Typedef */
  70082. typedef struct {
  70083. __IO uint8_t GATE[64]; /**< Gate Register, array offset: 0x0, array step: 0x1 */
  70084. uint8_t RESERVED_0[2];
  70085. union { /* offset: 0x42 */
  70086. __IO uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */
  70087. __IO uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */
  70088. };
  70089. } RDC_SEMAPHORE_Type;
  70090. /* ----------------------------------------------------------------------------
  70091. -- RDC_SEMAPHORE Register Masks
  70092. ---------------------------------------------------------------------------- */
  70093. /*!
  70094. * @addtogroup RDC_SEMAPHORE_Register_Masks RDC_SEMAPHORE Register Masks
  70095. * @{
  70096. */
  70097. /*! @name GATE - Gate Register */
  70098. /*! @{ */
  70099. #define RDC_SEMAPHORE_GATE_GTFSM_MASK (0xFU)
  70100. #define RDC_SEMAPHORE_GATE_GTFSM_SHIFT (0U)
  70101. /*! GTFSM - Gate Finite State Machine.
  70102. * 0b0000..The gate is unlocked (free).
  70103. * 0b0001..The gate has been locked by processor with master_index = 0.
  70104. * 0b0010..The gate has been locked by processor with master_index = 1.
  70105. * 0b0011..The gate has been locked by processor with master_index = 2.
  70106. * 0b0100..The gate has been locked by processor with master_index = 3.
  70107. * 0b0101..The gate has been locked by processor with master_index = 4.
  70108. * 0b0110..The gate has been locked by processor with master_index = 5.
  70109. * 0b0111..The gate has been locked by processor with master_index = 6.
  70110. * 0b1000..The gate has been locked by processor with master_index = 7.
  70111. * 0b1001..The gate has been locked by processor with master_index = 8.
  70112. * 0b1010..The gate has been locked by processor with master_index = 9.
  70113. * 0b1011..The gate has been locked by processor with master_index = 10.
  70114. * 0b1100..The gate has been locked by processor with master_index = 11.
  70115. * 0b1101..The gate has been locked by processor with master_index = 12.
  70116. * 0b1110..The gate has been locked by processor with master_index = 13.
  70117. * 0b1111..The gate has been locked by processor with master_index = 14.
  70118. */
  70119. #define RDC_SEMAPHORE_GATE_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << RDC_SEMAPHORE_GATE_GTFSM_SHIFT)) & RDC_SEMAPHORE_GATE_GTFSM_MASK)
  70120. #define RDC_SEMAPHORE_GATE_LDOM_MASK (0x30U)
  70121. #define RDC_SEMAPHORE_GATE_LDOM_SHIFT (4U)
  70122. /*! LDOM
  70123. * 0b00..The gate is locked by domain 0. (True if the field GTFSM does not equal to 0000.)
  70124. * 0b01..The gate has been locked by domain 1.
  70125. * 0b10..Reserved
  70126. * 0b11..Reserved
  70127. */
  70128. #define RDC_SEMAPHORE_GATE_LDOM(x) (((uint8_t)(((uint8_t)(x)) << RDC_SEMAPHORE_GATE_LDOM_SHIFT)) & RDC_SEMAPHORE_GATE_LDOM_MASK)
  70129. /*! @} */
  70130. /* The count of RDC_SEMAPHORE_GATE */
  70131. #define RDC_SEMAPHORE_GATE_COUNT (64U)
  70132. /*! @name RSTGT_R - Reset Gate Read */
  70133. /*! @{ */
  70134. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS_MASK (0xFU)
  70135. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS_SHIFT (0U)
  70136. #define RDC_SEMAPHORE_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGMS_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGMS_MASK)
  70137. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM_MASK (0x30U)
  70138. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM_SHIFT (4U)
  70139. /*! RSTGSM
  70140. * 0b00..Idle, waiting for the first data pattern write.
  70141. * 0b01..Waiting for the second data pattern write.
  70142. * 0b10..The 2-write sequence has completed. Generate the specified gate reset(s). After the reset is performed,
  70143. * this machine returns to the idle (waiting for first data pattern write) state. The "01" state persists
  70144. * for only one clock cycle. Software will never be able to observe this state.
  70145. * 0b11..This state encoding is never used and therefore reserved.
  70146. */
  70147. #define RDC_SEMAPHORE_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGSM_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGSM_MASK)
  70148. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN_MASK (0xFF00U)
  70149. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN_SHIFT (8U)
  70150. #define RDC_SEMAPHORE_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_R_RSTGTN_SHIFT)) & RDC_SEMAPHORE_RSTGT_R_RSTGTN_MASK)
  70151. /*! @} */
  70152. /*! @name RSTGT_W - Reset Gate Write */
  70153. /*! @{ */
  70154. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP_MASK (0xFFU)
  70155. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP_SHIFT (0U)
  70156. #define RDC_SEMAPHORE_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_W_RSTGDP_SHIFT)) & RDC_SEMAPHORE_RSTGT_W_RSTGDP_MASK)
  70157. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN_MASK (0xFF00U)
  70158. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN_SHIFT (8U)
  70159. #define RDC_SEMAPHORE_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << RDC_SEMAPHORE_RSTGT_W_RSTGTN_SHIFT)) & RDC_SEMAPHORE_RSTGT_W_RSTGTN_MASK)
  70160. /*! @} */
  70161. /*!
  70162. * @}
  70163. */ /* end of group RDC_SEMAPHORE_Register_Masks */
  70164. /* RDC_SEMAPHORE - Peripheral instance base addresses */
  70165. /** Peripheral RDC_SEMAPHORE1 base address */
  70166. #define RDC_SEMAPHORE1_BASE (0x40C44000u)
  70167. /** Peripheral RDC_SEMAPHORE1 base pointer */
  70168. #define RDC_SEMAPHORE1 ((RDC_SEMAPHORE_Type *)RDC_SEMAPHORE1_BASE)
  70169. /** Peripheral RDC_SEMAPHORE2 base address */
  70170. #define RDC_SEMAPHORE2_BASE (0x40CCC000u)
  70171. /** Peripheral RDC_SEMAPHORE2 base pointer */
  70172. #define RDC_SEMAPHORE2 ((RDC_SEMAPHORE_Type *)RDC_SEMAPHORE2_BASE)
  70173. /** Array initializer of RDC_SEMAPHORE peripheral base addresses */
  70174. #define RDC_SEMAPHORE_BASE_ADDRS { RDC_SEMAPHORE1_BASE, RDC_SEMAPHORE2_BASE }
  70175. /** Array initializer of RDC_SEMAPHORE peripheral base pointers */
  70176. #define RDC_SEMAPHORE_BASE_PTRS { RDC_SEMAPHORE1, RDC_SEMAPHORE2 }
  70177. /*!
  70178. * @}
  70179. */ /* end of group RDC_SEMAPHORE_Peripheral_Access_Layer */
  70180. /* ----------------------------------------------------------------------------
  70181. -- RTWDOG Peripheral Access Layer
  70182. ---------------------------------------------------------------------------- */
  70183. /*!
  70184. * @addtogroup RTWDOG_Peripheral_Access_Layer RTWDOG Peripheral Access Layer
  70185. * @{
  70186. */
  70187. /** RTWDOG - Register Layout Typedef */
  70188. typedef struct {
  70189. __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */
  70190. __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */
  70191. __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */
  70192. __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */
  70193. } RTWDOG_Type;
  70194. /* ----------------------------------------------------------------------------
  70195. -- RTWDOG Register Masks
  70196. ---------------------------------------------------------------------------- */
  70197. /*!
  70198. * @addtogroup RTWDOG_Register_Masks RTWDOG Register Masks
  70199. * @{
  70200. */
  70201. /*! @name CS - Watchdog Control and Status Register */
  70202. /*! @{ */
  70203. #define RTWDOG_CS_STOP_MASK (0x1U)
  70204. #define RTWDOG_CS_STOP_SHIFT (0U)
  70205. /*! STOP - Stop Enable
  70206. * 0b0..Watchdog disabled in chip stop mode.
  70207. * 0b1..Watchdog enabled in chip stop mode.
  70208. */
  70209. #define RTWDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_STOP_SHIFT)) & RTWDOG_CS_STOP_MASK)
  70210. #define RTWDOG_CS_WAIT_MASK (0x2U)
  70211. #define RTWDOG_CS_WAIT_SHIFT (1U)
  70212. /*! WAIT - Wait Enable
  70213. * 0b0..Watchdog disabled in chip wait mode.
  70214. * 0b1..Watchdog enabled in chip wait mode.
  70215. */
  70216. #define RTWDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WAIT_SHIFT)) & RTWDOG_CS_WAIT_MASK)
  70217. #define RTWDOG_CS_DBG_MASK (0x4U)
  70218. #define RTWDOG_CS_DBG_SHIFT (2U)
  70219. /*! DBG - Debug Enable
  70220. * 0b0..Watchdog disabled in chip debug mode.
  70221. * 0b1..Watchdog enabled in chip debug mode.
  70222. */
  70223. #define RTWDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_DBG_SHIFT)) & RTWDOG_CS_DBG_MASK)
  70224. #define RTWDOG_CS_TST_MASK (0x18U)
  70225. #define RTWDOG_CS_TST_SHIFT (3U)
  70226. /*! TST - Watchdog Test
  70227. * 0b00..Watchdog test mode disabled.
  70228. * 0b01..Watchdog user mode enabled. (Watchdog test mode disabled.) After testing the watchdog, software should
  70229. * use this setting to indicate that the watchdog is functioning normally in user mode.
  70230. * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW].
  70231. * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH].
  70232. */
  70233. #define RTWDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_TST_SHIFT)) & RTWDOG_CS_TST_MASK)
  70234. #define RTWDOG_CS_UPDATE_MASK (0x20U)
  70235. #define RTWDOG_CS_UPDATE_SHIFT (5U)
  70236. /*! UPDATE - Allow updates
  70237. * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset.
  70238. * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 255 bus clocks after performing the unlock write sequence.
  70239. */
  70240. #define RTWDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_UPDATE_SHIFT)) & RTWDOG_CS_UPDATE_MASK)
  70241. #define RTWDOG_CS_INT_MASK (0x40U)
  70242. #define RTWDOG_CS_INT_SHIFT (6U)
  70243. /*! INT - Watchdog Interrupt
  70244. * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed.
  70245. * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 255 bus clocks from the interrupt vector fetch.
  70246. */
  70247. #define RTWDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_INT_SHIFT)) & RTWDOG_CS_INT_MASK)
  70248. #define RTWDOG_CS_EN_MASK (0x80U)
  70249. #define RTWDOG_CS_EN_SHIFT (7U)
  70250. /*! EN - Watchdog Enable
  70251. * 0b0..Watchdog disabled.
  70252. * 0b1..Watchdog enabled.
  70253. */
  70254. #define RTWDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_EN_SHIFT)) & RTWDOG_CS_EN_MASK)
  70255. #define RTWDOG_CS_CLK_MASK (0x300U)
  70256. #define RTWDOG_CS_CLK_SHIFT (8U)
  70257. /*! CLK - Watchdog Clock
  70258. */
  70259. #define RTWDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CLK_SHIFT)) & RTWDOG_CS_CLK_MASK)
  70260. #define RTWDOG_CS_RCS_MASK (0x400U)
  70261. #define RTWDOG_CS_RCS_SHIFT (10U)
  70262. /*! RCS - Reconfiguration Success
  70263. * 0b0..Reconfiguring WDOG.
  70264. * 0b1..Reconfiguration is successful.
  70265. */
  70266. #define RTWDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_RCS_SHIFT)) & RTWDOG_CS_RCS_MASK)
  70267. #define RTWDOG_CS_ULK_MASK (0x800U)
  70268. #define RTWDOG_CS_ULK_SHIFT (11U)
  70269. /*! ULK - Unlock status
  70270. * 0b0..WDOG is locked.
  70271. * 0b1..WDOG is unlocked.
  70272. */
  70273. #define RTWDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_ULK_SHIFT)) & RTWDOG_CS_ULK_MASK)
  70274. #define RTWDOG_CS_PRES_MASK (0x1000U)
  70275. #define RTWDOG_CS_PRES_SHIFT (12U)
  70276. /*! PRES - Watchdog prescaler
  70277. * 0b0..256 prescaler disabled.
  70278. * 0b1..256 prescaler enabled.
  70279. */
  70280. #define RTWDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_PRES_SHIFT)) & RTWDOG_CS_PRES_MASK)
  70281. #define RTWDOG_CS_CMD32EN_MASK (0x2000U)
  70282. #define RTWDOG_CS_CMD32EN_SHIFT (13U)
  70283. /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words
  70284. * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported.
  70285. * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported.
  70286. */
  70287. #define RTWDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_CMD32EN_SHIFT)) & RTWDOG_CS_CMD32EN_MASK)
  70288. #define RTWDOG_CS_FLG_MASK (0x4000U)
  70289. #define RTWDOG_CS_FLG_SHIFT (14U)
  70290. /*! FLG - Watchdog Interrupt Flag
  70291. * 0b0..No interrupt occurred.
  70292. * 0b1..An interrupt occurred.
  70293. */
  70294. #define RTWDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_FLG_SHIFT)) & RTWDOG_CS_FLG_MASK)
  70295. #define RTWDOG_CS_WIN_MASK (0x8000U)
  70296. #define RTWDOG_CS_WIN_SHIFT (15U)
  70297. /*! WIN - Watchdog Window
  70298. * 0b0..Window mode disabled.
  70299. * 0b1..Window mode enabled.
  70300. */
  70301. #define RTWDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CS_WIN_SHIFT)) & RTWDOG_CS_WIN_MASK)
  70302. /*! @} */
  70303. /*! @name CNT - Watchdog Counter Register */
  70304. /*! @{ */
  70305. #define RTWDOG_CNT_CNTLOW_MASK (0xFFU)
  70306. #define RTWDOG_CNT_CNTLOW_SHIFT (0U)
  70307. /*! CNTLOW - Low byte of the Watchdog Counter
  70308. */
  70309. #define RTWDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTLOW_SHIFT)) & RTWDOG_CNT_CNTLOW_MASK)
  70310. #define RTWDOG_CNT_CNTHIGH_MASK (0xFF00U)
  70311. #define RTWDOG_CNT_CNTHIGH_SHIFT (8U)
  70312. /*! CNTHIGH - High byte of the Watchdog Counter
  70313. */
  70314. #define RTWDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_CNT_CNTHIGH_SHIFT)) & RTWDOG_CNT_CNTHIGH_MASK)
  70315. /*! @} */
  70316. /*! @name TOVAL - Watchdog Timeout Value Register */
  70317. /*! @{ */
  70318. #define RTWDOG_TOVAL_TOVALLOW_MASK (0xFFU)
  70319. #define RTWDOG_TOVAL_TOVALLOW_SHIFT (0U)
  70320. /*! TOVALLOW - Low byte of the timeout value
  70321. */
  70322. #define RTWDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALLOW_SHIFT)) & RTWDOG_TOVAL_TOVALLOW_MASK)
  70323. #define RTWDOG_TOVAL_TOVALHIGH_MASK (0xFF00U)
  70324. #define RTWDOG_TOVAL_TOVALHIGH_SHIFT (8U)
  70325. /*! TOVALHIGH - High byte of the timeout value
  70326. */
  70327. #define RTWDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_TOVAL_TOVALHIGH_SHIFT)) & RTWDOG_TOVAL_TOVALHIGH_MASK)
  70328. /*! @} */
  70329. /*! @name WIN - Watchdog Window Register */
  70330. /*! @{ */
  70331. #define RTWDOG_WIN_WINLOW_MASK (0xFFU)
  70332. #define RTWDOG_WIN_WINLOW_SHIFT (0U)
  70333. /*! WINLOW - Low byte of Watchdog Window
  70334. */
  70335. #define RTWDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINLOW_SHIFT)) & RTWDOG_WIN_WINLOW_MASK)
  70336. #define RTWDOG_WIN_WINHIGH_MASK (0xFF00U)
  70337. #define RTWDOG_WIN_WINHIGH_SHIFT (8U)
  70338. /*! WINHIGH - High byte of Watchdog Window
  70339. */
  70340. #define RTWDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << RTWDOG_WIN_WINHIGH_SHIFT)) & RTWDOG_WIN_WINHIGH_MASK)
  70341. /*! @} */
  70342. /*!
  70343. * @}
  70344. */ /* end of group RTWDOG_Register_Masks */
  70345. /* RTWDOG - Peripheral instance base addresses */
  70346. /** Peripheral RTWDOG3 base address */
  70347. #define RTWDOG3_BASE (0x40038000u)
  70348. /** Peripheral RTWDOG3 base pointer */
  70349. #define RTWDOG3 ((RTWDOG_Type *)RTWDOG3_BASE)
  70350. /** Peripheral RTWDOG4 base address */
  70351. #define RTWDOG4_BASE (0x40C10000u)
  70352. /** Peripheral RTWDOG4 base pointer */
  70353. #define RTWDOG4 ((RTWDOG_Type *)RTWDOG4_BASE)
  70354. /** Array initializer of RTWDOG peripheral base addresses */
  70355. #define RTWDOG_BASE_ADDRS { 0u, 0u, 0u, RTWDOG3_BASE, RTWDOG4_BASE }
  70356. /** Array initializer of RTWDOG peripheral base pointers */
  70357. #define RTWDOG_BASE_PTRS { (RTWDOG_Type *)0u, (RTWDOG_Type *)0u, (RTWDOG_Type *)0u, RTWDOG3, RTWDOG4 }
  70358. /** Interrupt vectors for the RTWDOG peripheral type */
  70359. #define RTWDOG_IRQS { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, RTWDOG3_IRQn, NotAvail_IRQn }
  70360. /* Extra definition */
  70361. #define RTWDOG_UPDATE_KEY (0xD928C520U)
  70362. #define RTWDOG_REFRESH_KEY (0xB480A602U)
  70363. /*!
  70364. * @}
  70365. */ /* end of group RTWDOG_Peripheral_Access_Layer */
  70366. /* ----------------------------------------------------------------------------
  70367. -- SEMA4 Peripheral Access Layer
  70368. ---------------------------------------------------------------------------- */
  70369. /*!
  70370. * @addtogroup SEMA4_Peripheral_Access_Layer SEMA4 Peripheral Access Layer
  70371. * @{
  70372. */
  70373. /** SEMA4 - Register Layout Typedef */
  70374. typedef struct {
  70375. __IO uint8_t GATE[16]; /**< Semaphores Gate n Register, array offset: 0x0, array step: 0x1 */
  70376. uint8_t RESERVED_0[48];
  70377. struct { /* offset: 0x40, array step: 0x8 */
  70378. __IO uint16_t CPINE; /**< Semaphores Processor n IRQ Notification Enable, array offset: 0x40, array step: 0x8 */
  70379. uint8_t RESERVED_0[6];
  70380. } CPINE[2];
  70381. uint8_t RESERVED_1[48];
  70382. struct { /* offset: 0x80, array step: 0x8 */
  70383. __I uint16_t CPNTF; /**< Semaphores Processor n IRQ Notification, array offset: 0x80, array step: 0x8 */
  70384. uint8_t RESERVED_0[6];
  70385. } CPNTF[2];
  70386. uint8_t RESERVED_2[112];
  70387. __IO uint16_t RSTGT; /**< Semaphores (Secure) Reset Gate n, offset: 0x100 */
  70388. uint8_t RESERVED_3[2];
  70389. __IO uint16_t RSTNTF; /**< Semaphores (Secure) Reset IRQ Notification, offset: 0x104 */
  70390. } SEMA4_Type;
  70391. /* ----------------------------------------------------------------------------
  70392. -- SEMA4 Register Masks
  70393. ---------------------------------------------------------------------------- */
  70394. /*!
  70395. * @addtogroup SEMA4_Register_Masks SEMA4 Register Masks
  70396. * @{
  70397. */
  70398. /*! @name GATE - Semaphores Gate n Register */
  70399. /*! @{ */
  70400. #define SEMA4_GATE_GTFSM_MASK (0x3U)
  70401. #define SEMA4_GATE_GTFSM_SHIFT (0U)
  70402. /*! GTFSM - Gate Finite State Machine.
  70403. * 0b00..The gate is unlocked (free).
  70404. * 0b01..The gate has been locked by processor 0.
  70405. * 0b10..The gate has been locked by processor 1.
  70406. * 0b11..This state encoding is never used and therefore reserved. Attempted writes of 0x03 are treated as "no
  70407. * operation" and do not affect the gate state machine.
  70408. */
  70409. #define SEMA4_GATE_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA4_GATE_GTFSM_SHIFT)) & SEMA4_GATE_GTFSM_MASK)
  70410. /*! @} */
  70411. /* The count of SEMA4_GATE */
  70412. #define SEMA4_GATE_COUNT (16U)
  70413. /*! @name CPINE - Semaphores Processor n IRQ Notification Enable */
  70414. /*! @{ */
  70415. #define SEMA4_CPINE_INE7_MASK (0x1U)
  70416. #define SEMA4_CPINE_INE7_SHIFT (0U)
  70417. /*! INE7 - Interrupt Request Notification Enable 7. This field is a bitmap to enable the generation
  70418. * of an interrupt notification from a failed attempt to lock gate 7.
  70419. * 0b0..The generation of the notification interrupt is disabled.
  70420. * 0b1..The generation of the notification interrupt is enabled.
  70421. */
  70422. #define SEMA4_CPINE_INE7(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE7_SHIFT)) & SEMA4_CPINE_INE7_MASK)
  70423. #define SEMA4_CPINE_INE6_MASK (0x2U)
  70424. #define SEMA4_CPINE_INE6_SHIFT (1U)
  70425. /*! INE6 - Interrupt Request Notification Enable 6. This field is a bitmap to enable the generation
  70426. * of an interrupt notification from a failed attempt to lock gate 6.
  70427. * 0b0..The generation of the notification interrupt is disabled.
  70428. * 0b1..The generation of the notification interrupt is enabled.
  70429. */
  70430. #define SEMA4_CPINE_INE6(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE6_SHIFT)) & SEMA4_CPINE_INE6_MASK)
  70431. #define SEMA4_CPINE_INE5_MASK (0x4U)
  70432. #define SEMA4_CPINE_INE5_SHIFT (2U)
  70433. /*! INE5 - Interrupt Request Notification Enable 5. This field is a bitmap to enable the generation
  70434. * of an interrupt notification from a failed attempt to lock gate 5.
  70435. * 0b0..The generation of the notification interrupt is disabled.
  70436. * 0b1..The generation of the notification interrupt is enabled.
  70437. */
  70438. #define SEMA4_CPINE_INE5(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE5_SHIFT)) & SEMA4_CPINE_INE5_MASK)
  70439. #define SEMA4_CPINE_INE4_MASK (0x8U)
  70440. #define SEMA4_CPINE_INE4_SHIFT (3U)
  70441. /*! INE4 - Interrupt Request Notification Enable 4. This field is a bitmap to enable the generation
  70442. * of an interrupt notification from a failed attempt to lock gate 4.
  70443. * 0b0..The generation of the notification interrupt is disabled.
  70444. * 0b1..The generation of the notification interrupt is enabled.
  70445. */
  70446. #define SEMA4_CPINE_INE4(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE4_SHIFT)) & SEMA4_CPINE_INE4_MASK)
  70447. #define SEMA4_CPINE_INE3_MASK (0x10U)
  70448. #define SEMA4_CPINE_INE3_SHIFT (4U)
  70449. /*! INE3
  70450. * 0b0..The generation of the notification interrupt is disabled.
  70451. * 0b1..The generation of the notification interrupt is enabled.
  70452. */
  70453. #define SEMA4_CPINE_INE3(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE3_SHIFT)) & SEMA4_CPINE_INE3_MASK)
  70454. #define SEMA4_CPINE_INE2_MASK (0x20U)
  70455. #define SEMA4_CPINE_INE2_SHIFT (5U)
  70456. /*! INE2
  70457. * 0b0..The generation of the notification interrupt is disabled.
  70458. * 0b1..The generation of the notification interrupt is enabled.
  70459. */
  70460. #define SEMA4_CPINE_INE2(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE2_SHIFT)) & SEMA4_CPINE_INE2_MASK)
  70461. #define SEMA4_CPINE_INE1_MASK (0x40U)
  70462. #define SEMA4_CPINE_INE1_SHIFT (6U)
  70463. /*! INE1
  70464. * 0b0..The generation of the notification interrupt is disabled.
  70465. * 0b1..The generation of the notification interrupt is enabled.
  70466. */
  70467. #define SEMA4_CPINE_INE1(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE1_SHIFT)) & SEMA4_CPINE_INE1_MASK)
  70468. #define SEMA4_CPINE_INE0_MASK (0x80U)
  70469. #define SEMA4_CPINE_INE0_SHIFT (7U)
  70470. /*! INE0
  70471. * 0b0..The generation of the notification interrupt is disabled.
  70472. * 0b1..The generation of the notification interrupt is enabled.
  70473. */
  70474. #define SEMA4_CPINE_INE0(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE0_SHIFT)) & SEMA4_CPINE_INE0_MASK)
  70475. #define SEMA4_CPINE_INE15_MASK (0x100U)
  70476. #define SEMA4_CPINE_INE15_SHIFT (8U)
  70477. /*! INE15 - Interrupt Request Notification Enable 15. This field is a bitmap to enable the
  70478. * generation of an interrupt notification from a failed attempt to lock gate 15.
  70479. * 0b0..The generation of the notification interrupt is disabled.
  70480. * 0b1..The generation of the notification interrupt is enabled.
  70481. */
  70482. #define SEMA4_CPINE_INE15(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE15_SHIFT)) & SEMA4_CPINE_INE15_MASK)
  70483. #define SEMA4_CPINE_INE14_MASK (0x200U)
  70484. #define SEMA4_CPINE_INE14_SHIFT (9U)
  70485. /*! INE14 - Interrupt Request Notification Enable 14. This field is a bitmap to enable the
  70486. * generation of an interrupt notification from a failed attempt to lock gate 14.
  70487. * 0b0..The generation of the notification interrupt is disabled.
  70488. * 0b1..The generation of the notification interrupt is enabled.
  70489. */
  70490. #define SEMA4_CPINE_INE14(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE14_SHIFT)) & SEMA4_CPINE_INE14_MASK)
  70491. #define SEMA4_CPINE_INE13_MASK (0x400U)
  70492. #define SEMA4_CPINE_INE13_SHIFT (10U)
  70493. /*! INE13 - Interrupt Request Notification Enable 13. This field is a bitmap to enable the
  70494. * generation of an interrupt notification from a failed attempt to lock gate 13.
  70495. * 0b0..The generation of the notification interrupt is disabled.
  70496. * 0b1..The generation of the notification interrupt is enabled.
  70497. */
  70498. #define SEMA4_CPINE_INE13(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE13_SHIFT)) & SEMA4_CPINE_INE13_MASK)
  70499. #define SEMA4_CPINE_INE12_MASK (0x800U)
  70500. #define SEMA4_CPINE_INE12_SHIFT (11U)
  70501. /*! INE12 - Interrupt Request Notification Enable 12. This field is a bitmap to enable the
  70502. * generation of an interrupt notification from a failed attempt to lock gate 12.
  70503. * 0b0..The generation of the notification interrupt is disabled.
  70504. * 0b1..The generation of the notification interrupt is enabled.
  70505. */
  70506. #define SEMA4_CPINE_INE12(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE12_SHIFT)) & SEMA4_CPINE_INE12_MASK)
  70507. #define SEMA4_CPINE_INE11_MASK (0x1000U)
  70508. #define SEMA4_CPINE_INE11_SHIFT (12U)
  70509. /*! INE11 - Interrupt Request Notification Enable 11. This field is a bitmap to enable the
  70510. * generation of an interrupt notification from a failed attempt to lock gate 11.
  70511. * 0b0..The generation of the notification interrupt is disabled.
  70512. * 0b1..The generation of the notification interrupt is enabled.
  70513. */
  70514. #define SEMA4_CPINE_INE11(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE11_SHIFT)) & SEMA4_CPINE_INE11_MASK)
  70515. #define SEMA4_CPINE_INE10_MASK (0x2000U)
  70516. #define SEMA4_CPINE_INE10_SHIFT (13U)
  70517. /*! INE10 - Interrupt Request Notification Enable 10. This field is a bitmap to enable the
  70518. * generation of an interrupt notification from a failed attempt to lock gate 10.
  70519. * 0b0..The generation of the notification interrupt is disabled.
  70520. * 0b1..The generation of the notification interrupt is enabled.
  70521. */
  70522. #define SEMA4_CPINE_INE10(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE10_SHIFT)) & SEMA4_CPINE_INE10_MASK)
  70523. #define SEMA4_CPINE_INE9_MASK (0x4000U)
  70524. #define SEMA4_CPINE_INE9_SHIFT (14U)
  70525. /*! INE9 - Interrupt Request Notification Enable 9. This field is a bitmap to enable the generation
  70526. * of an interrupt notification from a failed attempt to lock gate 9.
  70527. * 0b0..The generation of the notification interrupt is disabled.
  70528. * 0b1..The generation of the notification interrupt is enabled.
  70529. */
  70530. #define SEMA4_CPINE_INE9(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE9_SHIFT)) & SEMA4_CPINE_INE9_MASK)
  70531. #define SEMA4_CPINE_INE8_MASK (0x8000U)
  70532. #define SEMA4_CPINE_INE8_SHIFT (15U)
  70533. /*! INE8 - Interrupt Request Notification Enable 8. This field is a bitmap to enable the generation
  70534. * of an interrupt notification from a failed attempt to lock gate 8.
  70535. * 0b0..The generation of the notification interrupt is disabled.
  70536. * 0b1..The generation of the notification interrupt is enabled.
  70537. */
  70538. #define SEMA4_CPINE_INE8(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPINE_INE8_SHIFT)) & SEMA4_CPINE_INE8_MASK)
  70539. /*! @} */
  70540. /* The count of SEMA4_CPINE */
  70541. #define SEMA4_CPINE_COUNT (2U)
  70542. /*! @name CPNTF - Semaphores Processor n IRQ Notification */
  70543. /*! @{ */
  70544. #define SEMA4_CPNTF_GN7_MASK (0x1U)
  70545. #define SEMA4_CPNTF_GN7_SHIFT (0U)
  70546. #define SEMA4_CPNTF_GN7(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN7_SHIFT)) & SEMA4_CPNTF_GN7_MASK)
  70547. #define SEMA4_CPNTF_GN6_MASK (0x2U)
  70548. #define SEMA4_CPNTF_GN6_SHIFT (1U)
  70549. #define SEMA4_CPNTF_GN6(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN6_SHIFT)) & SEMA4_CPNTF_GN6_MASK)
  70550. #define SEMA4_CPNTF_GN5_MASK (0x4U)
  70551. #define SEMA4_CPNTF_GN5_SHIFT (2U)
  70552. #define SEMA4_CPNTF_GN5(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN5_SHIFT)) & SEMA4_CPNTF_GN5_MASK)
  70553. #define SEMA4_CPNTF_GN4_MASK (0x8U)
  70554. #define SEMA4_CPNTF_GN4_SHIFT (3U)
  70555. #define SEMA4_CPNTF_GN4(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN4_SHIFT)) & SEMA4_CPNTF_GN4_MASK)
  70556. #define SEMA4_CPNTF_GN3_MASK (0x10U)
  70557. #define SEMA4_CPNTF_GN3_SHIFT (4U)
  70558. #define SEMA4_CPNTF_GN3(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN3_SHIFT)) & SEMA4_CPNTF_GN3_MASK)
  70559. #define SEMA4_CPNTF_GN2_MASK (0x20U)
  70560. #define SEMA4_CPNTF_GN2_SHIFT (5U)
  70561. #define SEMA4_CPNTF_GN2(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN2_SHIFT)) & SEMA4_CPNTF_GN2_MASK)
  70562. #define SEMA4_CPNTF_GN1_MASK (0x40U)
  70563. #define SEMA4_CPNTF_GN1_SHIFT (6U)
  70564. #define SEMA4_CPNTF_GN1(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN1_SHIFT)) & SEMA4_CPNTF_GN1_MASK)
  70565. #define SEMA4_CPNTF_GN0_MASK (0x80U)
  70566. #define SEMA4_CPNTF_GN0_SHIFT (7U)
  70567. #define SEMA4_CPNTF_GN0(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN0_SHIFT)) & SEMA4_CPNTF_GN0_MASK)
  70568. #define SEMA4_CPNTF_GN15_MASK (0x100U)
  70569. #define SEMA4_CPNTF_GN15_SHIFT (8U)
  70570. #define SEMA4_CPNTF_GN15(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN15_SHIFT)) & SEMA4_CPNTF_GN15_MASK)
  70571. #define SEMA4_CPNTF_GN14_MASK (0x200U)
  70572. #define SEMA4_CPNTF_GN14_SHIFT (9U)
  70573. #define SEMA4_CPNTF_GN14(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN14_SHIFT)) & SEMA4_CPNTF_GN14_MASK)
  70574. #define SEMA4_CPNTF_GN13_MASK (0x400U)
  70575. #define SEMA4_CPNTF_GN13_SHIFT (10U)
  70576. #define SEMA4_CPNTF_GN13(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN13_SHIFT)) & SEMA4_CPNTF_GN13_MASK)
  70577. #define SEMA4_CPNTF_GN12_MASK (0x800U)
  70578. #define SEMA4_CPNTF_GN12_SHIFT (11U)
  70579. #define SEMA4_CPNTF_GN12(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN12_SHIFT)) & SEMA4_CPNTF_GN12_MASK)
  70580. #define SEMA4_CPNTF_GN11_MASK (0x1000U)
  70581. #define SEMA4_CPNTF_GN11_SHIFT (12U)
  70582. #define SEMA4_CPNTF_GN11(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN11_SHIFT)) & SEMA4_CPNTF_GN11_MASK)
  70583. #define SEMA4_CPNTF_GN10_MASK (0x2000U)
  70584. #define SEMA4_CPNTF_GN10_SHIFT (13U)
  70585. #define SEMA4_CPNTF_GN10(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN10_SHIFT)) & SEMA4_CPNTF_GN10_MASK)
  70586. #define SEMA4_CPNTF_GN9_MASK (0x4000U)
  70587. #define SEMA4_CPNTF_GN9_SHIFT (14U)
  70588. #define SEMA4_CPNTF_GN9(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN9_SHIFT)) & SEMA4_CPNTF_GN9_MASK)
  70589. #define SEMA4_CPNTF_GN8_MASK (0x8000U)
  70590. #define SEMA4_CPNTF_GN8_SHIFT (15U)
  70591. #define SEMA4_CPNTF_GN8(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_CPNTF_GN8_SHIFT)) & SEMA4_CPNTF_GN8_MASK)
  70592. /*! @} */
  70593. /* The count of SEMA4_CPNTF */
  70594. #define SEMA4_CPNTF_COUNT (2U)
  70595. /*! @name RSTGT - Semaphores (Secure) Reset Gate n */
  70596. /*! @{ */
  70597. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_MASK (0xFFU)
  70598. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_SHIFT (0U)
  70599. #define SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_SHIFT)) & SEMA4_RSTGT_RSTGSM_RSTGMS_RSTGDP_MASK)
  70600. #define SEMA4_RSTGT_RSTGTN_MASK (0xFF00U)
  70601. #define SEMA4_RSTGT_RSTGTN_SHIFT (8U)
  70602. #define SEMA4_RSTGT_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTGT_RSTGTN_SHIFT)) & SEMA4_RSTGT_RSTGTN_MASK)
  70603. /*! @} */
  70604. /*! @name RSTNTF - Semaphores (Secure) Reset IRQ Notification */
  70605. /*! @{ */
  70606. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_MASK (0xFFU)
  70607. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_SHIFT (0U)
  70608. #define SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_SHIFT)) & SEMA4_RSTNTF_RSTNSM_RSTNMS_RSTNDP_MASK)
  70609. #define SEMA4_RSTNTF_RSTNTN_MASK (0xFF00U)
  70610. #define SEMA4_RSTNTF_RSTNTN_SHIFT (8U)
  70611. #define SEMA4_RSTNTF_RSTNTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA4_RSTNTF_RSTNTN_SHIFT)) & SEMA4_RSTNTF_RSTNTN_MASK)
  70612. /*! @} */
  70613. /*!
  70614. * @}
  70615. */ /* end of group SEMA4_Register_Masks */
  70616. /* SEMA4 - Peripheral instance base addresses */
  70617. /** Peripheral SEMA4 base address */
  70618. #define SEMA4_BASE (0x40CC8000u)
  70619. /** Peripheral SEMA4 base pointer */
  70620. #define SEMA4 ((SEMA4_Type *)SEMA4_BASE)
  70621. /** Array initializer of SEMA4 peripheral base addresses */
  70622. #define SEMA4_BASE_ADDRS { SEMA4_BASE }
  70623. /** Array initializer of SEMA4 peripheral base pointers */
  70624. #define SEMA4_BASE_PTRS { SEMA4 }
  70625. /*!
  70626. * @}
  70627. */ /* end of group SEMA4_Peripheral_Access_Layer */
  70628. /* ----------------------------------------------------------------------------
  70629. -- SEMC Peripheral Access Layer
  70630. ---------------------------------------------------------------------------- */
  70631. /*!
  70632. * @addtogroup SEMC_Peripheral_Access_Layer SEMC Peripheral Access Layer
  70633. * @{
  70634. */
  70635. /** SEMC - Register Layout Typedef */
  70636. typedef struct {
  70637. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  70638. __IO uint32_t IOCR; /**< IO MUX Control Register, offset: 0x4 */
  70639. __IO uint32_t BMCR0; /**< Bus (AXI) Master Control Register 0, offset: 0x8 */
  70640. __IO uint32_t BMCR1; /**< Bus (AXI) Master Control Register 1, offset: 0xC */
  70641. __IO uint32_t BR[9]; /**< Base Register 0..Base Register 8, array offset: 0x10, array step: 0x4 */
  70642. __IO uint32_t DLLCR; /**< DLL Control Register, offset: 0x34 */
  70643. __IO uint32_t INTEN; /**< Interrupt Enable Register, offset: 0x38 */
  70644. __IO uint32_t INTR; /**< Interrupt Register, offset: 0x3C */
  70645. __IO uint32_t SDRAMCR0; /**< SDRAM Control Register 0, offset: 0x40 */
  70646. __IO uint32_t SDRAMCR1; /**< SDRAM Control Register 1, offset: 0x44 */
  70647. __IO uint32_t SDRAMCR2; /**< SDRAM Control Register 2, offset: 0x48 */
  70648. __IO uint32_t SDRAMCR3; /**< SDRAM Control Register 3, offset: 0x4C */
  70649. __IO uint32_t NANDCR0; /**< NAND Control Register 0, offset: 0x50 */
  70650. __IO uint32_t NANDCR1; /**< NAND Control Register 1, offset: 0x54 */
  70651. __IO uint32_t NANDCR2; /**< NAND Control Register 2, offset: 0x58 */
  70652. __IO uint32_t NANDCR3; /**< NAND Control Register 3, offset: 0x5C */
  70653. __IO uint32_t NORCR0; /**< NOR Control Register 0, offset: 0x60 */
  70654. __IO uint32_t NORCR1; /**< NOR Control Register 1, offset: 0x64 */
  70655. __IO uint32_t NORCR2; /**< NOR Control Register 2, offset: 0x68 */
  70656. __IO uint32_t NORCR3; /**< NOR Control Register 3, offset: 0x6C */
  70657. __IO uint32_t SRAMCR0; /**< SRAM Control Register 0, offset: 0x70 */
  70658. __IO uint32_t SRAMCR1; /**< SRAM Control Register 1, offset: 0x74 */
  70659. __IO uint32_t SRAMCR2; /**< SRAM Control Register 2, offset: 0x78 */
  70660. uint32_t SRAMCR3; /**< SRAM Control Register 3, offset: 0x7C */
  70661. __IO uint32_t DBICR0; /**< DBI-B Control Register 0, offset: 0x80 */
  70662. __IO uint32_t DBICR1; /**< DBI-B Control Register 1, offset: 0x84 */
  70663. __IO uint32_t DBICR2; /**< DBI-B Control Register 2, offset: 0x88 */
  70664. uint8_t RESERVED_0[4];
  70665. __IO uint32_t IPCR0; /**< IP Command Control Register 0, offset: 0x90 */
  70666. __IO uint32_t IPCR1; /**< IP Command Control Register 1, offset: 0x94 */
  70667. __IO uint32_t IPCR2; /**< IP Command Control Register 2, offset: 0x98 */
  70668. __IO uint32_t IPCMD; /**< IP Command Register, offset: 0x9C */
  70669. __IO uint32_t IPTXDAT; /**< TX DATA Register, offset: 0xA0 */
  70670. uint8_t RESERVED_1[12];
  70671. __I uint32_t IPRXDAT; /**< RX DATA Register, offset: 0xB0 */
  70672. uint8_t RESERVED_2[12];
  70673. __I uint32_t STS0; /**< Status Register 0, offset: 0xC0 */
  70674. uint32_t STS1; /**< Status Register 1, offset: 0xC4 */
  70675. __I uint32_t STS2; /**< Status Register 2, offset: 0xC8 */
  70676. uint32_t STS3; /**< Status Register 3, offset: 0xCC */
  70677. uint32_t STS4; /**< Status Register 4, offset: 0xD0 */
  70678. uint32_t STS5; /**< Status Register 5, offset: 0xD4 */
  70679. uint32_t STS6; /**< Status Register 6, offset: 0xD8 */
  70680. uint32_t STS7; /**< Status Register 7, offset: 0xDC */
  70681. uint32_t STS8; /**< Status Register 8, offset: 0xE0 */
  70682. uint32_t STS9; /**< Status Register 9, offset: 0xE4 */
  70683. uint32_t STS10; /**< Status Register 10, offset: 0xE8 */
  70684. uint32_t STS11; /**< Status Register 11, offset: 0xEC */
  70685. __I uint32_t STS12; /**< Status Register 12, offset: 0xF0 */
  70686. __I uint32_t STS13; /**< Status Register 13, offset: 0xF4 */
  70687. uint32_t STS14; /**< Status Register 14, offset: 0xF8 */
  70688. uint32_t STS15; /**< Status Register 15, offset: 0xFC */
  70689. __IO uint32_t BR9; /**< Base Register 9, offset: 0x100 */
  70690. __IO uint32_t BR10; /**< Base Register 10, offset: 0x104 */
  70691. __IO uint32_t BR11; /**< Base Register 11, offset: 0x108 */
  70692. uint8_t RESERVED_3[20];
  70693. __IO uint32_t SRAMCR4; /**< SRAM Control Register 4, offset: 0x120 */
  70694. __IO uint32_t SRAMCR5; /**< SRAM Control Register 5, offset: 0x124 */
  70695. __IO uint32_t SRAMCR6; /**< SRAM Control Register 6, offset: 0x128 */
  70696. uint8_t RESERVED_4[36];
  70697. __IO uint32_t DCCR; /**< Delay Chain Control Register, offset: 0x150 */
  70698. } SEMC_Type;
  70699. /* ----------------------------------------------------------------------------
  70700. -- SEMC Register Masks
  70701. ---------------------------------------------------------------------------- */
  70702. /*!
  70703. * @addtogroup SEMC_Register_Masks SEMC Register Masks
  70704. * @{
  70705. */
  70706. /*! @name MCR - Module Control Register */
  70707. /*! @{ */
  70708. #define SEMC_MCR_SWRST_MASK (0x1U)
  70709. #define SEMC_MCR_SWRST_SHIFT (0U)
  70710. /*! SWRST - Software Reset
  70711. * 0b0..No reset
  70712. * 0b1..Reset
  70713. */
  70714. #define SEMC_MCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_SWRST_SHIFT)) & SEMC_MCR_SWRST_MASK)
  70715. #define SEMC_MCR_MDIS_MASK (0x2U)
  70716. #define SEMC_MCR_MDIS_SHIFT (1U)
  70717. /*! MDIS - Module Disable
  70718. * 0b0..Module enabled
  70719. * 0b1..Module disabled
  70720. */
  70721. #define SEMC_MCR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_MDIS_SHIFT)) & SEMC_MCR_MDIS_MASK)
  70722. #define SEMC_MCR_DQSMD_MASK (0x4U)
  70723. #define SEMC_MCR_DQSMD_SHIFT (2U)
  70724. /*! DQSMD - DQS (read strobe) mode
  70725. * 0b0..Dummy read strobe loopbacked internally
  70726. * 0b1..Dummy read strobe loopbacked from DQS pad
  70727. */
  70728. #define SEMC_MCR_DQSMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_DQSMD_SHIFT)) & SEMC_MCR_DQSMD_MASK)
  70729. #define SEMC_MCR_WPOL0_MASK (0x40U)
  70730. #define SEMC_MCR_WPOL0_SHIFT (6U)
  70731. /*! WPOL0 - WAIT/RDY polarity for SRAM/NOR
  70732. * 0b0..WAIT/RDY polarity is not changed.
  70733. * 0b1..WAIT/RDY polarity is inverted.
  70734. */
  70735. #define SEMC_MCR_WPOL0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL0_SHIFT)) & SEMC_MCR_WPOL0_MASK)
  70736. #define SEMC_MCR_WPOL1_MASK (0x80U)
  70737. #define SEMC_MCR_WPOL1_SHIFT (7U)
  70738. /*! WPOL1 - R/B# polarity for NAND device
  70739. * 0b0..R/B# polarity is not changed.
  70740. * 0b1..R/B# polarity is inverted.
  70741. */
  70742. #define SEMC_MCR_WPOL1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_WPOL1_SHIFT)) & SEMC_MCR_WPOL1_MASK)
  70743. #define SEMC_MCR_CTO_MASK (0xFF0000U)
  70744. #define SEMC_MCR_CTO_SHIFT (16U)
  70745. /*! CTO - Command Execution timeout cycles
  70746. */
  70747. #define SEMC_MCR_CTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_CTO_SHIFT)) & SEMC_MCR_CTO_MASK)
  70748. #define SEMC_MCR_BTO_MASK (0x1F000000U)
  70749. #define SEMC_MCR_BTO_SHIFT (24U)
  70750. /*! BTO - Bus timeout cycles
  70751. * 0b00000..255*1
  70752. * 0b00001..255*2
  70753. * 0b11111..255*231
  70754. */
  70755. #define SEMC_MCR_BTO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_MCR_BTO_SHIFT)) & SEMC_MCR_BTO_MASK)
  70756. /*! @} */
  70757. /*! @name IOCR - IO MUX Control Register */
  70758. /*! @{ */
  70759. #define SEMC_IOCR_MUX_A8_MASK (0xFU)
  70760. #define SEMC_IOCR_MUX_A8_SHIFT (0U)
  70761. /*! MUX_A8 - SEMC_ADDR08 output selection
  70762. * 0b0000-0b0011..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  70763. * 0b0100..NAND CE#
  70764. * 0b0101..NOR CE#
  70765. * 0b0110..SRAM CE# 0
  70766. * 0b0111..DBI CSX
  70767. * 0b1000..SRAM CE# 1
  70768. * 0b1001..SRAM CE# 2
  70769. * 0b1010..SRAM CE# 3
  70770. * 0b1011-0b1111..SDRAM Address bit 8 (A8) or NOR/SRAM Address bit 24 (A24) in ADMUX 16bit mode
  70771. */
  70772. #define SEMC_IOCR_MUX_A8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_A8_SHIFT)) & SEMC_IOCR_MUX_A8_MASK)
  70773. #define SEMC_IOCR_MUX_CSX0_MASK (0xF0U)
  70774. #define SEMC_IOCR_MUX_CSX0_SHIFT (4U)
  70775. /*! MUX_CSX0 - SEMC_CSX0 output selection
  70776. * 0b0000..NOR/SRAM Address bit 24 (A24) in Non-ADMUX mode
  70777. * 0b0001..SDRAM CS1
  70778. * 0b0010..SDRAM CS2
  70779. * 0b0011..SDRAM CS3
  70780. * 0b0100..NAND CE#
  70781. * 0b0101..NOR CE#
  70782. * 0b0110..SRAM CE# 0
  70783. * 0b0111..DBI CSX
  70784. * 0b1000..SRAM CE# 1
  70785. * 0b1001..SRAM CE# 2
  70786. * 0b1010..SRAM CE# 3
  70787. * 0b1011-0b1111..NOR/SRAM Address bit 24 (A24)
  70788. */
  70789. #define SEMC_IOCR_MUX_CSX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX0_SHIFT)) & SEMC_IOCR_MUX_CSX0_MASK)
  70790. #define SEMC_IOCR_MUX_CSX1_MASK (0xF00U)
  70791. #define SEMC_IOCR_MUX_CSX1_SHIFT (8U)
  70792. /*! MUX_CSX1 - SEMC_CSX1 output selection
  70793. * 0b0000..NOR/SRAM Address bit 25 (A25) in Non-ADMUX mode
  70794. * 0b0001..SDRAM CS1
  70795. * 0b0010..SDRAM CS2
  70796. * 0b0011..SDRAM CS3
  70797. * 0b0100..NAND CE#
  70798. * 0b0101..NOR CE#
  70799. * 0b0110..SRAM CE# 0
  70800. * 0b0111..DBI CSX
  70801. * 0b1000..SRAM CE# 1
  70802. * 0b1001..SRAM CE# 2
  70803. * 0b1010..SRAM CE# 3
  70804. * 0b1011-0b1111..NOR/SRAM Address bit 25 (A25)
  70805. */
  70806. #define SEMC_IOCR_MUX_CSX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX1_SHIFT)) & SEMC_IOCR_MUX_CSX1_MASK)
  70807. #define SEMC_IOCR_MUX_CSX2_MASK (0xF000U)
  70808. #define SEMC_IOCR_MUX_CSX2_SHIFT (12U)
  70809. /*! MUX_CSX2 - SEMC_CSX2 output selection
  70810. * 0b0000..NOR/SRAM Address bit 26 (A26) in Non-ADMUX mode
  70811. * 0b0001..SDRAM CS1
  70812. * 0b0010..SDRAM CS2
  70813. * 0b0011..SDRAM CS3
  70814. * 0b0100..NAND CE#
  70815. * 0b0101..NOR CE#
  70816. * 0b0110..SRAM CE# 0
  70817. * 0b0111..DBI CSX
  70818. * 0b1000..SRAM CE# 1
  70819. * 0b1001..SRAM CE# 2
  70820. * 0b1010..SRAM CE# 3
  70821. * 0b1011-0b1111..NOR/SRAM Address bit 26 (A26)
  70822. */
  70823. #define SEMC_IOCR_MUX_CSX2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX2_SHIFT)) & SEMC_IOCR_MUX_CSX2_MASK)
  70824. #define SEMC_IOCR_MUX_CSX3_MASK (0xF0000U)
  70825. #define SEMC_IOCR_MUX_CSX3_SHIFT (16U)
  70826. /*! MUX_CSX3 - SEMC_CSX3 output selection
  70827. * 0b0000..NOR/SRAM Address bit 27 (A27) in Non-ADMUX mode
  70828. * 0b0001..SDRAM CS1
  70829. * 0b0010..SDRAM CS2
  70830. * 0b0011..SDRAM CS3
  70831. * 0b0100..NAND CE#
  70832. * 0b0101..NOR CE#
  70833. * 0b0110..SRAM CE# 0
  70834. * 0b0111..DBI CSX
  70835. * 0b1000..SRAM CE# 1
  70836. * 0b1001..SRAM CE# 2
  70837. * 0b1010..SRAM CE# 3
  70838. * 0b1011-0b1111..NOR/SRAM Address bit 27 (A27)
  70839. */
  70840. #define SEMC_IOCR_MUX_CSX3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CSX3_SHIFT)) & SEMC_IOCR_MUX_CSX3_MASK)
  70841. #define SEMC_IOCR_MUX_RDY_MASK (0xF00000U)
  70842. #define SEMC_IOCR_MUX_RDY_SHIFT (20U)
  70843. /*! MUX_RDY - SEMC_RDY function selection
  70844. * 0b0000..NAND R/B# input
  70845. * 0b0001..SDRAM CS1
  70846. * 0b0010..SDRAM CS2
  70847. * 0b0011..SDRAM CS3
  70848. * 0b0100..NOR/SRAM Address bit 27 (A27) in Non-ADMUX mode
  70849. * 0b0101..NOR CE#
  70850. * 0b0110..SRAM CE# 0
  70851. * 0b0111..DBI CSX
  70852. * 0b1000..SRAM CE# 1
  70853. * 0b1001..SRAM CE# 2
  70854. * 0b1010..SRAM CE# 3
  70855. * 0b1011-0b1111..NOR/SRAM Address bit 27
  70856. */
  70857. #define SEMC_IOCR_MUX_RDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_RDY_SHIFT)) & SEMC_IOCR_MUX_RDY_MASK)
  70858. #define SEMC_IOCR_MUX_CLKX0_MASK (0x3000000U)
  70859. #define SEMC_IOCR_MUX_CLKX0_SHIFT (24U)
  70860. /*! MUX_CLKX0 - SEMC_CLKX0 function selection
  70861. * 0b00..Keep low
  70862. * 0b01..NOR clock
  70863. * 0b10..SRAM clock
  70864. * 0b11..NOR and SRAM clock, suitable for Multi-Chip Product package
  70865. */
  70866. #define SEMC_IOCR_MUX_CLKX0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX0_SHIFT)) & SEMC_IOCR_MUX_CLKX0_MASK)
  70867. #define SEMC_IOCR_MUX_CLKX1_MASK (0xC000000U)
  70868. #define SEMC_IOCR_MUX_CLKX1_SHIFT (26U)
  70869. /*! MUX_CLKX1 - SEMC_CLKX1 function selection
  70870. * 0b00..Keep low
  70871. * 0b01..NOR clock
  70872. * 0b10..SRAM clock
  70873. * 0b11..NOR and SRAM clock, suitable for Multi-Chip Product package
  70874. */
  70875. #define SEMC_IOCR_MUX_CLKX1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_MUX_CLKX1_SHIFT)) & SEMC_IOCR_MUX_CLKX1_MASK)
  70876. #define SEMC_IOCR_CLKX0_AO_MASK (0x10000000U)
  70877. #define SEMC_IOCR_CLKX0_AO_SHIFT (28U)
  70878. /*! CLKX0_AO - SEMC_CLKX0 Always On
  70879. * 0b0..SEMC_CLKX0 is controlled by MUX_CLKX0
  70880. * 0b1..SEMC_CLKX0 is always on
  70881. */
  70882. #define SEMC_IOCR_CLKX0_AO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_CLKX0_AO_SHIFT)) & SEMC_IOCR_CLKX0_AO_MASK)
  70883. #define SEMC_IOCR_CLKX1_AO_MASK (0x20000000U)
  70884. #define SEMC_IOCR_CLKX1_AO_SHIFT (29U)
  70885. /*! CLKX1_AO - SEMC_CLKX1 Always On
  70886. * 0b0..SEMC_CLKX1 is controlled by MUX_CLKX1
  70887. * 0b1..SEMC_CLKX1 is always on
  70888. */
  70889. #define SEMC_IOCR_CLKX1_AO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IOCR_CLKX1_AO_SHIFT)) & SEMC_IOCR_CLKX1_AO_MASK)
  70890. /*! @} */
  70891. /*! @name BMCR0 - Bus (AXI) Master Control Register 0 */
  70892. /*! @{ */
  70893. #define SEMC_BMCR0_WQOS_MASK (0xFU)
  70894. #define SEMC_BMCR0_WQOS_SHIFT (0U)
  70895. /*! WQOS - Weight of QOS
  70896. */
  70897. #define SEMC_BMCR0_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WQOS_SHIFT)) & SEMC_BMCR0_WQOS_MASK)
  70898. #define SEMC_BMCR0_WAGE_MASK (0xF0U)
  70899. #define SEMC_BMCR0_WAGE_SHIFT (4U)
  70900. /*! WAGE - Weight of AGE
  70901. */
  70902. #define SEMC_BMCR0_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WAGE_SHIFT)) & SEMC_BMCR0_WAGE_MASK)
  70903. #define SEMC_BMCR0_WSH_MASK (0xFF00U)
  70904. #define SEMC_BMCR0_WSH_SHIFT (8U)
  70905. /*! WSH - Weight of Slave Hit without read/write switch
  70906. */
  70907. #define SEMC_BMCR0_WSH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WSH_SHIFT)) & SEMC_BMCR0_WSH_MASK)
  70908. #define SEMC_BMCR0_WRWS_MASK (0xFF0000U)
  70909. #define SEMC_BMCR0_WRWS_SHIFT (16U)
  70910. /*! WRWS - Weight of slave hit with Read/Write Switch
  70911. */
  70912. #define SEMC_BMCR0_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR0_WRWS_SHIFT)) & SEMC_BMCR0_WRWS_MASK)
  70913. /*! @} */
  70914. /*! @name BMCR1 - Bus (AXI) Master Control Register 1 */
  70915. /*! @{ */
  70916. #define SEMC_BMCR1_WQOS_MASK (0xFU)
  70917. #define SEMC_BMCR1_WQOS_SHIFT (0U)
  70918. /*! WQOS - Weight of QOS
  70919. */
  70920. #define SEMC_BMCR1_WQOS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WQOS_SHIFT)) & SEMC_BMCR1_WQOS_MASK)
  70921. #define SEMC_BMCR1_WAGE_MASK (0xF0U)
  70922. #define SEMC_BMCR1_WAGE_SHIFT (4U)
  70923. /*! WAGE - Weight of AGE
  70924. */
  70925. #define SEMC_BMCR1_WAGE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WAGE_SHIFT)) & SEMC_BMCR1_WAGE_MASK)
  70926. #define SEMC_BMCR1_WPH_MASK (0xFF00U)
  70927. #define SEMC_BMCR1_WPH_SHIFT (8U)
  70928. /*! WPH - Weight of Page Hit
  70929. */
  70930. #define SEMC_BMCR1_WPH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WPH_SHIFT)) & SEMC_BMCR1_WPH_MASK)
  70931. #define SEMC_BMCR1_WRWS_MASK (0xFF0000U)
  70932. #define SEMC_BMCR1_WRWS_SHIFT (16U)
  70933. /*! WRWS - Weight of slave hit without Read/Write Switch
  70934. */
  70935. #define SEMC_BMCR1_WRWS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WRWS_SHIFT)) & SEMC_BMCR1_WRWS_MASK)
  70936. #define SEMC_BMCR1_WBR_MASK (0xFF000000U)
  70937. #define SEMC_BMCR1_WBR_SHIFT (24U)
  70938. /*! WBR - Weight of Bank Rotation
  70939. */
  70940. #define SEMC_BMCR1_WBR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BMCR1_WBR_SHIFT)) & SEMC_BMCR1_WBR_MASK)
  70941. /*! @} */
  70942. /*! @name BR - Base Register 0..Base Register 8 */
  70943. /*! @{ */
  70944. #define SEMC_BR_VLD_MASK (0x1U)
  70945. #define SEMC_BR_VLD_SHIFT (0U)
  70946. /*! VLD - Valid
  70947. * 0b0..The memory is invalid, can not be accessed.
  70948. * 0b1..The memory is valid, can be accessed.
  70949. */
  70950. #define SEMC_BR_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_VLD_SHIFT)) & SEMC_BR_VLD_MASK)
  70951. #define SEMC_BR_MS_MASK (0x3EU)
  70952. #define SEMC_BR_MS_SHIFT (1U)
  70953. /*! MS - Memory size
  70954. * 0b00000..4KB
  70955. * 0b00001..8KB
  70956. * 0b00010..16KB
  70957. * 0b00011..32KB
  70958. * 0b00100..64KB
  70959. * 0b00101..128KB
  70960. * 0b00110..256KB
  70961. * 0b00111..512KB
  70962. * 0b01000..1MB
  70963. * 0b01001..2MB
  70964. * 0b01010..4MB
  70965. * 0b01011..8MB
  70966. * 0b01100..16MB
  70967. * 0b01101..32MB
  70968. * 0b01110..64MB
  70969. * 0b01111..128MB
  70970. * 0b10000..256MB
  70971. * 0b10001..512MB
  70972. * 0b10010..1GB
  70973. * 0b10011..2GB
  70974. * 0b10100-0b11111..4GB
  70975. */
  70976. #define SEMC_BR_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_MS_SHIFT)) & SEMC_BR_MS_MASK)
  70977. #define SEMC_BR_BA_MASK (0xFFFFF000U)
  70978. #define SEMC_BR_BA_SHIFT (12U)
  70979. /*! BA - Base Address
  70980. */
  70981. #define SEMC_BR_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR_BA_SHIFT)) & SEMC_BR_BA_MASK)
  70982. /*! @} */
  70983. /* The count of SEMC_BR */
  70984. #define SEMC_BR_COUNT (9U)
  70985. /*! @name DLLCR - DLL Control Register */
  70986. /*! @{ */
  70987. #define SEMC_DLLCR_DLLEN_MASK (0x1U)
  70988. #define SEMC_DLLCR_DLLEN_SHIFT (0U)
  70989. /*! DLLEN - DLL calibration enable
  70990. * 0b0..DLL calibration is disabled.
  70991. * 0b1..DLL calibration is enabled.
  70992. */
  70993. #define SEMC_DLLCR_DLLEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLEN_SHIFT)) & SEMC_DLLCR_DLLEN_MASK)
  70994. #define SEMC_DLLCR_DLLRESET_MASK (0x2U)
  70995. #define SEMC_DLLCR_DLLRESET_SHIFT (1U)
  70996. /*! DLLRESET - DLL Reset
  70997. * 0b0..DLL is not reset.
  70998. * 0b1..DLL is reset.
  70999. */
  71000. #define SEMC_DLLCR_DLLRESET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_DLLRESET_SHIFT)) & SEMC_DLLCR_DLLRESET_MASK)
  71001. #define SEMC_DLLCR_SLVDLYTARGET_MASK (0x78U)
  71002. #define SEMC_DLLCR_SLVDLYTARGET_SHIFT (3U)
  71003. /*! SLVDLYTARGET - Delay Target for Slave
  71004. */
  71005. #define SEMC_DLLCR_SLVDLYTARGET(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_SLVDLYTARGET_SHIFT)) & SEMC_DLLCR_SLVDLYTARGET_MASK)
  71006. #define SEMC_DLLCR_OVRDEN_MASK (0x100U)
  71007. #define SEMC_DLLCR_OVRDEN_SHIFT (8U)
  71008. /*! OVRDEN - Override Enable
  71009. * 0b0..The delay cell number is not overridden.
  71010. * 0b1..The delay cell number is overridden.
  71011. */
  71012. #define SEMC_DLLCR_OVRDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDEN_SHIFT)) & SEMC_DLLCR_OVRDEN_MASK)
  71013. #define SEMC_DLLCR_OVRDVAL_MASK (0x7E00U)
  71014. #define SEMC_DLLCR_OVRDVAL_SHIFT (9U)
  71015. /*! OVRDVAL - Override Value
  71016. */
  71017. #define SEMC_DLLCR_OVRDVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DLLCR_OVRDVAL_SHIFT)) & SEMC_DLLCR_OVRDVAL_MASK)
  71018. /*! @} */
  71019. /*! @name INTEN - Interrupt Enable Register */
  71020. /*! @{ */
  71021. #define SEMC_INTEN_IPCMDDONEEN_MASK (0x1U)
  71022. #define SEMC_INTEN_IPCMDDONEEN_SHIFT (0U)
  71023. /*! IPCMDDONEEN - IP command done interrupt enable
  71024. * 0b0..Interrupt is disabled
  71025. * 0b1..Interrupt is enabled
  71026. */
  71027. #define SEMC_INTEN_IPCMDDONEEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDDONEEN_SHIFT)) & SEMC_INTEN_IPCMDDONEEN_MASK)
  71028. #define SEMC_INTEN_IPCMDERREN_MASK (0x2U)
  71029. #define SEMC_INTEN_IPCMDERREN_SHIFT (1U)
  71030. /*! IPCMDERREN - IP command error interrupt enable
  71031. * 0b0..Interrupt is disabled
  71032. * 0b1..Interrupt is enabled
  71033. */
  71034. #define SEMC_INTEN_IPCMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_IPCMDERREN_SHIFT)) & SEMC_INTEN_IPCMDERREN_MASK)
  71035. #define SEMC_INTEN_AXICMDERREN_MASK (0x4U)
  71036. #define SEMC_INTEN_AXICMDERREN_SHIFT (2U)
  71037. /*! AXICMDERREN - AXI command error interrupt enable
  71038. * 0b0..Interrupt is disabled
  71039. * 0b1..Interrupt is enabled
  71040. */
  71041. #define SEMC_INTEN_AXICMDERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXICMDERREN_SHIFT)) & SEMC_INTEN_AXICMDERREN_MASK)
  71042. #define SEMC_INTEN_AXIBUSERREN_MASK (0x8U)
  71043. #define SEMC_INTEN_AXIBUSERREN_SHIFT (3U)
  71044. /*! AXIBUSERREN - AXI bus error interrupt enable
  71045. * 0b0..Interrupt is disabled
  71046. * 0b1..Interrupt is enabled
  71047. */
  71048. #define SEMC_INTEN_AXIBUSERREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_AXIBUSERREN_SHIFT)) & SEMC_INTEN_AXIBUSERREN_MASK)
  71049. #define SEMC_INTEN_NDPAGEENDEN_MASK (0x10U)
  71050. #define SEMC_INTEN_NDPAGEENDEN_SHIFT (4U)
  71051. /*! NDPAGEENDEN - NAND page end interrupt enable
  71052. * 0b0..Interrupt is disabled
  71053. * 0b1..Interrupt is enabled
  71054. */
  71055. #define SEMC_INTEN_NDPAGEENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDPAGEENDEN_SHIFT)) & SEMC_INTEN_NDPAGEENDEN_MASK)
  71056. #define SEMC_INTEN_NDNOPENDEN_MASK (0x20U)
  71057. #define SEMC_INTEN_NDNOPENDEN_SHIFT (5U)
  71058. /*! NDNOPENDEN - NAND no pending AXI access interrupt enable
  71059. * 0b0..Interrupt is disabled
  71060. * 0b1..Interrupt is enabled
  71061. */
  71062. #define SEMC_INTEN_NDNOPENDEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTEN_NDNOPENDEN_SHIFT)) & SEMC_INTEN_NDNOPENDEN_MASK)
  71063. /*! @} */
  71064. /*! @name INTR - Interrupt Register */
  71065. /*! @{ */
  71066. #define SEMC_INTR_IPCMDDONE_MASK (0x1U)
  71067. #define SEMC_INTR_IPCMDDONE_SHIFT (0U)
  71068. /*! IPCMDDONE - IP command normal done interrupt
  71069. * 0b0..IP command is not done.
  71070. * 0b1..IP command is done.
  71071. */
  71072. #define SEMC_INTR_IPCMDDONE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDDONE_SHIFT)) & SEMC_INTR_IPCMDDONE_MASK)
  71073. #define SEMC_INTR_IPCMDERR_MASK (0x2U)
  71074. #define SEMC_INTR_IPCMDERR_SHIFT (1U)
  71075. /*! IPCMDERR - IP command error done interrupt
  71076. * 0b0..No IP command error.
  71077. * 0b1..IP command error occurs.
  71078. */
  71079. #define SEMC_INTR_IPCMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_IPCMDERR_SHIFT)) & SEMC_INTR_IPCMDERR_MASK)
  71080. #define SEMC_INTR_AXICMDERR_MASK (0x4U)
  71081. #define SEMC_INTR_AXICMDERR_SHIFT (2U)
  71082. /*! AXICMDERR - AXI command error interrupt
  71083. * 0b0..No AXI command error.
  71084. * 0b1..AXI command error occurs.
  71085. */
  71086. #define SEMC_INTR_AXICMDERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXICMDERR_SHIFT)) & SEMC_INTR_AXICMDERR_MASK)
  71087. #define SEMC_INTR_AXIBUSERR_MASK (0x8U)
  71088. #define SEMC_INTR_AXIBUSERR_SHIFT (3U)
  71089. /*! AXIBUSERR - AXI bus error interrupt
  71090. * 0b0..No AXI bus error.
  71091. * 0b1..AXI bus error occurs.
  71092. */
  71093. #define SEMC_INTR_AXIBUSERR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_AXIBUSERR_SHIFT)) & SEMC_INTR_AXIBUSERR_MASK)
  71094. #define SEMC_INTR_NDPAGEEND_MASK (0x10U)
  71095. #define SEMC_INTR_NDPAGEEND_SHIFT (4U)
  71096. /*! NDPAGEEND - NAND page end interrupt
  71097. * 0b0..The last address of main space in the NAND is not written by AXI command.
  71098. * 0b1..The last address of main space in the NAND is written by AXI command.
  71099. */
  71100. #define SEMC_INTR_NDPAGEEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDPAGEEND_SHIFT)) & SEMC_INTR_NDPAGEEND_MASK)
  71101. #define SEMC_INTR_NDNOPEND_MASK (0x20U)
  71102. #define SEMC_INTR_NDNOPEND_SHIFT (5U)
  71103. /*! NDNOPEND - NAND no pending AXI write transaction interrupt
  71104. * 0b0..At least one NAND AXI write transaction is pending or no NAND write transaction is sent to the queue.
  71105. * 0b1..All NAND AXI write pending transactions are finished.
  71106. */
  71107. #define SEMC_INTR_NDNOPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_INTR_NDNOPEND_SHIFT)) & SEMC_INTR_NDNOPEND_MASK)
  71108. /*! @} */
  71109. /*! @name SDRAMCR0 - SDRAM Control Register 0 */
  71110. /*! @{ */
  71111. #define SEMC_SDRAMCR0_PS_MASK (0x3U)
  71112. #define SEMC_SDRAMCR0_PS_SHIFT (0U)
  71113. /*! PS - Port Size
  71114. * 0b00..8bit
  71115. * 0b01..16bit
  71116. * 0b10..32bit
  71117. * 0b11..Reserved
  71118. */
  71119. #define SEMC_SDRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_PS_SHIFT)) & SEMC_SDRAMCR0_PS_MASK)
  71120. #define SEMC_SDRAMCR0_BL_MASK (0x70U)
  71121. #define SEMC_SDRAMCR0_BL_SHIFT (4U)
  71122. /*! BL - Burst Length
  71123. * 0b000..1
  71124. * 0b001..2
  71125. * 0b010..4
  71126. * 0b011..8
  71127. * 0b100..8
  71128. * 0b101..8
  71129. * 0b110..8
  71130. * 0b111..8
  71131. */
  71132. #define SEMC_SDRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BL_SHIFT)) & SEMC_SDRAMCR0_BL_MASK)
  71133. #define SEMC_SDRAMCR0_COL8_MASK (0x80U)
  71134. #define SEMC_SDRAMCR0_COL8_SHIFT (7U)
  71135. /*! COL8 - Column 8 selection
  71136. * 0b0..Column address bit number is decided by COL field.
  71137. * 0b1..Column address bit number is 8. COL field is ignored.
  71138. */
  71139. #define SEMC_SDRAMCR0_COL8(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL8_SHIFT)) & SEMC_SDRAMCR0_COL8_MASK)
  71140. #define SEMC_SDRAMCR0_COL_MASK (0x300U)
  71141. #define SEMC_SDRAMCR0_COL_SHIFT (8U)
  71142. /*! COL - Column address bit number
  71143. * 0b00..12
  71144. * 0b01..11
  71145. * 0b10..10
  71146. * 0b11..9
  71147. */
  71148. #define SEMC_SDRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_COL_SHIFT)) & SEMC_SDRAMCR0_COL_MASK)
  71149. #define SEMC_SDRAMCR0_CL_MASK (0xC00U)
  71150. #define SEMC_SDRAMCR0_CL_SHIFT (10U)
  71151. /*! CL - CAS Latency
  71152. * 0b00..1
  71153. * 0b01..1
  71154. * 0b10..2
  71155. * 0b11..3
  71156. */
  71157. #define SEMC_SDRAMCR0_CL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_CL_SHIFT)) & SEMC_SDRAMCR0_CL_MASK)
  71158. #define SEMC_SDRAMCR0_BANK2_MASK (0x4000U)
  71159. #define SEMC_SDRAMCR0_BANK2_SHIFT (14U)
  71160. /*! BANK2 - 2 Bank selection bit
  71161. * 0b0..SDRAM device has 4 banks.
  71162. * 0b1..SDRAM device has 2 banks.
  71163. */
  71164. #define SEMC_SDRAMCR0_BANK2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR0_BANK2_SHIFT)) & SEMC_SDRAMCR0_BANK2_MASK)
  71165. /*! @} */
  71166. /*! @name SDRAMCR1 - SDRAM Control Register 1 */
  71167. /*! @{ */
  71168. #define SEMC_SDRAMCR1_PRE2ACT_MASK (0xFU)
  71169. #define SEMC_SDRAMCR1_PRE2ACT_SHIFT (0U)
  71170. /*! PRE2ACT - PRECHARGE to ACTIVE/REFRESH command wait time
  71171. */
  71172. #define SEMC_SDRAMCR1_PRE2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_PRE2ACT_SHIFT)) & SEMC_SDRAMCR1_PRE2ACT_MASK)
  71173. #define SEMC_SDRAMCR1_ACT2RW_MASK (0xF0U)
  71174. #define SEMC_SDRAMCR1_ACT2RW_SHIFT (4U)
  71175. /*! ACT2RW - ACTIVE to READ/WRITE delay
  71176. */
  71177. #define SEMC_SDRAMCR1_ACT2RW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2RW_SHIFT)) & SEMC_SDRAMCR1_ACT2RW_MASK)
  71178. #define SEMC_SDRAMCR1_RFRC_MASK (0x1F00U)
  71179. #define SEMC_SDRAMCR1_RFRC_SHIFT (8U)
  71180. /*! RFRC - REFRESH recovery time
  71181. */
  71182. #define SEMC_SDRAMCR1_RFRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_RFRC_SHIFT)) & SEMC_SDRAMCR1_RFRC_MASK)
  71183. #define SEMC_SDRAMCR1_WRC_MASK (0xE000U)
  71184. #define SEMC_SDRAMCR1_WRC_SHIFT (13U)
  71185. /*! WRC - WRITE recovery time
  71186. */
  71187. #define SEMC_SDRAMCR1_WRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_WRC_SHIFT)) & SEMC_SDRAMCR1_WRC_MASK)
  71188. #define SEMC_SDRAMCR1_CKEOFF_MASK (0xF0000U)
  71189. #define SEMC_SDRAMCR1_CKEOFF_SHIFT (16U)
  71190. /*! CKEOFF - CKE off minimum time
  71191. */
  71192. #define SEMC_SDRAMCR1_CKEOFF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_CKEOFF_SHIFT)) & SEMC_SDRAMCR1_CKEOFF_MASK)
  71193. #define SEMC_SDRAMCR1_ACT2PRE_MASK (0xF00000U)
  71194. #define SEMC_SDRAMCR1_ACT2PRE_SHIFT (20U)
  71195. /*! ACT2PRE - ACTIVE to PRECHARGE minimum time
  71196. */
  71197. #define SEMC_SDRAMCR1_ACT2PRE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR1_ACT2PRE_SHIFT)) & SEMC_SDRAMCR1_ACT2PRE_MASK)
  71198. /*! @} */
  71199. /*! @name SDRAMCR2 - SDRAM Control Register 2 */
  71200. /*! @{ */
  71201. #define SEMC_SDRAMCR2_SRRC_MASK (0xFFU)
  71202. #define SEMC_SDRAMCR2_SRRC_SHIFT (0U)
  71203. /*! SRRC - SELF REFRESH recovery time
  71204. */
  71205. #define SEMC_SDRAMCR2_SRRC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_SRRC_SHIFT)) & SEMC_SDRAMCR2_SRRC_MASK)
  71206. #define SEMC_SDRAMCR2_REF2REF_MASK (0xFF00U)
  71207. #define SEMC_SDRAMCR2_REF2REF_SHIFT (8U)
  71208. /*! REF2REF - REFRESH to REFRESH delay
  71209. */
  71210. #define SEMC_SDRAMCR2_REF2REF(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_REF2REF_SHIFT)) & SEMC_SDRAMCR2_REF2REF_MASK)
  71211. #define SEMC_SDRAMCR2_ACT2ACT_MASK (0xFF0000U)
  71212. #define SEMC_SDRAMCR2_ACT2ACT_SHIFT (16U)
  71213. /*! ACT2ACT - ACTIVE to ACTIVE delay
  71214. */
  71215. #define SEMC_SDRAMCR2_ACT2ACT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ACT2ACT_SHIFT)) & SEMC_SDRAMCR2_ACT2ACT_MASK)
  71216. #define SEMC_SDRAMCR2_ITO_MASK (0xFF000000U)
  71217. #define SEMC_SDRAMCR2_ITO_SHIFT (24U)
  71218. /*! ITO - SDRAM idle timeout
  71219. * 0b00000000..IDLE timeout period is 256*Prescale period.
  71220. * 0b00000001-0b11111111..IDLE timeout period is ITO*Prescale period.
  71221. */
  71222. #define SEMC_SDRAMCR2_ITO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR2_ITO_SHIFT)) & SEMC_SDRAMCR2_ITO_MASK)
  71223. /*! @} */
  71224. /*! @name SDRAMCR3 - SDRAM Control Register 3 */
  71225. /*! @{ */
  71226. #define SEMC_SDRAMCR3_REN_MASK (0x1U)
  71227. #define SEMC_SDRAMCR3_REN_SHIFT (0U)
  71228. /*! REN - Refresh enable
  71229. * 0b0..The SEMC does not send AUTO REFRESH command automatically
  71230. * 0b1..The SEMC sends AUTO REFRESH command automatically
  71231. */
  71232. #define SEMC_SDRAMCR3_REN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REN_SHIFT)) & SEMC_SDRAMCR3_REN_MASK)
  71233. #define SEMC_SDRAMCR3_REBL_MASK (0xEU)
  71234. #define SEMC_SDRAMCR3_REBL_SHIFT (1U)
  71235. /*! REBL - Refresh burst length
  71236. * 0b000..1
  71237. * 0b001..2
  71238. * 0b010..3
  71239. * 0b011..4
  71240. * 0b100..5
  71241. * 0b101..6
  71242. * 0b110..7
  71243. * 0b111..8
  71244. */
  71245. #define SEMC_SDRAMCR3_REBL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_REBL_SHIFT)) & SEMC_SDRAMCR3_REBL_MASK)
  71246. #define SEMC_SDRAMCR3_PRESCALE_MASK (0xFF00U)
  71247. #define SEMC_SDRAMCR3_PRESCALE_SHIFT (8U)
  71248. /*! PRESCALE - Prescaler period
  71249. * 0b00000000..(256*16+1) clock cycles
  71250. * 0b00000001-0b11111111..(PRESCALE*16+1) clock cycles
  71251. */
  71252. #define SEMC_SDRAMCR3_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_PRESCALE_SHIFT)) & SEMC_SDRAMCR3_PRESCALE_MASK)
  71253. #define SEMC_SDRAMCR3_RT_MASK (0xFF0000U)
  71254. #define SEMC_SDRAMCR3_RT_SHIFT (16U)
  71255. /*! RT - Refresh timer period
  71256. * 0b00000000..(256+1)*(Prescaler period)
  71257. * 0b00000001-0b11111111..(RT+1)*(Prescaler period)
  71258. */
  71259. #define SEMC_SDRAMCR3_RT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_RT_SHIFT)) & SEMC_SDRAMCR3_RT_MASK)
  71260. #define SEMC_SDRAMCR3_UT_MASK (0xFF000000U)
  71261. #define SEMC_SDRAMCR3_UT_SHIFT (24U)
  71262. /*! UT - Urgent refresh threshold
  71263. * 0b00000000..256*(Prescaler period)
  71264. * 0b00000001-0b11111111..UT*(Prescaler period)
  71265. */
  71266. #define SEMC_SDRAMCR3_UT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SDRAMCR3_UT_SHIFT)) & SEMC_SDRAMCR3_UT_MASK)
  71267. /*! @} */
  71268. /*! @name NANDCR0 - NAND Control Register 0 */
  71269. /*! @{ */
  71270. #define SEMC_NANDCR0_PS_MASK (0x1U)
  71271. #define SEMC_NANDCR0_PS_SHIFT (0U)
  71272. /*! PS - Port Size
  71273. * 0b0..8bit
  71274. * 0b1..16bit
  71275. */
  71276. #define SEMC_NANDCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_PS_SHIFT)) & SEMC_NANDCR0_PS_MASK)
  71277. #define SEMC_NANDCR0_SYNCEN_MASK (0x2U)
  71278. #define SEMC_NANDCR0_SYNCEN_SHIFT (1U)
  71279. /*! SYNCEN - Synchronous Mode Enable
  71280. * 0b0..Asynchronous mode is enabled.
  71281. * 0b1..Synchronous mode is enabled.
  71282. */
  71283. #define SEMC_NANDCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_SYNCEN_SHIFT)) & SEMC_NANDCR0_SYNCEN_MASK)
  71284. #define SEMC_NANDCR0_BL_MASK (0x70U)
  71285. #define SEMC_NANDCR0_BL_SHIFT (4U)
  71286. /*! BL - Burst Length
  71287. * 0b000..1
  71288. * 0b001..2
  71289. * 0b010..4
  71290. * 0b011..8
  71291. * 0b100..16
  71292. * 0b101..32
  71293. * 0b110..64
  71294. * 0b111..64
  71295. */
  71296. #define SEMC_NANDCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_BL_SHIFT)) & SEMC_NANDCR0_BL_MASK)
  71297. #define SEMC_NANDCR0_EDO_MASK (0x80U)
  71298. #define SEMC_NANDCR0_EDO_SHIFT (7U)
  71299. /*! EDO - EDO mode enabled
  71300. * 0b0..EDO mode disabled
  71301. * 0b1..EDO mode enabled
  71302. */
  71303. #define SEMC_NANDCR0_EDO(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_EDO_SHIFT)) & SEMC_NANDCR0_EDO_MASK)
  71304. #define SEMC_NANDCR0_COL_MASK (0x700U)
  71305. #define SEMC_NANDCR0_COL_SHIFT (8U)
  71306. /*! COL - Column address bit number
  71307. * 0b000..16
  71308. * 0b001..15
  71309. * 0b010..14
  71310. * 0b011..13
  71311. * 0b100..12
  71312. * 0b101..11
  71313. * 0b110..10
  71314. * 0b111..9
  71315. */
  71316. #define SEMC_NANDCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR0_COL_SHIFT)) & SEMC_NANDCR0_COL_MASK)
  71317. /*! @} */
  71318. /*! @name NANDCR1 - NAND Control Register 1 */
  71319. /*! @{ */
  71320. #define SEMC_NANDCR1_CES_MASK (0xFU)
  71321. #define SEMC_NANDCR1_CES_SHIFT (0U)
  71322. /*! CES - CE# setup time
  71323. */
  71324. #define SEMC_NANDCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CES_SHIFT)) & SEMC_NANDCR1_CES_MASK)
  71325. #define SEMC_NANDCR1_CEH_MASK (0xF0U)
  71326. #define SEMC_NANDCR1_CEH_SHIFT (4U)
  71327. /*! CEH - CE# hold time
  71328. */
  71329. #define SEMC_NANDCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEH_SHIFT)) & SEMC_NANDCR1_CEH_MASK)
  71330. #define SEMC_NANDCR1_WEL_MASK (0xF00U)
  71331. #define SEMC_NANDCR1_WEL_SHIFT (8U)
  71332. /*! WEL - WE# low time
  71333. */
  71334. #define SEMC_NANDCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEL_SHIFT)) & SEMC_NANDCR1_WEL_MASK)
  71335. #define SEMC_NANDCR1_WEH_MASK (0xF000U)
  71336. #define SEMC_NANDCR1_WEH_SHIFT (12U)
  71337. /*! WEH - WE# high time
  71338. */
  71339. #define SEMC_NANDCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_WEH_SHIFT)) & SEMC_NANDCR1_WEH_MASK)
  71340. #define SEMC_NANDCR1_REL_MASK (0xF0000U)
  71341. #define SEMC_NANDCR1_REL_SHIFT (16U)
  71342. /*! REL - RE# low time
  71343. */
  71344. #define SEMC_NANDCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REL_SHIFT)) & SEMC_NANDCR1_REL_MASK)
  71345. #define SEMC_NANDCR1_REH_MASK (0xF00000U)
  71346. #define SEMC_NANDCR1_REH_SHIFT (20U)
  71347. /*! REH - RE# high time
  71348. */
  71349. #define SEMC_NANDCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_REH_SHIFT)) & SEMC_NANDCR1_REH_MASK)
  71350. #define SEMC_NANDCR1_TA_MASK (0xF000000U)
  71351. #define SEMC_NANDCR1_TA_SHIFT (24U)
  71352. /*! TA - Turnaround time
  71353. */
  71354. #define SEMC_NANDCR1_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_TA_SHIFT)) & SEMC_NANDCR1_TA_MASK)
  71355. #define SEMC_NANDCR1_CEITV_MASK (0xF0000000U)
  71356. #define SEMC_NANDCR1_CEITV_SHIFT (28U)
  71357. /*! CEITV - CE# interval time
  71358. */
  71359. #define SEMC_NANDCR1_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR1_CEITV_SHIFT)) & SEMC_NANDCR1_CEITV_MASK)
  71360. /*! @} */
  71361. /*! @name NANDCR2 - NAND Control Register 2 */
  71362. /*! @{ */
  71363. #define SEMC_NANDCR2_TWHR_MASK (0x3FU)
  71364. #define SEMC_NANDCR2_TWHR_SHIFT (0U)
  71365. /*! TWHR - WE# high to RE# low time
  71366. */
  71367. #define SEMC_NANDCR2_TWHR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWHR_SHIFT)) & SEMC_NANDCR2_TWHR_MASK)
  71368. #define SEMC_NANDCR2_TRHW_MASK (0xFC0U)
  71369. #define SEMC_NANDCR2_TRHW_SHIFT (6U)
  71370. /*! TRHW - RE# high to WE# low time
  71371. */
  71372. #define SEMC_NANDCR2_TRHW(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRHW_SHIFT)) & SEMC_NANDCR2_TRHW_MASK)
  71373. #define SEMC_NANDCR2_TADL_MASK (0x3F000U)
  71374. #define SEMC_NANDCR2_TADL_SHIFT (12U)
  71375. /*! TADL - Address cycle to data loading time
  71376. */
  71377. #define SEMC_NANDCR2_TADL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TADL_SHIFT)) & SEMC_NANDCR2_TADL_MASK)
  71378. #define SEMC_NANDCR2_TRR_MASK (0xFC0000U)
  71379. #define SEMC_NANDCR2_TRR_SHIFT (18U)
  71380. /*! TRR - Ready to RE# low time
  71381. */
  71382. #define SEMC_NANDCR2_TRR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TRR_SHIFT)) & SEMC_NANDCR2_TRR_MASK)
  71383. #define SEMC_NANDCR2_TWB_MASK (0x3F000000U)
  71384. #define SEMC_NANDCR2_TWB_SHIFT (24U)
  71385. /*! TWB - WE# high to busy time
  71386. */
  71387. #define SEMC_NANDCR2_TWB(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR2_TWB_SHIFT)) & SEMC_NANDCR2_TWB_MASK)
  71388. /*! @} */
  71389. /*! @name NANDCR3 - NAND Control Register 3 */
  71390. /*! @{ */
  71391. #define SEMC_NANDCR3_NDOPT1_MASK (0x1U)
  71392. #define SEMC_NANDCR3_NDOPT1_SHIFT (0U)
  71393. /*! NDOPT1 - NAND option bit 1
  71394. */
  71395. #define SEMC_NANDCR3_NDOPT1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT1_SHIFT)) & SEMC_NANDCR3_NDOPT1_MASK)
  71396. #define SEMC_NANDCR3_NDOPT2_MASK (0x2U)
  71397. #define SEMC_NANDCR3_NDOPT2_SHIFT (1U)
  71398. /*! NDOPT2 - NAND option bit 2
  71399. */
  71400. #define SEMC_NANDCR3_NDOPT2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT2_SHIFT)) & SEMC_NANDCR3_NDOPT2_MASK)
  71401. #define SEMC_NANDCR3_NDOPT3_MASK (0x4U)
  71402. #define SEMC_NANDCR3_NDOPT3_SHIFT (2U)
  71403. /*! NDOPT3 - NAND option bit 3
  71404. */
  71405. #define SEMC_NANDCR3_NDOPT3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_NDOPT3_SHIFT)) & SEMC_NANDCR3_NDOPT3_MASK)
  71406. #define SEMC_NANDCR3_CLE_MASK (0x8U)
  71407. #define SEMC_NANDCR3_CLE_SHIFT (3U)
  71408. /*! CLE - NAND CLE Option
  71409. */
  71410. #define SEMC_NANDCR3_CLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_CLE_SHIFT)) & SEMC_NANDCR3_CLE_MASK)
  71411. #define SEMC_NANDCR3_RDS_MASK (0xF0000U)
  71412. #define SEMC_NANDCR3_RDS_SHIFT (16U)
  71413. /*! RDS - Read Data Setup time
  71414. */
  71415. #define SEMC_NANDCR3_RDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDS_SHIFT)) & SEMC_NANDCR3_RDS_MASK)
  71416. #define SEMC_NANDCR3_RDH_MASK (0xF00000U)
  71417. #define SEMC_NANDCR3_RDH_SHIFT (20U)
  71418. /*! RDH - Read Data Hold time
  71419. */
  71420. #define SEMC_NANDCR3_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_RDH_SHIFT)) & SEMC_NANDCR3_RDH_MASK)
  71421. #define SEMC_NANDCR3_WDS_MASK (0xF000000U)
  71422. #define SEMC_NANDCR3_WDS_SHIFT (24U)
  71423. /*! WDS - Write Data Setup time
  71424. */
  71425. #define SEMC_NANDCR3_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDS_SHIFT)) & SEMC_NANDCR3_WDS_MASK)
  71426. #define SEMC_NANDCR3_WDH_MASK (0xF0000000U)
  71427. #define SEMC_NANDCR3_WDH_SHIFT (28U)
  71428. /*! WDH - Write Data Hold time
  71429. */
  71430. #define SEMC_NANDCR3_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NANDCR3_WDH_SHIFT)) & SEMC_NANDCR3_WDH_MASK)
  71431. /*! @} */
  71432. /*! @name NORCR0 - NOR Control Register 0 */
  71433. /*! @{ */
  71434. #define SEMC_NORCR0_PS_MASK (0x1U)
  71435. #define SEMC_NORCR0_PS_SHIFT (0U)
  71436. /*! PS - Port Size
  71437. * 0b0..8bit
  71438. * 0b1..16bit
  71439. */
  71440. #define SEMC_NORCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_PS_SHIFT)) & SEMC_NORCR0_PS_MASK)
  71441. #define SEMC_NORCR0_SYNCEN_MASK (0x2U)
  71442. #define SEMC_NORCR0_SYNCEN_SHIFT (1U)
  71443. /*! SYNCEN - Synchronous Mode Enable
  71444. * 0b0..Asynchronous mode is enabled.
  71445. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  71446. */
  71447. #define SEMC_NORCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_SYNCEN_SHIFT)) & SEMC_NORCR0_SYNCEN_MASK)
  71448. #define SEMC_NORCR0_BL_MASK (0x70U)
  71449. #define SEMC_NORCR0_BL_SHIFT (4U)
  71450. /*! BL - Burst Length
  71451. * 0b000..1
  71452. * 0b001..2
  71453. * 0b010..4
  71454. * 0b011..8
  71455. * 0b100..16
  71456. * 0b101..32
  71457. * 0b110..64
  71458. * 0b111..64
  71459. */
  71460. #define SEMC_NORCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_BL_SHIFT)) & SEMC_NORCR0_BL_MASK)
  71461. #define SEMC_NORCR0_AM_MASK (0x300U)
  71462. #define SEMC_NORCR0_AM_SHIFT (8U)
  71463. /*! AM - Address Mode
  71464. * 0b00..Address/Data MUX mode (ADMUX)
  71465. * 0b01..Advanced Address/Data MUX mode (AADM)
  71466. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  71467. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  71468. */
  71469. #define SEMC_NORCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_AM_SHIFT)) & SEMC_NORCR0_AM_MASK)
  71470. #define SEMC_NORCR0_ADVP_MASK (0x400U)
  71471. #define SEMC_NORCR0_ADVP_SHIFT (10U)
  71472. /*! ADVP - ADV# Polarity
  71473. * 0b0..ADV# is active low.
  71474. * 0b1..ADV# is active high.
  71475. */
  71476. #define SEMC_NORCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVP_SHIFT)) & SEMC_NORCR0_ADVP_MASK)
  71477. #define SEMC_NORCR0_ADVH_MASK (0x800U)
  71478. #define SEMC_NORCR0_ADVH_SHIFT (11U)
  71479. /*! ADVH - ADV# level control during address hold state
  71480. * 0b0..ADV# is high during address hold state.
  71481. * 0b1..ADV# is low during address hold state.
  71482. */
  71483. #define SEMC_NORCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_ADVH_SHIFT)) & SEMC_NORCR0_ADVH_MASK)
  71484. #define SEMC_NORCR0_COL_MASK (0xF000U)
  71485. #define SEMC_NORCR0_COL_SHIFT (12U)
  71486. /*! COL - Column Address bit width
  71487. * 0b0000..12 Bits
  71488. * 0b0001..11 Bits
  71489. * 0b0010..10 Bits
  71490. * 0b0011..9 Bits
  71491. * 0b0100..8 Bits
  71492. * 0b0101..7 Bits
  71493. * 0b0110..6 Bits
  71494. * 0b0111..5 Bits
  71495. * 0b1000..4 Bits
  71496. * 0b1001..3 Bits
  71497. * 0b1010..2 Bits
  71498. * 0b1011..12 Bits
  71499. * 0b1100..12 Bits
  71500. * 0b1101..12 Bits
  71501. * 0b1110..12 Bits
  71502. * 0b1111..12 Bits
  71503. */
  71504. #define SEMC_NORCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR0_COL_SHIFT)) & SEMC_NORCR0_COL_MASK)
  71505. /*! @} */
  71506. /*! @name NORCR1 - NOR Control Register 1 */
  71507. /*! @{ */
  71508. #define SEMC_NORCR1_CES_MASK (0xFU)
  71509. #define SEMC_NORCR1_CES_SHIFT (0U)
  71510. /*! CES - CE setup time
  71511. */
  71512. #define SEMC_NORCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CES_SHIFT)) & SEMC_NORCR1_CES_MASK)
  71513. #define SEMC_NORCR1_CEH_MASK (0xF0U)
  71514. #define SEMC_NORCR1_CEH_SHIFT (4U)
  71515. /*! CEH - CE hold time
  71516. */
  71517. #define SEMC_NORCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_CEH_SHIFT)) & SEMC_NORCR1_CEH_MASK)
  71518. #define SEMC_NORCR1_AS_MASK (0xF00U)
  71519. #define SEMC_NORCR1_AS_SHIFT (8U)
  71520. /*! AS - Address setup time
  71521. */
  71522. #define SEMC_NORCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AS_SHIFT)) & SEMC_NORCR1_AS_MASK)
  71523. #define SEMC_NORCR1_AH_MASK (0xF000U)
  71524. #define SEMC_NORCR1_AH_SHIFT (12U)
  71525. /*! AH - Address hold time
  71526. */
  71527. #define SEMC_NORCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_AH_SHIFT)) & SEMC_NORCR1_AH_MASK)
  71528. #define SEMC_NORCR1_WEL_MASK (0xF0000U)
  71529. #define SEMC_NORCR1_WEL_SHIFT (16U)
  71530. /*! WEL - WE low time
  71531. */
  71532. #define SEMC_NORCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEL_SHIFT)) & SEMC_NORCR1_WEL_MASK)
  71533. #define SEMC_NORCR1_WEH_MASK (0xF00000U)
  71534. #define SEMC_NORCR1_WEH_SHIFT (20U)
  71535. /*! WEH - WE high time
  71536. */
  71537. #define SEMC_NORCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_WEH_SHIFT)) & SEMC_NORCR1_WEH_MASK)
  71538. #define SEMC_NORCR1_REL_MASK (0xF000000U)
  71539. #define SEMC_NORCR1_REL_SHIFT (24U)
  71540. /*! REL - RE low time
  71541. */
  71542. #define SEMC_NORCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REL_SHIFT)) & SEMC_NORCR1_REL_MASK)
  71543. #define SEMC_NORCR1_REH_MASK (0xF0000000U)
  71544. #define SEMC_NORCR1_REH_SHIFT (28U)
  71545. /*! REH - RE high time
  71546. */
  71547. #define SEMC_NORCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR1_REH_SHIFT)) & SEMC_NORCR1_REH_MASK)
  71548. /*! @} */
  71549. /*! @name NORCR2 - NOR Control Register 2 */
  71550. /*! @{ */
  71551. #define SEMC_NORCR2_TA_MASK (0xF00U)
  71552. #define SEMC_NORCR2_TA_SHIFT (8U)
  71553. /*! TA - Turnaround time
  71554. */
  71555. #define SEMC_NORCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_TA_SHIFT)) & SEMC_NORCR2_TA_MASK)
  71556. #define SEMC_NORCR2_AWDH_MASK (0xF000U)
  71557. #define SEMC_NORCR2_AWDH_SHIFT (12U)
  71558. /*! AWDH - Address to write data hold time
  71559. */
  71560. #define SEMC_NORCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_AWDH_SHIFT)) & SEMC_NORCR2_AWDH_MASK)
  71561. #define SEMC_NORCR2_LC_MASK (0xF0000U)
  71562. #define SEMC_NORCR2_LC_SHIFT (16U)
  71563. /*! LC - Latency count
  71564. */
  71565. #define SEMC_NORCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_LC_SHIFT)) & SEMC_NORCR2_LC_MASK)
  71566. #define SEMC_NORCR2_RD_MASK (0xF00000U)
  71567. #define SEMC_NORCR2_RD_SHIFT (20U)
  71568. /*! RD - Read time
  71569. */
  71570. #define SEMC_NORCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RD_SHIFT)) & SEMC_NORCR2_RD_MASK)
  71571. #define SEMC_NORCR2_CEITV_MASK (0xF000000U)
  71572. #define SEMC_NORCR2_CEITV_SHIFT (24U)
  71573. /*! CEITV - CE# interval time
  71574. */
  71575. #define SEMC_NORCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_CEITV_SHIFT)) & SEMC_NORCR2_CEITV_MASK)
  71576. #define SEMC_NORCR2_RDH_MASK (0xF0000000U)
  71577. #define SEMC_NORCR2_RDH_SHIFT (28U)
  71578. /*! RDH - Read hold time
  71579. */
  71580. #define SEMC_NORCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR2_RDH_SHIFT)) & SEMC_NORCR2_RDH_MASK)
  71581. /*! @} */
  71582. /*! @name NORCR3 - NOR Control Register 3 */
  71583. /*! @{ */
  71584. #define SEMC_NORCR3_ASSR_MASK (0xFU)
  71585. #define SEMC_NORCR3_ASSR_SHIFT (0U)
  71586. /*! ASSR - Address setup time for SYNC read
  71587. */
  71588. #define SEMC_NORCR3_ASSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_ASSR_SHIFT)) & SEMC_NORCR3_ASSR_MASK)
  71589. #define SEMC_NORCR3_AHSR_MASK (0xF0U)
  71590. #define SEMC_NORCR3_AHSR_SHIFT (4U)
  71591. /*! AHSR - Address hold time for SYNC read
  71592. */
  71593. #define SEMC_NORCR3_AHSR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_NORCR3_AHSR_SHIFT)) & SEMC_NORCR3_AHSR_MASK)
  71594. /*! @} */
  71595. /*! @name SRAMCR0 - SRAM Control Register 0 */
  71596. /*! @{ */
  71597. #define SEMC_SRAMCR0_PS_MASK (0x1U)
  71598. #define SEMC_SRAMCR0_PS_SHIFT (0U)
  71599. /*! PS - Port Size
  71600. * 0b0..8bit
  71601. * 0b1..16bit
  71602. */
  71603. #define SEMC_SRAMCR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_PS_SHIFT)) & SEMC_SRAMCR0_PS_MASK)
  71604. #define SEMC_SRAMCR0_SYNCEN_MASK (0x2U)
  71605. #define SEMC_SRAMCR0_SYNCEN_SHIFT (1U)
  71606. /*! SYNCEN - Synchronous Mode Enable
  71607. * 0b0..Asynchronous mode is enabled.
  71608. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  71609. */
  71610. #define SEMC_SRAMCR0_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_SYNCEN_SHIFT)) & SEMC_SRAMCR0_SYNCEN_MASK)
  71611. #define SEMC_SRAMCR0_WAITEN_MASK (0x4U)
  71612. #define SEMC_SRAMCR0_WAITEN_SHIFT (2U)
  71613. /*! WAITEN - Wait Enable
  71614. * 0b0..The SEMC does not monitor wait pin.
  71615. * 0b1..The SEMC monitors wait pin. The SEMC does not transfer/receive data when wait pin is asserted.
  71616. */
  71617. #define SEMC_SRAMCR0_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITEN_SHIFT)) & SEMC_SRAMCR0_WAITEN_MASK)
  71618. #define SEMC_SRAMCR0_WAITSP_MASK (0x8U)
  71619. #define SEMC_SRAMCR0_WAITSP_SHIFT (3U)
  71620. /*! WAITSP - Wait Sample
  71621. * 0b0..Wait pin is directly used by the SEMC.
  71622. * 0b1..Wait pin is sampled by internal clock before it is used.
  71623. */
  71624. #define SEMC_SRAMCR0_WAITSP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_WAITSP_SHIFT)) & SEMC_SRAMCR0_WAITSP_MASK)
  71625. #define SEMC_SRAMCR0_BL_MASK (0x70U)
  71626. #define SEMC_SRAMCR0_BL_SHIFT (4U)
  71627. /*! BL - Burst Length
  71628. * 0b000..1
  71629. * 0b001..2
  71630. * 0b010..4
  71631. * 0b011..8
  71632. * 0b100..16
  71633. * 0b101..32
  71634. * 0b110..64
  71635. * 0b111..64
  71636. */
  71637. #define SEMC_SRAMCR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_BL_SHIFT)) & SEMC_SRAMCR0_BL_MASK)
  71638. #define SEMC_SRAMCR0_AM_MASK (0x300U)
  71639. #define SEMC_SRAMCR0_AM_SHIFT (8U)
  71640. /*! AM - Address Mode
  71641. * 0b00..Address/Data MUX mode (ADMUX)
  71642. * 0b01..Advanced Address/Data MUX mode (AADM)
  71643. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  71644. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  71645. */
  71646. #define SEMC_SRAMCR0_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_AM_SHIFT)) & SEMC_SRAMCR0_AM_MASK)
  71647. #define SEMC_SRAMCR0_ADVP_MASK (0x400U)
  71648. #define SEMC_SRAMCR0_ADVP_SHIFT (10U)
  71649. /*! ADVP - ADV# polarity
  71650. * 0b0..ADV# is active low.
  71651. * 0b1..ADV# is active high.
  71652. */
  71653. #define SEMC_SRAMCR0_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVP_SHIFT)) & SEMC_SRAMCR0_ADVP_MASK)
  71654. #define SEMC_SRAMCR0_ADVH_MASK (0x800U)
  71655. #define SEMC_SRAMCR0_ADVH_SHIFT (11U)
  71656. /*! ADVH - ADV# level control during address hold state
  71657. * 0b0..ADV# is high during address hold state.
  71658. * 0b1..ADV# is low during address hold state.
  71659. */
  71660. #define SEMC_SRAMCR0_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_ADVH_SHIFT)) & SEMC_SRAMCR0_ADVH_MASK)
  71661. #define SEMC_SRAMCR0_COL_MASK (0xF000U)
  71662. #define SEMC_SRAMCR0_COL_SHIFT (12U)
  71663. /*! COL - Column Address bit width
  71664. * 0b0000..12 Bits
  71665. * 0b0001..11 Bits
  71666. * 0b0010..10 Bits
  71667. * 0b0011..9 Bits
  71668. * 0b0100..8 Bits
  71669. * 0b0101..7 Bits
  71670. * 0b0110..6 Bits
  71671. * 0b0111..5 Bits
  71672. * 0b1000..4 Bits
  71673. * 0b1001..3 Bits
  71674. * 0b1010..2 Bits
  71675. * 0b1011..12 Bits
  71676. * 0b1100..12 Bits
  71677. * 0b1101..12 Bits
  71678. * 0b1110..12 Bits
  71679. * 0b1111..12 Bits
  71680. */
  71681. #define SEMC_SRAMCR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR0_COL_SHIFT)) & SEMC_SRAMCR0_COL_MASK)
  71682. /*! @} */
  71683. /*! @name SRAMCR1 - SRAM Control Register 1 */
  71684. /*! @{ */
  71685. #define SEMC_SRAMCR1_CES_MASK (0xFU)
  71686. #define SEMC_SRAMCR1_CES_SHIFT (0U)
  71687. /*! CES - CE setup time
  71688. */
  71689. #define SEMC_SRAMCR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CES_SHIFT)) & SEMC_SRAMCR1_CES_MASK)
  71690. #define SEMC_SRAMCR1_CEH_MASK (0xF0U)
  71691. #define SEMC_SRAMCR1_CEH_SHIFT (4U)
  71692. /*! CEH - CE hold time
  71693. */
  71694. #define SEMC_SRAMCR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_CEH_SHIFT)) & SEMC_SRAMCR1_CEH_MASK)
  71695. #define SEMC_SRAMCR1_AS_MASK (0xF00U)
  71696. #define SEMC_SRAMCR1_AS_SHIFT (8U)
  71697. /*! AS - Address setup time
  71698. */
  71699. #define SEMC_SRAMCR1_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AS_SHIFT)) & SEMC_SRAMCR1_AS_MASK)
  71700. #define SEMC_SRAMCR1_AH_MASK (0xF000U)
  71701. #define SEMC_SRAMCR1_AH_SHIFT (12U)
  71702. /*! AH - Address hold time
  71703. */
  71704. #define SEMC_SRAMCR1_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_AH_SHIFT)) & SEMC_SRAMCR1_AH_MASK)
  71705. #define SEMC_SRAMCR1_WEL_MASK (0xF0000U)
  71706. #define SEMC_SRAMCR1_WEL_SHIFT (16U)
  71707. /*! WEL - WE low time
  71708. */
  71709. #define SEMC_SRAMCR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEL_SHIFT)) & SEMC_SRAMCR1_WEL_MASK)
  71710. #define SEMC_SRAMCR1_WEH_MASK (0xF00000U)
  71711. #define SEMC_SRAMCR1_WEH_SHIFT (20U)
  71712. /*! WEH - WE high time
  71713. */
  71714. #define SEMC_SRAMCR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_WEH_SHIFT)) & SEMC_SRAMCR1_WEH_MASK)
  71715. #define SEMC_SRAMCR1_REL_MASK (0xF000000U)
  71716. #define SEMC_SRAMCR1_REL_SHIFT (24U)
  71717. /*! REL - RE low time
  71718. */
  71719. #define SEMC_SRAMCR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REL_SHIFT)) & SEMC_SRAMCR1_REL_MASK)
  71720. #define SEMC_SRAMCR1_REH_MASK (0xF0000000U)
  71721. #define SEMC_SRAMCR1_REH_SHIFT (28U)
  71722. /*! REH - RE high time
  71723. */
  71724. #define SEMC_SRAMCR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR1_REH_SHIFT)) & SEMC_SRAMCR1_REH_MASK)
  71725. /*! @} */
  71726. /*! @name SRAMCR2 - SRAM Control Register 2 */
  71727. /*! @{ */
  71728. #define SEMC_SRAMCR2_WDS_MASK (0xFU)
  71729. #define SEMC_SRAMCR2_WDS_SHIFT (0U)
  71730. /*! WDS - Write Data setup time
  71731. */
  71732. #define SEMC_SRAMCR2_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDS_SHIFT)) & SEMC_SRAMCR2_WDS_MASK)
  71733. #define SEMC_SRAMCR2_WDH_MASK (0xF0U)
  71734. #define SEMC_SRAMCR2_WDH_SHIFT (4U)
  71735. /*! WDH - Write Data hold time
  71736. */
  71737. #define SEMC_SRAMCR2_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_WDH_SHIFT)) & SEMC_SRAMCR2_WDH_MASK)
  71738. #define SEMC_SRAMCR2_TA_MASK (0xF00U)
  71739. #define SEMC_SRAMCR2_TA_SHIFT (8U)
  71740. /*! TA - Turnaround time
  71741. */
  71742. #define SEMC_SRAMCR2_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_TA_SHIFT)) & SEMC_SRAMCR2_TA_MASK)
  71743. #define SEMC_SRAMCR2_AWDH_MASK (0xF000U)
  71744. #define SEMC_SRAMCR2_AWDH_SHIFT (12U)
  71745. /*! AWDH - Address to write data hold time
  71746. */
  71747. #define SEMC_SRAMCR2_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_AWDH_SHIFT)) & SEMC_SRAMCR2_AWDH_MASK)
  71748. #define SEMC_SRAMCR2_LC_MASK (0xF0000U)
  71749. #define SEMC_SRAMCR2_LC_SHIFT (16U)
  71750. /*! LC - Latency count
  71751. */
  71752. #define SEMC_SRAMCR2_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_LC_SHIFT)) & SEMC_SRAMCR2_LC_MASK)
  71753. #define SEMC_SRAMCR2_RD_MASK (0xF00000U)
  71754. #define SEMC_SRAMCR2_RD_SHIFT (20U)
  71755. /*! RD - Read time
  71756. */
  71757. #define SEMC_SRAMCR2_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RD_SHIFT)) & SEMC_SRAMCR2_RD_MASK)
  71758. #define SEMC_SRAMCR2_CEITV_MASK (0xF000000U)
  71759. #define SEMC_SRAMCR2_CEITV_SHIFT (24U)
  71760. /*! CEITV - CE# interval time
  71761. */
  71762. #define SEMC_SRAMCR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_CEITV_SHIFT)) & SEMC_SRAMCR2_CEITV_MASK)
  71763. #define SEMC_SRAMCR2_RDH_MASK (0xF0000000U)
  71764. #define SEMC_SRAMCR2_RDH_SHIFT (28U)
  71765. /*! RDH - Read hold time
  71766. */
  71767. #define SEMC_SRAMCR2_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR2_RDH_SHIFT)) & SEMC_SRAMCR2_RDH_MASK)
  71768. /*! @} */
  71769. /*! @name DBICR0 - DBI-B Control Register 0 */
  71770. /*! @{ */
  71771. #define SEMC_DBICR0_PS_MASK (0x1U)
  71772. #define SEMC_DBICR0_PS_SHIFT (0U)
  71773. /*! PS - Port Size
  71774. * 0b0..8bit
  71775. * 0b1..16bit
  71776. */
  71777. #define SEMC_DBICR0_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_PS_SHIFT)) & SEMC_DBICR0_PS_MASK)
  71778. #define SEMC_DBICR0_BL_MASK (0x70U)
  71779. #define SEMC_DBICR0_BL_SHIFT (4U)
  71780. /*! BL - Burst Length
  71781. * 0b000..1
  71782. * 0b001..2
  71783. * 0b010..4
  71784. * 0b011..8
  71785. * 0b100..16
  71786. * 0b101..32
  71787. * 0b110..64
  71788. * 0b111..64
  71789. */
  71790. #define SEMC_DBICR0_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_BL_SHIFT)) & SEMC_DBICR0_BL_MASK)
  71791. #define SEMC_DBICR0_COL_MASK (0xF000U)
  71792. #define SEMC_DBICR0_COL_SHIFT (12U)
  71793. /*! COL - Column Address bit width
  71794. * 0b0000..12 Bits
  71795. * 0b0001..11 Bits
  71796. * 0b0010..10 Bits
  71797. * 0b0011..9 Bits
  71798. * 0b0100..8 Bits
  71799. * 0b0101..7 Bits
  71800. * 0b0110..6 Bits
  71801. * 0b0111..5 Bits
  71802. * 0b1000..4 Bits
  71803. * 0b1001..3 Bits
  71804. * 0b1010..2 Bits
  71805. * 0b1011..12 Bits
  71806. * 0b1100..12 Bits
  71807. * 0b1101..12 Bits
  71808. * 0b1110..12 Bits
  71809. * 0b1111..12 Bits
  71810. */
  71811. #define SEMC_DBICR0_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR0_COL_SHIFT)) & SEMC_DBICR0_COL_MASK)
  71812. /*! @} */
  71813. /*! @name DBICR1 - DBI-B Control Register 1 */
  71814. /*! @{ */
  71815. #define SEMC_DBICR1_CES_MASK (0xFU)
  71816. #define SEMC_DBICR1_CES_SHIFT (0U)
  71817. /*! CES - CSX Setup Time
  71818. */
  71819. #define SEMC_DBICR1_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CES_SHIFT)) & SEMC_DBICR1_CES_MASK)
  71820. #define SEMC_DBICR1_CEH_MASK (0xF0U)
  71821. #define SEMC_DBICR1_CEH_SHIFT (4U)
  71822. /*! CEH - CSX Hold Time
  71823. */
  71824. #define SEMC_DBICR1_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_CEH_SHIFT)) & SEMC_DBICR1_CEH_MASK)
  71825. #define SEMC_DBICR1_WEL_MASK (0xF00U)
  71826. #define SEMC_DBICR1_WEL_SHIFT (8U)
  71827. /*! WEL - WRX Low Time
  71828. */
  71829. #define SEMC_DBICR1_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEL_SHIFT)) & SEMC_DBICR1_WEL_MASK)
  71830. #define SEMC_DBICR1_WEH_MASK (0xF000U)
  71831. #define SEMC_DBICR1_WEH_SHIFT (12U)
  71832. /*! WEH - WRX High Time
  71833. */
  71834. #define SEMC_DBICR1_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_WEH_SHIFT)) & SEMC_DBICR1_WEH_MASK)
  71835. #define SEMC_DBICR1_REL_MASK (0x7F0000U)
  71836. #define SEMC_DBICR1_REL_SHIFT (16U)
  71837. /*! REL - RDX Low Time
  71838. */
  71839. #define SEMC_DBICR1_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REL_SHIFT)) & SEMC_DBICR1_REL_MASK)
  71840. #define SEMC_DBICR1_REH_MASK (0x7F000000U)
  71841. #define SEMC_DBICR1_REH_SHIFT (24U)
  71842. /*! REH - RDX High Time
  71843. */
  71844. #define SEMC_DBICR1_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR1_REH_SHIFT)) & SEMC_DBICR1_REH_MASK)
  71845. /*! @} */
  71846. /*! @name DBICR2 - DBI-B Control Register 2 */
  71847. /*! @{ */
  71848. #define SEMC_DBICR2_CEITV_MASK (0xFU)
  71849. #define SEMC_DBICR2_CEITV_SHIFT (0U)
  71850. /*! CEITV - CSX interval time
  71851. */
  71852. #define SEMC_DBICR2_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DBICR2_CEITV_SHIFT)) & SEMC_DBICR2_CEITV_MASK)
  71853. /*! @} */
  71854. /*! @name IPCR0 - IP Command Control Register 0 */
  71855. /*! @{ */
  71856. #define SEMC_IPCR0_SA_MASK (0xFFFFFFFFU)
  71857. #define SEMC_IPCR0_SA_SHIFT (0U)
  71858. /*! SA - Slave address
  71859. */
  71860. #define SEMC_IPCR0_SA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR0_SA_SHIFT)) & SEMC_IPCR0_SA_MASK)
  71861. /*! @} */
  71862. /*! @name IPCR1 - IP Command Control Register 1 */
  71863. /*! @{ */
  71864. #define SEMC_IPCR1_DATSZ_MASK (0x7U)
  71865. #define SEMC_IPCR1_DATSZ_SHIFT (0U)
  71866. /*! DATSZ - Data Size in Byte
  71867. * 0b000..4
  71868. * 0b001..1
  71869. * 0b010..2
  71870. * 0b011..3
  71871. * 0b100..4
  71872. * 0b101..4
  71873. * 0b110..4
  71874. * 0b111..4
  71875. */
  71876. #define SEMC_IPCR1_DATSZ(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_DATSZ_SHIFT)) & SEMC_IPCR1_DATSZ_MASK)
  71877. #define SEMC_IPCR1_NAND_EXT_ADDR_MASK (0xFF00U)
  71878. #define SEMC_IPCR1_NAND_EXT_ADDR_SHIFT (8U)
  71879. /*! NAND_EXT_ADDR - NAND Extended Address
  71880. */
  71881. #define SEMC_IPCR1_NAND_EXT_ADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR1_NAND_EXT_ADDR_SHIFT)) & SEMC_IPCR1_NAND_EXT_ADDR_MASK)
  71882. /*! @} */
  71883. /*! @name IPCR2 - IP Command Control Register 2 */
  71884. /*! @{ */
  71885. #define SEMC_IPCR2_BM0_MASK (0x1U)
  71886. #define SEMC_IPCR2_BM0_SHIFT (0U)
  71887. /*! BM0 - Byte Mask for Byte 0 (IPTXDAT bit 7:0)
  71888. * 0b0..Byte is unmasked
  71889. * 0b1..Byte is masked
  71890. */
  71891. #define SEMC_IPCR2_BM0(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM0_SHIFT)) & SEMC_IPCR2_BM0_MASK)
  71892. #define SEMC_IPCR2_BM1_MASK (0x2U)
  71893. #define SEMC_IPCR2_BM1_SHIFT (1U)
  71894. /*! BM1 - Byte Mask for Byte 1 (IPTXDAT bit 15:8)
  71895. * 0b0..Byte is unmasked
  71896. * 0b1..Byte is masked
  71897. */
  71898. #define SEMC_IPCR2_BM1(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM1_SHIFT)) & SEMC_IPCR2_BM1_MASK)
  71899. #define SEMC_IPCR2_BM2_MASK (0x4U)
  71900. #define SEMC_IPCR2_BM2_SHIFT (2U)
  71901. /*! BM2 - Byte Mask for Byte 2 (IPTXDAT bit 23:16)
  71902. * 0b0..Byte is unmasked
  71903. * 0b1..Byte is masked
  71904. */
  71905. #define SEMC_IPCR2_BM2(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM2_SHIFT)) & SEMC_IPCR2_BM2_MASK)
  71906. #define SEMC_IPCR2_BM3_MASK (0x8U)
  71907. #define SEMC_IPCR2_BM3_SHIFT (3U)
  71908. /*! BM3 - Byte Mask for Byte 3 (IPTXDAT bit 31:24)
  71909. * 0b0..Byte is unmasked
  71910. * 0b1..Byte is masked
  71911. */
  71912. #define SEMC_IPCR2_BM3(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCR2_BM3_SHIFT)) & SEMC_IPCR2_BM3_MASK)
  71913. /*! @} */
  71914. /*! @name IPCMD - IP Command Register */
  71915. /*! @{ */
  71916. #define SEMC_IPCMD_CMD_MASK (0xFFFFU)
  71917. #define SEMC_IPCMD_CMD_SHIFT (0U)
  71918. #define SEMC_IPCMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_CMD_SHIFT)) & SEMC_IPCMD_CMD_MASK)
  71919. #define SEMC_IPCMD_KEY_MASK (0xFFFF0000U)
  71920. #define SEMC_IPCMD_KEY_SHIFT (16U)
  71921. #define SEMC_IPCMD_KEY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPCMD_KEY_SHIFT)) & SEMC_IPCMD_KEY_MASK)
  71922. /*! @} */
  71923. /*! @name IPTXDAT - TX DATA Register */
  71924. /*! @{ */
  71925. #define SEMC_IPTXDAT_DAT_MASK (0xFFFFFFFFU)
  71926. #define SEMC_IPTXDAT_DAT_SHIFT (0U)
  71927. #define SEMC_IPTXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPTXDAT_DAT_SHIFT)) & SEMC_IPTXDAT_DAT_MASK)
  71928. /*! @} */
  71929. /*! @name IPRXDAT - RX DATA Register */
  71930. /*! @{ */
  71931. #define SEMC_IPRXDAT_DAT_MASK (0xFFFFFFFFU)
  71932. #define SEMC_IPRXDAT_DAT_SHIFT (0U)
  71933. #define SEMC_IPRXDAT_DAT(x) (((uint32_t)(((uint32_t)(x)) << SEMC_IPRXDAT_DAT_SHIFT)) & SEMC_IPRXDAT_DAT_MASK)
  71934. /*! @} */
  71935. /*! @name STS0 - Status Register 0 */
  71936. /*! @{ */
  71937. #define SEMC_STS0_IDLE_MASK (0x1U)
  71938. #define SEMC_STS0_IDLE_SHIFT (0U)
  71939. /*! IDLE - Indicating whether the SEMC is in idle state.
  71940. */
  71941. #define SEMC_STS0_IDLE(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_IDLE_SHIFT)) & SEMC_STS0_IDLE_MASK)
  71942. #define SEMC_STS0_NARDY_MASK (0x2U)
  71943. #define SEMC_STS0_NARDY_SHIFT (1U)
  71944. /*! NARDY - Indicating NAND device Ready/WAIT# pin level.
  71945. * 0b0..NAND device is not ready
  71946. * 0b1..NAND device is ready
  71947. */
  71948. #define SEMC_STS0_NARDY(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS0_NARDY_SHIFT)) & SEMC_STS0_NARDY_MASK)
  71949. /*! @} */
  71950. /*! @name STS2 - Status Register 2 */
  71951. /*! @{ */
  71952. #define SEMC_STS2_NDWRPEND_MASK (0x8U)
  71953. #define SEMC_STS2_NDWRPEND_SHIFT (3U)
  71954. /*! NDWRPEND - This field indicating whether there is pending AXI command (write) to NAND device.
  71955. * 0b0..No pending
  71956. * 0b1..Pending
  71957. */
  71958. #define SEMC_STS2_NDWRPEND(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS2_NDWRPEND_SHIFT)) & SEMC_STS2_NDWRPEND_MASK)
  71959. /*! @} */
  71960. /*! @name STS12 - Status Register 12 */
  71961. /*! @{ */
  71962. #define SEMC_STS12_NDADDR_MASK (0xFFFFFFFFU)
  71963. #define SEMC_STS12_NDADDR_SHIFT (0U)
  71964. /*! NDADDR - This field indicating the last write address (AXI command) to NAND device (without base address in SEMC_BR4).
  71965. */
  71966. #define SEMC_STS12_NDADDR(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS12_NDADDR_SHIFT)) & SEMC_STS12_NDADDR_MASK)
  71967. /*! @} */
  71968. /*! @name STS13 - Status Register 13 */
  71969. /*! @{ */
  71970. #define SEMC_STS13_SLVLOCK_MASK (0x1U)
  71971. #define SEMC_STS13_SLVLOCK_SHIFT (0U)
  71972. /*! SLVLOCK - Sample clock slave delay line locked.
  71973. * 0b0..Slave delay line is not locked.
  71974. * 0b1..Slave delay line is locked.
  71975. */
  71976. #define SEMC_STS13_SLVLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVLOCK_SHIFT)) & SEMC_STS13_SLVLOCK_MASK)
  71977. #define SEMC_STS13_REFLOCK_MASK (0x2U)
  71978. #define SEMC_STS13_REFLOCK_SHIFT (1U)
  71979. /*! REFLOCK - Sample clock reference delay line locked.
  71980. * 0b0..Reference delay line is not locked.
  71981. * 0b1..Reference delay line is locked.
  71982. */
  71983. #define SEMC_STS13_REFLOCK(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFLOCK_SHIFT)) & SEMC_STS13_REFLOCK_MASK)
  71984. #define SEMC_STS13_SLVSEL_MASK (0xFCU)
  71985. #define SEMC_STS13_SLVSEL_SHIFT (2U)
  71986. /*! SLVSEL - Sample clock slave delay line delay cell number selection.
  71987. */
  71988. #define SEMC_STS13_SLVSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_SLVSEL_SHIFT)) & SEMC_STS13_SLVSEL_MASK)
  71989. #define SEMC_STS13_REFSEL_MASK (0x3F00U)
  71990. #define SEMC_STS13_REFSEL_SHIFT (8U)
  71991. /*! REFSEL - Sample clock reference delay line delay cell number selection.
  71992. */
  71993. #define SEMC_STS13_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_STS13_REFSEL_SHIFT)) & SEMC_STS13_REFSEL_MASK)
  71994. /*! @} */
  71995. /*! @name BR9 - Base Register 9 */
  71996. /*! @{ */
  71997. #define SEMC_BR9_VLD_MASK (0x1U)
  71998. #define SEMC_BR9_VLD_SHIFT (0U)
  71999. /*! VLD - Valid
  72000. * 0b0..The memory is invalid, can not be accessed.
  72001. * 0b1..The memory is valid, can be accessed.
  72002. */
  72003. #define SEMC_BR9_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_VLD_SHIFT)) & SEMC_BR9_VLD_MASK)
  72004. #define SEMC_BR9_MS_MASK (0x3EU)
  72005. #define SEMC_BR9_MS_SHIFT (1U)
  72006. /*! MS - Memory size
  72007. * 0b00000..4KB
  72008. * 0b00001..8KB
  72009. * 0b00010..16KB
  72010. * 0b00011..32KB
  72011. * 0b00100..64KB
  72012. * 0b00101..128KB
  72013. * 0b00110..256KB
  72014. * 0b00111..512KB
  72015. * 0b01000..1MB
  72016. * 0b01001..2MB
  72017. * 0b01010..4MB
  72018. * 0b01011..8MB
  72019. * 0b01100..16MB
  72020. * 0b01101..32MB
  72021. * 0b01110..64MB
  72022. * 0b01111..128MB
  72023. * 0b10000..256MB
  72024. * 0b10001..512MB
  72025. * 0b10010..1GB
  72026. * 0b10011..2GB
  72027. * 0b10100-0b11111..4GB
  72028. */
  72029. #define SEMC_BR9_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_MS_SHIFT)) & SEMC_BR9_MS_MASK)
  72030. #define SEMC_BR9_BA_MASK (0xFFFFF000U)
  72031. #define SEMC_BR9_BA_SHIFT (12U)
  72032. /*! BA - Base Address
  72033. */
  72034. #define SEMC_BR9_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR9_BA_SHIFT)) & SEMC_BR9_BA_MASK)
  72035. /*! @} */
  72036. /*! @name BR10 - Base Register 10 */
  72037. /*! @{ */
  72038. #define SEMC_BR10_VLD_MASK (0x1U)
  72039. #define SEMC_BR10_VLD_SHIFT (0U)
  72040. /*! VLD - Valid
  72041. * 0b0..The memory is invalid, can not be accessed.
  72042. * 0b1..The memory is valid, can be accessed.
  72043. */
  72044. #define SEMC_BR10_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_VLD_SHIFT)) & SEMC_BR10_VLD_MASK)
  72045. #define SEMC_BR10_MS_MASK (0x3EU)
  72046. #define SEMC_BR10_MS_SHIFT (1U)
  72047. /*! MS - Memory size
  72048. * 0b00000..4KB
  72049. * 0b00001..8KB
  72050. * 0b00010..16KB
  72051. * 0b00011..32KB
  72052. * 0b00100..64KB
  72053. * 0b00101..128KB
  72054. * 0b00110..256KB
  72055. * 0b00111..512KB
  72056. * 0b01000..1MB
  72057. * 0b01001..2MB
  72058. * 0b01010..4MB
  72059. * 0b01011..8MB
  72060. * 0b01100..16MB
  72061. * 0b01101..32MB
  72062. * 0b01110..64MB
  72063. * 0b01111..128MB
  72064. * 0b10000..256MB
  72065. * 0b10001..512MB
  72066. * 0b10010..1GB
  72067. * 0b10011..2GB
  72068. * 0b10100-0b11111..4GB
  72069. */
  72070. #define SEMC_BR10_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_MS_SHIFT)) & SEMC_BR10_MS_MASK)
  72071. #define SEMC_BR10_BA_MASK (0xFFFFF000U)
  72072. #define SEMC_BR10_BA_SHIFT (12U)
  72073. /*! BA - Base Address
  72074. */
  72075. #define SEMC_BR10_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR10_BA_SHIFT)) & SEMC_BR10_BA_MASK)
  72076. /*! @} */
  72077. /*! @name BR11 - Base Register 11 */
  72078. /*! @{ */
  72079. #define SEMC_BR11_VLD_MASK (0x1U)
  72080. #define SEMC_BR11_VLD_SHIFT (0U)
  72081. /*! VLD - Valid
  72082. * 0b0..The memory is invalid, can not be accessed.
  72083. * 0b1..The memory is valid, can be accessed.
  72084. */
  72085. #define SEMC_BR11_VLD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_VLD_SHIFT)) & SEMC_BR11_VLD_MASK)
  72086. #define SEMC_BR11_MS_MASK (0x3EU)
  72087. #define SEMC_BR11_MS_SHIFT (1U)
  72088. /*! MS - Memory size
  72089. * 0b00000..4KB
  72090. * 0b00001..8KB
  72091. * 0b00010..16KB
  72092. * 0b00011..32KB
  72093. * 0b00100..64KB
  72094. * 0b00101..128KB
  72095. * 0b00110..256KB
  72096. * 0b00111..512KB
  72097. * 0b01000..1MB
  72098. * 0b01001..2MB
  72099. * 0b01010..4MB
  72100. * 0b01011..8MB
  72101. * 0b01100..16MB
  72102. * 0b01101..32MB
  72103. * 0b01110..64MB
  72104. * 0b01111..128MB
  72105. * 0b10000..256MB
  72106. * 0b10001..512MB
  72107. * 0b10010..1GB
  72108. * 0b10011..2GB
  72109. * 0b10100-0b11111..4GB
  72110. */
  72111. #define SEMC_BR11_MS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_MS_SHIFT)) & SEMC_BR11_MS_MASK)
  72112. #define SEMC_BR11_BA_MASK (0xFFFFF000U)
  72113. #define SEMC_BR11_BA_SHIFT (12U)
  72114. /*! BA - Base Address
  72115. */
  72116. #define SEMC_BR11_BA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_BR11_BA_SHIFT)) & SEMC_BR11_BA_MASK)
  72117. /*! @} */
  72118. /*! @name SRAMCR4 - SRAM Control Register 4 */
  72119. /*! @{ */
  72120. #define SEMC_SRAMCR4_PS_MASK (0x1U)
  72121. #define SEMC_SRAMCR4_PS_SHIFT (0U)
  72122. /*! PS - Port Size
  72123. * 0b0..8bit
  72124. * 0b1..16bit
  72125. */
  72126. #define SEMC_SRAMCR4_PS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_PS_SHIFT)) & SEMC_SRAMCR4_PS_MASK)
  72127. #define SEMC_SRAMCR4_SYNCEN_MASK (0x2U)
  72128. #define SEMC_SRAMCR4_SYNCEN_SHIFT (1U)
  72129. /*! SYNCEN - Synchronous Mode Enable
  72130. * 0b0..Asynchronous mode is enabled.
  72131. * 0b1..Synchronous mode is enabled. Only fixed latency mode is supported.
  72132. */
  72133. #define SEMC_SRAMCR4_SYNCEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_SYNCEN_SHIFT)) & SEMC_SRAMCR4_SYNCEN_MASK)
  72134. #define SEMC_SRAMCR4_WAITEN_MASK (0x4U)
  72135. #define SEMC_SRAMCR4_WAITEN_SHIFT (2U)
  72136. /*! WAITEN - Wait Enable
  72137. * 0b0..The SEMC does not monitor wait pin.
  72138. * 0b1..The SEMC monitors wait pin. The SEMC does not transfer/receive data when wait pin is asserted.
  72139. */
  72140. #define SEMC_SRAMCR4_WAITEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_WAITEN_SHIFT)) & SEMC_SRAMCR4_WAITEN_MASK)
  72141. #define SEMC_SRAMCR4_WAITSP_MASK (0x8U)
  72142. #define SEMC_SRAMCR4_WAITSP_SHIFT (3U)
  72143. /*! WAITSP - Wait Sample
  72144. * 0b0..Wait pin is directly used by the SEMC.
  72145. * 0b1..Wait pin is sampled by internal clock before it is used.
  72146. */
  72147. #define SEMC_SRAMCR4_WAITSP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_WAITSP_SHIFT)) & SEMC_SRAMCR4_WAITSP_MASK)
  72148. #define SEMC_SRAMCR4_BL_MASK (0x70U)
  72149. #define SEMC_SRAMCR4_BL_SHIFT (4U)
  72150. /*! BL - Burst Length
  72151. * 0b000..1
  72152. * 0b001..2
  72153. * 0b010..4
  72154. * 0b011..8
  72155. * 0b100..16
  72156. * 0b101..32
  72157. * 0b110..64
  72158. * 0b111..64
  72159. */
  72160. #define SEMC_SRAMCR4_BL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_BL_SHIFT)) & SEMC_SRAMCR4_BL_MASK)
  72161. #define SEMC_SRAMCR4_AM_MASK (0x300U)
  72162. #define SEMC_SRAMCR4_AM_SHIFT (8U)
  72163. /*! AM - Address Mode
  72164. * 0b00..Address/Data MUX mode (ADMUX)
  72165. * 0b01..Advanced Address/Data MUX mode (AADM)
  72166. * 0b10..Address/Data non-MUX mode (Non-ADMUX)
  72167. * 0b11..Address/Data non-MUX mode (Non-ADMUX)
  72168. */
  72169. #define SEMC_SRAMCR4_AM(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_AM_SHIFT)) & SEMC_SRAMCR4_AM_MASK)
  72170. #define SEMC_SRAMCR4_ADVP_MASK (0x400U)
  72171. #define SEMC_SRAMCR4_ADVP_SHIFT (10U)
  72172. /*! ADVP - ADV# polarity
  72173. * 0b0..ADV# is active low.
  72174. * 0b1..ADV# is active high.
  72175. */
  72176. #define SEMC_SRAMCR4_ADVP(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_ADVP_SHIFT)) & SEMC_SRAMCR4_ADVP_MASK)
  72177. #define SEMC_SRAMCR4_ADVH_MASK (0x800U)
  72178. #define SEMC_SRAMCR4_ADVH_SHIFT (11U)
  72179. /*! ADVH - ADV# level control during address hold state
  72180. * 0b0..ADV# is high during address hold state.
  72181. * 0b1..ADV# is low during address hold state.
  72182. */
  72183. #define SEMC_SRAMCR4_ADVH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_ADVH_SHIFT)) & SEMC_SRAMCR4_ADVH_MASK)
  72184. #define SEMC_SRAMCR4_COL_MASK (0xF000U)
  72185. #define SEMC_SRAMCR4_COL_SHIFT (12U)
  72186. /*! COL - Column Address bit width
  72187. * 0b0000..12 Bits
  72188. * 0b0001..11 Bits
  72189. * 0b0010..10 Bits
  72190. * 0b0011..9 Bits
  72191. * 0b0100..8 Bits
  72192. * 0b0101..7 Bits
  72193. * 0b0110..6 Bits
  72194. * 0b0111..5 Bits
  72195. * 0b1000..4 Bits
  72196. * 0b1001..3 Bits
  72197. * 0b1010..2 Bits
  72198. * 0b1011..12 Bits
  72199. * 0b1100..12 Bits
  72200. * 0b1101..12 Bits
  72201. * 0b1110..12 Bits
  72202. * 0b1111..12 Bits
  72203. */
  72204. #define SEMC_SRAMCR4_COL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR4_COL_SHIFT)) & SEMC_SRAMCR4_COL_MASK)
  72205. /*! @} */
  72206. /*! @name SRAMCR5 - SRAM Control Register 5 */
  72207. /*! @{ */
  72208. #define SEMC_SRAMCR5_CES_MASK (0xFU)
  72209. #define SEMC_SRAMCR5_CES_SHIFT (0U)
  72210. /*! CES - CE setup time
  72211. */
  72212. #define SEMC_SRAMCR5_CES(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_CES_SHIFT)) & SEMC_SRAMCR5_CES_MASK)
  72213. #define SEMC_SRAMCR5_CEH_MASK (0xF0U)
  72214. #define SEMC_SRAMCR5_CEH_SHIFT (4U)
  72215. /*! CEH - CE hold time
  72216. */
  72217. #define SEMC_SRAMCR5_CEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_CEH_SHIFT)) & SEMC_SRAMCR5_CEH_MASK)
  72218. #define SEMC_SRAMCR5_AS_MASK (0xF00U)
  72219. #define SEMC_SRAMCR5_AS_SHIFT (8U)
  72220. /*! AS - Address setup time
  72221. */
  72222. #define SEMC_SRAMCR5_AS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_AS_SHIFT)) & SEMC_SRAMCR5_AS_MASK)
  72223. #define SEMC_SRAMCR5_AH_MASK (0xF000U)
  72224. #define SEMC_SRAMCR5_AH_SHIFT (12U)
  72225. /*! AH - Address hold time
  72226. */
  72227. #define SEMC_SRAMCR5_AH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_AH_SHIFT)) & SEMC_SRAMCR5_AH_MASK)
  72228. #define SEMC_SRAMCR5_WEL_MASK (0xF0000U)
  72229. #define SEMC_SRAMCR5_WEL_SHIFT (16U)
  72230. /*! WEL - WE low time
  72231. */
  72232. #define SEMC_SRAMCR5_WEL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_WEL_SHIFT)) & SEMC_SRAMCR5_WEL_MASK)
  72233. #define SEMC_SRAMCR5_WEH_MASK (0xF00000U)
  72234. #define SEMC_SRAMCR5_WEH_SHIFT (20U)
  72235. /*! WEH - WE high time
  72236. */
  72237. #define SEMC_SRAMCR5_WEH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_WEH_SHIFT)) & SEMC_SRAMCR5_WEH_MASK)
  72238. #define SEMC_SRAMCR5_REL_MASK (0xF000000U)
  72239. #define SEMC_SRAMCR5_REL_SHIFT (24U)
  72240. /*! REL - RE low time
  72241. */
  72242. #define SEMC_SRAMCR5_REL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_REL_SHIFT)) & SEMC_SRAMCR5_REL_MASK)
  72243. #define SEMC_SRAMCR5_REH_MASK (0xF0000000U)
  72244. #define SEMC_SRAMCR5_REH_SHIFT (28U)
  72245. /*! REH - RE high time
  72246. */
  72247. #define SEMC_SRAMCR5_REH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR5_REH_SHIFT)) & SEMC_SRAMCR5_REH_MASK)
  72248. /*! @} */
  72249. /*! @name SRAMCR6 - SRAM Control Register 6 */
  72250. /*! @{ */
  72251. #define SEMC_SRAMCR6_WDS_MASK (0xFU)
  72252. #define SEMC_SRAMCR6_WDS_SHIFT (0U)
  72253. /*! WDS - Write Data setup time
  72254. */
  72255. #define SEMC_SRAMCR6_WDS(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_WDS_SHIFT)) & SEMC_SRAMCR6_WDS_MASK)
  72256. #define SEMC_SRAMCR6_WDH_MASK (0xF0U)
  72257. #define SEMC_SRAMCR6_WDH_SHIFT (4U)
  72258. /*! WDH - Write Data hold time
  72259. */
  72260. #define SEMC_SRAMCR6_WDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_WDH_SHIFT)) & SEMC_SRAMCR6_WDH_MASK)
  72261. #define SEMC_SRAMCR6_TA_MASK (0xF00U)
  72262. #define SEMC_SRAMCR6_TA_SHIFT (8U)
  72263. /*! TA - Turnaround time
  72264. */
  72265. #define SEMC_SRAMCR6_TA(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_TA_SHIFT)) & SEMC_SRAMCR6_TA_MASK)
  72266. #define SEMC_SRAMCR6_AWDH_MASK (0xF000U)
  72267. #define SEMC_SRAMCR6_AWDH_SHIFT (12U)
  72268. /*! AWDH - Address to write data hold time
  72269. */
  72270. #define SEMC_SRAMCR6_AWDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_AWDH_SHIFT)) & SEMC_SRAMCR6_AWDH_MASK)
  72271. #define SEMC_SRAMCR6_LC_MASK (0xF0000U)
  72272. #define SEMC_SRAMCR6_LC_SHIFT (16U)
  72273. /*! LC - Latency count
  72274. */
  72275. #define SEMC_SRAMCR6_LC(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_LC_SHIFT)) & SEMC_SRAMCR6_LC_MASK)
  72276. #define SEMC_SRAMCR6_RD_MASK (0xF00000U)
  72277. #define SEMC_SRAMCR6_RD_SHIFT (20U)
  72278. /*! RD - Read time
  72279. */
  72280. #define SEMC_SRAMCR6_RD(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_RD_SHIFT)) & SEMC_SRAMCR6_RD_MASK)
  72281. #define SEMC_SRAMCR6_CEITV_MASK (0xF000000U)
  72282. #define SEMC_SRAMCR6_CEITV_SHIFT (24U)
  72283. /*! CEITV - CE# interval time
  72284. */
  72285. #define SEMC_SRAMCR6_CEITV(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_CEITV_SHIFT)) & SEMC_SRAMCR6_CEITV_MASK)
  72286. #define SEMC_SRAMCR6_RDH_MASK (0xF0000000U)
  72287. #define SEMC_SRAMCR6_RDH_SHIFT (28U)
  72288. /*! RDH - Read hold time
  72289. */
  72290. #define SEMC_SRAMCR6_RDH(x) (((uint32_t)(((uint32_t)(x)) << SEMC_SRAMCR6_RDH_SHIFT)) & SEMC_SRAMCR6_RDH_MASK)
  72291. /*! @} */
  72292. /*! @name DCCR - Delay Chain Control Register */
  72293. /*! @{ */
  72294. #define SEMC_DCCR_SDRAMEN_MASK (0x1U)
  72295. #define SEMC_DCCR_SDRAMEN_SHIFT (0U)
  72296. /*! SDRAMEN - Delay chain insertion enable for SRAM device.
  72297. * 0b0..Delay chain is not inserted.
  72298. * 0b1..Delay chain is inserted.
  72299. */
  72300. #define SEMC_DCCR_SDRAMEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SDRAMEN_SHIFT)) & SEMC_DCCR_SDRAMEN_MASK)
  72301. #define SEMC_DCCR_SDRAMVAL_MASK (0x3EU)
  72302. #define SEMC_DCCR_SDRAMVAL_SHIFT (1U)
  72303. /*! SDRAMVAL - Clock delay line delay cell number selection value for SDRAM device.
  72304. */
  72305. #define SEMC_DCCR_SDRAMVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SDRAMVAL_SHIFT)) & SEMC_DCCR_SDRAMVAL_MASK)
  72306. #define SEMC_DCCR_NOREN_MASK (0x100U)
  72307. #define SEMC_DCCR_NOREN_SHIFT (8U)
  72308. /*! NOREN - Delay chain insertion enable for NOR device.
  72309. * 0b0..Delay chain is not inserted.
  72310. * 0b1..Delay chain is inserted.
  72311. */
  72312. #define SEMC_DCCR_NOREN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_NOREN_SHIFT)) & SEMC_DCCR_NOREN_MASK)
  72313. #define SEMC_DCCR_NORVAL_MASK (0x3E00U)
  72314. #define SEMC_DCCR_NORVAL_SHIFT (9U)
  72315. /*! NORVAL - Clock delay line delay cell number selection value for NOR device.
  72316. */
  72317. #define SEMC_DCCR_NORVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_NORVAL_SHIFT)) & SEMC_DCCR_NORVAL_MASK)
  72318. #define SEMC_DCCR_SRAM0EN_MASK (0x10000U)
  72319. #define SEMC_DCCR_SRAM0EN_SHIFT (16U)
  72320. /*! SRAM0EN - Delay chain insertion enable for SRAM device 0.
  72321. * 0b0..Delay chain is not inserted.
  72322. * 0b1..Delay chain is inserted.
  72323. */
  72324. #define SEMC_DCCR_SRAM0EN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAM0EN_SHIFT)) & SEMC_DCCR_SRAM0EN_MASK)
  72325. #define SEMC_DCCR_SRAM0VAL_MASK (0x3E0000U)
  72326. #define SEMC_DCCR_SRAM0VAL_SHIFT (17U)
  72327. /*! SRAM0VAL - Clock delay line delay cell number selection value for SRAM device 0.
  72328. */
  72329. #define SEMC_DCCR_SRAM0VAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAM0VAL_SHIFT)) & SEMC_DCCR_SRAM0VAL_MASK)
  72330. #define SEMC_DCCR_SRAMXEN_MASK (0x1000000U)
  72331. #define SEMC_DCCR_SRAMXEN_SHIFT (24U)
  72332. /*! SRAMXEN - Delay chain insertion enable for SRAM device 1-3.
  72333. * 0b0..Delay chain is not inserted.
  72334. * 0b1..Delay chain is inserted.
  72335. */
  72336. #define SEMC_DCCR_SRAMXEN(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAMXEN_SHIFT)) & SEMC_DCCR_SRAMXEN_MASK)
  72337. #define SEMC_DCCR_SRAMXVAL_MASK (0x3E000000U)
  72338. #define SEMC_DCCR_SRAMXVAL_SHIFT (25U)
  72339. /*! SRAMXVAL - Clock delay line delay cell number selection value for SRAM device 1-3.
  72340. */
  72341. #define SEMC_DCCR_SRAMXVAL(x) (((uint32_t)(((uint32_t)(x)) << SEMC_DCCR_SRAMXVAL_SHIFT)) & SEMC_DCCR_SRAMXVAL_MASK)
  72342. /*! @} */
  72343. /*!
  72344. * @}
  72345. */ /* end of group SEMC_Register_Masks */
  72346. /* SEMC - Peripheral instance base addresses */
  72347. /** Peripheral SEMC base address */
  72348. #define SEMC_BASE (0x400D4000u)
  72349. /** Peripheral SEMC base pointer */
  72350. #define SEMC ((SEMC_Type *)SEMC_BASE)
  72351. /** Array initializer of SEMC peripheral base addresses */
  72352. #define SEMC_BASE_ADDRS { SEMC_BASE }
  72353. /** Array initializer of SEMC peripheral base pointers */
  72354. #define SEMC_BASE_PTRS { SEMC }
  72355. /** Interrupt vectors for the SEMC peripheral type */
  72356. #define SEMC_IRQS { SEMC_IRQn }
  72357. /*!
  72358. * @}
  72359. */ /* end of group SEMC_Peripheral_Access_Layer */
  72360. /* ----------------------------------------------------------------------------
  72361. -- SNVS Peripheral Access Layer
  72362. ---------------------------------------------------------------------------- */
  72363. /*!
  72364. * @addtogroup SNVS_Peripheral_Access_Layer SNVS Peripheral Access Layer
  72365. * @{
  72366. */
  72367. /** SNVS - Register Layout Typedef */
  72368. typedef struct {
  72369. __IO uint32_t HPLR; /**< SNVS_HP Lock Register, offset: 0x0 */
  72370. __IO uint32_t HPCOMR; /**< SNVS_HP Command Register, offset: 0x4 */
  72371. __IO uint32_t HPCR; /**< SNVS_HP Control Register, offset: 0x8 */
  72372. __IO uint32_t HPSICR; /**< SNVS_HP Security Interrupt Control Register, offset: 0xC */
  72373. __IO uint32_t HPSVCR; /**< SNVS_HP Security Violation Control Register, offset: 0x10 */
  72374. __IO uint32_t HPSR; /**< SNVS_HP Status Register, offset: 0x14 */
  72375. __IO uint32_t HPSVSR; /**< SNVS_HP Security Violation Status Register, offset: 0x18 */
  72376. __IO uint32_t HPHACIVR; /**< SNVS_HP High Assurance Counter IV Register, offset: 0x1C */
  72377. __I uint32_t HPHACR; /**< SNVS_HP High Assurance Counter Register, offset: 0x20 */
  72378. __IO uint32_t HPRTCMR; /**< SNVS_HP Real Time Counter MSB Register, offset: 0x24 */
  72379. __IO uint32_t HPRTCLR; /**< SNVS_HP Real Time Counter LSB Register, offset: 0x28 */
  72380. __IO uint32_t HPTAMR; /**< SNVS_HP Time Alarm MSB Register, offset: 0x2C */
  72381. __IO uint32_t HPTALR; /**< SNVS_HP Time Alarm LSB Register, offset: 0x30 */
  72382. __IO uint32_t LPLR; /**< SNVS_LP Lock Register, offset: 0x34 */
  72383. __IO uint32_t LPCR; /**< SNVS_LP Control Register, offset: 0x38 */
  72384. __IO uint32_t LPMKCR; /**< SNVS_LP Master Key Control Register, offset: 0x3C */
  72385. __IO uint32_t LPSVCR; /**< SNVS_LP Security Violation Control Register, offset: 0x40 */
  72386. __IO uint32_t LPTGFCR; /**< SNVS_LP Tamper Glitch Filters Configuration Register, offset: 0x44 */
  72387. __IO uint32_t LPTDCR; /**< SNVS_LP Tamper Detect Configuration Register, offset: 0x48 */
  72388. __IO uint32_t LPSR; /**< SNVS_LP Status Register, offset: 0x4C */
  72389. __IO uint32_t LPSRTCMR; /**< SNVS_LP Secure Real Time Counter MSB Register, offset: 0x50 */
  72390. __IO uint32_t LPSRTCLR; /**< SNVS_LP Secure Real Time Counter LSB Register, offset: 0x54 */
  72391. __IO uint32_t LPTAR; /**< SNVS_LP Time Alarm Register, offset: 0x58 */
  72392. __IO uint32_t LPSMCMR; /**< SNVS_LP Secure Monotonic Counter MSB Register, offset: 0x5C */
  72393. __IO uint32_t LPSMCLR; /**< SNVS_LP Secure Monotonic Counter LSB Register, offset: 0x60 */
  72394. __IO uint32_t LPLVDR; /**< SNVS_LP Digital Low-Voltage Detector Register, offset: 0x64 */
  72395. __IO uint32_t LPGPR0_LEGACY_ALIAS; /**< SNVS_LP General Purpose Register 0 (legacy alias), offset: 0x68 */
  72396. __IO uint32_t LPZMKR[8]; /**< SNVS_LP Zeroizable Master Key Register, array offset: 0x6C, array step: 0x4 */
  72397. uint8_t RESERVED_0[4];
  72398. __IO uint32_t LPGPR_ALIAS[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x90, array step: 0x4 */
  72399. __IO uint32_t LPTDC2R; /**< SNVS_LP Tamper Detectors Config 2 Register, offset: 0xA0 */
  72400. __IO uint32_t LPTDSR; /**< SNVS_LP Tamper Detectors Status Register, offset: 0xA4 */
  72401. __IO uint32_t LPTGF1CR; /**< SNVS_LP Tamper Glitch Filter 1 Configuration Register, offset: 0xA8 */
  72402. __IO uint32_t LPTGF2CR; /**< SNVS_LP Tamper Glitch Filter 2 Configuration Register, offset: 0xAC */
  72403. uint8_t RESERVED_1[16];
  72404. __O uint32_t LPATCR[5]; /**< SNVS_LP Active Tamper 1 Configuration Register..SNVS_LP Active Tamper 5 Configuration Register, array offset: 0xC0, array step: 0x4 */
  72405. uint8_t RESERVED_2[12];
  72406. __IO uint32_t LPATCTLR; /**< SNVS_LP Active Tamper Control Register, offset: 0xE0 */
  72407. __IO uint32_t LPATCLKR; /**< SNVS_LP Active Tamper Clock Control Register, offset: 0xE4 */
  72408. __IO uint32_t LPATRC1R; /**< SNVS_LP Active Tamper Routing Control 1 Register, offset: 0xE8 */
  72409. __IO uint32_t LPATRC2R; /**< SNVS_LP Active Tamper Routing Control 2 Register, offset: 0xEC */
  72410. uint8_t RESERVED_3[16];
  72411. __IO uint32_t LPGPR[4]; /**< SNVS_LP General Purpose Registers 0 .. 3, array offset: 0x100, array step: 0x4 */
  72412. uint8_t RESERVED_4[2792];
  72413. __I uint32_t HPVIDR1; /**< SNVS_HP Version ID Register 1, offset: 0xBF8 */
  72414. __I uint32_t HPVIDR2; /**< SNVS_HP Version ID Register 2, offset: 0xBFC */
  72415. } SNVS_Type;
  72416. /* ----------------------------------------------------------------------------
  72417. -- SNVS Register Masks
  72418. ---------------------------------------------------------------------------- */
  72419. /*!
  72420. * @addtogroup SNVS_Register_Masks SNVS Register Masks
  72421. * @{
  72422. */
  72423. /*! @name HPLR - SNVS_HP Lock Register */
  72424. /*! @{ */
  72425. #define SNVS_HPLR_ZMK_WSL_MASK (0x1U)
  72426. #define SNVS_HPLR_ZMK_WSL_SHIFT (0U)
  72427. /*! ZMK_WSL
  72428. * 0b0..Write access is allowed
  72429. * 0b1..Write access is not allowed
  72430. */
  72431. #define SNVS_HPLR_ZMK_WSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_WSL_SHIFT)) & SNVS_HPLR_ZMK_WSL_MASK)
  72432. #define SNVS_HPLR_ZMK_RSL_MASK (0x2U)
  72433. #define SNVS_HPLR_ZMK_RSL_SHIFT (1U)
  72434. /*! ZMK_RSL
  72435. * 0b0..Read access is allowed (only in software Programming mode)
  72436. * 0b1..Read access is not allowed
  72437. */
  72438. #define SNVS_HPLR_ZMK_RSL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_ZMK_RSL_SHIFT)) & SNVS_HPLR_ZMK_RSL_MASK)
  72439. #define SNVS_HPLR_SRTC_SL_MASK (0x4U)
  72440. #define SNVS_HPLR_SRTC_SL_SHIFT (2U)
  72441. /*! SRTC_SL
  72442. * 0b0..Write access is allowed
  72443. * 0b1..Write access is not allowed
  72444. */
  72445. #define SNVS_HPLR_SRTC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_SRTC_SL_SHIFT)) & SNVS_HPLR_SRTC_SL_MASK)
  72446. #define SNVS_HPLR_LPCALB_SL_MASK (0x8U)
  72447. #define SNVS_HPLR_LPCALB_SL_SHIFT (3U)
  72448. /*! LPCALB_SL
  72449. * 0b0..Write access is allowed
  72450. * 0b1..Write access is not allowed
  72451. */
  72452. #define SNVS_HPLR_LPCALB_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPCALB_SL_SHIFT)) & SNVS_HPLR_LPCALB_SL_MASK)
  72453. #define SNVS_HPLR_MC_SL_MASK (0x10U)
  72454. #define SNVS_HPLR_MC_SL_SHIFT (4U)
  72455. /*! MC_SL
  72456. * 0b0..Write access (increment) is allowed
  72457. * 0b1..Write access (increment) is not allowed
  72458. */
  72459. #define SNVS_HPLR_MC_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MC_SL_SHIFT)) & SNVS_HPLR_MC_SL_MASK)
  72460. #define SNVS_HPLR_GPR_SL_MASK (0x20U)
  72461. #define SNVS_HPLR_GPR_SL_SHIFT (5U)
  72462. /*! GPR_SL
  72463. * 0b0..Write access is allowed
  72464. * 0b1..Write access is not allowed
  72465. */
  72466. #define SNVS_HPLR_GPR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_GPR_SL_SHIFT)) & SNVS_HPLR_GPR_SL_MASK)
  72467. #define SNVS_HPLR_LPSVCR_SL_MASK (0x40U)
  72468. #define SNVS_HPLR_LPSVCR_SL_SHIFT (6U)
  72469. /*! LPSVCR_SL
  72470. * 0b0..Write access is allowed
  72471. * 0b1..Write access is not allowed
  72472. */
  72473. #define SNVS_HPLR_LPSVCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSVCR_SL_SHIFT)) & SNVS_HPLR_LPSVCR_SL_MASK)
  72474. #define SNVS_HPLR_LPTGFCR_SL_MASK (0x80U)
  72475. #define SNVS_HPLR_LPTGFCR_SL_SHIFT (7U)
  72476. /*! LPTGFCR_SL
  72477. * 0b0..Write access is allowed
  72478. * 0b1..Write access is not allowed
  72479. */
  72480. #define SNVS_HPLR_LPTGFCR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPTGFCR_SL_SHIFT)) & SNVS_HPLR_LPTGFCR_SL_MASK)
  72481. #define SNVS_HPLR_LPSECR_SL_MASK (0x100U)
  72482. #define SNVS_HPLR_LPSECR_SL_SHIFT (8U)
  72483. /*! LPSECR_SL
  72484. * 0b0..Write access is allowed
  72485. * 0b1..Write access is not allowed
  72486. */
  72487. #define SNVS_HPLR_LPSECR_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_LPSECR_SL_SHIFT)) & SNVS_HPLR_LPSECR_SL_MASK)
  72488. #define SNVS_HPLR_MKS_SL_MASK (0x200U)
  72489. #define SNVS_HPLR_MKS_SL_SHIFT (9U)
  72490. /*! MKS_SL
  72491. * 0b0..Write access is allowed
  72492. * 0b1..Write access is not allowed
  72493. */
  72494. #define SNVS_HPLR_MKS_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_MKS_SL_SHIFT)) & SNVS_HPLR_MKS_SL_MASK)
  72495. #define SNVS_HPLR_HPSVCR_L_MASK (0x10000U)
  72496. #define SNVS_HPLR_HPSVCR_L_SHIFT (16U)
  72497. /*! HPSVCR_L
  72498. * 0b0..Write access is allowed
  72499. * 0b1..Write access is not allowed
  72500. */
  72501. #define SNVS_HPLR_HPSVCR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSVCR_L_SHIFT)) & SNVS_HPLR_HPSVCR_L_MASK)
  72502. #define SNVS_HPLR_HPSICR_L_MASK (0x20000U)
  72503. #define SNVS_HPLR_HPSICR_L_SHIFT (17U)
  72504. /*! HPSICR_L
  72505. * 0b0..Write access is allowed
  72506. * 0b1..Write access is not allowed
  72507. */
  72508. #define SNVS_HPLR_HPSICR_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HPSICR_L_SHIFT)) & SNVS_HPLR_HPSICR_L_MASK)
  72509. #define SNVS_HPLR_HAC_L_MASK (0x40000U)
  72510. #define SNVS_HPLR_HAC_L_SHIFT (18U)
  72511. /*! HAC_L
  72512. * 0b0..Write access is allowed
  72513. * 0b1..Write access is not allowed
  72514. */
  72515. #define SNVS_HPLR_HAC_L(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_HAC_L_SHIFT)) & SNVS_HPLR_HAC_L_MASK)
  72516. #define SNVS_HPLR_AT1_SL_MASK (0x1000000U)
  72517. #define SNVS_HPLR_AT1_SL_SHIFT (24U)
  72518. /*! AT1_SL
  72519. * 0b0..Write access is allowed.
  72520. * 0b1..Write access is not allowed.
  72521. */
  72522. #define SNVS_HPLR_AT1_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT1_SL_SHIFT)) & SNVS_HPLR_AT1_SL_MASK)
  72523. #define SNVS_HPLR_AT2_SL_MASK (0x2000000U)
  72524. #define SNVS_HPLR_AT2_SL_SHIFT (25U)
  72525. /*! AT2_SL
  72526. * 0b0..Write access is allowed.
  72527. * 0b1..Write access is not allowed.
  72528. */
  72529. #define SNVS_HPLR_AT2_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT2_SL_SHIFT)) & SNVS_HPLR_AT2_SL_MASK)
  72530. #define SNVS_HPLR_AT3_SL_MASK (0x4000000U)
  72531. #define SNVS_HPLR_AT3_SL_SHIFT (26U)
  72532. /*! AT3_SL
  72533. * 0b0..Write access is allowed.
  72534. * 0b1..Write access is not allowed.
  72535. */
  72536. #define SNVS_HPLR_AT3_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT3_SL_SHIFT)) & SNVS_HPLR_AT3_SL_MASK)
  72537. #define SNVS_HPLR_AT4_SL_MASK (0x8000000U)
  72538. #define SNVS_HPLR_AT4_SL_SHIFT (27U)
  72539. /*! AT4_SL
  72540. * 0b0..Write access is allowed.
  72541. * 0b1..Write access is not allowed.
  72542. */
  72543. #define SNVS_HPLR_AT4_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT4_SL_SHIFT)) & SNVS_HPLR_AT4_SL_MASK)
  72544. #define SNVS_HPLR_AT5_SL_MASK (0x10000000U)
  72545. #define SNVS_HPLR_AT5_SL_SHIFT (28U)
  72546. /*! AT5_SL
  72547. * 0b0..Write access is allowed.
  72548. * 0b1..Write access is not allowed.
  72549. */
  72550. #define SNVS_HPLR_AT5_SL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPLR_AT5_SL_SHIFT)) & SNVS_HPLR_AT5_SL_MASK)
  72551. /*! @} */
  72552. /*! @name HPCOMR - SNVS_HP Command Register */
  72553. /*! @{ */
  72554. #define SNVS_HPCOMR_SSM_ST_MASK (0x1U)
  72555. #define SNVS_HPCOMR_SSM_ST_SHIFT (0U)
  72556. #define SNVS_HPCOMR_SSM_ST(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_SHIFT)) & SNVS_HPCOMR_SSM_ST_MASK)
  72557. #define SNVS_HPCOMR_SSM_ST_DIS_MASK (0x2U)
  72558. #define SNVS_HPCOMR_SSM_ST_DIS_SHIFT (1U)
  72559. /*! SSM_ST_DIS
  72560. * 0b0..Secure to Trusted State transition is enabled
  72561. * 0b1..Secure to Trusted State transition is disabled
  72562. */
  72563. #define SNVS_HPCOMR_SSM_ST_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_ST_DIS_SHIFT)) & SNVS_HPCOMR_SSM_ST_DIS_MASK)
  72564. #define SNVS_HPCOMR_SSM_SFNS_DIS_MASK (0x4U)
  72565. #define SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT (2U)
  72566. /*! SSM_SFNS_DIS
  72567. * 0b0..Soft Fail to Non-Secure State transition is enabled
  72568. * 0b1..Soft Fail to Non-Secure State transition is disabled
  72569. */
  72570. #define SNVS_HPCOMR_SSM_SFNS_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SSM_SFNS_DIS_SHIFT)) & SNVS_HPCOMR_SSM_SFNS_DIS_MASK)
  72571. #define SNVS_HPCOMR_LP_SWR_MASK (0x10U)
  72572. #define SNVS_HPCOMR_LP_SWR_SHIFT (4U)
  72573. /*! LP_SWR
  72574. * 0b0..No Action
  72575. * 0b1..Reset LP section
  72576. */
  72577. #define SNVS_HPCOMR_LP_SWR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_SHIFT)) & SNVS_HPCOMR_LP_SWR_MASK)
  72578. #define SNVS_HPCOMR_LP_SWR_DIS_MASK (0x20U)
  72579. #define SNVS_HPCOMR_LP_SWR_DIS_SHIFT (5U)
  72580. /*! LP_SWR_DIS
  72581. * 0b0..LP software reset is enabled
  72582. * 0b1..LP software reset is disabled
  72583. */
  72584. #define SNVS_HPCOMR_LP_SWR_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_LP_SWR_DIS_SHIFT)) & SNVS_HPCOMR_LP_SWR_DIS_MASK)
  72585. #define SNVS_HPCOMR_SW_SV_MASK (0x100U)
  72586. #define SNVS_HPCOMR_SW_SV_SHIFT (8U)
  72587. #define SNVS_HPCOMR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_SV_SHIFT)) & SNVS_HPCOMR_SW_SV_MASK)
  72588. #define SNVS_HPCOMR_SW_FSV_MASK (0x200U)
  72589. #define SNVS_HPCOMR_SW_FSV_SHIFT (9U)
  72590. #define SNVS_HPCOMR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_FSV_SHIFT)) & SNVS_HPCOMR_SW_FSV_MASK)
  72591. #define SNVS_HPCOMR_SW_LPSV_MASK (0x400U)
  72592. #define SNVS_HPCOMR_SW_LPSV_SHIFT (10U)
  72593. #define SNVS_HPCOMR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_SW_LPSV_SHIFT)) & SNVS_HPCOMR_SW_LPSV_MASK)
  72594. #define SNVS_HPCOMR_PROG_ZMK_MASK (0x1000U)
  72595. #define SNVS_HPCOMR_PROG_ZMK_SHIFT (12U)
  72596. /*! PROG_ZMK
  72597. * 0b0..No Action
  72598. * 0b1..Activate hardware key programming mechanism
  72599. */
  72600. #define SNVS_HPCOMR_PROG_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_PROG_ZMK_SHIFT)) & SNVS_HPCOMR_PROG_ZMK_MASK)
  72601. #define SNVS_HPCOMR_MKS_EN_MASK (0x2000U)
  72602. #define SNVS_HPCOMR_MKS_EN_SHIFT (13U)
  72603. /*! MKS_EN
  72604. * 0b0..OTP master key is selected as an SNVS master key
  72605. * 0b1..SNVS master key is selected according to the setting of the MASTER_KEY_SEL field of LPMKCR
  72606. */
  72607. #define SNVS_HPCOMR_MKS_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_MKS_EN_SHIFT)) & SNVS_HPCOMR_MKS_EN_MASK)
  72608. #define SNVS_HPCOMR_HAC_EN_MASK (0x10000U)
  72609. #define SNVS_HPCOMR_HAC_EN_SHIFT (16U)
  72610. /*! HAC_EN
  72611. * 0b0..High Assurance Counter is disabled
  72612. * 0b1..High Assurance Counter is enabled
  72613. */
  72614. #define SNVS_HPCOMR_HAC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_EN_SHIFT)) & SNVS_HPCOMR_HAC_EN_MASK)
  72615. #define SNVS_HPCOMR_HAC_LOAD_MASK (0x20000U)
  72616. #define SNVS_HPCOMR_HAC_LOAD_SHIFT (17U)
  72617. /*! HAC_LOAD
  72618. * 0b0..No Action
  72619. * 0b1..Load the HAC
  72620. */
  72621. #define SNVS_HPCOMR_HAC_LOAD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_LOAD_SHIFT)) & SNVS_HPCOMR_HAC_LOAD_MASK)
  72622. #define SNVS_HPCOMR_HAC_CLEAR_MASK (0x40000U)
  72623. #define SNVS_HPCOMR_HAC_CLEAR_SHIFT (18U)
  72624. /*! HAC_CLEAR
  72625. * 0b0..No Action
  72626. * 0b1..Clear the HAC
  72627. */
  72628. #define SNVS_HPCOMR_HAC_CLEAR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_CLEAR_SHIFT)) & SNVS_HPCOMR_HAC_CLEAR_MASK)
  72629. #define SNVS_HPCOMR_HAC_STOP_MASK (0x80000U)
  72630. #define SNVS_HPCOMR_HAC_STOP_SHIFT (19U)
  72631. #define SNVS_HPCOMR_HAC_STOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_HAC_STOP_SHIFT)) & SNVS_HPCOMR_HAC_STOP_MASK)
  72632. #define SNVS_HPCOMR_NPSWA_EN_MASK (0x80000000U)
  72633. #define SNVS_HPCOMR_NPSWA_EN_SHIFT (31U)
  72634. #define SNVS_HPCOMR_NPSWA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCOMR_NPSWA_EN_SHIFT)) & SNVS_HPCOMR_NPSWA_EN_MASK)
  72635. /*! @} */
  72636. /*! @name HPCR - SNVS_HP Control Register */
  72637. /*! @{ */
  72638. #define SNVS_HPCR_RTC_EN_MASK (0x1U)
  72639. #define SNVS_HPCR_RTC_EN_SHIFT (0U)
  72640. /*! RTC_EN
  72641. * 0b0..RTC is disabled
  72642. * 0b1..RTC is enabled
  72643. */
  72644. #define SNVS_HPCR_RTC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_RTC_EN_SHIFT)) & SNVS_HPCR_RTC_EN_MASK)
  72645. #define SNVS_HPCR_HPTA_EN_MASK (0x2U)
  72646. #define SNVS_HPCR_HPTA_EN_SHIFT (1U)
  72647. /*! HPTA_EN
  72648. * 0b0..HP Time Alarm Interrupt is disabled
  72649. * 0b1..HP Time Alarm Interrupt is enabled
  72650. */
  72651. #define SNVS_HPCR_HPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPTA_EN_SHIFT)) & SNVS_HPCR_HPTA_EN_MASK)
  72652. #define SNVS_HPCR_DIS_PI_MASK (0x4U)
  72653. #define SNVS_HPCR_DIS_PI_SHIFT (2U)
  72654. /*! DIS_PI
  72655. * 0b0..Periodic interrupt will trigger a functional interrupt
  72656. * 0b1..Disable periodic interrupt in the function interrupt
  72657. */
  72658. #define SNVS_HPCR_DIS_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_DIS_PI_SHIFT)) & SNVS_HPCR_DIS_PI_MASK)
  72659. #define SNVS_HPCR_PI_EN_MASK (0x8U)
  72660. #define SNVS_HPCR_PI_EN_SHIFT (3U)
  72661. /*! PI_EN
  72662. * 0b0..HP Periodic Interrupt is disabled
  72663. * 0b1..HP Periodic Interrupt is enabled
  72664. */
  72665. #define SNVS_HPCR_PI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_EN_SHIFT)) & SNVS_HPCR_PI_EN_MASK)
  72666. #define SNVS_HPCR_PI_FREQ_MASK (0xF0U)
  72667. #define SNVS_HPCR_PI_FREQ_SHIFT (4U)
  72668. /*! PI_FREQ
  72669. * 0b0000..- bit 0 of the HPRTCLR is selected as a source of the periodic interrupt
  72670. * 0b0001..- bit 1 of the HPRTCLR is selected as a source of the periodic interrupt
  72671. * 0b0010..- bit 2 of the HPRTCLR is selected as a source of the periodic interrupt
  72672. * 0b0011..- bit 3 of the HPRTCLR is selected as a source of the periodic interrupt
  72673. * 0b0100..- bit 4 of the HPRTCLR is selected as a source of the periodic interrupt
  72674. * 0b0101..- bit 5 of the HPRTCLR is selected as a source of the periodic interrupt
  72675. * 0b0110..- bit 6 of the HPRTCLR is selected as a source of the periodic interrupt
  72676. * 0b0111..- bit 7 of the HPRTCLR is selected as a source of the periodic interrupt
  72677. * 0b1000..- bit 8 of the HPRTCLR is selected as a source of the periodic interrupt
  72678. * 0b1001..- bit 9 of the HPRTCLR is selected as a source of the periodic interrupt
  72679. * 0b1010..- bit 10 of the HPRTCLR is selected as a source of the periodic interrupt
  72680. * 0b1011..- bit 11 of the HPRTCLR is selected as a source of the periodic interrupt
  72681. * 0b1100..- bit 12 of the HPRTCLR is selected as a source of the periodic interrupt
  72682. * 0b1101..- bit 13 of the HPRTCLR is selected as a source of the periodic interrupt
  72683. * 0b1110..- bit 14 of the HPRTCLR is selected as a source of the periodic interrupt
  72684. * 0b1111..- bit 15 of the HPRTCLR is selected as a source of the periodic interrupt
  72685. */
  72686. #define SNVS_HPCR_PI_FREQ(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_PI_FREQ_SHIFT)) & SNVS_HPCR_PI_FREQ_MASK)
  72687. #define SNVS_HPCR_HPCALB_EN_MASK (0x100U)
  72688. #define SNVS_HPCR_HPCALB_EN_SHIFT (8U)
  72689. /*! HPCALB_EN
  72690. * 0b0..HP Timer calibration disabled
  72691. * 0b1..HP Timer calibration enabled
  72692. */
  72693. #define SNVS_HPCR_HPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_EN_SHIFT)) & SNVS_HPCR_HPCALB_EN_MASK)
  72694. #define SNVS_HPCR_HPCALB_VAL_MASK (0x7C00U)
  72695. #define SNVS_HPCR_HPCALB_VAL_SHIFT (10U)
  72696. /*! HPCALB_VAL
  72697. * 0b00000..+0 counts per each 32768 ticks of the counter
  72698. * 0b00001..+1 counts per each 32768 ticks of the counter
  72699. * 0b00010..+2 counts per each 32768 ticks of the counter
  72700. * 0b01111..+15 counts per each 32768 ticks of the counter
  72701. * 0b10000..-16 counts per each 32768 ticks of the counter
  72702. * 0b10001..-15 counts per each 32768 ticks of the counter
  72703. * 0b11110..-2 counts per each 32768 ticks of the counter
  72704. * 0b11111..-1 counts per each 32768 ticks of the counter
  72705. */
  72706. #define SNVS_HPCR_HPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HPCALB_VAL_SHIFT)) & SNVS_HPCR_HPCALB_VAL_MASK)
  72707. #define SNVS_HPCR_HP_TS_MASK (0x10000U)
  72708. #define SNVS_HPCR_HP_TS_SHIFT (16U)
  72709. /*! HP_TS
  72710. * 0b0..No Action
  72711. * 0b1..Synchronize the HP Time Counter to the LP Time Counter
  72712. */
  72713. #define SNVS_HPCR_HP_TS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_HP_TS_SHIFT)) & SNVS_HPCR_HP_TS_MASK)
  72714. #define SNVS_HPCR_BTN_CONFIG_MASK (0x7000000U)
  72715. #define SNVS_HPCR_BTN_CONFIG_SHIFT (24U)
  72716. #define SNVS_HPCR_BTN_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_CONFIG_SHIFT)) & SNVS_HPCR_BTN_CONFIG_MASK)
  72717. #define SNVS_HPCR_BTN_MASK_MASK (0x8000000U)
  72718. #define SNVS_HPCR_BTN_MASK_SHIFT (27U)
  72719. #define SNVS_HPCR_BTN_MASK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPCR_BTN_MASK_SHIFT)) & SNVS_HPCR_BTN_MASK_MASK)
  72720. /*! @} */
  72721. /*! @name HPSICR - SNVS_HP Security Interrupt Control Register */
  72722. /*! @{ */
  72723. #define SNVS_HPSICR_CAAM_EN_MASK (0x1U)
  72724. #define SNVS_HPSICR_CAAM_EN_SHIFT (0U)
  72725. /*! CAAM_EN
  72726. * 0b0..CAAM Security Violation Interrupt is Disabled
  72727. * 0b1..CAAM Security Violation Interrupt is Enabled
  72728. */
  72729. #define SNVS_HPSICR_CAAM_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_CAAM_EN_SHIFT)) & SNVS_HPSICR_CAAM_EN_MASK)
  72730. #define SNVS_HPSICR_JTAGC_EN_MASK (0x2U)
  72731. #define SNVS_HPSICR_JTAGC_EN_SHIFT (1U)
  72732. /*! JTAGC_EN
  72733. * 0b0..JTAG Active Interrupt is Disabled
  72734. * 0b1..JTAG Active Interrupt is Enabled
  72735. */
  72736. #define SNVS_HPSICR_JTAGC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_JTAGC_EN_SHIFT)) & SNVS_HPSICR_JTAGC_EN_MASK)
  72737. #define SNVS_HPSICR_WDOG2_EN_MASK (0x4U)
  72738. #define SNVS_HPSICR_WDOG2_EN_SHIFT (2U)
  72739. /*! WDOG2_EN
  72740. * 0b0..Watchdog 2 Reset Interrupt is Disabled
  72741. * 0b1..Watchdog 2 Reset Interrupt is Enabled
  72742. */
  72743. #define SNVS_HPSICR_WDOG2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_WDOG2_EN_SHIFT)) & SNVS_HPSICR_WDOG2_EN_MASK)
  72744. #define SNVS_HPSICR_SRC_EN_MASK (0x10U)
  72745. #define SNVS_HPSICR_SRC_EN_SHIFT (4U)
  72746. /*! SRC_EN
  72747. * 0b0..Internal Boot Interrupt is Disabled
  72748. * 0b1..Internal Boot Interrupt is Enabled
  72749. */
  72750. #define SNVS_HPSICR_SRC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_SRC_EN_SHIFT)) & SNVS_HPSICR_SRC_EN_MASK)
  72751. #define SNVS_HPSICR_OCOTP_EN_MASK (0x20U)
  72752. #define SNVS_HPSICR_OCOTP_EN_SHIFT (5U)
  72753. /*! OCOTP_EN
  72754. * 0b0..OCOTP attack error Interrupt is Disabled
  72755. * 0b1..OCOTP attack error Interrupt is Enabled
  72756. */
  72757. #define SNVS_HPSICR_OCOTP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_OCOTP_EN_SHIFT)) & SNVS_HPSICR_OCOTP_EN_MASK)
  72758. #define SNVS_HPSICR_LPSVI_EN_MASK (0x80000000U)
  72759. #define SNVS_HPSICR_LPSVI_EN_SHIFT (31U)
  72760. /*! LPSVI_EN
  72761. * 0b0..LP Security Violation Interrupt is Disabled
  72762. * 0b1..LP Security Violation Interrupt is Enabled
  72763. */
  72764. #define SNVS_HPSICR_LPSVI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSICR_LPSVI_EN_SHIFT)) & SNVS_HPSICR_LPSVI_EN_MASK)
  72765. /*! @} */
  72766. /*! @name HPSVCR - SNVS_HP Security Violation Control Register */
  72767. /*! @{ */
  72768. #define SNVS_HPSVCR_CAAM_CFG_MASK (0x1U)
  72769. #define SNVS_HPSVCR_CAAM_CFG_SHIFT (0U)
  72770. /*! CAAM_CFG
  72771. * 0b0..CAAM Security Violation is a non-fatal violation
  72772. * 0b1..CAAM Security Violation is a fatal violation
  72773. */
  72774. #define SNVS_HPSVCR_CAAM_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_CAAM_CFG_SHIFT)) & SNVS_HPSVCR_CAAM_CFG_MASK)
  72775. #define SNVS_HPSVCR_JTAGC_CFG_MASK (0x2U)
  72776. #define SNVS_HPSVCR_JTAGC_CFG_SHIFT (1U)
  72777. /*! JTAGC_CFG
  72778. * 0b0..JTAG Active is a non-fatal violation
  72779. * 0b1..JTAG Active is a fatal violation
  72780. */
  72781. #define SNVS_HPSVCR_JTAGC_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_JTAGC_CFG_SHIFT)) & SNVS_HPSVCR_JTAGC_CFG_MASK)
  72782. #define SNVS_HPSVCR_WDOG2_CFG_MASK (0x4U)
  72783. #define SNVS_HPSVCR_WDOG2_CFG_SHIFT (2U)
  72784. /*! WDOG2_CFG
  72785. * 0b0..Watchdog 2 Reset is a non-fatal violation
  72786. * 0b1..Watchdog 2 Reset is a fatal violation
  72787. */
  72788. #define SNVS_HPSVCR_WDOG2_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_WDOG2_CFG_SHIFT)) & SNVS_HPSVCR_WDOG2_CFG_MASK)
  72789. #define SNVS_HPSVCR_SRC_CFG_MASK (0x10U)
  72790. #define SNVS_HPSVCR_SRC_CFG_SHIFT (4U)
  72791. /*! SRC_CFG
  72792. * 0b0..Internal Boot is a non-fatal violation
  72793. * 0b1..Internal Boot is a fatal violation
  72794. */
  72795. #define SNVS_HPSVCR_SRC_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_SRC_CFG_SHIFT)) & SNVS_HPSVCR_SRC_CFG_MASK)
  72796. #define SNVS_HPSVCR_OCOTP_CFG_MASK (0x60U)
  72797. #define SNVS_HPSVCR_OCOTP_CFG_SHIFT (5U)
  72798. /*! OCOTP_CFG
  72799. * 0b00..OCOTP attack error is disabled
  72800. * 0b01..OCOTP attack error is a non-fatal violation
  72801. * 0b1x..OCOTP attack error is a fatal violation
  72802. */
  72803. #define SNVS_HPSVCR_OCOTP_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_OCOTP_CFG_SHIFT)) & SNVS_HPSVCR_OCOTP_CFG_MASK)
  72804. #define SNVS_HPSVCR_LPSV_CFG_MASK (0xC0000000U)
  72805. #define SNVS_HPSVCR_LPSV_CFG_SHIFT (30U)
  72806. /*! LPSV_CFG
  72807. * 0b00..LP security violation is disabled
  72808. * 0b01..LP security violation is a non-fatal violation
  72809. * 0b1x..LP security violation is a fatal violation
  72810. */
  72811. #define SNVS_HPSVCR_LPSV_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVCR_LPSV_CFG_SHIFT)) & SNVS_HPSVCR_LPSV_CFG_MASK)
  72812. /*! @} */
  72813. /*! @name HPSR - SNVS_HP Status Register */
  72814. /*! @{ */
  72815. #define SNVS_HPSR_HPTA_MASK (0x1U)
  72816. #define SNVS_HPSR_HPTA_SHIFT (0U)
  72817. /*! HPTA
  72818. * 0b0..No time alarm interrupt occurred.
  72819. * 0b1..A time alarm interrupt occurred.
  72820. */
  72821. #define SNVS_HPSR_HPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_HPTA_SHIFT)) & SNVS_HPSR_HPTA_MASK)
  72822. #define SNVS_HPSR_PI_MASK (0x2U)
  72823. #define SNVS_HPSR_PI_SHIFT (1U)
  72824. /*! PI
  72825. * 0b0..No periodic interrupt occurred.
  72826. * 0b1..A periodic interrupt occurred.
  72827. */
  72828. #define SNVS_HPSR_PI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_PI_SHIFT)) & SNVS_HPSR_PI_MASK)
  72829. #define SNVS_HPSR_LPDIS_MASK (0x10U)
  72830. #define SNVS_HPSR_LPDIS_SHIFT (4U)
  72831. #define SNVS_HPSR_LPDIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_LPDIS_SHIFT)) & SNVS_HPSR_LPDIS_MASK)
  72832. #define SNVS_HPSR_BTN_MASK (0x40U)
  72833. #define SNVS_HPSR_BTN_SHIFT (6U)
  72834. #define SNVS_HPSR_BTN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BTN_SHIFT)) & SNVS_HPSR_BTN_MASK)
  72835. #define SNVS_HPSR_BI_MASK (0x80U)
  72836. #define SNVS_HPSR_BI_SHIFT (7U)
  72837. #define SNVS_HPSR_BI(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_BI_SHIFT)) & SNVS_HPSR_BI_MASK)
  72838. #define SNVS_HPSR_SSM_STATE_MASK (0xF00U)
  72839. #define SNVS_HPSR_SSM_STATE_SHIFT (8U)
  72840. /*! SSM_STATE
  72841. * 0b0000..Init
  72842. * 0b0001..Hard Fail
  72843. * 0b0011..Soft Fail
  72844. * 0b1000..Init Intermediate (transition state between Init and Check - SSM stays in this state only one clock cycle)
  72845. * 0b1001..Check
  72846. * 0b1011..Non-Secure
  72847. * 0b1101..Trusted
  72848. * 0b1111..Secure
  72849. */
  72850. #define SNVS_HPSR_SSM_STATE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SSM_STATE_SHIFT)) & SNVS_HPSR_SSM_STATE_MASK)
  72851. #define SNVS_HPSR_SYS_SECURITY_CFG_MASK (0x7000U)
  72852. #define SNVS_HPSR_SYS_SECURITY_CFG_SHIFT (12U)
  72853. /*! SYS_SECURITY_CFG
  72854. * 0b000..Fab Configuration - the default configuration of newly fabricated chips
  72855. * 0b001..Open Configuration - the configuration after NXP-programmable fuses have been blown
  72856. * 0b011..Closed Configuration - the configuration after OEM-programmable fuses have been blown
  72857. * 0b111..Field Return Configuration - the configuration of chips that are returned to NXP for analysis
  72858. */
  72859. #define SNVS_HPSR_SYS_SECURITY_CFG(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURITY_CFG_SHIFT)) & SNVS_HPSR_SYS_SECURITY_CFG_MASK)
  72860. #define SNVS_HPSR_SYS_SECURE_BOOT_MASK (0x8000U)
  72861. #define SNVS_HPSR_SYS_SECURE_BOOT_SHIFT (15U)
  72862. #define SNVS_HPSR_SYS_SECURE_BOOT(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_SYS_SECURE_BOOT_SHIFT)) & SNVS_HPSR_SYS_SECURE_BOOT_MASK)
  72863. #define SNVS_HPSR_OTPMK_ZERO_MASK (0x8000000U)
  72864. #define SNVS_HPSR_OTPMK_ZERO_SHIFT (27U)
  72865. /*! OTPMK_ZERO
  72866. * 0b0..The OTPMK is not zero.
  72867. * 0b1..The OTPMK is zero.
  72868. */
  72869. #define SNVS_HPSR_OTPMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_OTPMK_ZERO_SHIFT)) & SNVS_HPSR_OTPMK_ZERO_MASK)
  72870. #define SNVS_HPSR_ZMK_ZERO_MASK (0x80000000U)
  72871. #define SNVS_HPSR_ZMK_ZERO_SHIFT (31U)
  72872. /*! ZMK_ZERO
  72873. * 0b0..The ZMK is not zero.
  72874. * 0b1..The ZMK is zero.
  72875. */
  72876. #define SNVS_HPSR_ZMK_ZERO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSR_ZMK_ZERO_SHIFT)) & SNVS_HPSR_ZMK_ZERO_MASK)
  72877. /*! @} */
  72878. /*! @name HPSVSR - SNVS_HP Security Violation Status Register */
  72879. /*! @{ */
  72880. #define SNVS_HPSVSR_CAAM_MASK (0x1U)
  72881. #define SNVS_HPSVSR_CAAM_SHIFT (0U)
  72882. /*! CAAM
  72883. * 0b0..No CAAM Security Violation security violation was detected.
  72884. * 0b1..CAAM Security Violation security violation was detected.
  72885. */
  72886. #define SNVS_HPSVSR_CAAM(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_CAAM_SHIFT)) & SNVS_HPSVSR_CAAM_MASK)
  72887. #define SNVS_HPSVSR_JTAGC_MASK (0x2U)
  72888. #define SNVS_HPSVSR_JTAGC_SHIFT (1U)
  72889. /*! JTAGC
  72890. * 0b0..No JTAG Active security violation was detected.
  72891. * 0b1..JTAG Active security violation was detected.
  72892. */
  72893. #define SNVS_HPSVSR_JTAGC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_JTAGC_SHIFT)) & SNVS_HPSVSR_JTAGC_MASK)
  72894. #define SNVS_HPSVSR_WDOG2_MASK (0x4U)
  72895. #define SNVS_HPSVSR_WDOG2_SHIFT (2U)
  72896. /*! WDOG2
  72897. * 0b0..No Watchdog 2 Reset security violation was detected.
  72898. * 0b1..Watchdog 2 Reset security violation was detected.
  72899. */
  72900. #define SNVS_HPSVSR_WDOG2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_WDOG2_SHIFT)) & SNVS_HPSVSR_WDOG2_MASK)
  72901. #define SNVS_HPSVSR_SRC_MASK (0x10U)
  72902. #define SNVS_HPSVSR_SRC_SHIFT (4U)
  72903. /*! SRC
  72904. * 0b0..No Internal Boot security violation was detected.
  72905. * 0b1..Internal Boot security violation was detected.
  72906. */
  72907. #define SNVS_HPSVSR_SRC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SRC_SHIFT)) & SNVS_HPSVSR_SRC_MASK)
  72908. #define SNVS_HPSVSR_OCOTP_MASK (0x20U)
  72909. #define SNVS_HPSVSR_OCOTP_SHIFT (5U)
  72910. /*! OCOTP
  72911. * 0b0..No OCOTP attack error security violation was detected.
  72912. * 0b1..OCOTP attack error security violation was detected.
  72913. */
  72914. #define SNVS_HPSVSR_OCOTP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_OCOTP_SHIFT)) & SNVS_HPSVSR_OCOTP_MASK)
  72915. #define SNVS_HPSVSR_SW_SV_MASK (0x2000U)
  72916. #define SNVS_HPSVSR_SW_SV_SHIFT (13U)
  72917. #define SNVS_HPSVSR_SW_SV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_SV_SHIFT)) & SNVS_HPSVSR_SW_SV_MASK)
  72918. #define SNVS_HPSVSR_SW_FSV_MASK (0x4000U)
  72919. #define SNVS_HPSVSR_SW_FSV_SHIFT (14U)
  72920. #define SNVS_HPSVSR_SW_FSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_FSV_SHIFT)) & SNVS_HPSVSR_SW_FSV_MASK)
  72921. #define SNVS_HPSVSR_SW_LPSV_MASK (0x8000U)
  72922. #define SNVS_HPSVSR_SW_LPSV_SHIFT (15U)
  72923. #define SNVS_HPSVSR_SW_LPSV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_SW_LPSV_SHIFT)) & SNVS_HPSVSR_SW_LPSV_MASK)
  72924. #define SNVS_HPSVSR_ZMK_SYNDROME_MASK (0x1FF0000U)
  72925. #define SNVS_HPSVSR_ZMK_SYNDROME_SHIFT (16U)
  72926. #define SNVS_HPSVSR_ZMK_SYNDROME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_SYNDROME_SHIFT)) & SNVS_HPSVSR_ZMK_SYNDROME_MASK)
  72927. #define SNVS_HPSVSR_ZMK_ECC_FAIL_MASK (0x8000000U)
  72928. #define SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT (27U)
  72929. /*! ZMK_ECC_FAIL
  72930. * 0b0..ZMK ECC Failure was not detected.
  72931. * 0b1..ZMK ECC Failure was detected.
  72932. */
  72933. #define SNVS_HPSVSR_ZMK_ECC_FAIL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_ZMK_ECC_FAIL_SHIFT)) & SNVS_HPSVSR_ZMK_ECC_FAIL_MASK)
  72934. #define SNVS_HPSVSR_LP_SEC_VIO_MASK (0x80000000U)
  72935. #define SNVS_HPSVSR_LP_SEC_VIO_SHIFT (31U)
  72936. #define SNVS_HPSVSR_LP_SEC_VIO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPSVSR_LP_SEC_VIO_SHIFT)) & SNVS_HPSVSR_LP_SEC_VIO_MASK)
  72937. /*! @} */
  72938. /*! @name HPHACIVR - SNVS_HP High Assurance Counter IV Register */
  72939. /*! @{ */
  72940. #define SNVS_HPHACIVR_HAC_COUNTER_IV_MASK (0xFFFFFFFFU)
  72941. #define SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT (0U)
  72942. #define SNVS_HPHACIVR_HAC_COUNTER_IV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACIVR_HAC_COUNTER_IV_SHIFT)) & SNVS_HPHACIVR_HAC_COUNTER_IV_MASK)
  72943. /*! @} */
  72944. /*! @name HPHACR - SNVS_HP High Assurance Counter Register */
  72945. /*! @{ */
  72946. #define SNVS_HPHACR_HAC_COUNTER_MASK (0xFFFFFFFFU)
  72947. #define SNVS_HPHACR_HAC_COUNTER_SHIFT (0U)
  72948. #define SNVS_HPHACR_HAC_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPHACR_HAC_COUNTER_SHIFT)) & SNVS_HPHACR_HAC_COUNTER_MASK)
  72949. /*! @} */
  72950. /*! @name HPRTCMR - SNVS_HP Real Time Counter MSB Register */
  72951. /*! @{ */
  72952. #define SNVS_HPRTCMR_RTC_MASK (0x7FFFU)
  72953. #define SNVS_HPRTCMR_RTC_SHIFT (0U)
  72954. #define SNVS_HPRTCMR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCMR_RTC_SHIFT)) & SNVS_HPRTCMR_RTC_MASK)
  72955. /*! @} */
  72956. /*! @name HPRTCLR - SNVS_HP Real Time Counter LSB Register */
  72957. /*! @{ */
  72958. #define SNVS_HPRTCLR_RTC_MASK (0xFFFFFFFFU)
  72959. #define SNVS_HPRTCLR_RTC_SHIFT (0U)
  72960. #define SNVS_HPRTCLR_RTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPRTCLR_RTC_SHIFT)) & SNVS_HPRTCLR_RTC_MASK)
  72961. /*! @} */
  72962. /*! @name HPTAMR - SNVS_HP Time Alarm MSB Register */
  72963. /*! @{ */
  72964. #define SNVS_HPTAMR_HPTA_MS_MASK (0x7FFFU)
  72965. #define SNVS_HPTAMR_HPTA_MS_SHIFT (0U)
  72966. #define SNVS_HPTAMR_HPTA_MS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTAMR_HPTA_MS_SHIFT)) & SNVS_HPTAMR_HPTA_MS_MASK)
  72967. /*! @} */
  72968. /*! @name HPTALR - SNVS_HP Time Alarm LSB Register */
  72969. /*! @{ */
  72970. #define SNVS_HPTALR_HPTA_LS_MASK (0xFFFFFFFFU)
  72971. #define SNVS_HPTALR_HPTA_LS_SHIFT (0U)
  72972. #define SNVS_HPTALR_HPTA_LS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPTALR_HPTA_LS_SHIFT)) & SNVS_HPTALR_HPTA_LS_MASK)
  72973. /*! @} */
  72974. /*! @name LPLR - SNVS_LP Lock Register */
  72975. /*! @{ */
  72976. #define SNVS_LPLR_ZMK_WHL_MASK (0x1U)
  72977. #define SNVS_LPLR_ZMK_WHL_SHIFT (0U)
  72978. /*! ZMK_WHL
  72979. * 0b0..Write access is allowed.
  72980. * 0b1..Write access is not allowed.
  72981. */
  72982. #define SNVS_LPLR_ZMK_WHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_WHL_SHIFT)) & SNVS_LPLR_ZMK_WHL_MASK)
  72983. #define SNVS_LPLR_ZMK_RHL_MASK (0x2U)
  72984. #define SNVS_LPLR_ZMK_RHL_SHIFT (1U)
  72985. /*! ZMK_RHL
  72986. * 0b0..Read access is allowed (only in software programming mode).
  72987. * 0b1..Read access is not allowed.
  72988. */
  72989. #define SNVS_LPLR_ZMK_RHL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_ZMK_RHL_SHIFT)) & SNVS_LPLR_ZMK_RHL_MASK)
  72990. #define SNVS_LPLR_SRTC_HL_MASK (0x4U)
  72991. #define SNVS_LPLR_SRTC_HL_SHIFT (2U)
  72992. /*! SRTC_HL
  72993. * 0b0..Write access is allowed.
  72994. * 0b1..Write access is not allowed.
  72995. */
  72996. #define SNVS_LPLR_SRTC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_SRTC_HL_SHIFT)) & SNVS_LPLR_SRTC_HL_MASK)
  72997. #define SNVS_LPLR_LPCALB_HL_MASK (0x8U)
  72998. #define SNVS_LPLR_LPCALB_HL_SHIFT (3U)
  72999. /*! LPCALB_HL
  73000. * 0b0..Write access is allowed.
  73001. * 0b1..Write access is not allowed.
  73002. */
  73003. #define SNVS_LPLR_LPCALB_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPCALB_HL_SHIFT)) & SNVS_LPLR_LPCALB_HL_MASK)
  73004. #define SNVS_LPLR_MC_HL_MASK (0x10U)
  73005. #define SNVS_LPLR_MC_HL_SHIFT (4U)
  73006. /*! MC_HL
  73007. * 0b0..Write access (increment) is allowed.
  73008. * 0b1..Write access (increment) is not allowed.
  73009. */
  73010. #define SNVS_LPLR_MC_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MC_HL_SHIFT)) & SNVS_LPLR_MC_HL_MASK)
  73011. #define SNVS_LPLR_GPR_HL_MASK (0x20U)
  73012. #define SNVS_LPLR_GPR_HL_SHIFT (5U)
  73013. /*! GPR_HL
  73014. * 0b0..Write access is allowed.
  73015. * 0b1..Write access is not allowed.
  73016. */
  73017. #define SNVS_LPLR_GPR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_GPR_HL_SHIFT)) & SNVS_LPLR_GPR_HL_MASK)
  73018. #define SNVS_LPLR_LPSVCR_HL_MASK (0x40U)
  73019. #define SNVS_LPLR_LPSVCR_HL_SHIFT (6U)
  73020. /*! LPSVCR_HL
  73021. * 0b0..Write access is allowed.
  73022. * 0b1..Write access is not allowed.
  73023. */
  73024. #define SNVS_LPLR_LPSVCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSVCR_HL_SHIFT)) & SNVS_LPLR_LPSVCR_HL_MASK)
  73025. #define SNVS_LPLR_LPTGFCR_HL_MASK (0x80U)
  73026. #define SNVS_LPLR_LPTGFCR_HL_SHIFT (7U)
  73027. /*! LPTGFCR_HL
  73028. * 0b0..Write access is allowed.
  73029. * 0b1..Write access is not allowed.
  73030. */
  73031. #define SNVS_LPLR_LPTGFCR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPTGFCR_HL_SHIFT)) & SNVS_LPLR_LPTGFCR_HL_MASK)
  73032. #define SNVS_LPLR_LPSECR_HL_MASK (0x100U)
  73033. #define SNVS_LPLR_LPSECR_HL_SHIFT (8U)
  73034. /*! LPSECR_HL
  73035. * 0b0..Write access is allowed.
  73036. * 0b1..Write access is not allowed.
  73037. */
  73038. #define SNVS_LPLR_LPSECR_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_LPSECR_HL_SHIFT)) & SNVS_LPLR_LPSECR_HL_MASK)
  73039. #define SNVS_LPLR_MKS_HL_MASK (0x200U)
  73040. #define SNVS_LPLR_MKS_HL_SHIFT (9U)
  73041. /*! MKS_HL
  73042. * 0b0..Write access is allowed.
  73043. * 0b1..Write access is not allowed.
  73044. */
  73045. #define SNVS_LPLR_MKS_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_MKS_HL_SHIFT)) & SNVS_LPLR_MKS_HL_MASK)
  73046. #define SNVS_LPLR_AT1_HL_MASK (0x1000000U)
  73047. #define SNVS_LPLR_AT1_HL_SHIFT (24U)
  73048. /*! AT1_HL
  73049. * 0b0..Write access is allowed.
  73050. * 0b1..Write access is not allowed.
  73051. */
  73052. #define SNVS_LPLR_AT1_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT1_HL_SHIFT)) & SNVS_LPLR_AT1_HL_MASK)
  73053. #define SNVS_LPLR_AT2_HL_MASK (0x2000000U)
  73054. #define SNVS_LPLR_AT2_HL_SHIFT (25U)
  73055. /*! AT2_HL
  73056. * 0b0..Write access is allowed.
  73057. * 0b1..Write access is not allowed.
  73058. */
  73059. #define SNVS_LPLR_AT2_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT2_HL_SHIFT)) & SNVS_LPLR_AT2_HL_MASK)
  73060. #define SNVS_LPLR_AT3_HL_MASK (0x4000000U)
  73061. #define SNVS_LPLR_AT3_HL_SHIFT (26U)
  73062. /*! AT3_HL
  73063. * 0b0..Write access is allowed.
  73064. * 0b1..Write access is not allowed.
  73065. */
  73066. #define SNVS_LPLR_AT3_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT3_HL_SHIFT)) & SNVS_LPLR_AT3_HL_MASK)
  73067. #define SNVS_LPLR_AT4_HL_MASK (0x8000000U)
  73068. #define SNVS_LPLR_AT4_HL_SHIFT (27U)
  73069. /*! AT4_HL
  73070. * 0b0..Write access is allowed.
  73071. * 0b1..Write access is not allowed.
  73072. */
  73073. #define SNVS_LPLR_AT4_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT4_HL_SHIFT)) & SNVS_LPLR_AT4_HL_MASK)
  73074. #define SNVS_LPLR_AT5_HL_MASK (0x10000000U)
  73075. #define SNVS_LPLR_AT5_HL_SHIFT (28U)
  73076. /*! AT5_HL
  73077. * 0b0..Write access is allowed.
  73078. * 0b1..Write access is not allowed.
  73079. */
  73080. #define SNVS_LPLR_AT5_HL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLR_AT5_HL_SHIFT)) & SNVS_LPLR_AT5_HL_MASK)
  73081. /*! @} */
  73082. /*! @name LPCR - SNVS_LP Control Register */
  73083. /*! @{ */
  73084. #define SNVS_LPCR_SRTC_ENV_MASK (0x1U)
  73085. #define SNVS_LPCR_SRTC_ENV_SHIFT (0U)
  73086. /*! SRTC_ENV
  73087. * 0b0..SRTC is disabled or invalid.
  73088. * 0b1..SRTC is enabled and valid.
  73089. */
  73090. #define SNVS_LPCR_SRTC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_ENV_SHIFT)) & SNVS_LPCR_SRTC_ENV_MASK)
  73091. #define SNVS_LPCR_LPTA_EN_MASK (0x2U)
  73092. #define SNVS_LPCR_LPTA_EN_SHIFT (1U)
  73093. /*! LPTA_EN
  73094. * 0b0..LP time alarm interrupt is disabled.
  73095. * 0b1..LP time alarm interrupt is enabled.
  73096. */
  73097. #define SNVS_LPCR_LPTA_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPTA_EN_SHIFT)) & SNVS_LPCR_LPTA_EN_MASK)
  73098. #define SNVS_LPCR_MC_ENV_MASK (0x4U)
  73099. #define SNVS_LPCR_MC_ENV_SHIFT (2U)
  73100. /*! MC_ENV
  73101. * 0b0..MC is disabled or invalid.
  73102. * 0b1..MC is enabled and valid.
  73103. */
  73104. #define SNVS_LPCR_MC_ENV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_MC_ENV_SHIFT)) & SNVS_LPCR_MC_ENV_MASK)
  73105. #define SNVS_LPCR_LPWUI_EN_MASK (0x8U)
  73106. #define SNVS_LPCR_LPWUI_EN_SHIFT (3U)
  73107. #define SNVS_LPCR_LPWUI_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPWUI_EN_SHIFT)) & SNVS_LPCR_LPWUI_EN_MASK)
  73108. #define SNVS_LPCR_SRTC_INV_EN_MASK (0x10U)
  73109. #define SNVS_LPCR_SRTC_INV_EN_SHIFT (4U)
  73110. /*! SRTC_INV_EN
  73111. * 0b0..SRTC stays valid in the case of security violation (other than a software violation (HPSVSR[SW_LPSV] = 1 or HPCOMR[SW_LPSV] = 1)).
  73112. * 0b1..SRTC is invalidated in the case of security violation.
  73113. */
  73114. #define SNVS_LPCR_SRTC_INV_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_SRTC_INV_EN_SHIFT)) & SNVS_LPCR_SRTC_INV_EN_MASK)
  73115. #define SNVS_LPCR_DP_EN_MASK (0x20U)
  73116. #define SNVS_LPCR_DP_EN_SHIFT (5U)
  73117. /*! DP_EN
  73118. * 0b0..Smart PMIC enabled.
  73119. * 0b1..Dumb PMIC enabled.
  73120. */
  73121. #define SNVS_LPCR_DP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DP_EN_SHIFT)) & SNVS_LPCR_DP_EN_MASK)
  73122. #define SNVS_LPCR_TOP_MASK (0x40U)
  73123. #define SNVS_LPCR_TOP_SHIFT (6U)
  73124. /*! TOP
  73125. * 0b0..Leave system power on.
  73126. * 0b1..Turn off system power.
  73127. */
  73128. #define SNVS_LPCR_TOP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_TOP_SHIFT)) & SNVS_LPCR_TOP_MASK)
  73129. #define SNVS_LPCR_LVD_EN_MASK (0x80U)
  73130. #define SNVS_LPCR_LVD_EN_SHIFT (7U)
  73131. #define SNVS_LPCR_LVD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LVD_EN_SHIFT)) & SNVS_LPCR_LVD_EN_MASK)
  73132. #define SNVS_LPCR_LPCALB_EN_MASK (0x100U)
  73133. #define SNVS_LPCR_LPCALB_EN_SHIFT (8U)
  73134. /*! LPCALB_EN
  73135. * 0b0..SRTC Time calibration is disabled.
  73136. * 0b1..SRTC Time calibration is enabled.
  73137. */
  73138. #define SNVS_LPCR_LPCALB_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_EN_SHIFT)) & SNVS_LPCR_LPCALB_EN_MASK)
  73139. #define SNVS_LPCR_LPCALB_VAL_MASK (0x7C00U)
  73140. #define SNVS_LPCR_LPCALB_VAL_SHIFT (10U)
  73141. /*! LPCALB_VAL
  73142. * 0b00000..+0 counts per each 32768 ticks of the counter clock
  73143. * 0b00001..+1 counts per each 32768 ticks of the counter clock
  73144. * 0b00010..+2 counts per each 32768 ticks of the counter clock
  73145. * 0b01111..+15 counts per each 32768 ticks of the counter clock
  73146. * 0b10000..-16 counts per each 32768 ticks of the counter clock
  73147. * 0b10001..-15 counts per each 32768 ticks of the counter clock
  73148. * 0b11110..-2 counts per each 32768 ticks of the counter clock
  73149. * 0b11111..-1 counts per each 32768 ticks of the counter clock
  73150. */
  73151. #define SNVS_LPCR_LPCALB_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_LPCALB_VAL_SHIFT)) & SNVS_LPCR_LPCALB_VAL_MASK)
  73152. #define SNVS_LPCR_BTN_PRESS_TIME_MASK (0x30000U)
  73153. #define SNVS_LPCR_BTN_PRESS_TIME_SHIFT (16U)
  73154. #define SNVS_LPCR_BTN_PRESS_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_BTN_PRESS_TIME_SHIFT)) & SNVS_LPCR_BTN_PRESS_TIME_MASK)
  73155. #define SNVS_LPCR_DEBOUNCE_MASK (0xC0000U)
  73156. #define SNVS_LPCR_DEBOUNCE_SHIFT (18U)
  73157. #define SNVS_LPCR_DEBOUNCE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_DEBOUNCE_SHIFT)) & SNVS_LPCR_DEBOUNCE_MASK)
  73158. #define SNVS_LPCR_ON_TIME_MASK (0x300000U)
  73159. #define SNVS_LPCR_ON_TIME_SHIFT (20U)
  73160. #define SNVS_LPCR_ON_TIME(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_ON_TIME_SHIFT)) & SNVS_LPCR_ON_TIME_MASK)
  73161. #define SNVS_LPCR_PK_EN_MASK (0x400000U)
  73162. #define SNVS_LPCR_PK_EN_SHIFT (22U)
  73163. #define SNVS_LPCR_PK_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_EN_SHIFT)) & SNVS_LPCR_PK_EN_MASK)
  73164. #define SNVS_LPCR_PK_OVERRIDE_MASK (0x800000U)
  73165. #define SNVS_LPCR_PK_OVERRIDE_SHIFT (23U)
  73166. #define SNVS_LPCR_PK_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_PK_OVERRIDE_SHIFT)) & SNVS_LPCR_PK_OVERRIDE_MASK)
  73167. #define SNVS_LPCR_GPR_Z_DIS_MASK (0x1000000U)
  73168. #define SNVS_LPCR_GPR_Z_DIS_SHIFT (24U)
  73169. #define SNVS_LPCR_GPR_Z_DIS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPCR_GPR_Z_DIS_SHIFT)) & SNVS_LPCR_GPR_Z_DIS_MASK)
  73170. /*! @} */
  73171. /*! @name LPMKCR - SNVS_LP Master Key Control Register */
  73172. /*! @{ */
  73173. #define SNVS_LPMKCR_MASTER_KEY_SEL_MASK (0x3U)
  73174. #define SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT (0U)
  73175. /*! MASTER_KEY_SEL
  73176. * 0b0x..Select one time programmable master key.
  73177. * 0b10..Select zeroizable master key when MKS_EN bit is set .
  73178. * 0b11..Select combined master key when MKS_EN bit is set .
  73179. */
  73180. #define SNVS_LPMKCR_MASTER_KEY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_MASTER_KEY_SEL_SHIFT)) & SNVS_LPMKCR_MASTER_KEY_SEL_MASK)
  73181. #define SNVS_LPMKCR_ZMK_HWP_MASK (0x4U)
  73182. #define SNVS_LPMKCR_ZMK_HWP_SHIFT (2U)
  73183. /*! ZMK_HWP
  73184. * 0b0..ZMK is in the software programming mode.
  73185. * 0b1..ZMK is in the hardware programming mode.
  73186. */
  73187. #define SNVS_LPMKCR_ZMK_HWP(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_HWP_SHIFT)) & SNVS_LPMKCR_ZMK_HWP_MASK)
  73188. #define SNVS_LPMKCR_ZMK_VAL_MASK (0x8U)
  73189. #define SNVS_LPMKCR_ZMK_VAL_SHIFT (3U)
  73190. /*! ZMK_VAL
  73191. * 0b0..ZMK is not valid.
  73192. * 0b1..ZMK is valid.
  73193. */
  73194. #define SNVS_LPMKCR_ZMK_VAL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_VAL_SHIFT)) & SNVS_LPMKCR_ZMK_VAL_MASK)
  73195. #define SNVS_LPMKCR_ZMK_ECC_EN_MASK (0x10U)
  73196. #define SNVS_LPMKCR_ZMK_ECC_EN_SHIFT (4U)
  73197. /*! ZMK_ECC_EN
  73198. * 0b0..ZMK ECC check is disabled.
  73199. * 0b1..ZMK ECC check is enabled.
  73200. */
  73201. #define SNVS_LPMKCR_ZMK_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_EN_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_EN_MASK)
  73202. #define SNVS_LPMKCR_ZMK_ECC_VALUE_MASK (0xFF80U)
  73203. #define SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT (7U)
  73204. #define SNVS_LPMKCR_ZMK_ECC_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPMKCR_ZMK_ECC_VALUE_SHIFT)) & SNVS_LPMKCR_ZMK_ECC_VALUE_MASK)
  73205. /*! @} */
  73206. /*! @name LPSVCR - SNVS_LP Security Violation Control Register */
  73207. /*! @{ */
  73208. #define SNVS_LPSVCR_CAAM_EN_MASK (0x1U)
  73209. #define SNVS_LPSVCR_CAAM_EN_SHIFT (0U)
  73210. /*! CAAM_EN
  73211. * 0b0..CAAM Security Violation is disabled in the LP domain.
  73212. * 0b1..CAAM Security Violation is enabled in the LP domain.
  73213. */
  73214. #define SNVS_LPSVCR_CAAM_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_CAAM_EN_SHIFT)) & SNVS_LPSVCR_CAAM_EN_MASK)
  73215. #define SNVS_LPSVCR_JTAGC_EN_MASK (0x2U)
  73216. #define SNVS_LPSVCR_JTAGC_EN_SHIFT (1U)
  73217. /*! JTAGC_EN
  73218. * 0b0..JTAG Active is disabled in the LP domain.
  73219. * 0b1..JTAG Active is enabled in the LP domain.
  73220. */
  73221. #define SNVS_LPSVCR_JTAGC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_JTAGC_EN_SHIFT)) & SNVS_LPSVCR_JTAGC_EN_MASK)
  73222. #define SNVS_LPSVCR_WDOG2_EN_MASK (0x4U)
  73223. #define SNVS_LPSVCR_WDOG2_EN_SHIFT (2U)
  73224. /*! WDOG2_EN
  73225. * 0b0..Watchdog 2 Reset is disabled in the LP domain.
  73226. * 0b1..Watchdog 2 Reset is enabled in the LP domain.
  73227. */
  73228. #define SNVS_LPSVCR_WDOG2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_WDOG2_EN_SHIFT)) & SNVS_LPSVCR_WDOG2_EN_MASK)
  73229. #define SNVS_LPSVCR_SRC_EN_MASK (0x10U)
  73230. #define SNVS_LPSVCR_SRC_EN_SHIFT (4U)
  73231. /*! SRC_EN
  73232. * 0b0..Internal Boot is disabled in the LP domain.
  73233. * 0b1..Internal Boot is enabled in the LP domain.
  73234. */
  73235. #define SNVS_LPSVCR_SRC_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_SRC_EN_SHIFT)) & SNVS_LPSVCR_SRC_EN_MASK)
  73236. #define SNVS_LPSVCR_OCOTP_EN_MASK (0x20U)
  73237. #define SNVS_LPSVCR_OCOTP_EN_SHIFT (5U)
  73238. /*! OCOTP_EN
  73239. * 0b0..OCOTP attack error is disabled in the LP domain.
  73240. * 0b1..OCOTP attack error is enabled in the LP domain.
  73241. */
  73242. #define SNVS_LPSVCR_OCOTP_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSVCR_OCOTP_EN_SHIFT)) & SNVS_LPSVCR_OCOTP_EN_MASK)
  73243. /*! @} */
  73244. /*! @name LPTGFCR - SNVS_LP Tamper Glitch Filters Configuration Register */
  73245. /*! @{ */
  73246. #define SNVS_LPTGFCR_WMTGF_MASK (0x1FU)
  73247. #define SNVS_LPTGFCR_WMTGF_SHIFT (0U)
  73248. #define SNVS_LPTGFCR_WMTGF(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_WMTGF_SHIFT)) & SNVS_LPTGFCR_WMTGF_MASK)
  73249. #define SNVS_LPTGFCR_WMTGF_EN_MASK (0x80U)
  73250. #define SNVS_LPTGFCR_WMTGF_EN_SHIFT (7U)
  73251. /*! WMTGF_EN
  73252. * 0b0..Wire-mesh tamper glitch filter is bypassed.
  73253. * 0b1..Wire-mesh tamper glitch filter is enabled.
  73254. */
  73255. #define SNVS_LPTGFCR_WMTGF_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_WMTGF_EN_SHIFT)) & SNVS_LPTGFCR_WMTGF_EN_MASK)
  73256. #define SNVS_LPTGFCR_ETGF1_MASK (0x7F0000U)
  73257. #define SNVS_LPTGFCR_ETGF1_SHIFT (16U)
  73258. #define SNVS_LPTGFCR_ETGF1(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF1_SHIFT)) & SNVS_LPTGFCR_ETGF1_MASK)
  73259. #define SNVS_LPTGFCR_ETGF1_EN_MASK (0x800000U)
  73260. #define SNVS_LPTGFCR_ETGF1_EN_SHIFT (23U)
  73261. /*! ETGF1_EN
  73262. * 0b0..External tamper glitch filter 1 is bypassed.
  73263. * 0b1..External tamper glitch filter 1 is enabled.
  73264. */
  73265. #define SNVS_LPTGFCR_ETGF1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF1_EN_SHIFT)) & SNVS_LPTGFCR_ETGF1_EN_MASK)
  73266. #define SNVS_LPTGFCR_ETGF2_MASK (0x7F000000U)
  73267. #define SNVS_LPTGFCR_ETGF2_SHIFT (24U)
  73268. #define SNVS_LPTGFCR_ETGF2(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF2_SHIFT)) & SNVS_LPTGFCR_ETGF2_MASK)
  73269. #define SNVS_LPTGFCR_ETGF2_EN_MASK (0x80000000U)
  73270. #define SNVS_LPTGFCR_ETGF2_EN_SHIFT (31U)
  73271. /*! ETGF2_EN
  73272. * 0b0..External tamper glitch filter 2 is bypassed.
  73273. * 0b1..External tamper glitch filter 2 is enabled.
  73274. */
  73275. #define SNVS_LPTGFCR_ETGF2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGFCR_ETGF2_EN_SHIFT)) & SNVS_LPTGFCR_ETGF2_EN_MASK)
  73276. /*! @} */
  73277. /*! @name LPTDCR - SNVS_LP Tamper Detect Configuration Register */
  73278. /*! @{ */
  73279. #define SNVS_LPTDCR_SRTCR_EN_MASK (0x2U)
  73280. #define SNVS_LPTDCR_SRTCR_EN_SHIFT (1U)
  73281. /*! SRTCR_EN
  73282. * 0b0..SRTC rollover is disabled.
  73283. * 0b1..SRTC rollover is enabled.
  73284. */
  73285. #define SNVS_LPTDCR_SRTCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_SRTCR_EN_SHIFT)) & SNVS_LPTDCR_SRTCR_EN_MASK)
  73286. #define SNVS_LPTDCR_MCR_EN_MASK (0x4U)
  73287. #define SNVS_LPTDCR_MCR_EN_SHIFT (2U)
  73288. /*! MCR_EN
  73289. * 0b0..MC rollover is disabled.
  73290. * 0b1..MC rollover is enabled.
  73291. */
  73292. #define SNVS_LPTDCR_MCR_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_MCR_EN_SHIFT)) & SNVS_LPTDCR_MCR_EN_MASK)
  73293. #define SNVS_LPTDCR_CT_EN_MASK (0x10U)
  73294. #define SNVS_LPTDCR_CT_EN_SHIFT (4U)
  73295. /*! CT_EN
  73296. * 0b0..Clock tamper is disabled.
  73297. * 0b1..Clock tamper is enabled.
  73298. */
  73299. #define SNVS_LPTDCR_CT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_CT_EN_SHIFT)) & SNVS_LPTDCR_CT_EN_MASK)
  73300. #define SNVS_LPTDCR_TT_EN_MASK (0x20U)
  73301. #define SNVS_LPTDCR_TT_EN_SHIFT (5U)
  73302. /*! TT_EN
  73303. * 0b0..Temperature tamper is disabled.
  73304. * 0b1..Temperature tamper is enabled.
  73305. */
  73306. #define SNVS_LPTDCR_TT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_TT_EN_SHIFT)) & SNVS_LPTDCR_TT_EN_MASK)
  73307. #define SNVS_LPTDCR_VT_EN_MASK (0x40U)
  73308. #define SNVS_LPTDCR_VT_EN_SHIFT (6U)
  73309. /*! VT_EN
  73310. * 0b0..Voltage tamper is disabled.
  73311. * 0b1..Voltage tamper is enabled.
  73312. */
  73313. #define SNVS_LPTDCR_VT_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_VT_EN_SHIFT)) & SNVS_LPTDCR_VT_EN_MASK)
  73314. #define SNVS_LPTDCR_WMT1_EN_MASK (0x80U)
  73315. #define SNVS_LPTDCR_WMT1_EN_SHIFT (7U)
  73316. /*! WMT1_EN
  73317. * 0b0..Wire-mesh tamper 1 is disabled.
  73318. * 0b1..Wire-mesh tamper 1 is enabled.
  73319. */
  73320. #define SNVS_LPTDCR_WMT1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_WMT1_EN_SHIFT)) & SNVS_LPTDCR_WMT1_EN_MASK)
  73321. #define SNVS_LPTDCR_WMT2_EN_MASK (0x100U)
  73322. #define SNVS_LPTDCR_WMT2_EN_SHIFT (8U)
  73323. /*! WMT2_EN
  73324. * 0b0..Wire-mesh tamper 2 is disabled.
  73325. * 0b1..Wire-mesh tamper 2 is enabled.
  73326. */
  73327. #define SNVS_LPTDCR_WMT2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_WMT2_EN_SHIFT)) & SNVS_LPTDCR_WMT2_EN_MASK)
  73328. #define SNVS_LPTDCR_ET1_EN_MASK (0x200U)
  73329. #define SNVS_LPTDCR_ET1_EN_SHIFT (9U)
  73330. /*! ET1_EN
  73331. * 0b0..External tamper 1 is disabled.
  73332. * 0b1..External tamper 1 is enabled.
  73333. */
  73334. #define SNVS_LPTDCR_ET1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1_EN_SHIFT)) & SNVS_LPTDCR_ET1_EN_MASK)
  73335. #define SNVS_LPTDCR_ET2_EN_MASK (0x400U)
  73336. #define SNVS_LPTDCR_ET2_EN_SHIFT (10U)
  73337. /*! ET2_EN
  73338. * 0b0..External tamper 2 is disabled.
  73339. * 0b1..External tamper 2 is enabled.
  73340. */
  73341. #define SNVS_LPTDCR_ET2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET2_EN_SHIFT)) & SNVS_LPTDCR_ET2_EN_MASK)
  73342. #define SNVS_LPTDCR_ET1P_MASK (0x800U)
  73343. #define SNVS_LPTDCR_ET1P_SHIFT (11U)
  73344. /*! ET1P
  73345. * 0b0..External tamper 1 is active low.
  73346. * 0b1..External tamper 1 is active high.
  73347. */
  73348. #define SNVS_LPTDCR_ET1P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET1P_SHIFT)) & SNVS_LPTDCR_ET1P_MASK)
  73349. #define SNVS_LPTDCR_ET2P_MASK (0x1000U)
  73350. #define SNVS_LPTDCR_ET2P_SHIFT (12U)
  73351. /*! ET2P
  73352. * 0b0..External tamper 2 is active low.
  73353. * 0b1..External tamper 2 is active high.
  73354. */
  73355. #define SNVS_LPTDCR_ET2P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_ET2P_SHIFT)) & SNVS_LPTDCR_ET2P_MASK)
  73356. #define SNVS_LPTDCR_PFD_OBSERV_MASK (0x4000U)
  73357. #define SNVS_LPTDCR_PFD_OBSERV_SHIFT (14U)
  73358. #define SNVS_LPTDCR_PFD_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_PFD_OBSERV_SHIFT)) & SNVS_LPTDCR_PFD_OBSERV_MASK)
  73359. #define SNVS_LPTDCR_POR_OBSERV_MASK (0x8000U)
  73360. #define SNVS_LPTDCR_POR_OBSERV_SHIFT (15U)
  73361. #define SNVS_LPTDCR_POR_OBSERV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_POR_OBSERV_SHIFT)) & SNVS_LPTDCR_POR_OBSERV_MASK)
  73362. #define SNVS_LPTDCR_LTDC_MASK (0x70000U)
  73363. #define SNVS_LPTDCR_LTDC_SHIFT (16U)
  73364. #define SNVS_LPTDCR_LTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_LTDC_SHIFT)) & SNVS_LPTDCR_LTDC_MASK)
  73365. #define SNVS_LPTDCR_HTDC_MASK (0x700000U)
  73366. #define SNVS_LPTDCR_HTDC_SHIFT (20U)
  73367. #define SNVS_LPTDCR_HTDC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_HTDC_SHIFT)) & SNVS_LPTDCR_HTDC_MASK)
  73368. #define SNVS_LPTDCR_VRC_MASK (0x7000000U)
  73369. #define SNVS_LPTDCR_VRC_SHIFT (24U)
  73370. #define SNVS_LPTDCR_VRC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_VRC_SHIFT)) & SNVS_LPTDCR_VRC_MASK)
  73371. #define SNVS_LPTDCR_OSCB_MASK (0x10000000U)
  73372. #define SNVS_LPTDCR_OSCB_SHIFT (28U)
  73373. /*! OSCB
  73374. * 0b0..Normal SRTC clock oscillator not bypassed.
  73375. * 0b1..Normal SRTC clock oscillator bypassed. Alternate clock can drive the SRTC clock source.
  73376. */
  73377. #define SNVS_LPTDCR_OSCB(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDCR_OSCB_SHIFT)) & SNVS_LPTDCR_OSCB_MASK)
  73378. /*! @} */
  73379. /*! @name LPSR - SNVS_LP Status Register */
  73380. /*! @{ */
  73381. #define SNVS_LPSR_LPTA_MASK (0x1U)
  73382. #define SNVS_LPSR_LPTA_SHIFT (0U)
  73383. /*! LPTA
  73384. * 0b0..No time alarm interrupt occurred.
  73385. * 0b1..A time alarm interrupt occurred.
  73386. */
  73387. #define SNVS_LPSR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPTA_SHIFT)) & SNVS_LPSR_LPTA_MASK)
  73388. #define SNVS_LPSR_SRTCR_MASK (0x2U)
  73389. #define SNVS_LPSR_SRTCR_SHIFT (1U)
  73390. /*! SRTCR
  73391. * 0b0..SRTC has not reached its maximum value.
  73392. * 0b1..SRTC has reached its maximum value.
  73393. */
  73394. #define SNVS_LPSR_SRTCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SRTCR_SHIFT)) & SNVS_LPSR_SRTCR_MASK)
  73395. #define SNVS_LPSR_MCR_MASK (0x4U)
  73396. #define SNVS_LPSR_MCR_SHIFT (2U)
  73397. /*! MCR
  73398. * 0b0..MC has not reached its maximum value.
  73399. * 0b1..MC has reached its maximum value.
  73400. */
  73401. #define SNVS_LPSR_MCR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_MCR_SHIFT)) & SNVS_LPSR_MCR_MASK)
  73402. #define SNVS_LPSR_LVD_MASK (0x8U)
  73403. #define SNVS_LPSR_LVD_SHIFT (3U)
  73404. /*! LVD
  73405. * 0b0..No low voltage event detected.
  73406. * 0b1..Low voltage event is detected.
  73407. */
  73408. #define SNVS_LPSR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LVD_SHIFT)) & SNVS_LPSR_LVD_MASK)
  73409. #define SNVS_LPSR_CTD_MASK (0x10U)
  73410. #define SNVS_LPSR_CTD_SHIFT (4U)
  73411. /*! CTD
  73412. * 0b0..No clock tamper.
  73413. * 0b1..Clock tamper is detected.
  73414. */
  73415. #define SNVS_LPSR_CTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_CTD_SHIFT)) & SNVS_LPSR_CTD_MASK)
  73416. #define SNVS_LPSR_TTD_MASK (0x20U)
  73417. #define SNVS_LPSR_TTD_SHIFT (5U)
  73418. /*! TTD
  73419. * 0b0..No temperature tamper.
  73420. * 0b1..Temperature tamper is detected.
  73421. */
  73422. #define SNVS_LPSR_TTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_TTD_SHIFT)) & SNVS_LPSR_TTD_MASK)
  73423. #define SNVS_LPSR_VTD_MASK (0x40U)
  73424. #define SNVS_LPSR_VTD_SHIFT (6U)
  73425. /*! VTD
  73426. * 0b0..Voltage tampering not detected.
  73427. * 0b1..Voltage tampering detected.
  73428. */
  73429. #define SNVS_LPSR_VTD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_VTD_SHIFT)) & SNVS_LPSR_VTD_MASK)
  73430. #define SNVS_LPSR_WMT1D_MASK (0x80U)
  73431. #define SNVS_LPSR_WMT1D_SHIFT (7U)
  73432. /*! WMT1D
  73433. * 0b0..Wire-mesh tampering 1 not detected.
  73434. * 0b1..Wire-mesh tampering 1 detected.
  73435. */
  73436. #define SNVS_LPSR_WMT1D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_WMT1D_SHIFT)) & SNVS_LPSR_WMT1D_MASK)
  73437. #define SNVS_LPSR_WMT2D_MASK (0x100U)
  73438. #define SNVS_LPSR_WMT2D_SHIFT (8U)
  73439. /*! WMT2D
  73440. * 0b0..Wire-mesh tampering 2 not detected.
  73441. * 0b1..Wire-mesh tampering 2 detected.
  73442. */
  73443. #define SNVS_LPSR_WMT2D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_WMT2D_SHIFT)) & SNVS_LPSR_WMT2D_MASK)
  73444. #define SNVS_LPSR_ET1D_MASK (0x200U)
  73445. #define SNVS_LPSR_ET1D_SHIFT (9U)
  73446. /*! ET1D
  73447. * 0b0..External tampering 1 not detected.
  73448. * 0b1..External tampering 1 detected.
  73449. */
  73450. #define SNVS_LPSR_ET1D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ET1D_SHIFT)) & SNVS_LPSR_ET1D_MASK)
  73451. #define SNVS_LPSR_ET2D_MASK (0x400U)
  73452. #define SNVS_LPSR_ET2D_SHIFT (10U)
  73453. /*! ET2D
  73454. * 0b0..External tampering 2 not detected.
  73455. * 0b1..External tampering 2 detected.
  73456. */
  73457. #define SNVS_LPSR_ET2D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ET2D_SHIFT)) & SNVS_LPSR_ET2D_MASK)
  73458. #define SNVS_LPSR_ESVD_MASK (0x10000U)
  73459. #define SNVS_LPSR_ESVD_SHIFT (16U)
  73460. /*! ESVD
  73461. * 0b0..No external security violation.
  73462. * 0b1..External security violation is detected.
  73463. */
  73464. #define SNVS_LPSR_ESVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_ESVD_SHIFT)) & SNVS_LPSR_ESVD_MASK)
  73465. #define SNVS_LPSR_EO_MASK (0x20000U)
  73466. #define SNVS_LPSR_EO_SHIFT (17U)
  73467. /*! EO
  73468. * 0b0..Emergency off was not detected.
  73469. * 0b1..Emergency off was detected.
  73470. */
  73471. #define SNVS_LPSR_EO(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_EO_SHIFT)) & SNVS_LPSR_EO_MASK)
  73472. #define SNVS_LPSR_SPOF_MASK (0x40000U)
  73473. #define SNVS_LPSR_SPOF_SHIFT (18U)
  73474. /*! SPOF
  73475. * 0b0..Set Power Off was not detected.
  73476. * 0b1..Set Power Off was detected.
  73477. */
  73478. #define SNVS_LPSR_SPOF(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_SPOF_SHIFT)) & SNVS_LPSR_SPOF_MASK)
  73479. #define SNVS_LPSR_LPNS_MASK (0x40000000U)
  73480. #define SNVS_LPSR_LPNS_SHIFT (30U)
  73481. /*! LPNS
  73482. * 0b0..LP section was not programmed in the non-secure state.
  73483. * 0b1..LP section was programmed in the non-secure state.
  73484. */
  73485. #define SNVS_LPSR_LPNS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPNS_SHIFT)) & SNVS_LPSR_LPNS_MASK)
  73486. #define SNVS_LPSR_LPS_MASK (0x80000000U)
  73487. #define SNVS_LPSR_LPS_SHIFT (31U)
  73488. /*! LPS
  73489. * 0b0..LP section was not programmed in secure or trusted state.
  73490. * 0b1..LP section was programmed in secure or trusted state.
  73491. */
  73492. #define SNVS_LPSR_LPS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSR_LPS_SHIFT)) & SNVS_LPSR_LPS_MASK)
  73493. /*! @} */
  73494. /*! @name LPSRTCMR - SNVS_LP Secure Real Time Counter MSB Register */
  73495. /*! @{ */
  73496. #define SNVS_LPSRTCMR_SRTC_MASK (0x7FFFU)
  73497. #define SNVS_LPSRTCMR_SRTC_SHIFT (0U)
  73498. #define SNVS_LPSRTCMR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCMR_SRTC_SHIFT)) & SNVS_LPSRTCMR_SRTC_MASK)
  73499. /*! @} */
  73500. /*! @name LPSRTCLR - SNVS_LP Secure Real Time Counter LSB Register */
  73501. /*! @{ */
  73502. #define SNVS_LPSRTCLR_SRTC_MASK (0xFFFFFFFFU)
  73503. #define SNVS_LPSRTCLR_SRTC_SHIFT (0U)
  73504. #define SNVS_LPSRTCLR_SRTC(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSRTCLR_SRTC_SHIFT)) & SNVS_LPSRTCLR_SRTC_MASK)
  73505. /*! @} */
  73506. /*! @name LPTAR - SNVS_LP Time Alarm Register */
  73507. /*! @{ */
  73508. #define SNVS_LPTAR_LPTA_MASK (0xFFFFFFFFU)
  73509. #define SNVS_LPTAR_LPTA_SHIFT (0U)
  73510. #define SNVS_LPTAR_LPTA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTAR_LPTA_SHIFT)) & SNVS_LPTAR_LPTA_MASK)
  73511. /*! @} */
  73512. /*! @name LPSMCMR - SNVS_LP Secure Monotonic Counter MSB Register */
  73513. /*! @{ */
  73514. #define SNVS_LPSMCMR_MON_COUNTER_MASK (0xFFFFU)
  73515. #define SNVS_LPSMCMR_MON_COUNTER_SHIFT (0U)
  73516. #define SNVS_LPSMCMR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MON_COUNTER_SHIFT)) & SNVS_LPSMCMR_MON_COUNTER_MASK)
  73517. #define SNVS_LPSMCMR_MC_ERA_BITS_MASK (0xFFFF0000U)
  73518. #define SNVS_LPSMCMR_MC_ERA_BITS_SHIFT (16U)
  73519. #define SNVS_LPSMCMR_MC_ERA_BITS(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCMR_MC_ERA_BITS_SHIFT)) & SNVS_LPSMCMR_MC_ERA_BITS_MASK)
  73520. /*! @} */
  73521. /*! @name LPSMCLR - SNVS_LP Secure Monotonic Counter LSB Register */
  73522. /*! @{ */
  73523. #define SNVS_LPSMCLR_MON_COUNTER_MASK (0xFFFFFFFFU)
  73524. #define SNVS_LPSMCLR_MON_COUNTER_SHIFT (0U)
  73525. #define SNVS_LPSMCLR_MON_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPSMCLR_MON_COUNTER_SHIFT)) & SNVS_LPSMCLR_MON_COUNTER_MASK)
  73526. /*! @} */
  73527. /*! @name LPLVDR - SNVS_LP Digital Low-Voltage Detector Register */
  73528. /*! @{ */
  73529. #define SNVS_LPLVDR_LVD_MASK (0xFFFFFFFFU)
  73530. #define SNVS_LPLVDR_LVD_SHIFT (0U)
  73531. #define SNVS_LPLVDR_LVD(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPLVDR_LVD_SHIFT)) & SNVS_LPLVDR_LVD_MASK)
  73532. /*! @} */
  73533. /*! @name LPGPR0_LEGACY_ALIAS - SNVS_LP General Purpose Register 0 (legacy alias) */
  73534. /*! @{ */
  73535. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK (0xFFFFFFFFU)
  73536. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT (0U)
  73537. #define SNVS_LPGPR0_LEGACY_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR0_LEGACY_ALIAS_GPR_SHIFT)) & SNVS_LPGPR0_LEGACY_ALIAS_GPR_MASK)
  73538. /*! @} */
  73539. /*! @name LPZMKR - SNVS_LP Zeroizable Master Key Register */
  73540. /*! @{ */
  73541. #define SNVS_LPZMKR_ZMK_MASK (0xFFFFFFFFU)
  73542. #define SNVS_LPZMKR_ZMK_SHIFT (0U)
  73543. #define SNVS_LPZMKR_ZMK(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPZMKR_ZMK_SHIFT)) & SNVS_LPZMKR_ZMK_MASK)
  73544. /*! @} */
  73545. /* The count of SNVS_LPZMKR */
  73546. #define SNVS_LPZMKR_COUNT (8U)
  73547. /*! @name LPGPR_ALIAS - SNVS_LP General Purpose Registers 0 .. 3 */
  73548. /*! @{ */
  73549. #define SNVS_LPGPR_ALIAS_GPR_MASK (0xFFFFFFFFU)
  73550. #define SNVS_LPGPR_ALIAS_GPR_SHIFT (0U)
  73551. #define SNVS_LPGPR_ALIAS_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_ALIAS_GPR_SHIFT)) & SNVS_LPGPR_ALIAS_GPR_MASK)
  73552. /*! @} */
  73553. /* The count of SNVS_LPGPR_ALIAS */
  73554. #define SNVS_LPGPR_ALIAS_COUNT (4U)
  73555. /*! @name LPTDC2R - SNVS_LP Tamper Detectors Config 2 Register */
  73556. /*! @{ */
  73557. #define SNVS_LPTDC2R_ET3_EN_MASK (0x1U)
  73558. #define SNVS_LPTDC2R_ET3_EN_SHIFT (0U)
  73559. /*! ET3_EN
  73560. * 0b0..External tamper 3 is disabled.
  73561. * 0b1..External tamper 3 is enabled.
  73562. */
  73563. #define SNVS_LPTDC2R_ET3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET3_EN_SHIFT)) & SNVS_LPTDC2R_ET3_EN_MASK)
  73564. #define SNVS_LPTDC2R_ET4_EN_MASK (0x2U)
  73565. #define SNVS_LPTDC2R_ET4_EN_SHIFT (1U)
  73566. /*! ET4_EN
  73567. * 0b0..External tamper 4 is disabled.
  73568. * 0b1..External tamper 4 is enabled.
  73569. */
  73570. #define SNVS_LPTDC2R_ET4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET4_EN_SHIFT)) & SNVS_LPTDC2R_ET4_EN_MASK)
  73571. #define SNVS_LPTDC2R_ET5_EN_MASK (0x4U)
  73572. #define SNVS_LPTDC2R_ET5_EN_SHIFT (2U)
  73573. /*! ET5_EN
  73574. * 0b0..External tamper 5 is disabled.
  73575. * 0b1..External tamper 5 is enabled.
  73576. */
  73577. #define SNVS_LPTDC2R_ET5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET5_EN_SHIFT)) & SNVS_LPTDC2R_ET5_EN_MASK)
  73578. #define SNVS_LPTDC2R_ET6_EN_MASK (0x8U)
  73579. #define SNVS_LPTDC2R_ET6_EN_SHIFT (3U)
  73580. /*! ET6_EN
  73581. * 0b0..External tamper 6 is disabled.
  73582. * 0b1..External tamper 6 is enabled.
  73583. */
  73584. #define SNVS_LPTDC2R_ET6_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET6_EN_SHIFT)) & SNVS_LPTDC2R_ET6_EN_MASK)
  73585. #define SNVS_LPTDC2R_ET7_EN_MASK (0x10U)
  73586. #define SNVS_LPTDC2R_ET7_EN_SHIFT (4U)
  73587. /*! ET7_EN
  73588. * 0b0..External tamper 7 is disabled.
  73589. * 0b1..External tamper 7 is enabled.
  73590. */
  73591. #define SNVS_LPTDC2R_ET7_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET7_EN_SHIFT)) & SNVS_LPTDC2R_ET7_EN_MASK)
  73592. #define SNVS_LPTDC2R_ET8_EN_MASK (0x20U)
  73593. #define SNVS_LPTDC2R_ET8_EN_SHIFT (5U)
  73594. /*! ET8_EN
  73595. * 0b0..External tamper 8 is disabled.
  73596. * 0b1..External tamper 8 is enabled.
  73597. */
  73598. #define SNVS_LPTDC2R_ET8_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET8_EN_SHIFT)) & SNVS_LPTDC2R_ET8_EN_MASK)
  73599. #define SNVS_LPTDC2R_ET9_EN_MASK (0x40U)
  73600. #define SNVS_LPTDC2R_ET9_EN_SHIFT (6U)
  73601. /*! ET9_EN
  73602. * 0b0..External tamper 9 is disabled.
  73603. * 0b1..External tamper 9 is enabled.
  73604. */
  73605. #define SNVS_LPTDC2R_ET9_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET9_EN_SHIFT)) & SNVS_LPTDC2R_ET9_EN_MASK)
  73606. #define SNVS_LPTDC2R_ET10_EN_MASK (0x80U)
  73607. #define SNVS_LPTDC2R_ET10_EN_SHIFT (7U)
  73608. /*! ET10_EN
  73609. * 0b0..External tamper 10 is disabled.
  73610. * 0b1..External tamper 10 is enabled.
  73611. */
  73612. #define SNVS_LPTDC2R_ET10_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET10_EN_SHIFT)) & SNVS_LPTDC2R_ET10_EN_MASK)
  73613. #define SNVS_LPTDC2R_ET3P_MASK (0x10000U)
  73614. #define SNVS_LPTDC2R_ET3P_SHIFT (16U)
  73615. /*! ET3P
  73616. * 0b0..External tamper 3 active low.
  73617. * 0b1..External tamper 3 active high.
  73618. */
  73619. #define SNVS_LPTDC2R_ET3P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET3P_SHIFT)) & SNVS_LPTDC2R_ET3P_MASK)
  73620. #define SNVS_LPTDC2R_ET4P_MASK (0x20000U)
  73621. #define SNVS_LPTDC2R_ET4P_SHIFT (17U)
  73622. /*! ET4P
  73623. * 0b0..External tamper 4 is active low.
  73624. * 0b1..External tamper 4 is active high.
  73625. */
  73626. #define SNVS_LPTDC2R_ET4P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET4P_SHIFT)) & SNVS_LPTDC2R_ET4P_MASK)
  73627. #define SNVS_LPTDC2R_ET5P_MASK (0x40000U)
  73628. #define SNVS_LPTDC2R_ET5P_SHIFT (18U)
  73629. /*! ET5P
  73630. * 0b0..External tamper 5 is active low.
  73631. * 0b1..External tamper 5 is active high.
  73632. */
  73633. #define SNVS_LPTDC2R_ET5P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET5P_SHIFT)) & SNVS_LPTDC2R_ET5P_MASK)
  73634. #define SNVS_LPTDC2R_ET6P_MASK (0x80000U)
  73635. #define SNVS_LPTDC2R_ET6P_SHIFT (19U)
  73636. /*! ET6P
  73637. * 0b0..External tamper 6 is active low.
  73638. * 0b1..External tamper 6 is active high.
  73639. */
  73640. #define SNVS_LPTDC2R_ET6P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET6P_SHIFT)) & SNVS_LPTDC2R_ET6P_MASK)
  73641. #define SNVS_LPTDC2R_ET7P_MASK (0x100000U)
  73642. #define SNVS_LPTDC2R_ET7P_SHIFT (20U)
  73643. /*! ET7P
  73644. * 0b0..External tamper 7 is active low.
  73645. * 0b1..External tamper 7 is active high.
  73646. */
  73647. #define SNVS_LPTDC2R_ET7P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET7P_SHIFT)) & SNVS_LPTDC2R_ET7P_MASK)
  73648. #define SNVS_LPTDC2R_ET8P_MASK (0x200000U)
  73649. #define SNVS_LPTDC2R_ET8P_SHIFT (21U)
  73650. /*! ET8P
  73651. * 0b0..External tamper 8 is active low.
  73652. * 0b1..External tamper 8 is active high.
  73653. */
  73654. #define SNVS_LPTDC2R_ET8P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET8P_SHIFT)) & SNVS_LPTDC2R_ET8P_MASK)
  73655. #define SNVS_LPTDC2R_ET9P_MASK (0x400000U)
  73656. #define SNVS_LPTDC2R_ET9P_SHIFT (22U)
  73657. /*! ET9P
  73658. * 0b0..External tamper 9 is active low.
  73659. * 0b1..External tamper 9 is active high.
  73660. */
  73661. #define SNVS_LPTDC2R_ET9P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET9P_SHIFT)) & SNVS_LPTDC2R_ET9P_MASK)
  73662. #define SNVS_LPTDC2R_ET10P_MASK (0x800000U)
  73663. #define SNVS_LPTDC2R_ET10P_SHIFT (23U)
  73664. /*! ET10P
  73665. * 0b0..External tamper 10 is active low.
  73666. * 0b1..External tamper 10 is active high.
  73667. */
  73668. #define SNVS_LPTDC2R_ET10P(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDC2R_ET10P_SHIFT)) & SNVS_LPTDC2R_ET10P_MASK)
  73669. /*! @} */
  73670. /*! @name LPTDSR - SNVS_LP Tamper Detectors Status Register */
  73671. /*! @{ */
  73672. #define SNVS_LPTDSR_ET3D_MASK (0x1U)
  73673. #define SNVS_LPTDSR_ET3D_SHIFT (0U)
  73674. /*! ET3D
  73675. * 0b0..External tamper 3 is not detected.
  73676. * 0b1..External tamper 3 is detected.
  73677. */
  73678. #define SNVS_LPTDSR_ET3D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET3D_SHIFT)) & SNVS_LPTDSR_ET3D_MASK)
  73679. #define SNVS_LPTDSR_ET4D_MASK (0x2U)
  73680. #define SNVS_LPTDSR_ET4D_SHIFT (1U)
  73681. /*! ET4D
  73682. * 0b0..External tamper 4 is not detected.
  73683. * 0b1..External tamper 4 is detected.
  73684. */
  73685. #define SNVS_LPTDSR_ET4D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET4D_SHIFT)) & SNVS_LPTDSR_ET4D_MASK)
  73686. #define SNVS_LPTDSR_ET5D_MASK (0x4U)
  73687. #define SNVS_LPTDSR_ET5D_SHIFT (2U)
  73688. /*! ET5D
  73689. * 0b0..External tamper 5 is not detected.
  73690. * 0b1..External tamper 5 is detected.
  73691. */
  73692. #define SNVS_LPTDSR_ET5D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET5D_SHIFT)) & SNVS_LPTDSR_ET5D_MASK)
  73693. #define SNVS_LPTDSR_ET6D_MASK (0x8U)
  73694. #define SNVS_LPTDSR_ET6D_SHIFT (3U)
  73695. /*! ET6D
  73696. * 0b0..External tamper 6 is not detected.
  73697. * 0b1..External tamper 6 is detected.
  73698. */
  73699. #define SNVS_LPTDSR_ET6D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET6D_SHIFT)) & SNVS_LPTDSR_ET6D_MASK)
  73700. #define SNVS_LPTDSR_ET7D_MASK (0x10U)
  73701. #define SNVS_LPTDSR_ET7D_SHIFT (4U)
  73702. /*! ET7D
  73703. * 0b0..External tamper 7 is not detected.
  73704. * 0b1..External tamper 7 is detected.
  73705. */
  73706. #define SNVS_LPTDSR_ET7D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET7D_SHIFT)) & SNVS_LPTDSR_ET7D_MASK)
  73707. #define SNVS_LPTDSR_ET8D_MASK (0x20U)
  73708. #define SNVS_LPTDSR_ET8D_SHIFT (5U)
  73709. /*! ET8D
  73710. * 0b0..External tamper 8 is not detected.
  73711. * 0b1..External tamper 8 is detected.
  73712. */
  73713. #define SNVS_LPTDSR_ET8D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET8D_SHIFT)) & SNVS_LPTDSR_ET8D_MASK)
  73714. #define SNVS_LPTDSR_ET9D_MASK (0x40U)
  73715. #define SNVS_LPTDSR_ET9D_SHIFT (6U)
  73716. /*! ET9D
  73717. * 0b0..External tamper 9 is not detected.
  73718. * 0b1..External tamper 9 is detected.
  73719. */
  73720. #define SNVS_LPTDSR_ET9D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET9D_SHIFT)) & SNVS_LPTDSR_ET9D_MASK)
  73721. #define SNVS_LPTDSR_ET10D_MASK (0x80U)
  73722. #define SNVS_LPTDSR_ET10D_SHIFT (7U)
  73723. /*! ET10D
  73724. * 0b0..External tamper 10 is not detected.
  73725. * 0b1..External tamper 10 is detected.
  73726. */
  73727. #define SNVS_LPTDSR_ET10D(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTDSR_ET10D_SHIFT)) & SNVS_LPTDSR_ET10D_MASK)
  73728. /*! @} */
  73729. /*! @name LPTGF1CR - SNVS_LP Tamper Glitch Filter 1 Configuration Register */
  73730. /*! @{ */
  73731. #define SNVS_LPTGF1CR_ETGF3_MASK (0x7FU)
  73732. #define SNVS_LPTGF1CR_ETGF3_SHIFT (0U)
  73733. #define SNVS_LPTGF1CR_ETGF3(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF3_SHIFT)) & SNVS_LPTGF1CR_ETGF3_MASK)
  73734. #define SNVS_LPTGF1CR_ETGF3_EN_MASK (0x80U)
  73735. #define SNVS_LPTGF1CR_ETGF3_EN_SHIFT (7U)
  73736. /*! ETGF3_EN
  73737. * 0b0..External tamper glitch filter 3 is bypassed.
  73738. * 0b1..External tamper glitch filter 3 is enabled.
  73739. */
  73740. #define SNVS_LPTGF1CR_ETGF3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF3_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF3_EN_MASK)
  73741. #define SNVS_LPTGF1CR_ETGF4_MASK (0x7F00U)
  73742. #define SNVS_LPTGF1CR_ETGF4_SHIFT (8U)
  73743. #define SNVS_LPTGF1CR_ETGF4(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF4_SHIFT)) & SNVS_LPTGF1CR_ETGF4_MASK)
  73744. #define SNVS_LPTGF1CR_ETGF4_EN_MASK (0x8000U)
  73745. #define SNVS_LPTGF1CR_ETGF4_EN_SHIFT (15U)
  73746. /*! ETGF4_EN
  73747. * 0b0..External tamper glitch filter 4 is bypassed.
  73748. * 0b1..External tamper glitch filter 4 is enabled.
  73749. */
  73750. #define SNVS_LPTGF1CR_ETGF4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF4_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF4_EN_MASK)
  73751. #define SNVS_LPTGF1CR_ETGF5_MASK (0x7F0000U)
  73752. #define SNVS_LPTGF1CR_ETGF5_SHIFT (16U)
  73753. #define SNVS_LPTGF1CR_ETGF5(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF5_SHIFT)) & SNVS_LPTGF1CR_ETGF5_MASK)
  73754. #define SNVS_LPTGF1CR_ETGF5_EN_MASK (0x800000U)
  73755. #define SNVS_LPTGF1CR_ETGF5_EN_SHIFT (23U)
  73756. /*! ETGF5_EN
  73757. * 0b0..External tamper glitch filter 5 is bypassed.
  73758. * 0b1..External tamper glitch filter 5 is enabled.
  73759. */
  73760. #define SNVS_LPTGF1CR_ETGF5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF5_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF5_EN_MASK)
  73761. #define SNVS_LPTGF1CR_ETGF6_MASK (0x7F000000U)
  73762. #define SNVS_LPTGF1CR_ETGF6_SHIFT (24U)
  73763. #define SNVS_LPTGF1CR_ETGF6(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF6_SHIFT)) & SNVS_LPTGF1CR_ETGF6_MASK)
  73764. #define SNVS_LPTGF1CR_ETGF6_EN_MASK (0x80000000U)
  73765. #define SNVS_LPTGF1CR_ETGF6_EN_SHIFT (31U)
  73766. /*! ETGF6_EN
  73767. * 0b0..External tamper glitch filter 6 is bypassed.
  73768. * 0b1..External tamper glitch filter 6 is enabled.
  73769. */
  73770. #define SNVS_LPTGF1CR_ETGF6_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF1CR_ETGF6_EN_SHIFT)) & SNVS_LPTGF1CR_ETGF6_EN_MASK)
  73771. /*! @} */
  73772. /*! @name LPTGF2CR - SNVS_LP Tamper Glitch Filter 2 Configuration Register */
  73773. /*! @{ */
  73774. #define SNVS_LPTGF2CR_ETGF7_MASK (0x7FU)
  73775. #define SNVS_LPTGF2CR_ETGF7_SHIFT (0U)
  73776. #define SNVS_LPTGF2CR_ETGF7(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF7_SHIFT)) & SNVS_LPTGF2CR_ETGF7_MASK)
  73777. #define SNVS_LPTGF2CR_ETGF7_EN_MASK (0x80U)
  73778. #define SNVS_LPTGF2CR_ETGF7_EN_SHIFT (7U)
  73779. /*! ETGF7_EN
  73780. * 0b0..External tamper glitch filter 7 is bypassed.
  73781. * 0b1..External tamper glitch filter 7 is enabled.
  73782. */
  73783. #define SNVS_LPTGF2CR_ETGF7_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF7_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF7_EN_MASK)
  73784. #define SNVS_LPTGF2CR_ETGF8_MASK (0x7F00U)
  73785. #define SNVS_LPTGF2CR_ETGF8_SHIFT (8U)
  73786. #define SNVS_LPTGF2CR_ETGF8(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF8_SHIFT)) & SNVS_LPTGF2CR_ETGF8_MASK)
  73787. #define SNVS_LPTGF2CR_ETGF8_EN_MASK (0x8000U)
  73788. #define SNVS_LPTGF2CR_ETGF8_EN_SHIFT (15U)
  73789. /*! ETGF8_EN
  73790. * 0b0..External tamper glitch filter 8 is bypassed.
  73791. * 0b1..External tamper glitch filter 8 is enabled.
  73792. */
  73793. #define SNVS_LPTGF2CR_ETGF8_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF8_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF8_EN_MASK)
  73794. #define SNVS_LPTGF2CR_ETGF9_MASK (0x7F0000U)
  73795. #define SNVS_LPTGF2CR_ETGF9_SHIFT (16U)
  73796. #define SNVS_LPTGF2CR_ETGF9(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF9_SHIFT)) & SNVS_LPTGF2CR_ETGF9_MASK)
  73797. #define SNVS_LPTGF2CR_ETGF9_EN_MASK (0x800000U)
  73798. #define SNVS_LPTGF2CR_ETGF9_EN_SHIFT (23U)
  73799. /*! ETGF9_EN
  73800. * 0b0..External tamper glitch filter 9 is bypassed.
  73801. * 0b1..External tamper glitch filter 9 is enabled.
  73802. */
  73803. #define SNVS_LPTGF2CR_ETGF9_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF9_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF9_EN_MASK)
  73804. #define SNVS_LPTGF2CR_ETGF10_MASK (0x7F000000U)
  73805. #define SNVS_LPTGF2CR_ETGF10_SHIFT (24U)
  73806. #define SNVS_LPTGF2CR_ETGF10(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF10_SHIFT)) & SNVS_LPTGF2CR_ETGF10_MASK)
  73807. #define SNVS_LPTGF2CR_ETGF10_EN_MASK (0x80000000U)
  73808. #define SNVS_LPTGF2CR_ETGF10_EN_SHIFT (31U)
  73809. /*! ETGF10_EN
  73810. * 0b0..External tamper glitch filter 10 is bypassed.
  73811. * 0b1..External tamper glitch filter 10 is enabled.
  73812. */
  73813. #define SNVS_LPTGF2CR_ETGF10_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPTGF2CR_ETGF10_EN_SHIFT)) & SNVS_LPTGF2CR_ETGF10_EN_MASK)
  73814. /*! @} */
  73815. /*! @name LPATCR - SNVS_LP Active Tamper 1 Configuration Register..SNVS_LP Active Tamper 5 Configuration Register */
  73816. /*! @{ */
  73817. #define SNVS_LPATCR_Seed_MASK (0xFFFFU)
  73818. #define SNVS_LPATCR_Seed_SHIFT (0U)
  73819. #define SNVS_LPATCR_Seed(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCR_Seed_SHIFT)) & SNVS_LPATCR_Seed_MASK)
  73820. #define SNVS_LPATCR_Polynomial_MASK (0xFFFF0000U)
  73821. #define SNVS_LPATCR_Polynomial_SHIFT (16U)
  73822. #define SNVS_LPATCR_Polynomial(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCR_Polynomial_SHIFT)) & SNVS_LPATCR_Polynomial_MASK)
  73823. /*! @} */
  73824. /* The count of SNVS_LPATCR */
  73825. #define SNVS_LPATCR_COUNT (5U)
  73826. /*! @name LPATCTLR - SNVS_LP Active Tamper Control Register */
  73827. /*! @{ */
  73828. #define SNVS_LPATCTLR_AT1_EN_MASK (0x1U)
  73829. #define SNVS_LPATCTLR_AT1_EN_SHIFT (0U)
  73830. /*! AT1_EN
  73831. * 0b0..Active Tamper 1 is disabled.
  73832. * 0b1..Active Tamper 1 is enabled.
  73833. */
  73834. #define SNVS_LPATCTLR_AT1_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT1_EN_SHIFT)) & SNVS_LPATCTLR_AT1_EN_MASK)
  73835. #define SNVS_LPATCTLR_AT2_EN_MASK (0x2U)
  73836. #define SNVS_LPATCTLR_AT2_EN_SHIFT (1U)
  73837. /*! AT2_EN
  73838. * 0b0..Active Tamper 2 is disabled.
  73839. * 0b1..Active Tamper 2 is enabled.
  73840. */
  73841. #define SNVS_LPATCTLR_AT2_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT2_EN_SHIFT)) & SNVS_LPATCTLR_AT2_EN_MASK)
  73842. #define SNVS_LPATCTLR_AT3_EN_MASK (0x4U)
  73843. #define SNVS_LPATCTLR_AT3_EN_SHIFT (2U)
  73844. /*! AT3_EN
  73845. * 0b0..Active Tamper 3 is disabled.
  73846. * 0b1..Active Tamper 3 is enabled.
  73847. */
  73848. #define SNVS_LPATCTLR_AT3_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT3_EN_SHIFT)) & SNVS_LPATCTLR_AT3_EN_MASK)
  73849. #define SNVS_LPATCTLR_AT4_EN_MASK (0x8U)
  73850. #define SNVS_LPATCTLR_AT4_EN_SHIFT (3U)
  73851. /*! AT4_EN
  73852. * 0b0..Active Tamper 4 is disabled.
  73853. * 0b1..Active Tamper 4 is enabled.
  73854. */
  73855. #define SNVS_LPATCTLR_AT4_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT4_EN_SHIFT)) & SNVS_LPATCTLR_AT4_EN_MASK)
  73856. #define SNVS_LPATCTLR_AT5_EN_MASK (0x10U)
  73857. #define SNVS_LPATCTLR_AT5_EN_SHIFT (4U)
  73858. /*! AT5_EN
  73859. * 0b0..Active Tamper 5 is disabled.
  73860. * 0b1..Active Tamper 5 is enabled.
  73861. */
  73862. #define SNVS_LPATCTLR_AT5_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT5_EN_SHIFT)) & SNVS_LPATCTLR_AT5_EN_MASK)
  73863. #define SNVS_LPATCTLR_AT1_PAD_EN_MASK (0x10000U)
  73864. #define SNVS_LPATCTLR_AT1_PAD_EN_SHIFT (16U)
  73865. /*! AT1_PAD_EN
  73866. * 0b0..Active Tamper 1 is disabled.
  73867. * 0b1..Active Tamper 1 is enabled.
  73868. */
  73869. #define SNVS_LPATCTLR_AT1_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT1_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT1_PAD_EN_MASK)
  73870. #define SNVS_LPATCTLR_AT2_PAD_EN_MASK (0x20000U)
  73871. #define SNVS_LPATCTLR_AT2_PAD_EN_SHIFT (17U)
  73872. /*! AT2_PAD_EN
  73873. * 0b0..Active Tamper 2 is disabled.
  73874. * 0b1..Active Tamper 2 is enabled.
  73875. */
  73876. #define SNVS_LPATCTLR_AT2_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT2_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT2_PAD_EN_MASK)
  73877. #define SNVS_LPATCTLR_AT3_PAD_EN_MASK (0x40000U)
  73878. #define SNVS_LPATCTLR_AT3_PAD_EN_SHIFT (18U)
  73879. /*! AT3_PAD_EN
  73880. * 0b0..Active Tamper 3 is disabled.
  73881. * 0b1..Active Tamper 3 is enabled
  73882. */
  73883. #define SNVS_LPATCTLR_AT3_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT3_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT3_PAD_EN_MASK)
  73884. #define SNVS_LPATCTLR_AT4_PAD_EN_MASK (0x80000U)
  73885. #define SNVS_LPATCTLR_AT4_PAD_EN_SHIFT (19U)
  73886. /*! AT4_PAD_EN
  73887. * 0b0..Active Tamper 4 is disabled.
  73888. * 0b1..Active Tamper 4 is enabled.
  73889. */
  73890. #define SNVS_LPATCTLR_AT4_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT4_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT4_PAD_EN_MASK)
  73891. #define SNVS_LPATCTLR_AT5_PAD_EN_MASK (0x100000U)
  73892. #define SNVS_LPATCTLR_AT5_PAD_EN_SHIFT (20U)
  73893. /*! AT5_PAD_EN
  73894. * 0b0..Active Tamper 5 is disabled.
  73895. * 0b1..Active Tamper 5 is enabled.
  73896. */
  73897. #define SNVS_LPATCTLR_AT5_PAD_EN(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCTLR_AT5_PAD_EN_SHIFT)) & SNVS_LPATCTLR_AT5_PAD_EN_MASK)
  73898. /*! @} */
  73899. /*! @name LPATCLKR - SNVS_LP Active Tamper Clock Control Register */
  73900. /*! @{ */
  73901. #define SNVS_LPATCLKR_AT1_CLK_CTL_MASK (0x3U)
  73902. #define SNVS_LPATCLKR_AT1_CLK_CTL_SHIFT (0U)
  73903. #define SNVS_LPATCLKR_AT1_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT1_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT1_CLK_CTL_MASK)
  73904. #define SNVS_LPATCLKR_AT2_CLK_CTL_MASK (0x30U)
  73905. #define SNVS_LPATCLKR_AT2_CLK_CTL_SHIFT (4U)
  73906. #define SNVS_LPATCLKR_AT2_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT2_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT2_CLK_CTL_MASK)
  73907. #define SNVS_LPATCLKR_AT3_CLK_CTL_MASK (0x300U)
  73908. #define SNVS_LPATCLKR_AT3_CLK_CTL_SHIFT (8U)
  73909. #define SNVS_LPATCLKR_AT3_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT3_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT3_CLK_CTL_MASK)
  73910. #define SNVS_LPATCLKR_AT4_CLK_CTL_MASK (0x3000U)
  73911. #define SNVS_LPATCLKR_AT4_CLK_CTL_SHIFT (12U)
  73912. #define SNVS_LPATCLKR_AT4_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT4_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT4_CLK_CTL_MASK)
  73913. #define SNVS_LPATCLKR_AT5_CLK_CTL_MASK (0x30000U)
  73914. #define SNVS_LPATCLKR_AT5_CLK_CTL_SHIFT (16U)
  73915. #define SNVS_LPATCLKR_AT5_CLK_CTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATCLKR_AT5_CLK_CTL_SHIFT)) & SNVS_LPATCLKR_AT5_CLK_CTL_MASK)
  73916. /*! @} */
  73917. /*! @name LPATRC1R - SNVS_LP Active Tamper Routing Control 1 Register */
  73918. /*! @{ */
  73919. #define SNVS_LPATRC1R_ET1RCTL_MASK (0x7U)
  73920. #define SNVS_LPATRC1R_ET1RCTL_SHIFT (0U)
  73921. #define SNVS_LPATRC1R_ET1RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET1RCTL_SHIFT)) & SNVS_LPATRC1R_ET1RCTL_MASK)
  73922. #define SNVS_LPATRC1R_ET2RCTL_MASK (0x70U)
  73923. #define SNVS_LPATRC1R_ET2RCTL_SHIFT (4U)
  73924. #define SNVS_LPATRC1R_ET2RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET2RCTL_SHIFT)) & SNVS_LPATRC1R_ET2RCTL_MASK)
  73925. #define SNVS_LPATRC1R_ET3RCTL_MASK (0x700U)
  73926. #define SNVS_LPATRC1R_ET3RCTL_SHIFT (8U)
  73927. #define SNVS_LPATRC1R_ET3RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET3RCTL_SHIFT)) & SNVS_LPATRC1R_ET3RCTL_MASK)
  73928. #define SNVS_LPATRC1R_ET4RCTL_MASK (0x7000U)
  73929. #define SNVS_LPATRC1R_ET4RCTL_SHIFT (12U)
  73930. #define SNVS_LPATRC1R_ET4RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET4RCTL_SHIFT)) & SNVS_LPATRC1R_ET4RCTL_MASK)
  73931. #define SNVS_LPATRC1R_ET5RCTL_MASK (0x70000U)
  73932. #define SNVS_LPATRC1R_ET5RCTL_SHIFT (16U)
  73933. #define SNVS_LPATRC1R_ET5RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET5RCTL_SHIFT)) & SNVS_LPATRC1R_ET5RCTL_MASK)
  73934. #define SNVS_LPATRC1R_ET6RCTL_MASK (0x700000U)
  73935. #define SNVS_LPATRC1R_ET6RCTL_SHIFT (20U)
  73936. #define SNVS_LPATRC1R_ET6RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET6RCTL_SHIFT)) & SNVS_LPATRC1R_ET6RCTL_MASK)
  73937. #define SNVS_LPATRC1R_ET7RCTL_MASK (0x7000000U)
  73938. #define SNVS_LPATRC1R_ET7RCTL_SHIFT (24U)
  73939. #define SNVS_LPATRC1R_ET7RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET7RCTL_SHIFT)) & SNVS_LPATRC1R_ET7RCTL_MASK)
  73940. #define SNVS_LPATRC1R_ET8RCTL_MASK (0x70000000U)
  73941. #define SNVS_LPATRC1R_ET8RCTL_SHIFT (28U)
  73942. #define SNVS_LPATRC1R_ET8RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC1R_ET8RCTL_SHIFT)) & SNVS_LPATRC1R_ET8RCTL_MASK)
  73943. /*! @} */
  73944. /*! @name LPATRC2R - SNVS_LP Active Tamper Routing Control 2 Register */
  73945. /*! @{ */
  73946. #define SNVS_LPATRC2R_ET9RCTL_MASK (0x7U)
  73947. #define SNVS_LPATRC2R_ET9RCTL_SHIFT (0U)
  73948. #define SNVS_LPATRC2R_ET9RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC2R_ET9RCTL_SHIFT)) & SNVS_LPATRC2R_ET9RCTL_MASK)
  73949. #define SNVS_LPATRC2R_ET10RCTL_MASK (0x70U)
  73950. #define SNVS_LPATRC2R_ET10RCTL_SHIFT (4U)
  73951. #define SNVS_LPATRC2R_ET10RCTL(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPATRC2R_ET10RCTL_SHIFT)) & SNVS_LPATRC2R_ET10RCTL_MASK)
  73952. /*! @} */
  73953. /*! @name LPGPR - SNVS_LP General Purpose Registers 0 .. 3 */
  73954. /*! @{ */
  73955. #define SNVS_LPGPR_GPR_MASK (0xFFFFFFFFU)
  73956. #define SNVS_LPGPR_GPR_SHIFT (0U)
  73957. #define SNVS_LPGPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SNVS_LPGPR_GPR_SHIFT)) & SNVS_LPGPR_GPR_MASK)
  73958. /*! @} */
  73959. /* The count of SNVS_LPGPR */
  73960. #define SNVS_LPGPR_COUNT (4U)
  73961. /*! @name HPVIDR1 - SNVS_HP Version ID Register 1 */
  73962. /*! @{ */
  73963. #define SNVS_HPVIDR1_MINOR_REV_MASK (0xFFU)
  73964. #define SNVS_HPVIDR1_MINOR_REV_SHIFT (0U)
  73965. #define SNVS_HPVIDR1_MINOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MINOR_REV_SHIFT)) & SNVS_HPVIDR1_MINOR_REV_MASK)
  73966. #define SNVS_HPVIDR1_MAJOR_REV_MASK (0xFF00U)
  73967. #define SNVS_HPVIDR1_MAJOR_REV_SHIFT (8U)
  73968. #define SNVS_HPVIDR1_MAJOR_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_MAJOR_REV_SHIFT)) & SNVS_HPVIDR1_MAJOR_REV_MASK)
  73969. #define SNVS_HPVIDR1_IP_ID_MASK (0xFFFF0000U)
  73970. #define SNVS_HPVIDR1_IP_ID_SHIFT (16U)
  73971. #define SNVS_HPVIDR1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR1_IP_ID_SHIFT)) & SNVS_HPVIDR1_IP_ID_MASK)
  73972. /*! @} */
  73973. /*! @name HPVIDR2 - SNVS_HP Version ID Register 2 */
  73974. /*! @{ */
  73975. #define SNVS_HPVIDR2_ECO_REV_MASK (0xFF00U)
  73976. #define SNVS_HPVIDR2_ECO_REV_SHIFT (8U)
  73977. #define SNVS_HPVIDR2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_ECO_REV_SHIFT)) & SNVS_HPVIDR2_ECO_REV_MASK)
  73978. #define SNVS_HPVIDR2_IP_ERA_MASK (0xFF000000U)
  73979. #define SNVS_HPVIDR2_IP_ERA_SHIFT (24U)
  73980. #define SNVS_HPVIDR2_IP_ERA(x) (((uint32_t)(((uint32_t)(x)) << SNVS_HPVIDR2_IP_ERA_SHIFT)) & SNVS_HPVIDR2_IP_ERA_MASK)
  73981. /*! @} */
  73982. /*!
  73983. * @}
  73984. */ /* end of group SNVS_Register_Masks */
  73985. /* SNVS - Peripheral instance base addresses */
  73986. /** Peripheral SNVS base address */
  73987. #define SNVS_BASE (0x40C90000u)
  73988. /** Peripheral SNVS base pointer */
  73989. #define SNVS ((SNVS_Type *)SNVS_BASE)
  73990. /** Array initializer of SNVS peripheral base addresses */
  73991. #define SNVS_BASE_ADDRS { SNVS_BASE }
  73992. /** Array initializer of SNVS peripheral base pointers */
  73993. #define SNVS_BASE_PTRS { SNVS }
  73994. /** Interrupt vectors for the SNVS peripheral type */
  73995. #define SNVS_IRQS { SNVS_PULSE_EVENT_IRQn }
  73996. #define SNVS_CONSOLIDATED_IRQS { SNVS_HP_NON_TZ_IRQn }
  73997. #define SNVS_SECURITY_IRQS { SNVS_HP_TZ_IRQn }
  73998. /*!
  73999. * @}
  74000. */ /* end of group SNVS_Peripheral_Access_Layer */
  74001. /* ----------------------------------------------------------------------------
  74002. -- SPDIF Peripheral Access Layer
  74003. ---------------------------------------------------------------------------- */
  74004. /*!
  74005. * @addtogroup SPDIF_Peripheral_Access_Layer SPDIF Peripheral Access Layer
  74006. * @{
  74007. */
  74008. /** SPDIF - Register Layout Typedef */
  74009. typedef struct {
  74010. __IO uint32_t SCR; /**< SPDIF Configuration Register, offset: 0x0 */
  74011. __IO uint32_t SRCD; /**< CDText Control Register, offset: 0x4 */
  74012. __IO uint32_t SRPC; /**< PhaseConfig Register, offset: 0x8 */
  74013. __IO uint32_t SIE; /**< InterruptEn Register, offset: 0xC */
  74014. union { /* offset: 0x10 */
  74015. __O uint32_t SIC; /**< InterruptClear Register, offset: 0x10 */
  74016. __I uint32_t SIS; /**< InterruptStat Register, offset: 0x10 */
  74017. };
  74018. __I uint32_t SRL; /**< SPDIFRxLeft Register, offset: 0x14 */
  74019. __I uint32_t SRR; /**< SPDIFRxRight Register, offset: 0x18 */
  74020. __I uint32_t SRCSH; /**< SPDIFRxCChannel_h Register, offset: 0x1C */
  74021. __I uint32_t SRCSL; /**< SPDIFRxCChannel_l Register, offset: 0x20 */
  74022. __I uint32_t SRU; /**< UchannelRx Register, offset: 0x24 */
  74023. __I uint32_t SRQ; /**< QchannelRx Register, offset: 0x28 */
  74024. __O uint32_t STL; /**< SPDIFTxLeft Register, offset: 0x2C */
  74025. __O uint32_t STR; /**< SPDIFTxRight Register, offset: 0x30 */
  74026. __IO uint32_t STCSCH; /**< SPDIFTxCChannelCons_h Register, offset: 0x34 */
  74027. __IO uint32_t STCSCL; /**< SPDIFTxCChannelCons_l Register, offset: 0x38 */
  74028. uint8_t RESERVED_0[8];
  74029. __I uint32_t SRFM; /**< FreqMeas Register, offset: 0x44 */
  74030. uint8_t RESERVED_1[8];
  74031. __IO uint32_t STC; /**< SPDIFTxClk Register, offset: 0x50 */
  74032. } SPDIF_Type;
  74033. /* ----------------------------------------------------------------------------
  74034. -- SPDIF Register Masks
  74035. ---------------------------------------------------------------------------- */
  74036. /*!
  74037. * @addtogroup SPDIF_Register_Masks SPDIF Register Masks
  74038. * @{
  74039. */
  74040. /*! @name SCR - SPDIF Configuration Register */
  74041. /*! @{ */
  74042. #define SPDIF_SCR_USRC_SEL_MASK (0x3U)
  74043. #define SPDIF_SCR_USRC_SEL_SHIFT (0U)
  74044. /*! USrc_Sel - USrc_Sel
  74045. * 0b00..No embedded U channel
  74046. * 0b01..U channel from SPDIF receive block (CD mode)
  74047. * 0b10..Reserved
  74048. * 0b11..U channel from on chip transmitter
  74049. */
  74050. #define SPDIF_SCR_USRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_USRC_SEL_SHIFT)) & SPDIF_SCR_USRC_SEL_MASK)
  74051. #define SPDIF_SCR_TXSEL_MASK (0x1CU)
  74052. #define SPDIF_SCR_TXSEL_SHIFT (2U)
  74053. /*! TxSel - TxSel
  74054. * 0b000..Off and output 0
  74055. * 0b001..Feed-through SPDIFIN
  74056. * 0b101..Tx Normal operation
  74057. */
  74058. #define SPDIF_SCR_TXSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXSEL_SHIFT)) & SPDIF_SCR_TXSEL_MASK)
  74059. #define SPDIF_SCR_VALCTRL_MASK (0x20U)
  74060. #define SPDIF_SCR_VALCTRL_SHIFT (5U)
  74061. /*! ValCtrl - ValCtrl
  74062. * 0b0..Outgoing Validity always set
  74063. * 0b1..Outgoing Validity always clear
  74064. */
  74065. #define SPDIF_SCR_VALCTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_VALCTRL_SHIFT)) & SPDIF_SCR_VALCTRL_MASK)
  74066. #define SPDIF_SCR_INPUTSRCSEL_MASK (0xC0U)
  74067. #define SPDIF_SCR_INPUTSRCSEL_SHIFT (6U)
  74068. /*! InputSrcSel - InputSrcSel
  74069. * 0b00..SPDIF_IN
  74070. * 0b01-0b11..None
  74071. */
  74072. #define SPDIF_SCR_INPUTSRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_INPUTSRCSEL_SHIFT)) & SPDIF_SCR_INPUTSRCSEL_MASK)
  74073. #define SPDIF_SCR_DMA_TX_EN_MASK (0x100U)
  74074. #define SPDIF_SCR_DMA_TX_EN_SHIFT (8U)
  74075. /*! DMA_TX_En - DMA_TX_En
  74076. */
  74077. #define SPDIF_SCR_DMA_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_TX_EN_SHIFT)) & SPDIF_SCR_DMA_TX_EN_MASK)
  74078. #define SPDIF_SCR_DMA_RX_EN_MASK (0x200U)
  74079. #define SPDIF_SCR_DMA_RX_EN_SHIFT (9U)
  74080. /*! DMA_Rx_En - DMA_Rx_En
  74081. */
  74082. #define SPDIF_SCR_DMA_RX_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_DMA_RX_EN_SHIFT)) & SPDIF_SCR_DMA_RX_EN_MASK)
  74083. #define SPDIF_SCR_TXFIFO_CTRL_MASK (0xC00U)
  74084. #define SPDIF_SCR_TXFIFO_CTRL_SHIFT (10U)
  74085. /*! TxFIFO_Ctrl - TxFIFO_Ctrl
  74086. * 0b00..Send out digital zero on SPDIF Tx
  74087. * 0b01..Tx Normal operation
  74088. * 0b10..Reset to 1 sample remaining
  74089. * 0b11..Reserved
  74090. */
  74091. #define SPDIF_SCR_TXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFO_CTRL_SHIFT)) & SPDIF_SCR_TXFIFO_CTRL_MASK)
  74092. #define SPDIF_SCR_SOFT_RESET_MASK (0x1000U)
  74093. #define SPDIF_SCR_SOFT_RESET_SHIFT (12U)
  74094. /*! soft_reset - soft_reset
  74095. */
  74096. #define SPDIF_SCR_SOFT_RESET(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_SOFT_RESET_SHIFT)) & SPDIF_SCR_SOFT_RESET_MASK)
  74097. #define SPDIF_SCR_LOW_POWER_MASK (0x2000U)
  74098. #define SPDIF_SCR_LOW_POWER_SHIFT (13U)
  74099. /*! LOW_POWER - LOW_POWER
  74100. */
  74101. #define SPDIF_SCR_LOW_POWER(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_LOW_POWER_SHIFT)) & SPDIF_SCR_LOW_POWER_MASK)
  74102. #define SPDIF_SCR_TXFIFOEMPTY_SEL_MASK (0x18000U)
  74103. #define SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT (15U)
  74104. /*! TxFIFOEmpty_Sel - TxFIFOEmpty_Sel
  74105. * 0b00..Empty interrupt if 0 sample in Tx left and right FIFOs
  74106. * 0b01..Empty interrupt if at most 4 sample in Tx left and right FIFOs
  74107. * 0b10..Empty interrupt if at most 8 sample in Tx left and right FIFOs
  74108. * 0b11..Empty interrupt if at most 12 sample in Tx left and right FIFOs
  74109. */
  74110. #define SPDIF_SCR_TXFIFOEMPTY_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXFIFOEMPTY_SEL_SHIFT)) & SPDIF_SCR_TXFIFOEMPTY_SEL_MASK)
  74111. #define SPDIF_SCR_TXAUTOSYNC_MASK (0x20000U)
  74112. #define SPDIF_SCR_TXAUTOSYNC_SHIFT (17U)
  74113. /*! TxAutoSync - TxAutoSync
  74114. * 0b0..Tx FIFO auto sync off
  74115. * 0b1..Tx FIFO auto sync on
  74116. */
  74117. #define SPDIF_SCR_TXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_TXAUTOSYNC_SHIFT)) & SPDIF_SCR_TXAUTOSYNC_MASK)
  74118. #define SPDIF_SCR_RXAUTOSYNC_MASK (0x40000U)
  74119. #define SPDIF_SCR_RXAUTOSYNC_SHIFT (18U)
  74120. /*! RxAutoSync - RxAutoSync
  74121. * 0b0..Rx FIFO auto sync off
  74122. * 0b1..RxFIFO auto sync on
  74123. */
  74124. #define SPDIF_SCR_RXAUTOSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXAUTOSYNC_SHIFT)) & SPDIF_SCR_RXAUTOSYNC_MASK)
  74125. #define SPDIF_SCR_RXFIFOFULL_SEL_MASK (0x180000U)
  74126. #define SPDIF_SCR_RXFIFOFULL_SEL_SHIFT (19U)
  74127. /*! RxFIFOFull_Sel - RxFIFOFull_Sel
  74128. * 0b00..Full interrupt if at least 1 sample in Rx left and right FIFOs
  74129. * 0b01..Full interrupt if at least 4 sample in Rx left and right FIFOs
  74130. * 0b10..Full interrupt if at least 8 sample in Rx left and right FIFOs
  74131. * 0b11..Full interrupt if at least 16 sample in Rx left and right FIFO
  74132. */
  74133. #define SPDIF_SCR_RXFIFOFULL_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFOFULL_SEL_SHIFT)) & SPDIF_SCR_RXFIFOFULL_SEL_MASK)
  74134. #define SPDIF_SCR_RXFIFO_RST_MASK (0x200000U)
  74135. #define SPDIF_SCR_RXFIFO_RST_SHIFT (21U)
  74136. /*! RxFIFO_Rst - RxFIFO_Rst
  74137. * 0b0..Normal operation
  74138. * 0b1..Reset register to 1 sample remaining
  74139. */
  74140. #define SPDIF_SCR_RXFIFO_RST(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_RST_SHIFT)) & SPDIF_SCR_RXFIFO_RST_MASK)
  74141. #define SPDIF_SCR_RXFIFO_OFF_ON_MASK (0x400000U)
  74142. #define SPDIF_SCR_RXFIFO_OFF_ON_SHIFT (22U)
  74143. /*! RxFIFO_Off_On - RxFIFO_Off_On
  74144. * 0b0..SPDIF Rx FIFO is on
  74145. * 0b1..SPDIF Rx FIFO is off. Does not accept data from interface
  74146. */
  74147. #define SPDIF_SCR_RXFIFO_OFF_ON(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_OFF_ON_SHIFT)) & SPDIF_SCR_RXFIFO_OFF_ON_MASK)
  74148. #define SPDIF_SCR_RXFIFO_CTRL_MASK (0x800000U)
  74149. #define SPDIF_SCR_RXFIFO_CTRL_SHIFT (23U)
  74150. /*! RxFIFO_Ctrl - RxFIFO_Ctrl
  74151. * 0b0..Normal operation
  74152. * 0b1..Always read zero from Rx data register
  74153. */
  74154. #define SPDIF_SCR_RXFIFO_CTRL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SCR_RXFIFO_CTRL_SHIFT)) & SPDIF_SCR_RXFIFO_CTRL_MASK)
  74155. /*! @} */
  74156. /*! @name SRCD - CDText Control Register */
  74157. /*! @{ */
  74158. #define SPDIF_SRCD_USYNCMODE_MASK (0x2U)
  74159. #define SPDIF_SRCD_USYNCMODE_SHIFT (1U)
  74160. /*! USyncMode - USyncMode
  74161. * 0b0..Non-CD data
  74162. * 0b1..CD user channel subcode
  74163. */
  74164. #define SPDIF_SRCD_USYNCMODE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCD_USYNCMODE_SHIFT)) & SPDIF_SRCD_USYNCMODE_MASK)
  74165. /*! @} */
  74166. /*! @name SRPC - PhaseConfig Register */
  74167. /*! @{ */
  74168. #define SPDIF_SRPC_GAINSEL_MASK (0x38U)
  74169. #define SPDIF_SRPC_GAINSEL_SHIFT (3U)
  74170. /*! GainSel - GainSel
  74171. * 0b000..24*(2**10)
  74172. * 0b001..16*(2**10)
  74173. * 0b010..12*(2**10)
  74174. * 0b011..8*(2**10)
  74175. * 0b100..6*(2**10)
  74176. * 0b101..4*(2**10)
  74177. * 0b110..3*(2**10)
  74178. */
  74179. #define SPDIF_SRPC_GAINSEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_GAINSEL_SHIFT)) & SPDIF_SRPC_GAINSEL_MASK)
  74180. #define SPDIF_SRPC_LOCK_MASK (0x40U)
  74181. #define SPDIF_SRPC_LOCK_SHIFT (6U)
  74182. /*! LOCK - LOCK
  74183. */
  74184. #define SPDIF_SRPC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_LOCK_SHIFT)) & SPDIF_SRPC_LOCK_MASK)
  74185. #define SPDIF_SRPC_CLKSRC_SEL_MASK (0x780U)
  74186. #define SPDIF_SRPC_CLKSRC_SEL_SHIFT (7U)
  74187. /*! ClkSrc_Sel - ClkSrc_Sel
  74188. * 0b0000..if (DPLL Locked) SPDIF_RxClk else REF_CLK_32K (XTALOSC)
  74189. * 0b0001..if (DPLL Locked) SPDIF_RxClk else tx_clk (SPDIF0_CLK_ROOT)
  74190. * 0b0011..if (DPLL Locked) SPDIF_RxClk else SPDIF_EXT_CLK
  74191. * 0b0101..REF_CLK_32K (XTALOSC)
  74192. * 0b0110..tx_clk (SPDIF0_CLK_ROOT)
  74193. * 0b1000..SPDIF_EXT_CLK
  74194. */
  74195. #define SPDIF_SRPC_CLKSRC_SEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRPC_CLKSRC_SEL_SHIFT)) & SPDIF_SRPC_CLKSRC_SEL_MASK)
  74196. /*! @} */
  74197. /*! @name SIE - InterruptEn Register */
  74198. /*! @{ */
  74199. #define SPDIF_SIE_RXFIFOFUL_MASK (0x1U)
  74200. #define SPDIF_SIE_RXFIFOFUL_SHIFT (0U)
  74201. /*! RxFIFOFul - RxFIFOFul
  74202. */
  74203. #define SPDIF_SIE_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOFUL_SHIFT)) & SPDIF_SIE_RXFIFOFUL_MASK)
  74204. #define SPDIF_SIE_TXEM_MASK (0x2U)
  74205. #define SPDIF_SIE_TXEM_SHIFT (1U)
  74206. /*! TxEm - TxEm
  74207. */
  74208. #define SPDIF_SIE_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXEM_SHIFT)) & SPDIF_SIE_TXEM_MASK)
  74209. #define SPDIF_SIE_LOCKLOSS_MASK (0x4U)
  74210. #define SPDIF_SIE_LOCKLOSS_SHIFT (2U)
  74211. /*! LockLoss - LockLoss
  74212. */
  74213. #define SPDIF_SIE_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCKLOSS_SHIFT)) & SPDIF_SIE_LOCKLOSS_MASK)
  74214. #define SPDIF_SIE_RXFIFORESYN_MASK (0x8U)
  74215. #define SPDIF_SIE_RXFIFORESYN_SHIFT (3U)
  74216. /*! RxFIFOResyn - RxFIFOResyn
  74217. */
  74218. #define SPDIF_SIE_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFORESYN_SHIFT)) & SPDIF_SIE_RXFIFORESYN_MASK)
  74219. #define SPDIF_SIE_RXFIFOUNOV_MASK (0x10U)
  74220. #define SPDIF_SIE_RXFIFOUNOV_SHIFT (4U)
  74221. /*! RxFIFOUnOv - RxFIFOUnOv
  74222. */
  74223. #define SPDIF_SIE_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_RXFIFOUNOV_SHIFT)) & SPDIF_SIE_RXFIFOUNOV_MASK)
  74224. #define SPDIF_SIE_UQERR_MASK (0x20U)
  74225. #define SPDIF_SIE_UQERR_SHIFT (5U)
  74226. /*! UQErr - UQErr
  74227. */
  74228. #define SPDIF_SIE_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQERR_SHIFT)) & SPDIF_SIE_UQERR_MASK)
  74229. #define SPDIF_SIE_UQSYNC_MASK (0x40U)
  74230. #define SPDIF_SIE_UQSYNC_SHIFT (6U)
  74231. /*! UQSync - UQSync
  74232. */
  74233. #define SPDIF_SIE_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_UQSYNC_SHIFT)) & SPDIF_SIE_UQSYNC_MASK)
  74234. #define SPDIF_SIE_QRXOV_MASK (0x80U)
  74235. #define SPDIF_SIE_QRXOV_SHIFT (7U)
  74236. /*! QRxOv - QRxOv
  74237. */
  74238. #define SPDIF_SIE_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXOV_SHIFT)) & SPDIF_SIE_QRXOV_MASK)
  74239. #define SPDIF_SIE_QRXFUL_MASK (0x100U)
  74240. #define SPDIF_SIE_QRXFUL_SHIFT (8U)
  74241. /*! QRxFul - QRxFul
  74242. */
  74243. #define SPDIF_SIE_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_QRXFUL_SHIFT)) & SPDIF_SIE_QRXFUL_MASK)
  74244. #define SPDIF_SIE_URXOV_MASK (0x200U)
  74245. #define SPDIF_SIE_URXOV_SHIFT (9U)
  74246. /*! URxOv - URxOv
  74247. */
  74248. #define SPDIF_SIE_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXOV_SHIFT)) & SPDIF_SIE_URXOV_MASK)
  74249. #define SPDIF_SIE_URXFUL_MASK (0x400U)
  74250. #define SPDIF_SIE_URXFUL_SHIFT (10U)
  74251. /*! URxFul - URxFul
  74252. */
  74253. #define SPDIF_SIE_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_URXFUL_SHIFT)) & SPDIF_SIE_URXFUL_MASK)
  74254. #define SPDIF_SIE_BITERR_MASK (0x4000U)
  74255. #define SPDIF_SIE_BITERR_SHIFT (14U)
  74256. /*! BitErr - BitErr
  74257. */
  74258. #define SPDIF_SIE_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_BITERR_SHIFT)) & SPDIF_SIE_BITERR_MASK)
  74259. #define SPDIF_SIE_SYMERR_MASK (0x8000U)
  74260. #define SPDIF_SIE_SYMERR_SHIFT (15U)
  74261. /*! SymErr - SymErr
  74262. */
  74263. #define SPDIF_SIE_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_SYMERR_SHIFT)) & SPDIF_SIE_SYMERR_MASK)
  74264. #define SPDIF_SIE_VALNOGOOD_MASK (0x10000U)
  74265. #define SPDIF_SIE_VALNOGOOD_SHIFT (16U)
  74266. /*! ValNoGood - ValNoGood
  74267. */
  74268. #define SPDIF_SIE_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_VALNOGOOD_SHIFT)) & SPDIF_SIE_VALNOGOOD_MASK)
  74269. #define SPDIF_SIE_CNEW_MASK (0x20000U)
  74270. #define SPDIF_SIE_CNEW_SHIFT (17U)
  74271. /*! CNew - CNew
  74272. */
  74273. #define SPDIF_SIE_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_CNEW_SHIFT)) & SPDIF_SIE_CNEW_MASK)
  74274. #define SPDIF_SIE_TXRESYN_MASK (0x40000U)
  74275. #define SPDIF_SIE_TXRESYN_SHIFT (18U)
  74276. /*! TxResyn - TxResyn
  74277. */
  74278. #define SPDIF_SIE_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXRESYN_SHIFT)) & SPDIF_SIE_TXRESYN_MASK)
  74279. #define SPDIF_SIE_TXUNOV_MASK (0x80000U)
  74280. #define SPDIF_SIE_TXUNOV_SHIFT (19U)
  74281. /*! TxUnOv - TxUnOv
  74282. */
  74283. #define SPDIF_SIE_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_TXUNOV_SHIFT)) & SPDIF_SIE_TXUNOV_MASK)
  74284. #define SPDIF_SIE_LOCK_MASK (0x100000U)
  74285. #define SPDIF_SIE_LOCK_SHIFT (20U)
  74286. /*! Lock - Lock
  74287. */
  74288. #define SPDIF_SIE_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIE_LOCK_SHIFT)) & SPDIF_SIE_LOCK_MASK)
  74289. /*! @} */
  74290. /*! @name SIC - InterruptClear Register */
  74291. /*! @{ */
  74292. #define SPDIF_SIC_LOCKLOSS_MASK (0x4U)
  74293. #define SPDIF_SIC_LOCKLOSS_SHIFT (2U)
  74294. /*! LockLoss - LockLoss
  74295. */
  74296. #define SPDIF_SIC_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCKLOSS_SHIFT)) & SPDIF_SIC_LOCKLOSS_MASK)
  74297. #define SPDIF_SIC_RXFIFORESYN_MASK (0x8U)
  74298. #define SPDIF_SIC_RXFIFORESYN_SHIFT (3U)
  74299. /*! RxFIFOResyn - RxFIFOResyn
  74300. */
  74301. #define SPDIF_SIC_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFORESYN_SHIFT)) & SPDIF_SIC_RXFIFORESYN_MASK)
  74302. #define SPDIF_SIC_RXFIFOUNOV_MASK (0x10U)
  74303. #define SPDIF_SIC_RXFIFOUNOV_SHIFT (4U)
  74304. /*! RxFIFOUnOv - RxFIFOUnOv
  74305. */
  74306. #define SPDIF_SIC_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_RXFIFOUNOV_SHIFT)) & SPDIF_SIC_RXFIFOUNOV_MASK)
  74307. #define SPDIF_SIC_UQERR_MASK (0x20U)
  74308. #define SPDIF_SIC_UQERR_SHIFT (5U)
  74309. /*! UQErr - UQErr
  74310. */
  74311. #define SPDIF_SIC_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQERR_SHIFT)) & SPDIF_SIC_UQERR_MASK)
  74312. #define SPDIF_SIC_UQSYNC_MASK (0x40U)
  74313. #define SPDIF_SIC_UQSYNC_SHIFT (6U)
  74314. /*! UQSync - UQSync
  74315. */
  74316. #define SPDIF_SIC_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_UQSYNC_SHIFT)) & SPDIF_SIC_UQSYNC_MASK)
  74317. #define SPDIF_SIC_QRXOV_MASK (0x80U)
  74318. #define SPDIF_SIC_QRXOV_SHIFT (7U)
  74319. /*! QRxOv - QRxOv
  74320. */
  74321. #define SPDIF_SIC_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_QRXOV_SHIFT)) & SPDIF_SIC_QRXOV_MASK)
  74322. #define SPDIF_SIC_URXOV_MASK (0x200U)
  74323. #define SPDIF_SIC_URXOV_SHIFT (9U)
  74324. /*! URxOv - URxOv
  74325. */
  74326. #define SPDIF_SIC_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_URXOV_SHIFT)) & SPDIF_SIC_URXOV_MASK)
  74327. #define SPDIF_SIC_BITERR_MASK (0x4000U)
  74328. #define SPDIF_SIC_BITERR_SHIFT (14U)
  74329. /*! BitErr - BitErr
  74330. */
  74331. #define SPDIF_SIC_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_BITERR_SHIFT)) & SPDIF_SIC_BITERR_MASK)
  74332. #define SPDIF_SIC_SYMERR_MASK (0x8000U)
  74333. #define SPDIF_SIC_SYMERR_SHIFT (15U)
  74334. /*! SymErr - SymErr
  74335. */
  74336. #define SPDIF_SIC_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_SYMERR_SHIFT)) & SPDIF_SIC_SYMERR_MASK)
  74337. #define SPDIF_SIC_VALNOGOOD_MASK (0x10000U)
  74338. #define SPDIF_SIC_VALNOGOOD_SHIFT (16U)
  74339. /*! ValNoGood - ValNoGood
  74340. */
  74341. #define SPDIF_SIC_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_VALNOGOOD_SHIFT)) & SPDIF_SIC_VALNOGOOD_MASK)
  74342. #define SPDIF_SIC_CNEW_MASK (0x20000U)
  74343. #define SPDIF_SIC_CNEW_SHIFT (17U)
  74344. /*! CNew - CNew
  74345. */
  74346. #define SPDIF_SIC_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_CNEW_SHIFT)) & SPDIF_SIC_CNEW_MASK)
  74347. #define SPDIF_SIC_TXRESYN_MASK (0x40000U)
  74348. #define SPDIF_SIC_TXRESYN_SHIFT (18U)
  74349. /*! TxResyn - TxResyn
  74350. */
  74351. #define SPDIF_SIC_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXRESYN_SHIFT)) & SPDIF_SIC_TXRESYN_MASK)
  74352. #define SPDIF_SIC_TXUNOV_MASK (0x80000U)
  74353. #define SPDIF_SIC_TXUNOV_SHIFT (19U)
  74354. /*! TxUnOv - TxUnOv
  74355. */
  74356. #define SPDIF_SIC_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_TXUNOV_SHIFT)) & SPDIF_SIC_TXUNOV_MASK)
  74357. #define SPDIF_SIC_LOCK_MASK (0x100000U)
  74358. #define SPDIF_SIC_LOCK_SHIFT (20U)
  74359. /*! Lock - Lock
  74360. */
  74361. #define SPDIF_SIC_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIC_LOCK_SHIFT)) & SPDIF_SIC_LOCK_MASK)
  74362. /*! @} */
  74363. /*! @name SIS - InterruptStat Register */
  74364. /*! @{ */
  74365. #define SPDIF_SIS_RXFIFOFUL_MASK (0x1U)
  74366. #define SPDIF_SIS_RXFIFOFUL_SHIFT (0U)
  74367. /*! RxFIFOFul - RxFIFOFul
  74368. */
  74369. #define SPDIF_SIS_RXFIFOFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOFUL_SHIFT)) & SPDIF_SIS_RXFIFOFUL_MASK)
  74370. #define SPDIF_SIS_TXEM_MASK (0x2U)
  74371. #define SPDIF_SIS_TXEM_SHIFT (1U)
  74372. /*! TxEm - TxEm
  74373. */
  74374. #define SPDIF_SIS_TXEM(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXEM_SHIFT)) & SPDIF_SIS_TXEM_MASK)
  74375. #define SPDIF_SIS_LOCKLOSS_MASK (0x4U)
  74376. #define SPDIF_SIS_LOCKLOSS_SHIFT (2U)
  74377. /*! LockLoss - LockLoss
  74378. */
  74379. #define SPDIF_SIS_LOCKLOSS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCKLOSS_SHIFT)) & SPDIF_SIS_LOCKLOSS_MASK)
  74380. #define SPDIF_SIS_RXFIFORESYN_MASK (0x8U)
  74381. #define SPDIF_SIS_RXFIFORESYN_SHIFT (3U)
  74382. /*! RxFIFOResyn - RxFIFOResyn
  74383. */
  74384. #define SPDIF_SIS_RXFIFORESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFORESYN_SHIFT)) & SPDIF_SIS_RXFIFORESYN_MASK)
  74385. #define SPDIF_SIS_RXFIFOUNOV_MASK (0x10U)
  74386. #define SPDIF_SIS_RXFIFOUNOV_SHIFT (4U)
  74387. /*! RxFIFOUnOv - RxFIFOUnOv
  74388. */
  74389. #define SPDIF_SIS_RXFIFOUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_RXFIFOUNOV_SHIFT)) & SPDIF_SIS_RXFIFOUNOV_MASK)
  74390. #define SPDIF_SIS_UQERR_MASK (0x20U)
  74391. #define SPDIF_SIS_UQERR_SHIFT (5U)
  74392. /*! UQErr - UQErr
  74393. */
  74394. #define SPDIF_SIS_UQERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQERR_SHIFT)) & SPDIF_SIS_UQERR_MASK)
  74395. #define SPDIF_SIS_UQSYNC_MASK (0x40U)
  74396. #define SPDIF_SIS_UQSYNC_SHIFT (6U)
  74397. /*! UQSync - UQSync
  74398. */
  74399. #define SPDIF_SIS_UQSYNC(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_UQSYNC_SHIFT)) & SPDIF_SIS_UQSYNC_MASK)
  74400. #define SPDIF_SIS_QRXOV_MASK (0x80U)
  74401. #define SPDIF_SIS_QRXOV_SHIFT (7U)
  74402. /*! QRxOv - QRxOv
  74403. */
  74404. #define SPDIF_SIS_QRXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXOV_SHIFT)) & SPDIF_SIS_QRXOV_MASK)
  74405. #define SPDIF_SIS_QRXFUL_MASK (0x100U)
  74406. #define SPDIF_SIS_QRXFUL_SHIFT (8U)
  74407. /*! QRxFul - QRxFul
  74408. */
  74409. #define SPDIF_SIS_QRXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_QRXFUL_SHIFT)) & SPDIF_SIS_QRXFUL_MASK)
  74410. #define SPDIF_SIS_URXOV_MASK (0x200U)
  74411. #define SPDIF_SIS_URXOV_SHIFT (9U)
  74412. /*! URxOv - URxOv
  74413. */
  74414. #define SPDIF_SIS_URXOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXOV_SHIFT)) & SPDIF_SIS_URXOV_MASK)
  74415. #define SPDIF_SIS_URXFUL_MASK (0x400U)
  74416. #define SPDIF_SIS_URXFUL_SHIFT (10U)
  74417. /*! URxFul - URxFul
  74418. */
  74419. #define SPDIF_SIS_URXFUL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_URXFUL_SHIFT)) & SPDIF_SIS_URXFUL_MASK)
  74420. #define SPDIF_SIS_BITERR_MASK (0x4000U)
  74421. #define SPDIF_SIS_BITERR_SHIFT (14U)
  74422. /*! BitErr - BitErr
  74423. */
  74424. #define SPDIF_SIS_BITERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_BITERR_SHIFT)) & SPDIF_SIS_BITERR_MASK)
  74425. #define SPDIF_SIS_SYMERR_MASK (0x8000U)
  74426. #define SPDIF_SIS_SYMERR_SHIFT (15U)
  74427. /*! SymErr - SymErr
  74428. */
  74429. #define SPDIF_SIS_SYMERR(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_SYMERR_SHIFT)) & SPDIF_SIS_SYMERR_MASK)
  74430. #define SPDIF_SIS_VALNOGOOD_MASK (0x10000U)
  74431. #define SPDIF_SIS_VALNOGOOD_SHIFT (16U)
  74432. /*! ValNoGood - ValNoGood
  74433. */
  74434. #define SPDIF_SIS_VALNOGOOD(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_VALNOGOOD_SHIFT)) & SPDIF_SIS_VALNOGOOD_MASK)
  74435. #define SPDIF_SIS_CNEW_MASK (0x20000U)
  74436. #define SPDIF_SIS_CNEW_SHIFT (17U)
  74437. /*! CNew - CNew
  74438. */
  74439. #define SPDIF_SIS_CNEW(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_CNEW_SHIFT)) & SPDIF_SIS_CNEW_MASK)
  74440. #define SPDIF_SIS_TXRESYN_MASK (0x40000U)
  74441. #define SPDIF_SIS_TXRESYN_SHIFT (18U)
  74442. /*! TxResyn - TxResyn
  74443. */
  74444. #define SPDIF_SIS_TXRESYN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXRESYN_SHIFT)) & SPDIF_SIS_TXRESYN_MASK)
  74445. #define SPDIF_SIS_TXUNOV_MASK (0x80000U)
  74446. #define SPDIF_SIS_TXUNOV_SHIFT (19U)
  74447. /*! TxUnOv - TxUnOv
  74448. */
  74449. #define SPDIF_SIS_TXUNOV(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_TXUNOV_SHIFT)) & SPDIF_SIS_TXUNOV_MASK)
  74450. #define SPDIF_SIS_LOCK_MASK (0x100000U)
  74451. #define SPDIF_SIS_LOCK_SHIFT (20U)
  74452. /*! Lock - Lock
  74453. */
  74454. #define SPDIF_SIS_LOCK(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SIS_LOCK_SHIFT)) & SPDIF_SIS_LOCK_MASK)
  74455. /*! @} */
  74456. /*! @name SRL - SPDIFRxLeft Register */
  74457. /*! @{ */
  74458. #define SPDIF_SRL_RXDATALEFT_MASK (0xFFFFFFU)
  74459. #define SPDIF_SRL_RXDATALEFT_SHIFT (0U)
  74460. /*! RxDataLeft - RxDataLeft
  74461. */
  74462. #define SPDIF_SRL_RXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRL_RXDATALEFT_SHIFT)) & SPDIF_SRL_RXDATALEFT_MASK)
  74463. /*! @} */
  74464. /*! @name SRR - SPDIFRxRight Register */
  74465. /*! @{ */
  74466. #define SPDIF_SRR_RXDATARIGHT_MASK (0xFFFFFFU)
  74467. #define SPDIF_SRR_RXDATARIGHT_SHIFT (0U)
  74468. /*! RxDataRight - RxDataRight
  74469. */
  74470. #define SPDIF_SRR_RXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRR_RXDATARIGHT_SHIFT)) & SPDIF_SRR_RXDATARIGHT_MASK)
  74471. /*! @} */
  74472. /*! @name SRCSH - SPDIFRxCChannel_h Register */
  74473. /*! @{ */
  74474. #define SPDIF_SRCSH_RXCCHANNEL_H_MASK (0xFFFFFFU)
  74475. #define SPDIF_SRCSH_RXCCHANNEL_H_SHIFT (0U)
  74476. /*! RxCChannel_h - RxCChannel_h
  74477. */
  74478. #define SPDIF_SRCSH_RXCCHANNEL_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSH_RXCCHANNEL_H_SHIFT)) & SPDIF_SRCSH_RXCCHANNEL_H_MASK)
  74479. /*! @} */
  74480. /*! @name SRCSL - SPDIFRxCChannel_l Register */
  74481. /*! @{ */
  74482. #define SPDIF_SRCSL_RXCCHANNEL_L_MASK (0xFFFFFFU)
  74483. #define SPDIF_SRCSL_RXCCHANNEL_L_SHIFT (0U)
  74484. /*! RxCChannel_l - RxCChannel_l
  74485. */
  74486. #define SPDIF_SRCSL_RXCCHANNEL_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRCSL_RXCCHANNEL_L_SHIFT)) & SPDIF_SRCSL_RXCCHANNEL_L_MASK)
  74487. /*! @} */
  74488. /*! @name SRU - UchannelRx Register */
  74489. /*! @{ */
  74490. #define SPDIF_SRU_RXUCHANNEL_MASK (0xFFFFFFU)
  74491. #define SPDIF_SRU_RXUCHANNEL_SHIFT (0U)
  74492. /*! RxUChannel - RxUChannel
  74493. */
  74494. #define SPDIF_SRU_RXUCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRU_RXUCHANNEL_SHIFT)) & SPDIF_SRU_RXUCHANNEL_MASK)
  74495. /*! @} */
  74496. /*! @name SRQ - QchannelRx Register */
  74497. /*! @{ */
  74498. #define SPDIF_SRQ_RXQCHANNEL_MASK (0xFFFFFFU)
  74499. #define SPDIF_SRQ_RXQCHANNEL_SHIFT (0U)
  74500. /*! RxQChannel - RxQChannel
  74501. */
  74502. #define SPDIF_SRQ_RXQCHANNEL(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRQ_RXQCHANNEL_SHIFT)) & SPDIF_SRQ_RXQCHANNEL_MASK)
  74503. /*! @} */
  74504. /*! @name STL - SPDIFTxLeft Register */
  74505. /*! @{ */
  74506. #define SPDIF_STL_TXDATALEFT_MASK (0xFFFFFFU)
  74507. #define SPDIF_STL_TXDATALEFT_SHIFT (0U)
  74508. /*! TxDataLeft - TxDataLeft
  74509. */
  74510. #define SPDIF_STL_TXDATALEFT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STL_TXDATALEFT_SHIFT)) & SPDIF_STL_TXDATALEFT_MASK)
  74511. /*! @} */
  74512. /*! @name STR - SPDIFTxRight Register */
  74513. /*! @{ */
  74514. #define SPDIF_STR_TXDATARIGHT_MASK (0xFFFFFFU)
  74515. #define SPDIF_STR_TXDATARIGHT_SHIFT (0U)
  74516. /*! TxDataRight - TxDataRight
  74517. */
  74518. #define SPDIF_STR_TXDATARIGHT(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STR_TXDATARIGHT_SHIFT)) & SPDIF_STR_TXDATARIGHT_MASK)
  74519. /*! @} */
  74520. /*! @name STCSCH - SPDIFTxCChannelCons_h Register */
  74521. /*! @{ */
  74522. #define SPDIF_STCSCH_TXCCHANNELCONS_H_MASK (0xFFFFFFU)
  74523. #define SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT (0U)
  74524. /*! TxCChannelCons_h - TxCChannelCons_h
  74525. */
  74526. #define SPDIF_STCSCH_TXCCHANNELCONS_H(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCH_TXCCHANNELCONS_H_SHIFT)) & SPDIF_STCSCH_TXCCHANNELCONS_H_MASK)
  74527. /*! @} */
  74528. /*! @name STCSCL - SPDIFTxCChannelCons_l Register */
  74529. /*! @{ */
  74530. #define SPDIF_STCSCL_TXCCHANNELCONS_L_MASK (0xFFFFFFU)
  74531. #define SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT (0U)
  74532. /*! TxCChannelCons_l - TxCChannelCons_l
  74533. */
  74534. #define SPDIF_STCSCL_TXCCHANNELCONS_L(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STCSCL_TXCCHANNELCONS_L_SHIFT)) & SPDIF_STCSCL_TXCCHANNELCONS_L_MASK)
  74535. /*! @} */
  74536. /*! @name SRFM - FreqMeas Register */
  74537. /*! @{ */
  74538. #define SPDIF_SRFM_FREQMEAS_MASK (0xFFFFFFU)
  74539. #define SPDIF_SRFM_FREQMEAS_SHIFT (0U)
  74540. /*! FreqMeas - FreqMeas
  74541. */
  74542. #define SPDIF_SRFM_FREQMEAS(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_SRFM_FREQMEAS_SHIFT)) & SPDIF_SRFM_FREQMEAS_MASK)
  74543. /*! @} */
  74544. /*! @name STC - SPDIFTxClk Register */
  74545. /*! @{ */
  74546. #define SPDIF_STC_TXCLK_DF_MASK (0x7FU)
  74547. #define SPDIF_STC_TXCLK_DF_SHIFT (0U)
  74548. /*! TxClk_DF - TxClk_DF
  74549. * 0b0000000..divider factor is 1
  74550. * 0b0000001..divider factor is 2
  74551. * 0b1111111..divider factor is 128
  74552. */
  74553. #define SPDIF_STC_TXCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_DF_SHIFT)) & SPDIF_STC_TXCLK_DF_MASK)
  74554. #define SPDIF_STC_TX_ALL_CLK_EN_MASK (0x80U)
  74555. #define SPDIF_STC_TX_ALL_CLK_EN_SHIFT (7U)
  74556. /*! tx_all_clk_en - tx_all_clk_en
  74557. * 0b0..disable transfer clock.
  74558. * 0b1..enable transfer clock.
  74559. */
  74560. #define SPDIF_STC_TX_ALL_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TX_ALL_CLK_EN_SHIFT)) & SPDIF_STC_TX_ALL_CLK_EN_MASK)
  74561. #define SPDIF_STC_TXCLK_SOURCE_MASK (0x700U)
  74562. #define SPDIF_STC_TXCLK_SOURCE_SHIFT (8U)
  74563. /*! TxClk_Source - TxClk_Source
  74564. * 0b000..REF_CLK_32K input (XTALOSC 32 kHz clock)
  74565. * 0b001..tx_clk input (from SPDIF0_CLK_ROOT. See clock control block for more information.)
  74566. * 0b011..SPDIF_EXT_CLK, from pads
  74567. * 0b101..ipg_clk input (frequency divided)
  74568. */
  74569. #define SPDIF_STC_TXCLK_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_TXCLK_SOURCE_SHIFT)) & SPDIF_STC_TXCLK_SOURCE_MASK)
  74570. #define SPDIF_STC_SYSCLK_DF_MASK (0xFF800U)
  74571. #define SPDIF_STC_SYSCLK_DF_SHIFT (11U)
  74572. /*! SYSCLK_DF - SYSCLK_DF
  74573. * 0b000000000..no clock signal
  74574. * 0b000000001..divider factor is 2
  74575. * 0b111111111..divider factor is 512
  74576. */
  74577. #define SPDIF_STC_SYSCLK_DF(x) (((uint32_t)(((uint32_t)(x)) << SPDIF_STC_SYSCLK_DF_SHIFT)) & SPDIF_STC_SYSCLK_DF_MASK)
  74578. /*! @} */
  74579. /*!
  74580. * @}
  74581. */ /* end of group SPDIF_Register_Masks */
  74582. /* SPDIF - Peripheral instance base addresses */
  74583. /** Peripheral SPDIF base address */
  74584. #define SPDIF_BASE (0x40400000u)
  74585. /** Peripheral SPDIF base pointer */
  74586. #define SPDIF ((SPDIF_Type *)SPDIF_BASE)
  74587. /** Array initializer of SPDIF peripheral base addresses */
  74588. #define SPDIF_BASE_ADDRS { SPDIF_BASE }
  74589. /** Array initializer of SPDIF peripheral base pointers */
  74590. #define SPDIF_BASE_PTRS { SPDIF }
  74591. /** Interrupt vectors for the SPDIF peripheral type */
  74592. #define SPDIF_IRQS { SPDIF_IRQn }
  74593. /*!
  74594. * @}
  74595. */ /* end of group SPDIF_Peripheral_Access_Layer */
  74596. /* ----------------------------------------------------------------------------
  74597. -- SRAM Peripheral Access Layer
  74598. ---------------------------------------------------------------------------- */
  74599. /*!
  74600. * @addtogroup SRAM_Peripheral_Access_Layer SRAM Peripheral Access Layer
  74601. * @{
  74602. */
  74603. /** SRAM - Register Layout Typedef */
  74604. typedef struct {
  74605. uint8_t RESERVED_0[12288];
  74606. __IO uint32_t CTRL; /**< Control Register, offset: 0x3000 */
  74607. } SRAM_Type;
  74608. /* ----------------------------------------------------------------------------
  74609. -- SRAM Register Masks
  74610. ---------------------------------------------------------------------------- */
  74611. /*!
  74612. * @addtogroup SRAM_Register_Masks SRAM Register Masks
  74613. * @{
  74614. */
  74615. /*! @name CTRL - Control Register */
  74616. /*! @{ */
  74617. #define SRAM_CTRL_RAM_RD_EN_MASK (0x1U)
  74618. #define SRAM_CTRL_RAM_RD_EN_SHIFT (0U)
  74619. /*! RAM_RD_EN - RAM Read Enable (with lock)
  74620. * 0b0..Disable read access
  74621. * 0b1..Enable read access
  74622. */
  74623. #define SRAM_CTRL_RAM_RD_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_RAM_RD_EN_SHIFT)) & SRAM_CTRL_RAM_RD_EN_MASK)
  74624. #define SRAM_CTRL_RAM_WR_EN_MASK (0x2U)
  74625. #define SRAM_CTRL_RAM_WR_EN_SHIFT (1U)
  74626. /*! RAM_WR_EN - RAM Write Enable (with lock)
  74627. * 0b0..Disable write access
  74628. * 0b1..Enable write access
  74629. */
  74630. #define SRAM_CTRL_RAM_WR_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_RAM_WR_EN_SHIFT)) & SRAM_CTRL_RAM_WR_EN_MASK)
  74631. #define SRAM_CTRL_PWR_EN_MASK (0x3CU)
  74632. #define SRAM_CTRL_PWR_EN_SHIFT (2U)
  74633. /*! PWR_EN - Power Enable (with lock)
  74634. */
  74635. #define SRAM_CTRL_PWR_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_PWR_EN_SHIFT)) & SRAM_CTRL_PWR_EN_MASK)
  74636. #define SRAM_CTRL_TAMPER_BLOCK_EN_MASK (0x40U)
  74637. #define SRAM_CTRL_TAMPER_BLOCK_EN_SHIFT (6U)
  74638. /*! TAMPER_BLOCK_EN - Tamper Block Enable (with lock)
  74639. * 0b0..Allow R/W access to secure RAM when tamper is detected
  74640. * 0b1..Block R/W access to secure RAM when tamper is detected
  74641. */
  74642. #define SRAM_CTRL_TAMPER_BLOCK_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_TAMPER_BLOCK_EN_SHIFT)) & SRAM_CTRL_TAMPER_BLOCK_EN_MASK)
  74643. #define SRAM_CTRL_TAMPER_PWR_OFF_EN_MASK (0x80U)
  74644. #define SRAM_CTRL_TAMPER_PWR_OFF_EN_SHIFT (7U)
  74645. /*! TAMPER_PWR_OFF_EN - Turn off power on tamper event (with lock)
  74646. * 0b0..Disable the turn off function when tamper is detected
  74647. * 0b1..Turn off power for all secure RAM banks when tamper is detected
  74648. */
  74649. #define SRAM_CTRL_TAMPER_PWR_OFF_EN(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_TAMPER_PWR_OFF_EN_SHIFT)) & SRAM_CTRL_TAMPER_PWR_OFF_EN_MASK)
  74650. #define SRAM_CTRL_LOCK_BIT_MASK (0xFF0000U)
  74651. #define SRAM_CTRL_LOCK_BIT_SHIFT (16U)
  74652. /*! LOCK_BIT - Lock bits
  74653. */
  74654. #define SRAM_CTRL_LOCK_BIT(x) (((uint32_t)(((uint32_t)(x)) << SRAM_CTRL_LOCK_BIT_SHIFT)) & SRAM_CTRL_LOCK_BIT_MASK)
  74655. /*! @} */
  74656. /*!
  74657. * @}
  74658. */ /* end of group SRAM_Register_Masks */
  74659. /* SRAM - Peripheral instance base addresses */
  74660. /** Peripheral SRAM base address */
  74661. #define SRAM_BASE (0x40C9C000u)
  74662. /** Peripheral SRAM base pointer */
  74663. #define SRAM ((SRAM_Type *)SRAM_BASE)
  74664. /** Array initializer of SRAM peripheral base addresses */
  74665. #define SRAM_BASE_ADDRS { SRAM_BASE }
  74666. /** Array initializer of SRAM peripheral base pointers */
  74667. #define SRAM_BASE_PTRS { SRAM }
  74668. /*!
  74669. * @}
  74670. */ /* end of group SRAM_Peripheral_Access_Layer */
  74671. /* ----------------------------------------------------------------------------
  74672. -- SRC Peripheral Access Layer
  74673. ---------------------------------------------------------------------------- */
  74674. /*!
  74675. * @addtogroup SRC_Peripheral_Access_Layer SRC Peripheral Access Layer
  74676. * @{
  74677. */
  74678. /** SRC - Register Layout Typedef */
  74679. typedef struct {
  74680. __IO uint32_t SCR; /**< SRC Control Register, offset: 0x0 */
  74681. __IO uint32_t SRMR; /**< SRC Reset Mode Register, offset: 0x4 */
  74682. __I uint32_t SBMR1; /**< SRC Boot Mode Register 1, offset: 0x8 */
  74683. __I uint32_t SBMR2; /**< SRC Boot Mode Register 2, offset: 0xC */
  74684. __IO uint32_t SRSR; /**< SRC Reset Status Register, offset: 0x10 */
  74685. __IO uint32_t GPR[20]; /**< SRC General Purpose Register, array offset: 0x14, array step: 0x4 */
  74686. uint8_t RESERVED_0[412];
  74687. __IO uint32_t AUTHEN_MEGA; /**< Slice Authentication Register, offset: 0x200 */
  74688. __IO uint32_t CTRL_MEGA; /**< Slice Control Register, offset: 0x204 */
  74689. __IO uint32_t SETPOINT_MEGA; /**< Slice Setpoint Config Register, offset: 0x208 */
  74690. __IO uint32_t DOMAIN_MEGA; /**< Slice Domain Config Register, offset: 0x20C */
  74691. __IO uint32_t STAT_MEGA; /**< Slice Status Register, offset: 0x210 */
  74692. uint8_t RESERVED_1[12];
  74693. __IO uint32_t AUTHEN_DISPLAY; /**< Slice Authentication Register, offset: 0x220 */
  74694. __IO uint32_t CTRL_DISPLAY; /**< Slice Control Register, offset: 0x224 */
  74695. __IO uint32_t SETPOINT_DISPLAY; /**< Slice Setpoint Config Register, offset: 0x228 */
  74696. __IO uint32_t DOMAIN_DISPLAY; /**< Slice Domain Config Register, offset: 0x22C */
  74697. __IO uint32_t STAT_DISPLAY; /**< Slice Status Register, offset: 0x230 */
  74698. uint8_t RESERVED_2[12];
  74699. __IO uint32_t AUTHEN_WAKEUP; /**< Slice Authentication Register, offset: 0x240 */
  74700. __IO uint32_t CTRL_WAKEUP; /**< Slice Control Register, offset: 0x244 */
  74701. __IO uint32_t SETPOINT_WAKEUP; /**< Slice Setpoint Config Register, offset: 0x248 */
  74702. __IO uint32_t DOMAIN_WAKEUP; /**< Slice Domain Config Register, offset: 0x24C */
  74703. __IO uint32_t STAT_WAKEUP; /**< Slice Status Register, offset: 0x250 */
  74704. uint8_t RESERVED_3[44];
  74705. __IO uint32_t AUTHEN_M4CORE; /**< Slice Authentication Register, offset: 0x280 */
  74706. __IO uint32_t CTRL_M4CORE; /**< Slice Control Register, offset: 0x284 */
  74707. __IO uint32_t SETPOINT_M4CORE; /**< Slice Setpoint Config Register, offset: 0x288 */
  74708. __IO uint32_t DOMAIN_M4CORE; /**< Slice Domain Config Register, offset: 0x28C */
  74709. __IO uint32_t STAT_M4CORE; /**< Slice Status Register, offset: 0x290 */
  74710. uint8_t RESERVED_4[12];
  74711. __IO uint32_t AUTHEN_M7CORE; /**< Slice Authentication Register, offset: 0x2A0 */
  74712. __IO uint32_t CTRL_M7CORE; /**< Slice Control Register, offset: 0x2A4 */
  74713. __IO uint32_t SETPOINT_M7CORE; /**< Slice Setpoint Config Register, offset: 0x2A8 */
  74714. __IO uint32_t DOMAIN_M7CORE; /**< Slice Domain Config Register, offset: 0x2AC */
  74715. __IO uint32_t STAT_M7CORE; /**< Slice Status Register, offset: 0x2B0 */
  74716. uint8_t RESERVED_5[12];
  74717. __IO uint32_t AUTHEN_M4DEBUG; /**< Slice Authentication Register, offset: 0x2C0 */
  74718. __IO uint32_t CTRL_M4DEBUG; /**< Slice Control Register, offset: 0x2C4 */
  74719. __IO uint32_t SETPOINT_M4DEBUG; /**< Slice Setpoint Config Register, offset: 0x2C8 */
  74720. __IO uint32_t DOMAIN_M4DEBUG; /**< Slice Domain Config Register, offset: 0x2CC */
  74721. __IO uint32_t STAT_M4DEBUG; /**< Slice Status Register, offset: 0x2D0 */
  74722. uint8_t RESERVED_6[12];
  74723. __IO uint32_t AUTHEN_M7DEBUG; /**< Slice Authentication Register, offset: 0x2E0 */
  74724. __IO uint32_t CTRL_M7DEBUG; /**< Slice Control Register, offset: 0x2E4 */
  74725. __IO uint32_t SETPOINT_M7DEBUG; /**< Slice Setpoint Config Register, offset: 0x2E8 */
  74726. __IO uint32_t DOMAIN_M7DEBUG; /**< Slice Domain Config Register, offset: 0x2EC */
  74727. __IO uint32_t STAT_M7DEBUG; /**< Slice Status Register, offset: 0x2F0 */
  74728. uint8_t RESERVED_7[12];
  74729. __IO uint32_t AUTHEN_USBPHY1; /**< Slice Authentication Register, offset: 0x300 */
  74730. __IO uint32_t CTRL_USBPHY1; /**< Slice Control Register, offset: 0x304 */
  74731. __IO uint32_t SETPOINT_USBPHY1; /**< Slice Setpoint Config Register, offset: 0x308 */
  74732. __IO uint32_t DOMAIN_USBPHY1; /**< Slice Domain Config Register, offset: 0x30C */
  74733. __IO uint32_t STAT_USBPHY1; /**< Slice Status Register, offset: 0x310 */
  74734. uint8_t RESERVED_8[12];
  74735. __IO uint32_t AUTHEN_USBPHY2; /**< Slice Authentication Register, offset: 0x320 */
  74736. __IO uint32_t CTRL_USBPHY2; /**< Slice Control Register, offset: 0x324 */
  74737. __IO uint32_t SETPOINT_USBPHY2; /**< Slice Setpoint Config Register, offset: 0x328 */
  74738. __IO uint32_t DOMAIN_USBPHY2; /**< Slice Domain Config Register, offset: 0x32C */
  74739. __IO uint32_t STAT_USBPHY2; /**< Slice Status Register, offset: 0x330 */
  74740. } SRC_Type;
  74741. /* ----------------------------------------------------------------------------
  74742. -- SRC Register Masks
  74743. ---------------------------------------------------------------------------- */
  74744. /*!
  74745. * @addtogroup SRC_Register_Masks SRC Register Masks
  74746. * @{
  74747. */
  74748. /*! @name SCR - SRC Control Register */
  74749. /*! @{ */
  74750. #define SRC_SCR_BT_RELEASE_M4_MASK (0x1U)
  74751. #define SRC_SCR_BT_RELEASE_M4_SHIFT (0U)
  74752. /*! BT_RELEASE_M4
  74753. * 0b0..cm4 core reset is asserted
  74754. * 0b1..cm4 core reset is released
  74755. */
  74756. #define SRC_SCR_BT_RELEASE_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_BT_RELEASE_M4_SHIFT)) & SRC_SCR_BT_RELEASE_M4_MASK)
  74757. #define SRC_SCR_BT_RELEASE_M7_MASK (0x2U)
  74758. #define SRC_SCR_BT_RELEASE_M7_SHIFT (1U)
  74759. /*! BT_RELEASE_M7
  74760. * 0b0..cm7 core reset is asserted
  74761. * 0b1..cm7 core reset is released
  74762. */
  74763. #define SRC_SCR_BT_RELEASE_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SCR_BT_RELEASE_M7_SHIFT)) & SRC_SCR_BT_RELEASE_M7_MASK)
  74764. /*! @} */
  74765. /*! @name SRMR - SRC Reset Mode Register */
  74766. /*! @{ */
  74767. #define SRC_SRMR_WDOG_RESET_MODE_MASK (0x3U)
  74768. #define SRC_SRMR_WDOG_RESET_MODE_SHIFT (0U)
  74769. /*! WDOG_RESET_MODE - Wdog reset mode configuration
  74770. * 0b00..reset system
  74771. * 0b01..reserved
  74772. * 0b10..reserved
  74773. * 0b11..do not reset anything
  74774. */
  74775. #define SRC_SRMR_WDOG_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG_RESET_MODE_MASK)
  74776. #define SRC_SRMR_WDOG3_RESET_MODE_MASK (0xCU)
  74777. #define SRC_SRMR_WDOG3_RESET_MODE_SHIFT (2U)
  74778. /*! WDOG3_RESET_MODE - Wdog3 reset mode configuration
  74779. * 0b00..reset system
  74780. * 0b01..reserved
  74781. * 0b10..reserved
  74782. * 0b11..do not reset anything
  74783. */
  74784. #define SRC_SRMR_WDOG3_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG3_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG3_RESET_MODE_MASK)
  74785. #define SRC_SRMR_WDOG4_RESET_MODE_MASK (0x30U)
  74786. #define SRC_SRMR_WDOG4_RESET_MODE_SHIFT (4U)
  74787. /*! WDOG4_RESET_MODE - Wdog4 reset mode configuration
  74788. * 0b00..reset system
  74789. * 0b01..reserved
  74790. * 0b10..reserved
  74791. * 0b11..do not reset anything
  74792. */
  74793. #define SRC_SRMR_WDOG4_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_WDOG4_RESET_MODE_SHIFT)) & SRC_SRMR_WDOG4_RESET_MODE_MASK)
  74794. #define SRC_SRMR_M4LOCKUP_RESET_MODE_MASK (0xC0U)
  74795. #define SRC_SRMR_M4LOCKUP_RESET_MODE_SHIFT (6U)
  74796. /*! M4LOCKUP_RESET_MODE - M4 core lockup reset mode configuration
  74797. * 0b00..reset system
  74798. * 0b01..reserved
  74799. * 0b10..reserved
  74800. * 0b11..do not reset anything
  74801. */
  74802. #define SRC_SRMR_M4LOCKUP_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M4LOCKUP_RESET_MODE_SHIFT)) & SRC_SRMR_M4LOCKUP_RESET_MODE_MASK)
  74803. #define SRC_SRMR_M7LOCKUP_RESET_MODE_MASK (0x300U)
  74804. #define SRC_SRMR_M7LOCKUP_RESET_MODE_SHIFT (8U)
  74805. /*! M7LOCKUP_RESET_MODE - M7 core lockup reset mode configuration
  74806. * 0b00..reset system
  74807. * 0b01..reserved
  74808. * 0b10..reserved
  74809. * 0b11..do not reset anything
  74810. */
  74811. #define SRC_SRMR_M7LOCKUP_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M7LOCKUP_RESET_MODE_SHIFT)) & SRC_SRMR_M7LOCKUP_RESET_MODE_MASK)
  74812. #define SRC_SRMR_M4REQ_RESET_MODE_MASK (0xC00U)
  74813. #define SRC_SRMR_M4REQ_RESET_MODE_SHIFT (10U)
  74814. /*! M4REQ_RESET_MODE - M4 request reset configuration
  74815. * 0b00..reset system
  74816. * 0b01..reserved
  74817. * 0b10..reserved
  74818. * 0b11..do not reset anything
  74819. */
  74820. #define SRC_SRMR_M4REQ_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M4REQ_RESET_MODE_SHIFT)) & SRC_SRMR_M4REQ_RESET_MODE_MASK)
  74821. #define SRC_SRMR_M7REQ_RESET_MODE_MASK (0x3000U)
  74822. #define SRC_SRMR_M7REQ_RESET_MODE_SHIFT (12U)
  74823. /*! M7REQ_RESET_MODE - M7 request reset configuration
  74824. * 0b00..reset system
  74825. * 0b01..reserved
  74826. * 0b10..reserved
  74827. * 0b11..do not reset anything
  74828. */
  74829. #define SRC_SRMR_M7REQ_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_M7REQ_RESET_MODE_SHIFT)) & SRC_SRMR_M7REQ_RESET_MODE_MASK)
  74830. #define SRC_SRMR_TEMPSENSE_RESET_MODE_MASK (0xC000U)
  74831. #define SRC_SRMR_TEMPSENSE_RESET_MODE_SHIFT (14U)
  74832. /*! TEMPSENSE_RESET_MODE - Tempsense reset mode configuration
  74833. * 0b00..reset system
  74834. * 0b01..reserved
  74835. * 0b10..reserved
  74836. * 0b11..do not reset anything
  74837. */
  74838. #define SRC_SRMR_TEMPSENSE_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_TEMPSENSE_RESET_MODE_SHIFT)) & SRC_SRMR_TEMPSENSE_RESET_MODE_MASK)
  74839. #define SRC_SRMR_CSU_RESET_MODE_MASK (0x30000U)
  74840. #define SRC_SRMR_CSU_RESET_MODE_SHIFT (16U)
  74841. /*! CSU_RESET_MODE - CSU reset mode configuration
  74842. * 0b00..reset system
  74843. * 0b01..reserved
  74844. * 0b10..reserved
  74845. * 0b11..do not reset anything
  74846. */
  74847. #define SRC_SRMR_CSU_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_CSU_RESET_MODE_SHIFT)) & SRC_SRMR_CSU_RESET_MODE_MASK)
  74848. #define SRC_SRMR_JTAGSW_RESET_MODE_MASK (0xC0000U)
  74849. #define SRC_SRMR_JTAGSW_RESET_MODE_SHIFT (18U)
  74850. /*! JTAGSW_RESET_MODE - Jtag SW reset mode configuration
  74851. * 0b00..reset system
  74852. * 0b01..reserved
  74853. * 0b10..reserved
  74854. * 0b11..do not reset anything
  74855. */
  74856. #define SRC_SRMR_JTAGSW_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_JTAGSW_RESET_MODE_SHIFT)) & SRC_SRMR_JTAGSW_RESET_MODE_MASK)
  74857. #define SRC_SRMR_OVERVOLT_RESET_MODE_MASK (0x300000U)
  74858. #define SRC_SRMR_OVERVOLT_RESET_MODE_SHIFT (20U)
  74859. /*! OVERVOLT_RESET_MODE - Jtag SW reset mode configuration
  74860. * 0b00..reset system
  74861. * 0b01..reserved
  74862. * 0b10..reserved
  74863. * 0b11..do not reset anything
  74864. */
  74865. #define SRC_SRMR_OVERVOLT_RESET_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRMR_OVERVOLT_RESET_MODE_SHIFT)) & SRC_SRMR_OVERVOLT_RESET_MODE_MASK)
  74866. /*! @} */
  74867. /*! @name SBMR1 - SRC Boot Mode Register 1 */
  74868. /*! @{ */
  74869. #define SRC_SBMR1_BOOT_CFG1_MASK (0xFFU)
  74870. #define SRC_SBMR1_BOOT_CFG1_SHIFT (0U)
  74871. #define SRC_SBMR1_BOOT_CFG1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG1_SHIFT)) & SRC_SBMR1_BOOT_CFG1_MASK)
  74872. #define SRC_SBMR1_BOOT_CFG2_MASK (0xFF00U)
  74873. #define SRC_SBMR1_BOOT_CFG2_SHIFT (8U)
  74874. #define SRC_SBMR1_BOOT_CFG2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG2_SHIFT)) & SRC_SBMR1_BOOT_CFG2_MASK)
  74875. #define SRC_SBMR1_BOOT_CFG3_MASK (0xFF0000U)
  74876. #define SRC_SBMR1_BOOT_CFG3_SHIFT (16U)
  74877. #define SRC_SBMR1_BOOT_CFG3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG3_SHIFT)) & SRC_SBMR1_BOOT_CFG3_MASK)
  74878. #define SRC_SBMR1_BOOT_CFG4_MASK (0xFF000000U)
  74879. #define SRC_SBMR1_BOOT_CFG4_SHIFT (24U)
  74880. #define SRC_SBMR1_BOOT_CFG4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR1_BOOT_CFG4_SHIFT)) & SRC_SBMR1_BOOT_CFG4_MASK)
  74881. /*! @} */
  74882. /*! @name SBMR2 - SRC Boot Mode Register 2 */
  74883. /*! @{ */
  74884. #define SRC_SBMR2_SEC_CONFIG_MASK (0x3U)
  74885. #define SRC_SBMR2_SEC_CONFIG_SHIFT (0U)
  74886. #define SRC_SBMR2_SEC_CONFIG(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_SEC_CONFIG_SHIFT)) & SRC_SBMR2_SEC_CONFIG_MASK)
  74887. #define SRC_SBMR2_BT_FUSE_SEL_MASK (0x10U)
  74888. #define SRC_SBMR2_BT_FUSE_SEL_SHIFT (4U)
  74889. #define SRC_SBMR2_BT_FUSE_SEL(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BT_FUSE_SEL_SHIFT)) & SRC_SBMR2_BT_FUSE_SEL_MASK)
  74890. #define SRC_SBMR2_BMOD_MASK (0x3000000U)
  74891. #define SRC_SBMR2_BMOD_SHIFT (24U)
  74892. #define SRC_SBMR2_BMOD(x) (((uint32_t)(((uint32_t)(x)) << SRC_SBMR2_BMOD_SHIFT)) & SRC_SBMR2_BMOD_MASK)
  74893. /*! @} */
  74894. /*! @name SRSR - SRC Reset Status Register */
  74895. /*! @{ */
  74896. #define SRC_SRSR_IPP_RESET_B_M7_MASK (0x1U)
  74897. #define SRC_SRSR_IPP_RESET_B_M7_SHIFT (0U)
  74898. /*! IPP_RESET_B_M7
  74899. * 0b0..Reset is not a result of ipp_reset_b pin.
  74900. * 0b1..Reset is a result of ipp_reset_b pin.
  74901. */
  74902. #define SRC_SRSR_IPP_RESET_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_RESET_B_M7_SHIFT)) & SRC_SRSR_IPP_RESET_B_M7_MASK)
  74903. #define SRC_SRSR_M7_REQUEST_M7_MASK (0x2U)
  74904. #define SRC_SRSR_M7_REQUEST_M7_SHIFT (1U)
  74905. /*! M7_REQUEST_M7
  74906. * 0b0..Reset is not a result of m7 reset request.
  74907. * 0b1..Reset is a result of m7 reset request.
  74908. */
  74909. #define SRC_SRSR_M7_REQUEST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_REQUEST_M7_SHIFT)) & SRC_SRSR_M7_REQUEST_M7_MASK)
  74910. #define SRC_SRSR_M7_LOCKUP_M7_MASK (0x4U)
  74911. #define SRC_SRSR_M7_LOCKUP_M7_SHIFT (2U)
  74912. /*! M7_LOCKUP_M7
  74913. * 0b0..Reset is not a result of the mentioned case.
  74914. * 0b1..Reset is a result of the mentioned case.
  74915. */
  74916. #define SRC_SRSR_M7_LOCKUP_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_LOCKUP_M7_SHIFT)) & SRC_SRSR_M7_LOCKUP_M7_MASK)
  74917. #define SRC_SRSR_CSU_RESET_B_M7_MASK (0x8U)
  74918. #define SRC_SRSR_CSU_RESET_B_M7_SHIFT (3U)
  74919. /*! CSU_RESET_B_M7
  74920. * 0b0..Reset is not a result of the csu_reset_b event.
  74921. * 0b1..Reset is a result of the csu_reset_b event.
  74922. */
  74923. #define SRC_SRSR_CSU_RESET_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CSU_RESET_B_M7_SHIFT)) & SRC_SRSR_CSU_RESET_B_M7_MASK)
  74924. #define SRC_SRSR_IPP_USER_RESET_B_M7_MASK (0x10U)
  74925. #define SRC_SRSR_IPP_USER_RESET_B_M7_SHIFT (4U)
  74926. /*! IPP_USER_RESET_B_M7
  74927. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  74928. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  74929. */
  74930. #define SRC_SRSR_IPP_USER_RESET_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_USER_RESET_B_M7_SHIFT)) & SRC_SRSR_IPP_USER_RESET_B_M7_MASK)
  74931. #define SRC_SRSR_WDOG_RST_B_M7_MASK (0x20U)
  74932. #define SRC_SRSR_WDOG_RST_B_M7_SHIFT (5U)
  74933. /*! WDOG_RST_B_M7
  74934. * 0b0..Reset is not a result of the watchdog time-out event.
  74935. * 0b1..Reset is a result of the watchdog time-out event.
  74936. */
  74937. #define SRC_SRSR_WDOG_RST_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG_RST_B_M7_SHIFT)) & SRC_SRSR_WDOG_RST_B_M7_MASK)
  74938. #define SRC_SRSR_JTAG_RST_B_M7_MASK (0x40U)
  74939. #define SRC_SRSR_JTAG_RST_B_M7_SHIFT (6U)
  74940. /*! JTAG_RST_B_M7
  74941. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  74942. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  74943. */
  74944. #define SRC_SRSR_JTAG_RST_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_RST_B_M7_SHIFT)) & SRC_SRSR_JTAG_RST_B_M7_MASK)
  74945. #define SRC_SRSR_JTAG_SW_RST_M7_MASK (0x80U)
  74946. #define SRC_SRSR_JTAG_SW_RST_M7_SHIFT (7U)
  74947. /*! JTAG_SW_RST_M7
  74948. * 0b0..Reset is not a result of software reset from JTAG.
  74949. * 0b1..Reset is a result of software reset from JTAG.
  74950. */
  74951. #define SRC_SRSR_JTAG_SW_RST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_SW_RST_M7_SHIFT)) & SRC_SRSR_JTAG_SW_RST_M7_MASK)
  74952. #define SRC_SRSR_WDOG3_RST_B_M7_MASK (0x100U)
  74953. #define SRC_SRSR_WDOG3_RST_B_M7_SHIFT (8U)
  74954. /*! WDOG3_RST_B_M7
  74955. * 0b0..Reset is not a result of the watchdog3 time-out event.
  74956. * 0b1..Reset is a result of the watchdog3 time-out event.
  74957. */
  74958. #define SRC_SRSR_WDOG3_RST_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG3_RST_B_M7_SHIFT)) & SRC_SRSR_WDOG3_RST_B_M7_MASK)
  74959. #define SRC_SRSR_WDOG4_RST_B_M7_MASK (0x200U)
  74960. #define SRC_SRSR_WDOG4_RST_B_M7_SHIFT (9U)
  74961. /*! WDOG4_RST_B_M7
  74962. * 0b0..Reset is not a result of the watchdog4 time-out event.
  74963. * 0b1..Reset is a result of the watchdog4 time-out event.
  74964. */
  74965. #define SRC_SRSR_WDOG4_RST_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG4_RST_B_M7_SHIFT)) & SRC_SRSR_WDOG4_RST_B_M7_MASK)
  74966. #define SRC_SRSR_TEMPSENSE_RST_B_M7_MASK (0x400U)
  74967. #define SRC_SRSR_TEMPSENSE_RST_B_M7_SHIFT (10U)
  74968. /*! TEMPSENSE_RST_B_M7
  74969. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  74970. * 0b1..Reset is a result of software reset from Temperature Sensor.
  74971. */
  74972. #define SRC_SRSR_TEMPSENSE_RST_B_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_TEMPSENSE_RST_B_M7_SHIFT)) & SRC_SRSR_TEMPSENSE_RST_B_M7_MASK)
  74973. #define SRC_SRSR_M4_REQUEST_M7_MASK (0x800U)
  74974. #define SRC_SRSR_M4_REQUEST_M7_SHIFT (11U)
  74975. /*! M4_REQUEST_M7
  74976. * 0b0..Reset is not a result of m4 reset request.
  74977. * 0b1..Reset is a result of m4 reset request.
  74978. */
  74979. #define SRC_SRSR_M4_REQUEST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_REQUEST_M7_SHIFT)) & SRC_SRSR_M4_REQUEST_M7_MASK)
  74980. #define SRC_SRSR_M4_LOCKUP_M7_MASK (0x1000U)
  74981. #define SRC_SRSR_M4_LOCKUP_M7_SHIFT (12U)
  74982. /*! M4_LOCKUP_M7
  74983. * 0b0..Reset is not a result of the mentioned case.
  74984. * 0b1..Reset is a result of the mentioned case.
  74985. */
  74986. #define SRC_SRSR_M4_LOCKUP_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_LOCKUP_M7_SHIFT)) & SRC_SRSR_M4_LOCKUP_M7_MASK)
  74987. #define SRC_SRSR_OVERVOLT_RST_M7_MASK (0x2000U)
  74988. #define SRC_SRSR_OVERVOLT_RST_M7_SHIFT (13U)
  74989. /*! OVERVOLT_RST_M7
  74990. * 0b0..Reset is not a result of the mentioned case.
  74991. * 0b1..Reset is a result of the mentioned case.
  74992. */
  74993. #define SRC_SRSR_OVERVOLT_RST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_OVERVOLT_RST_M7_SHIFT)) & SRC_SRSR_OVERVOLT_RST_M7_MASK)
  74994. #define SRC_SRSR_CDOG_RST_M7_MASK (0x4000U)
  74995. #define SRC_SRSR_CDOG_RST_M7_SHIFT (14U)
  74996. /*! CDOG_RST_M7
  74997. * 0b0..Reset is not a result of the mentioned case.
  74998. * 0b1..Reset is a result of the mentioned case.
  74999. */
  75000. #define SRC_SRSR_CDOG_RST_M7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CDOG_RST_M7_SHIFT)) & SRC_SRSR_CDOG_RST_M7_MASK)
  75001. #define SRC_SRSR_IPP_RESET_B_M4_MASK (0x10000U)
  75002. #define SRC_SRSR_IPP_RESET_B_M4_SHIFT (16U)
  75003. /*! IPP_RESET_B_M4
  75004. * 0b0..Reset is not a result of ipp_reset_b pin.
  75005. * 0b1..Reset is a result of ipp_reset_b pin.
  75006. */
  75007. #define SRC_SRSR_IPP_RESET_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_RESET_B_M4_SHIFT)) & SRC_SRSR_IPP_RESET_B_M4_MASK)
  75008. #define SRC_SRSR_M4_REQUEST_M4_MASK (0x20000U)
  75009. #define SRC_SRSR_M4_REQUEST_M4_SHIFT (17U)
  75010. /*! M4_REQUEST_M4
  75011. * 0b0..Reset is not a result of m4 reset request.
  75012. * 0b1..Reset is a result of m4 reset request.
  75013. */
  75014. #define SRC_SRSR_M4_REQUEST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_REQUEST_M4_SHIFT)) & SRC_SRSR_M4_REQUEST_M4_MASK)
  75015. #define SRC_SRSR_M4_LOCKUP_M4_MASK (0x40000U)
  75016. #define SRC_SRSR_M4_LOCKUP_M4_SHIFT (18U)
  75017. /*! M4_LOCKUP_M4
  75018. * 0b0..Reset is not a result of the mentioned case.
  75019. * 0b1..Reset is a result of the mentioned case.
  75020. */
  75021. #define SRC_SRSR_M4_LOCKUP_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M4_LOCKUP_M4_SHIFT)) & SRC_SRSR_M4_LOCKUP_M4_MASK)
  75022. #define SRC_SRSR_CSU_RESET_B_M4_MASK (0x80000U)
  75023. #define SRC_SRSR_CSU_RESET_B_M4_SHIFT (19U)
  75024. /*! CSU_RESET_B_M4
  75025. * 0b0..Reset is not a result of the csu_reset_b event.
  75026. * 0b1..Reset is a result of the csu_reset_b event.
  75027. */
  75028. #define SRC_SRSR_CSU_RESET_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CSU_RESET_B_M4_SHIFT)) & SRC_SRSR_CSU_RESET_B_M4_MASK)
  75029. #define SRC_SRSR_IPP_USER_RESET_B_M4_MASK (0x100000U)
  75030. #define SRC_SRSR_IPP_USER_RESET_B_M4_SHIFT (20U)
  75031. /*! IPP_USER_RESET_B_M4
  75032. * 0b0..Reset is not a result of the ipp_user_reset_b qualified as COLD reset event.
  75033. * 0b1..Reset is a result of the ipp_user_reset_b qualified as COLD reset event.
  75034. */
  75035. #define SRC_SRSR_IPP_USER_RESET_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_IPP_USER_RESET_B_M4_SHIFT)) & SRC_SRSR_IPP_USER_RESET_B_M4_MASK)
  75036. #define SRC_SRSR_WDOG_RST_B_M4_MASK (0x200000U)
  75037. #define SRC_SRSR_WDOG_RST_B_M4_SHIFT (21U)
  75038. /*! WDOG_RST_B_M4
  75039. * 0b0..Reset is not a result of the watchdog time-out event.
  75040. * 0b1..Reset is a result of the watchdog time-out event.
  75041. */
  75042. #define SRC_SRSR_WDOG_RST_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG_RST_B_M4_SHIFT)) & SRC_SRSR_WDOG_RST_B_M4_MASK)
  75043. #define SRC_SRSR_JTAG_RST_B_M4_MASK (0x400000U)
  75044. #define SRC_SRSR_JTAG_RST_B_M4_SHIFT (22U)
  75045. /*! JTAG_RST_B_M4
  75046. * 0b0..Reset is not a result of HIGH-Z reset from JTAG.
  75047. * 0b1..Reset is a result of HIGH-Z reset from JTAG.
  75048. */
  75049. #define SRC_SRSR_JTAG_RST_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_RST_B_M4_SHIFT)) & SRC_SRSR_JTAG_RST_B_M4_MASK)
  75050. #define SRC_SRSR_JTAG_SW_RST_M4_MASK (0x800000U)
  75051. #define SRC_SRSR_JTAG_SW_RST_M4_SHIFT (23U)
  75052. /*! JTAG_SW_RST_M4
  75053. * 0b0..Reset is not a result of software reset from JTAG.
  75054. * 0b1..Reset is a result of software reset from JTAG.
  75055. */
  75056. #define SRC_SRSR_JTAG_SW_RST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_JTAG_SW_RST_M4_SHIFT)) & SRC_SRSR_JTAG_SW_RST_M4_MASK)
  75057. #define SRC_SRSR_WDOG3_RST_B_M4_MASK (0x1000000U)
  75058. #define SRC_SRSR_WDOG3_RST_B_M4_SHIFT (24U)
  75059. /*! WDOG3_RST_B_M4
  75060. * 0b0..Reset is not a result of the watchdog3 time-out event.
  75061. * 0b1..Reset is a result of the watchdog3 time-out event.
  75062. */
  75063. #define SRC_SRSR_WDOG3_RST_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG3_RST_B_M4_SHIFT)) & SRC_SRSR_WDOG3_RST_B_M4_MASK)
  75064. #define SRC_SRSR_WDOG4_RST_B_M4_MASK (0x2000000U)
  75065. #define SRC_SRSR_WDOG4_RST_B_M4_SHIFT (25U)
  75066. /*! WDOG4_RST_B_M4
  75067. * 0b0..Reset is not a result of the watchdog4 time-out event.
  75068. * 0b1..Reset is a result of the watchdog4 time-out event.
  75069. */
  75070. #define SRC_SRSR_WDOG4_RST_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_WDOG4_RST_B_M4_SHIFT)) & SRC_SRSR_WDOG4_RST_B_M4_MASK)
  75071. #define SRC_SRSR_TEMPSENSE_RST_B_M4_MASK (0x4000000U)
  75072. #define SRC_SRSR_TEMPSENSE_RST_B_M4_SHIFT (26U)
  75073. /*! TEMPSENSE_RST_B_M4
  75074. * 0b0..Reset is not a result of software reset from Temperature Sensor.
  75075. * 0b1..Reset is a result of software reset from Temperature Sensor.
  75076. */
  75077. #define SRC_SRSR_TEMPSENSE_RST_B_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_TEMPSENSE_RST_B_M4_SHIFT)) & SRC_SRSR_TEMPSENSE_RST_B_M4_MASK)
  75078. #define SRC_SRSR_M7_REQUEST_M4_MASK (0x8000000U)
  75079. #define SRC_SRSR_M7_REQUEST_M4_SHIFT (27U)
  75080. /*! M7_REQUEST_M4
  75081. * 0b0..Reset is not a result of m7 reset request.
  75082. * 0b1..Reset is a result of m7 reset request.
  75083. */
  75084. #define SRC_SRSR_M7_REQUEST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_REQUEST_M4_SHIFT)) & SRC_SRSR_M7_REQUEST_M4_MASK)
  75085. #define SRC_SRSR_M7_LOCKUP_M4_MASK (0x10000000U)
  75086. #define SRC_SRSR_M7_LOCKUP_M4_SHIFT (28U)
  75087. /*! M7_LOCKUP_M4
  75088. * 0b0..Reset is not a result of the mentioned case.
  75089. * 0b1..Reset is a result of the mentioned case.
  75090. */
  75091. #define SRC_SRSR_M7_LOCKUP_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_M7_LOCKUP_M4_SHIFT)) & SRC_SRSR_M7_LOCKUP_M4_MASK)
  75092. #define SRC_SRSR_OVERVOLT_RST_M4_MASK (0x20000000U)
  75093. #define SRC_SRSR_OVERVOLT_RST_M4_SHIFT (29U)
  75094. /*! OVERVOLT_RST_M4
  75095. * 0b0..Reset is not a result of the mentioned case.
  75096. * 0b1..Reset is a result of the mentioned case.
  75097. */
  75098. #define SRC_SRSR_OVERVOLT_RST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_OVERVOLT_RST_M4_SHIFT)) & SRC_SRSR_OVERVOLT_RST_M4_MASK)
  75099. #define SRC_SRSR_CDOG_RST_M4_MASK (0x40000000U)
  75100. #define SRC_SRSR_CDOG_RST_M4_SHIFT (30U)
  75101. /*! CDOG_RST_M4
  75102. * 0b0..Reset is not a result of the mentioned case.
  75103. * 0b1..Reset is a result of the mentioned case.
  75104. */
  75105. #define SRC_SRSR_CDOG_RST_M4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SRSR_CDOG_RST_M4_SHIFT)) & SRC_SRSR_CDOG_RST_M4_MASK)
  75106. /*! @} */
  75107. /*! @name GPR - SRC General Purpose Register */
  75108. /*! @{ */
  75109. #define SRC_GPR_GPR_MASK (0xFFFFFFFFU)
  75110. #define SRC_GPR_GPR_SHIFT (0U)
  75111. /*! GPR - General Purpose Register.
  75112. */
  75113. #define SRC_GPR_GPR(x) (((uint32_t)(((uint32_t)(x)) << SRC_GPR_GPR_SHIFT)) & SRC_GPR_GPR_MASK)
  75114. /*! @} */
  75115. /* The count of SRC_GPR */
  75116. #define SRC_GPR_COUNT (20U)
  75117. /*! @name AUTHEN_MEGA - Slice Authentication Register */
  75118. /*! @{ */
  75119. #define SRC_AUTHEN_MEGA_DOMAIN_MODE_MASK (0x1U)
  75120. #define SRC_AUTHEN_MEGA_DOMAIN_MODE_SHIFT (0U)
  75121. /*! DOMAIN_MODE
  75122. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  75123. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  75124. */
  75125. #define SRC_AUTHEN_MEGA_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_MEGA_DOMAIN_MODE_MASK)
  75126. #define SRC_AUTHEN_MEGA_SETPOINT_MODE_MASK (0x2U)
  75127. #define SRC_AUTHEN_MEGA_SETPOINT_MODE_SHIFT (1U)
  75128. /*! SETPOINT_MODE
  75129. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  75130. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  75131. */
  75132. #define SRC_AUTHEN_MEGA_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_MEGA_SETPOINT_MODE_MASK)
  75133. #define SRC_AUTHEN_MEGA_LOCK_MODE_MASK (0x80U)
  75134. #define SRC_AUTHEN_MEGA_LOCK_MODE_SHIFT (7U)
  75135. /*! LOCK_MODE - Domain/Setpoint mode lock
  75136. */
  75137. #define SRC_AUTHEN_MEGA_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_MODE_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_MODE_MASK)
  75138. #define SRC_AUTHEN_MEGA_ASSIGN_LIST_MASK (0xF00U)
  75139. #define SRC_AUTHEN_MEGA_ASSIGN_LIST_SHIFT (8U)
  75140. #define SRC_AUTHEN_MEGA_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_MEGA_ASSIGN_LIST_MASK)
  75141. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN_MASK (0x8000U)
  75142. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN_SHIFT (15U)
  75143. /*! LOCK_ASSIGN - Assign list lock
  75144. */
  75145. #define SRC_AUTHEN_MEGA_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_ASSIGN_MASK)
  75146. #define SRC_AUTHEN_MEGA_WHITE_LIST_MASK (0xF0000U)
  75147. #define SRC_AUTHEN_MEGA_WHITE_LIST_SHIFT (16U)
  75148. /*! WHITE_LIST - Domain ID white list
  75149. */
  75150. #define SRC_AUTHEN_MEGA_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_WHITE_LIST_SHIFT)) & SRC_AUTHEN_MEGA_WHITE_LIST_MASK)
  75151. #define SRC_AUTHEN_MEGA_LOCK_LIST_MASK (0x800000U)
  75152. #define SRC_AUTHEN_MEGA_LOCK_LIST_SHIFT (23U)
  75153. /*! LOCK_LIST - White list lock
  75154. */
  75155. #define SRC_AUTHEN_MEGA_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_LIST_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_LIST_MASK)
  75156. #define SRC_AUTHEN_MEGA_USER_MASK (0x1000000U)
  75157. #define SRC_AUTHEN_MEGA_USER_SHIFT (24U)
  75158. /*! USER - Allow user mode access
  75159. */
  75160. #define SRC_AUTHEN_MEGA_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_USER_SHIFT)) & SRC_AUTHEN_MEGA_USER_MASK)
  75161. #define SRC_AUTHEN_MEGA_NONSECURE_MASK (0x2000000U)
  75162. #define SRC_AUTHEN_MEGA_NONSECURE_SHIFT (25U)
  75163. /*! NONSECURE - Allow non-secure mode access
  75164. */
  75165. #define SRC_AUTHEN_MEGA_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_NONSECURE_SHIFT)) & SRC_AUTHEN_MEGA_NONSECURE_MASK)
  75166. #define SRC_AUTHEN_MEGA_LOCK_SETTING_MASK (0x80000000U)
  75167. #define SRC_AUTHEN_MEGA_LOCK_SETTING_SHIFT (31U)
  75168. /*! LOCK_SETTING - Lock NONSECURE and USER
  75169. */
  75170. #define SRC_AUTHEN_MEGA_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_MEGA_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_MEGA_LOCK_SETTING_MASK)
  75171. /*! @} */
  75172. /*! @name CTRL_MEGA - Slice Control Register */
  75173. /*! @{ */
  75174. #define SRC_CTRL_MEGA_SW_RESET_MASK (0x1U)
  75175. #define SRC_CTRL_MEGA_SW_RESET_SHIFT (0U)
  75176. /*! SW_RESET
  75177. * 0b0..do not assert slice software reset
  75178. * 0b1..assert slice software reset
  75179. */
  75180. #define SRC_CTRL_MEGA_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_MEGA_SW_RESET_SHIFT)) & SRC_CTRL_MEGA_SW_RESET_MASK)
  75181. /*! @} */
  75182. /*! @name SETPOINT_MEGA - Slice Setpoint Config Register */
  75183. /*! @{ */
  75184. #define SRC_SETPOINT_MEGA_SETPOINT0_MASK (0x1U)
  75185. #define SRC_SETPOINT_MEGA_SETPOINT0_SHIFT (0U)
  75186. /*! SETPOINT0 - SETPOINT0
  75187. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75188. * 0b1..Slice reset will be asserted when system in Setpoint n
  75189. */
  75190. #define SRC_SETPOINT_MEGA_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT0_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT0_MASK)
  75191. #define SRC_SETPOINT_MEGA_SETPOINT1_MASK (0x2U)
  75192. #define SRC_SETPOINT_MEGA_SETPOINT1_SHIFT (1U)
  75193. /*! SETPOINT1 - SETPOINT1
  75194. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75195. * 0b1..Slice reset will be asserted when system in Setpoint n
  75196. */
  75197. #define SRC_SETPOINT_MEGA_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT1_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT1_MASK)
  75198. #define SRC_SETPOINT_MEGA_SETPOINT2_MASK (0x4U)
  75199. #define SRC_SETPOINT_MEGA_SETPOINT2_SHIFT (2U)
  75200. /*! SETPOINT2 - SETPOINT2
  75201. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75202. * 0b1..Slice reset will be asserted when system in Setpoint n
  75203. */
  75204. #define SRC_SETPOINT_MEGA_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT2_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT2_MASK)
  75205. #define SRC_SETPOINT_MEGA_SETPOINT3_MASK (0x8U)
  75206. #define SRC_SETPOINT_MEGA_SETPOINT3_SHIFT (3U)
  75207. /*! SETPOINT3 - SETPOINT3
  75208. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75209. * 0b1..Slice reset will be asserted when system in Setpoint n
  75210. */
  75211. #define SRC_SETPOINT_MEGA_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT3_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT3_MASK)
  75212. #define SRC_SETPOINT_MEGA_SETPOINT4_MASK (0x10U)
  75213. #define SRC_SETPOINT_MEGA_SETPOINT4_SHIFT (4U)
  75214. /*! SETPOINT4 - SETPOINT4
  75215. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75216. * 0b1..Slice reset will be asserted when system in Setpoint n
  75217. */
  75218. #define SRC_SETPOINT_MEGA_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT4_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT4_MASK)
  75219. #define SRC_SETPOINT_MEGA_SETPOINT5_MASK (0x20U)
  75220. #define SRC_SETPOINT_MEGA_SETPOINT5_SHIFT (5U)
  75221. /*! SETPOINT5 - SETPOINT5
  75222. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75223. * 0b1..Slice reset will be asserted when system in Setpoint n
  75224. */
  75225. #define SRC_SETPOINT_MEGA_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT5_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT5_MASK)
  75226. #define SRC_SETPOINT_MEGA_SETPOINT6_MASK (0x40U)
  75227. #define SRC_SETPOINT_MEGA_SETPOINT6_SHIFT (6U)
  75228. /*! SETPOINT6 - SETPOINT6
  75229. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75230. * 0b1..Slice reset will be asserted when system in Setpoint n
  75231. */
  75232. #define SRC_SETPOINT_MEGA_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT6_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT6_MASK)
  75233. #define SRC_SETPOINT_MEGA_SETPOINT7_MASK (0x80U)
  75234. #define SRC_SETPOINT_MEGA_SETPOINT7_SHIFT (7U)
  75235. /*! SETPOINT7 - SETPOINT7
  75236. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75237. * 0b1..Slice reset will be asserted when system in Setpoint n
  75238. */
  75239. #define SRC_SETPOINT_MEGA_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT7_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT7_MASK)
  75240. #define SRC_SETPOINT_MEGA_SETPOINT8_MASK (0x100U)
  75241. #define SRC_SETPOINT_MEGA_SETPOINT8_SHIFT (8U)
  75242. /*! SETPOINT8 - SETPOINT8
  75243. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75244. * 0b1..Slice reset will be asserted when system in Setpoint n
  75245. */
  75246. #define SRC_SETPOINT_MEGA_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT8_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT8_MASK)
  75247. #define SRC_SETPOINT_MEGA_SETPOINT9_MASK (0x200U)
  75248. #define SRC_SETPOINT_MEGA_SETPOINT9_SHIFT (9U)
  75249. /*! SETPOINT9 - SETPOINT9
  75250. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75251. * 0b1..Slice reset will be asserted when system in Setpoint n
  75252. */
  75253. #define SRC_SETPOINT_MEGA_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT9_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT9_MASK)
  75254. #define SRC_SETPOINT_MEGA_SETPOINT10_MASK (0x400U)
  75255. #define SRC_SETPOINT_MEGA_SETPOINT10_SHIFT (10U)
  75256. /*! SETPOINT10 - SETPOINT10
  75257. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75258. * 0b1..Slice reset will be asserted when system in Setpoint n
  75259. */
  75260. #define SRC_SETPOINT_MEGA_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT10_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT10_MASK)
  75261. #define SRC_SETPOINT_MEGA_SETPOINT11_MASK (0x800U)
  75262. #define SRC_SETPOINT_MEGA_SETPOINT11_SHIFT (11U)
  75263. /*! SETPOINT11 - SETPOINT11
  75264. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75265. * 0b1..Slice reset will be asserted when system in Setpoint n
  75266. */
  75267. #define SRC_SETPOINT_MEGA_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT11_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT11_MASK)
  75268. #define SRC_SETPOINT_MEGA_SETPOINT12_MASK (0x1000U)
  75269. #define SRC_SETPOINT_MEGA_SETPOINT12_SHIFT (12U)
  75270. /*! SETPOINT12 - SETPOINT12
  75271. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75272. * 0b1..Slice reset will be asserted when system in Setpoint n
  75273. */
  75274. #define SRC_SETPOINT_MEGA_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT12_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT12_MASK)
  75275. #define SRC_SETPOINT_MEGA_SETPOINT13_MASK (0x2000U)
  75276. #define SRC_SETPOINT_MEGA_SETPOINT13_SHIFT (13U)
  75277. /*! SETPOINT13 - SETPOINT13
  75278. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75279. * 0b1..Slice reset will be asserted when system in Setpoint n
  75280. */
  75281. #define SRC_SETPOINT_MEGA_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT13_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT13_MASK)
  75282. #define SRC_SETPOINT_MEGA_SETPOINT14_MASK (0x4000U)
  75283. #define SRC_SETPOINT_MEGA_SETPOINT14_SHIFT (14U)
  75284. /*! SETPOINT14 - SETPOINT14
  75285. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75286. * 0b1..Slice reset will be asserted when system in Setpoint n
  75287. */
  75288. #define SRC_SETPOINT_MEGA_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT14_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT14_MASK)
  75289. #define SRC_SETPOINT_MEGA_SETPOINT15_MASK (0x8000U)
  75290. #define SRC_SETPOINT_MEGA_SETPOINT15_SHIFT (15U)
  75291. /*! SETPOINT15 - SETPOINT15
  75292. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75293. * 0b1..Slice reset will be asserted when system in Setpoint n
  75294. */
  75295. #define SRC_SETPOINT_MEGA_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_MEGA_SETPOINT15_SHIFT)) & SRC_SETPOINT_MEGA_SETPOINT15_MASK)
  75296. /*! @} */
  75297. /*! @name DOMAIN_MEGA - Slice Domain Config Register */
  75298. /*! @{ */
  75299. #define SRC_DOMAIN_MEGA_CPU0_RUN_MASK (0x1U)
  75300. #define SRC_DOMAIN_MEGA_CPU0_RUN_SHIFT (0U)
  75301. /*! CPU0_RUN - CPU mode setting for RUN
  75302. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  75303. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  75304. */
  75305. #define SRC_DOMAIN_MEGA_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_RUN_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_RUN_MASK)
  75306. #define SRC_DOMAIN_MEGA_CPU0_WAIT_MASK (0x2U)
  75307. #define SRC_DOMAIN_MEGA_CPU0_WAIT_SHIFT (1U)
  75308. /*! CPU0_WAIT - CPU mode setting for WAIT
  75309. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  75310. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  75311. */
  75312. #define SRC_DOMAIN_MEGA_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_WAIT_MASK)
  75313. #define SRC_DOMAIN_MEGA_CPU0_STOP_MASK (0x4U)
  75314. #define SRC_DOMAIN_MEGA_CPU0_STOP_SHIFT (2U)
  75315. /*! CPU0_STOP - CPU mode setting for STOP
  75316. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  75317. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  75318. */
  75319. #define SRC_DOMAIN_MEGA_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_STOP_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_STOP_MASK)
  75320. #define SRC_DOMAIN_MEGA_CPU0_SUSP_MASK (0x8U)
  75321. #define SRC_DOMAIN_MEGA_CPU0_SUSP_SHIFT (3U)
  75322. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  75323. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  75324. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  75325. */
  75326. #define SRC_DOMAIN_MEGA_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_MEGA_CPU0_SUSP_MASK)
  75327. #define SRC_DOMAIN_MEGA_CPU1_RUN_MASK (0x10U)
  75328. #define SRC_DOMAIN_MEGA_CPU1_RUN_SHIFT (4U)
  75329. /*! CPU1_RUN - CPU mode setting for RUN
  75330. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  75331. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  75332. */
  75333. #define SRC_DOMAIN_MEGA_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_RUN_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_RUN_MASK)
  75334. #define SRC_DOMAIN_MEGA_CPU1_WAIT_MASK (0x20U)
  75335. #define SRC_DOMAIN_MEGA_CPU1_WAIT_SHIFT (5U)
  75336. /*! CPU1_WAIT - CPU mode setting for WAIT
  75337. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  75338. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  75339. */
  75340. #define SRC_DOMAIN_MEGA_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_WAIT_MASK)
  75341. #define SRC_DOMAIN_MEGA_CPU1_STOP_MASK (0x40U)
  75342. #define SRC_DOMAIN_MEGA_CPU1_STOP_SHIFT (6U)
  75343. /*! CPU1_STOP - CPU mode setting for STOP
  75344. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  75345. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  75346. */
  75347. #define SRC_DOMAIN_MEGA_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_STOP_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_STOP_MASK)
  75348. #define SRC_DOMAIN_MEGA_CPU1_SUSP_MASK (0x80U)
  75349. #define SRC_DOMAIN_MEGA_CPU1_SUSP_SHIFT (7U)
  75350. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  75351. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  75352. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  75353. */
  75354. #define SRC_DOMAIN_MEGA_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_MEGA_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_MEGA_CPU1_SUSP_MASK)
  75355. /*! @} */
  75356. /*! @name STAT_MEGA - Slice Status Register */
  75357. /*! @{ */
  75358. #define SRC_STAT_MEGA_UNDER_RST_MASK (0x1U)
  75359. #define SRC_STAT_MEGA_UNDER_RST_SHIFT (0U)
  75360. /*! UNDER_RST
  75361. * 0b0..the reset is finished
  75362. * 0b1..the reset is in process
  75363. */
  75364. #define SRC_STAT_MEGA_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_MEGA_UNDER_RST_SHIFT)) & SRC_STAT_MEGA_UNDER_RST_MASK)
  75365. #define SRC_STAT_MEGA_RST_BY_HW_MASK (0x4U)
  75366. #define SRC_STAT_MEGA_RST_BY_HW_SHIFT (2U)
  75367. /*! RST_BY_HW
  75368. * 0b0..the reset is not caused by the power mode transfer
  75369. * 0b1..the reset is caused by the power mode transfer
  75370. */
  75371. #define SRC_STAT_MEGA_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_MEGA_RST_BY_HW_SHIFT)) & SRC_STAT_MEGA_RST_BY_HW_MASK)
  75372. #define SRC_STAT_MEGA_RST_BY_SW_MASK (0x8U)
  75373. #define SRC_STAT_MEGA_RST_BY_SW_SHIFT (3U)
  75374. /*! RST_BY_SW
  75375. * 0b0..the reset is not caused by software setting
  75376. * 0b1..the reset is caused by software setting
  75377. */
  75378. #define SRC_STAT_MEGA_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_MEGA_RST_BY_SW_SHIFT)) & SRC_STAT_MEGA_RST_BY_SW_MASK)
  75379. /*! @} */
  75380. /*! @name AUTHEN_DISPLAY - Slice Authentication Register */
  75381. /*! @{ */
  75382. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE_MASK (0x1U)
  75383. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE_SHIFT (0U)
  75384. /*! DOMAIN_MODE
  75385. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  75386. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  75387. */
  75388. #define SRC_AUTHEN_DISPLAY_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_DOMAIN_MODE_MASK)
  75389. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE_MASK (0x2U)
  75390. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE_SHIFT (1U)
  75391. /*! SETPOINT_MODE
  75392. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  75393. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  75394. */
  75395. #define SRC_AUTHEN_DISPLAY_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_SETPOINT_MODE_MASK)
  75396. #define SRC_AUTHEN_DISPLAY_LOCK_MODE_MASK (0x80U)
  75397. #define SRC_AUTHEN_DISPLAY_LOCK_MODE_SHIFT (7U)
  75398. /*! LOCK_MODE - Domain/Setpoint mode lock
  75399. */
  75400. #define SRC_AUTHEN_DISPLAY_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_MODE_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_MODE_MASK)
  75401. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST_MASK (0xF00U)
  75402. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST_SHIFT (8U)
  75403. #define SRC_AUTHEN_DISPLAY_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_ASSIGN_LIST_MASK)
  75404. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_MASK (0x8000U)
  75405. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_SHIFT (15U)
  75406. /*! LOCK_ASSIGN - Assign list lock
  75407. */
  75408. #define SRC_AUTHEN_DISPLAY_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_ASSIGN_MASK)
  75409. #define SRC_AUTHEN_DISPLAY_WHITE_LIST_MASK (0xF0000U)
  75410. #define SRC_AUTHEN_DISPLAY_WHITE_LIST_SHIFT (16U)
  75411. /*! WHITE_LIST - Domain ID white list
  75412. */
  75413. #define SRC_AUTHEN_DISPLAY_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_WHITE_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_WHITE_LIST_MASK)
  75414. #define SRC_AUTHEN_DISPLAY_LOCK_LIST_MASK (0x800000U)
  75415. #define SRC_AUTHEN_DISPLAY_LOCK_LIST_SHIFT (23U)
  75416. /*! LOCK_LIST - White list lock
  75417. */
  75418. #define SRC_AUTHEN_DISPLAY_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_LIST_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_LIST_MASK)
  75419. #define SRC_AUTHEN_DISPLAY_USER_MASK (0x1000000U)
  75420. #define SRC_AUTHEN_DISPLAY_USER_SHIFT (24U)
  75421. /*! USER - Allow user mode access
  75422. */
  75423. #define SRC_AUTHEN_DISPLAY_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_USER_SHIFT)) & SRC_AUTHEN_DISPLAY_USER_MASK)
  75424. #define SRC_AUTHEN_DISPLAY_NONSECURE_MASK (0x2000000U)
  75425. #define SRC_AUTHEN_DISPLAY_NONSECURE_SHIFT (25U)
  75426. /*! NONSECURE - Allow non-secure mode access
  75427. */
  75428. #define SRC_AUTHEN_DISPLAY_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_NONSECURE_SHIFT)) & SRC_AUTHEN_DISPLAY_NONSECURE_MASK)
  75429. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING_MASK (0x80000000U)
  75430. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING_SHIFT (31U)
  75431. /*! LOCK_SETTING - Lock NONSECURE and USER
  75432. */
  75433. #define SRC_AUTHEN_DISPLAY_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_DISPLAY_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_DISPLAY_LOCK_SETTING_MASK)
  75434. /*! @} */
  75435. /*! @name CTRL_DISPLAY - Slice Control Register */
  75436. /*! @{ */
  75437. #define SRC_CTRL_DISPLAY_SW_RESET_MASK (0x1U)
  75438. #define SRC_CTRL_DISPLAY_SW_RESET_SHIFT (0U)
  75439. /*! SW_RESET
  75440. * 0b0..do not assert slice software reset
  75441. * 0b1..assert slice software reset
  75442. */
  75443. #define SRC_CTRL_DISPLAY_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_DISPLAY_SW_RESET_SHIFT)) & SRC_CTRL_DISPLAY_SW_RESET_MASK)
  75444. /*! @} */
  75445. /*! @name SETPOINT_DISPLAY - Slice Setpoint Config Register */
  75446. /*! @{ */
  75447. #define SRC_SETPOINT_DISPLAY_SETPOINT0_MASK (0x1U)
  75448. #define SRC_SETPOINT_DISPLAY_SETPOINT0_SHIFT (0U)
  75449. /*! SETPOINT0 - SETPOINT0
  75450. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75451. * 0b1..Slice reset will be asserted when system in Setpoint n
  75452. */
  75453. #define SRC_SETPOINT_DISPLAY_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT0_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT0_MASK)
  75454. #define SRC_SETPOINT_DISPLAY_SETPOINT1_MASK (0x2U)
  75455. #define SRC_SETPOINT_DISPLAY_SETPOINT1_SHIFT (1U)
  75456. /*! SETPOINT1 - SETPOINT1
  75457. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75458. * 0b1..Slice reset will be asserted when system in Setpoint n
  75459. */
  75460. #define SRC_SETPOINT_DISPLAY_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT1_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT1_MASK)
  75461. #define SRC_SETPOINT_DISPLAY_SETPOINT2_MASK (0x4U)
  75462. #define SRC_SETPOINT_DISPLAY_SETPOINT2_SHIFT (2U)
  75463. /*! SETPOINT2 - SETPOINT2
  75464. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75465. * 0b1..Slice reset will be asserted when system in Setpoint n
  75466. */
  75467. #define SRC_SETPOINT_DISPLAY_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT2_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT2_MASK)
  75468. #define SRC_SETPOINT_DISPLAY_SETPOINT3_MASK (0x8U)
  75469. #define SRC_SETPOINT_DISPLAY_SETPOINT3_SHIFT (3U)
  75470. /*! SETPOINT3 - SETPOINT3
  75471. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75472. * 0b1..Slice reset will be asserted when system in Setpoint n
  75473. */
  75474. #define SRC_SETPOINT_DISPLAY_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT3_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT3_MASK)
  75475. #define SRC_SETPOINT_DISPLAY_SETPOINT4_MASK (0x10U)
  75476. #define SRC_SETPOINT_DISPLAY_SETPOINT4_SHIFT (4U)
  75477. /*! SETPOINT4 - SETPOINT4
  75478. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75479. * 0b1..Slice reset will be asserted when system in Setpoint n
  75480. */
  75481. #define SRC_SETPOINT_DISPLAY_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT4_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT4_MASK)
  75482. #define SRC_SETPOINT_DISPLAY_SETPOINT5_MASK (0x20U)
  75483. #define SRC_SETPOINT_DISPLAY_SETPOINT5_SHIFT (5U)
  75484. /*! SETPOINT5 - SETPOINT5
  75485. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75486. * 0b1..Slice reset will be asserted when system in Setpoint n
  75487. */
  75488. #define SRC_SETPOINT_DISPLAY_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT5_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT5_MASK)
  75489. #define SRC_SETPOINT_DISPLAY_SETPOINT6_MASK (0x40U)
  75490. #define SRC_SETPOINT_DISPLAY_SETPOINT6_SHIFT (6U)
  75491. /*! SETPOINT6 - SETPOINT6
  75492. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75493. * 0b1..Slice reset will be asserted when system in Setpoint n
  75494. */
  75495. #define SRC_SETPOINT_DISPLAY_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT6_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT6_MASK)
  75496. #define SRC_SETPOINT_DISPLAY_SETPOINT7_MASK (0x80U)
  75497. #define SRC_SETPOINT_DISPLAY_SETPOINT7_SHIFT (7U)
  75498. /*! SETPOINT7 - SETPOINT7
  75499. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75500. * 0b1..Slice reset will be asserted when system in Setpoint n
  75501. */
  75502. #define SRC_SETPOINT_DISPLAY_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT7_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT7_MASK)
  75503. #define SRC_SETPOINT_DISPLAY_SETPOINT8_MASK (0x100U)
  75504. #define SRC_SETPOINT_DISPLAY_SETPOINT8_SHIFT (8U)
  75505. /*! SETPOINT8 - SETPOINT8
  75506. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75507. * 0b1..Slice reset will be asserted when system in Setpoint n
  75508. */
  75509. #define SRC_SETPOINT_DISPLAY_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT8_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT8_MASK)
  75510. #define SRC_SETPOINT_DISPLAY_SETPOINT9_MASK (0x200U)
  75511. #define SRC_SETPOINT_DISPLAY_SETPOINT9_SHIFT (9U)
  75512. /*! SETPOINT9 - SETPOINT9
  75513. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75514. * 0b1..Slice reset will be asserted when system in Setpoint n
  75515. */
  75516. #define SRC_SETPOINT_DISPLAY_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT9_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT9_MASK)
  75517. #define SRC_SETPOINT_DISPLAY_SETPOINT10_MASK (0x400U)
  75518. #define SRC_SETPOINT_DISPLAY_SETPOINT10_SHIFT (10U)
  75519. /*! SETPOINT10 - SETPOINT10
  75520. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75521. * 0b1..Slice reset will be asserted when system in Setpoint n
  75522. */
  75523. #define SRC_SETPOINT_DISPLAY_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT10_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT10_MASK)
  75524. #define SRC_SETPOINT_DISPLAY_SETPOINT11_MASK (0x800U)
  75525. #define SRC_SETPOINT_DISPLAY_SETPOINT11_SHIFT (11U)
  75526. /*! SETPOINT11 - SETPOINT11
  75527. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75528. * 0b1..Slice reset will be asserted when system in Setpoint n
  75529. */
  75530. #define SRC_SETPOINT_DISPLAY_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT11_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT11_MASK)
  75531. #define SRC_SETPOINT_DISPLAY_SETPOINT12_MASK (0x1000U)
  75532. #define SRC_SETPOINT_DISPLAY_SETPOINT12_SHIFT (12U)
  75533. /*! SETPOINT12 - SETPOINT12
  75534. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75535. * 0b1..Slice reset will be asserted when system in Setpoint n
  75536. */
  75537. #define SRC_SETPOINT_DISPLAY_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT12_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT12_MASK)
  75538. #define SRC_SETPOINT_DISPLAY_SETPOINT13_MASK (0x2000U)
  75539. #define SRC_SETPOINT_DISPLAY_SETPOINT13_SHIFT (13U)
  75540. /*! SETPOINT13 - SETPOINT13
  75541. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75542. * 0b1..Slice reset will be asserted when system in Setpoint n
  75543. */
  75544. #define SRC_SETPOINT_DISPLAY_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT13_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT13_MASK)
  75545. #define SRC_SETPOINT_DISPLAY_SETPOINT14_MASK (0x4000U)
  75546. #define SRC_SETPOINT_DISPLAY_SETPOINT14_SHIFT (14U)
  75547. /*! SETPOINT14 - SETPOINT14
  75548. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75549. * 0b1..Slice reset will be asserted when system in Setpoint n
  75550. */
  75551. #define SRC_SETPOINT_DISPLAY_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT14_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT14_MASK)
  75552. #define SRC_SETPOINT_DISPLAY_SETPOINT15_MASK (0x8000U)
  75553. #define SRC_SETPOINT_DISPLAY_SETPOINT15_SHIFT (15U)
  75554. /*! SETPOINT15 - SETPOINT15
  75555. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75556. * 0b1..Slice reset will be asserted when system in Setpoint n
  75557. */
  75558. #define SRC_SETPOINT_DISPLAY_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_DISPLAY_SETPOINT15_SHIFT)) & SRC_SETPOINT_DISPLAY_SETPOINT15_MASK)
  75559. /*! @} */
  75560. /*! @name DOMAIN_DISPLAY - Slice Domain Config Register */
  75561. /*! @{ */
  75562. #define SRC_DOMAIN_DISPLAY_CPU0_RUN_MASK (0x1U)
  75563. #define SRC_DOMAIN_DISPLAY_CPU0_RUN_SHIFT (0U)
  75564. /*! CPU0_RUN - CPU mode setting for RUN
  75565. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  75566. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  75567. */
  75568. #define SRC_DOMAIN_DISPLAY_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_RUN_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_RUN_MASK)
  75569. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT_MASK (0x2U)
  75570. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT_SHIFT (1U)
  75571. /*! CPU0_WAIT - CPU mode setting for WAIT
  75572. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  75573. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  75574. */
  75575. #define SRC_DOMAIN_DISPLAY_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_WAIT_MASK)
  75576. #define SRC_DOMAIN_DISPLAY_CPU0_STOP_MASK (0x4U)
  75577. #define SRC_DOMAIN_DISPLAY_CPU0_STOP_SHIFT (2U)
  75578. /*! CPU0_STOP - CPU mode setting for STOP
  75579. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  75580. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  75581. */
  75582. #define SRC_DOMAIN_DISPLAY_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_STOP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_STOP_MASK)
  75583. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP_MASK (0x8U)
  75584. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP_SHIFT (3U)
  75585. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  75586. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  75587. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  75588. */
  75589. #define SRC_DOMAIN_DISPLAY_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU0_SUSP_MASK)
  75590. #define SRC_DOMAIN_DISPLAY_CPU1_RUN_MASK (0x10U)
  75591. #define SRC_DOMAIN_DISPLAY_CPU1_RUN_SHIFT (4U)
  75592. /*! CPU1_RUN - CPU mode setting for RUN
  75593. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  75594. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  75595. */
  75596. #define SRC_DOMAIN_DISPLAY_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_RUN_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_RUN_MASK)
  75597. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT_MASK (0x20U)
  75598. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT_SHIFT (5U)
  75599. /*! CPU1_WAIT - CPU mode setting for WAIT
  75600. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  75601. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  75602. */
  75603. #define SRC_DOMAIN_DISPLAY_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_WAIT_MASK)
  75604. #define SRC_DOMAIN_DISPLAY_CPU1_STOP_MASK (0x40U)
  75605. #define SRC_DOMAIN_DISPLAY_CPU1_STOP_SHIFT (6U)
  75606. /*! CPU1_STOP - CPU mode setting for STOP
  75607. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  75608. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  75609. */
  75610. #define SRC_DOMAIN_DISPLAY_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_STOP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_STOP_MASK)
  75611. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP_MASK (0x80U)
  75612. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP_SHIFT (7U)
  75613. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  75614. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  75615. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  75616. */
  75617. #define SRC_DOMAIN_DISPLAY_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_DISPLAY_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_DISPLAY_CPU1_SUSP_MASK)
  75618. /*! @} */
  75619. /*! @name STAT_DISPLAY - Slice Status Register */
  75620. /*! @{ */
  75621. #define SRC_STAT_DISPLAY_UNDER_RST_MASK (0x1U)
  75622. #define SRC_STAT_DISPLAY_UNDER_RST_SHIFT (0U)
  75623. /*! UNDER_RST
  75624. * 0b0..the reset is finished
  75625. * 0b1..the reset is in process
  75626. */
  75627. #define SRC_STAT_DISPLAY_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_DISPLAY_UNDER_RST_SHIFT)) & SRC_STAT_DISPLAY_UNDER_RST_MASK)
  75628. #define SRC_STAT_DISPLAY_RST_BY_HW_MASK (0x4U)
  75629. #define SRC_STAT_DISPLAY_RST_BY_HW_SHIFT (2U)
  75630. /*! RST_BY_HW
  75631. * 0b0..the reset is not caused by the power mode transfer
  75632. * 0b1..the reset is caused by the power mode transfer
  75633. */
  75634. #define SRC_STAT_DISPLAY_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_DISPLAY_RST_BY_HW_SHIFT)) & SRC_STAT_DISPLAY_RST_BY_HW_MASK)
  75635. #define SRC_STAT_DISPLAY_RST_BY_SW_MASK (0x8U)
  75636. #define SRC_STAT_DISPLAY_RST_BY_SW_SHIFT (3U)
  75637. /*! RST_BY_SW
  75638. * 0b0..the reset is not caused by software setting
  75639. * 0b1..the reset is caused by software setting
  75640. */
  75641. #define SRC_STAT_DISPLAY_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_DISPLAY_RST_BY_SW_SHIFT)) & SRC_STAT_DISPLAY_RST_BY_SW_MASK)
  75642. /*! @} */
  75643. /*! @name AUTHEN_WAKEUP - Slice Authentication Register */
  75644. /*! @{ */
  75645. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE_MASK (0x1U)
  75646. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE_SHIFT (0U)
  75647. /*! DOMAIN_MODE
  75648. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  75649. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  75650. */
  75651. #define SRC_AUTHEN_WAKEUP_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_DOMAIN_MODE_MASK)
  75652. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE_MASK (0x2U)
  75653. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE_SHIFT (1U)
  75654. /*! SETPOINT_MODE
  75655. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  75656. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  75657. */
  75658. #define SRC_AUTHEN_WAKEUP_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_SETPOINT_MODE_MASK)
  75659. #define SRC_AUTHEN_WAKEUP_LOCK_MODE_MASK (0x80U)
  75660. #define SRC_AUTHEN_WAKEUP_LOCK_MODE_SHIFT (7U)
  75661. /*! LOCK_MODE - Domain/Setpoint mode lock
  75662. */
  75663. #define SRC_AUTHEN_WAKEUP_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_MODE_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_MODE_MASK)
  75664. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST_MASK (0xF00U)
  75665. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST_SHIFT (8U)
  75666. #define SRC_AUTHEN_WAKEUP_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_ASSIGN_LIST_MASK)
  75667. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_MASK (0x8000U)
  75668. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_SHIFT (15U)
  75669. /*! LOCK_ASSIGN - Assign list lock
  75670. */
  75671. #define SRC_AUTHEN_WAKEUP_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_ASSIGN_MASK)
  75672. #define SRC_AUTHEN_WAKEUP_WHITE_LIST_MASK (0xF0000U)
  75673. #define SRC_AUTHEN_WAKEUP_WHITE_LIST_SHIFT (16U)
  75674. /*! WHITE_LIST - Domain ID white list
  75675. */
  75676. #define SRC_AUTHEN_WAKEUP_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_WHITE_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_WHITE_LIST_MASK)
  75677. #define SRC_AUTHEN_WAKEUP_LOCK_LIST_MASK (0x800000U)
  75678. #define SRC_AUTHEN_WAKEUP_LOCK_LIST_SHIFT (23U)
  75679. /*! LOCK_LIST - White list lock
  75680. */
  75681. #define SRC_AUTHEN_WAKEUP_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_LIST_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_LIST_MASK)
  75682. #define SRC_AUTHEN_WAKEUP_USER_MASK (0x1000000U)
  75683. #define SRC_AUTHEN_WAKEUP_USER_SHIFT (24U)
  75684. /*! USER - Allow user mode access
  75685. */
  75686. #define SRC_AUTHEN_WAKEUP_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_USER_SHIFT)) & SRC_AUTHEN_WAKEUP_USER_MASK)
  75687. #define SRC_AUTHEN_WAKEUP_NONSECURE_MASK (0x2000000U)
  75688. #define SRC_AUTHEN_WAKEUP_NONSECURE_SHIFT (25U)
  75689. /*! NONSECURE - Allow non-secure mode access
  75690. */
  75691. #define SRC_AUTHEN_WAKEUP_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_NONSECURE_SHIFT)) & SRC_AUTHEN_WAKEUP_NONSECURE_MASK)
  75692. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING_MASK (0x80000000U)
  75693. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING_SHIFT (31U)
  75694. /*! LOCK_SETTING - Lock NONSECURE and USER
  75695. */
  75696. #define SRC_AUTHEN_WAKEUP_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_WAKEUP_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_WAKEUP_LOCK_SETTING_MASK)
  75697. /*! @} */
  75698. /*! @name CTRL_WAKEUP - Slice Control Register */
  75699. /*! @{ */
  75700. #define SRC_CTRL_WAKEUP_SW_RESET_MASK (0x1U)
  75701. #define SRC_CTRL_WAKEUP_SW_RESET_SHIFT (0U)
  75702. /*! SW_RESET
  75703. * 0b0..do not assert slice software reset
  75704. * 0b1..assert slice software reset
  75705. */
  75706. #define SRC_CTRL_WAKEUP_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_WAKEUP_SW_RESET_SHIFT)) & SRC_CTRL_WAKEUP_SW_RESET_MASK)
  75707. /*! @} */
  75708. /*! @name SETPOINT_WAKEUP - Slice Setpoint Config Register */
  75709. /*! @{ */
  75710. #define SRC_SETPOINT_WAKEUP_SETPOINT0_MASK (0x1U)
  75711. #define SRC_SETPOINT_WAKEUP_SETPOINT0_SHIFT (0U)
  75712. /*! SETPOINT0 - SETPOINT0
  75713. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75714. * 0b1..Slice reset will be asserted when system in Setpoint n
  75715. */
  75716. #define SRC_SETPOINT_WAKEUP_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT0_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT0_MASK)
  75717. #define SRC_SETPOINT_WAKEUP_SETPOINT1_MASK (0x2U)
  75718. #define SRC_SETPOINT_WAKEUP_SETPOINT1_SHIFT (1U)
  75719. /*! SETPOINT1 - SETPOINT1
  75720. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75721. * 0b1..Slice reset will be asserted when system in Setpoint n
  75722. */
  75723. #define SRC_SETPOINT_WAKEUP_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT1_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT1_MASK)
  75724. #define SRC_SETPOINT_WAKEUP_SETPOINT2_MASK (0x4U)
  75725. #define SRC_SETPOINT_WAKEUP_SETPOINT2_SHIFT (2U)
  75726. /*! SETPOINT2 - SETPOINT2
  75727. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75728. * 0b1..Slice reset will be asserted when system in Setpoint n
  75729. */
  75730. #define SRC_SETPOINT_WAKEUP_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT2_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT2_MASK)
  75731. #define SRC_SETPOINT_WAKEUP_SETPOINT3_MASK (0x8U)
  75732. #define SRC_SETPOINT_WAKEUP_SETPOINT3_SHIFT (3U)
  75733. /*! SETPOINT3 - SETPOINT3
  75734. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75735. * 0b1..Slice reset will be asserted when system in Setpoint n
  75736. */
  75737. #define SRC_SETPOINT_WAKEUP_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT3_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT3_MASK)
  75738. #define SRC_SETPOINT_WAKEUP_SETPOINT4_MASK (0x10U)
  75739. #define SRC_SETPOINT_WAKEUP_SETPOINT4_SHIFT (4U)
  75740. /*! SETPOINT4 - SETPOINT4
  75741. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75742. * 0b1..Slice reset will be asserted when system in Setpoint n
  75743. */
  75744. #define SRC_SETPOINT_WAKEUP_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT4_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT4_MASK)
  75745. #define SRC_SETPOINT_WAKEUP_SETPOINT5_MASK (0x20U)
  75746. #define SRC_SETPOINT_WAKEUP_SETPOINT5_SHIFT (5U)
  75747. /*! SETPOINT5 - SETPOINT5
  75748. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75749. * 0b1..Slice reset will be asserted when system in Setpoint n
  75750. */
  75751. #define SRC_SETPOINT_WAKEUP_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT5_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT5_MASK)
  75752. #define SRC_SETPOINT_WAKEUP_SETPOINT6_MASK (0x40U)
  75753. #define SRC_SETPOINT_WAKEUP_SETPOINT6_SHIFT (6U)
  75754. /*! SETPOINT6 - SETPOINT6
  75755. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75756. * 0b1..Slice reset will be asserted when system in Setpoint n
  75757. */
  75758. #define SRC_SETPOINT_WAKEUP_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT6_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT6_MASK)
  75759. #define SRC_SETPOINT_WAKEUP_SETPOINT7_MASK (0x80U)
  75760. #define SRC_SETPOINT_WAKEUP_SETPOINT7_SHIFT (7U)
  75761. /*! SETPOINT7 - SETPOINT7
  75762. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75763. * 0b1..Slice reset will be asserted when system in Setpoint n
  75764. */
  75765. #define SRC_SETPOINT_WAKEUP_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT7_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT7_MASK)
  75766. #define SRC_SETPOINT_WAKEUP_SETPOINT8_MASK (0x100U)
  75767. #define SRC_SETPOINT_WAKEUP_SETPOINT8_SHIFT (8U)
  75768. /*! SETPOINT8 - SETPOINT8
  75769. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75770. * 0b1..Slice reset will be asserted when system in Setpoint n
  75771. */
  75772. #define SRC_SETPOINT_WAKEUP_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT8_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT8_MASK)
  75773. #define SRC_SETPOINT_WAKEUP_SETPOINT9_MASK (0x200U)
  75774. #define SRC_SETPOINT_WAKEUP_SETPOINT9_SHIFT (9U)
  75775. /*! SETPOINT9 - SETPOINT9
  75776. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75777. * 0b1..Slice reset will be asserted when system in Setpoint n
  75778. */
  75779. #define SRC_SETPOINT_WAKEUP_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT9_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT9_MASK)
  75780. #define SRC_SETPOINT_WAKEUP_SETPOINT10_MASK (0x400U)
  75781. #define SRC_SETPOINT_WAKEUP_SETPOINT10_SHIFT (10U)
  75782. /*! SETPOINT10 - SETPOINT10
  75783. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75784. * 0b1..Slice reset will be asserted when system in Setpoint n
  75785. */
  75786. #define SRC_SETPOINT_WAKEUP_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT10_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT10_MASK)
  75787. #define SRC_SETPOINT_WAKEUP_SETPOINT11_MASK (0x800U)
  75788. #define SRC_SETPOINT_WAKEUP_SETPOINT11_SHIFT (11U)
  75789. /*! SETPOINT11 - SETPOINT11
  75790. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75791. * 0b1..Slice reset will be asserted when system in Setpoint n
  75792. */
  75793. #define SRC_SETPOINT_WAKEUP_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT11_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT11_MASK)
  75794. #define SRC_SETPOINT_WAKEUP_SETPOINT12_MASK (0x1000U)
  75795. #define SRC_SETPOINT_WAKEUP_SETPOINT12_SHIFT (12U)
  75796. /*! SETPOINT12 - SETPOINT12
  75797. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75798. * 0b1..Slice reset will be asserted when system in Setpoint n
  75799. */
  75800. #define SRC_SETPOINT_WAKEUP_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT12_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT12_MASK)
  75801. #define SRC_SETPOINT_WAKEUP_SETPOINT13_MASK (0x2000U)
  75802. #define SRC_SETPOINT_WAKEUP_SETPOINT13_SHIFT (13U)
  75803. /*! SETPOINT13 - SETPOINT13
  75804. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75805. * 0b1..Slice reset will be asserted when system in Setpoint n
  75806. */
  75807. #define SRC_SETPOINT_WAKEUP_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT13_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT13_MASK)
  75808. #define SRC_SETPOINT_WAKEUP_SETPOINT14_MASK (0x4000U)
  75809. #define SRC_SETPOINT_WAKEUP_SETPOINT14_SHIFT (14U)
  75810. /*! SETPOINT14 - SETPOINT14
  75811. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75812. * 0b1..Slice reset will be asserted when system in Setpoint n
  75813. */
  75814. #define SRC_SETPOINT_WAKEUP_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT14_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT14_MASK)
  75815. #define SRC_SETPOINT_WAKEUP_SETPOINT15_MASK (0x8000U)
  75816. #define SRC_SETPOINT_WAKEUP_SETPOINT15_SHIFT (15U)
  75817. /*! SETPOINT15 - SETPOINT15
  75818. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75819. * 0b1..Slice reset will be asserted when system in Setpoint n
  75820. */
  75821. #define SRC_SETPOINT_WAKEUP_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_WAKEUP_SETPOINT15_SHIFT)) & SRC_SETPOINT_WAKEUP_SETPOINT15_MASK)
  75822. /*! @} */
  75823. /*! @name DOMAIN_WAKEUP - Slice Domain Config Register */
  75824. /*! @{ */
  75825. #define SRC_DOMAIN_WAKEUP_CPU0_RUN_MASK (0x1U)
  75826. #define SRC_DOMAIN_WAKEUP_CPU0_RUN_SHIFT (0U)
  75827. /*! CPU0_RUN - CPU mode setting for RUN
  75828. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  75829. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  75830. */
  75831. #define SRC_DOMAIN_WAKEUP_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_RUN_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_RUN_MASK)
  75832. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT_MASK (0x2U)
  75833. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT_SHIFT (1U)
  75834. /*! CPU0_WAIT - CPU mode setting for WAIT
  75835. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  75836. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  75837. */
  75838. #define SRC_DOMAIN_WAKEUP_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_WAIT_MASK)
  75839. #define SRC_DOMAIN_WAKEUP_CPU0_STOP_MASK (0x4U)
  75840. #define SRC_DOMAIN_WAKEUP_CPU0_STOP_SHIFT (2U)
  75841. /*! CPU0_STOP - CPU mode setting for STOP
  75842. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  75843. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  75844. */
  75845. #define SRC_DOMAIN_WAKEUP_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_STOP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_STOP_MASK)
  75846. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP_MASK (0x8U)
  75847. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP_SHIFT (3U)
  75848. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  75849. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  75850. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  75851. */
  75852. #define SRC_DOMAIN_WAKEUP_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU0_SUSP_MASK)
  75853. #define SRC_DOMAIN_WAKEUP_CPU1_RUN_MASK (0x10U)
  75854. #define SRC_DOMAIN_WAKEUP_CPU1_RUN_SHIFT (4U)
  75855. /*! CPU1_RUN - CPU mode setting for RUN
  75856. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  75857. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  75858. */
  75859. #define SRC_DOMAIN_WAKEUP_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_RUN_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_RUN_MASK)
  75860. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT_MASK (0x20U)
  75861. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT_SHIFT (5U)
  75862. /*! CPU1_WAIT - CPU mode setting for WAIT
  75863. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  75864. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  75865. */
  75866. #define SRC_DOMAIN_WAKEUP_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_WAIT_MASK)
  75867. #define SRC_DOMAIN_WAKEUP_CPU1_STOP_MASK (0x40U)
  75868. #define SRC_DOMAIN_WAKEUP_CPU1_STOP_SHIFT (6U)
  75869. /*! CPU1_STOP - CPU mode setting for STOP
  75870. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  75871. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  75872. */
  75873. #define SRC_DOMAIN_WAKEUP_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_STOP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_STOP_MASK)
  75874. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP_MASK (0x80U)
  75875. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP_SHIFT (7U)
  75876. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  75877. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  75878. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  75879. */
  75880. #define SRC_DOMAIN_WAKEUP_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_WAKEUP_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_WAKEUP_CPU1_SUSP_MASK)
  75881. /*! @} */
  75882. /*! @name STAT_WAKEUP - Slice Status Register */
  75883. /*! @{ */
  75884. #define SRC_STAT_WAKEUP_UNDER_RST_MASK (0x1U)
  75885. #define SRC_STAT_WAKEUP_UNDER_RST_SHIFT (0U)
  75886. /*! UNDER_RST
  75887. * 0b0..the reset is finished
  75888. * 0b1..the reset is in process
  75889. */
  75890. #define SRC_STAT_WAKEUP_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_WAKEUP_UNDER_RST_SHIFT)) & SRC_STAT_WAKEUP_UNDER_RST_MASK)
  75891. #define SRC_STAT_WAKEUP_RST_BY_HW_MASK (0x4U)
  75892. #define SRC_STAT_WAKEUP_RST_BY_HW_SHIFT (2U)
  75893. /*! RST_BY_HW
  75894. * 0b0..the reset is not caused by the power mode transfer
  75895. * 0b1..the reset is caused by the power mode transfer
  75896. */
  75897. #define SRC_STAT_WAKEUP_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_WAKEUP_RST_BY_HW_SHIFT)) & SRC_STAT_WAKEUP_RST_BY_HW_MASK)
  75898. #define SRC_STAT_WAKEUP_RST_BY_SW_MASK (0x8U)
  75899. #define SRC_STAT_WAKEUP_RST_BY_SW_SHIFT (3U)
  75900. /*! RST_BY_SW
  75901. * 0b0..the reset is not caused by software setting
  75902. * 0b1..the reset is caused by software setting
  75903. */
  75904. #define SRC_STAT_WAKEUP_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_WAKEUP_RST_BY_SW_SHIFT)) & SRC_STAT_WAKEUP_RST_BY_SW_MASK)
  75905. /*! @} */
  75906. /*! @name AUTHEN_M4CORE - Slice Authentication Register */
  75907. /*! @{ */
  75908. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE_MASK (0x1U)
  75909. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE_SHIFT (0U)
  75910. /*! DOMAIN_MODE
  75911. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  75912. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  75913. */
  75914. #define SRC_AUTHEN_M4CORE_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_DOMAIN_MODE_MASK)
  75915. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE_MASK (0x2U)
  75916. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE_SHIFT (1U)
  75917. /*! SETPOINT_MODE
  75918. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  75919. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  75920. */
  75921. #define SRC_AUTHEN_M4CORE_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_SETPOINT_MODE_MASK)
  75922. #define SRC_AUTHEN_M4CORE_LOCK_MODE_MASK (0x80U)
  75923. #define SRC_AUTHEN_M4CORE_LOCK_MODE_SHIFT (7U)
  75924. /*! LOCK_MODE - Domain/Setpoint mode lock
  75925. */
  75926. #define SRC_AUTHEN_M4CORE_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_MODE_MASK)
  75927. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST_MASK (0xF00U)
  75928. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST_SHIFT (8U)
  75929. #define SRC_AUTHEN_M4CORE_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_ASSIGN_LIST_MASK)
  75930. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN_MASK (0x8000U)
  75931. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN_SHIFT (15U)
  75932. /*! LOCK_ASSIGN - Assign list lock
  75933. */
  75934. #define SRC_AUTHEN_M4CORE_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_ASSIGN_MASK)
  75935. #define SRC_AUTHEN_M4CORE_WHITE_LIST_MASK (0xF0000U)
  75936. #define SRC_AUTHEN_M4CORE_WHITE_LIST_SHIFT (16U)
  75937. /*! WHITE_LIST - Domain ID white list
  75938. */
  75939. #define SRC_AUTHEN_M4CORE_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_WHITE_LIST_MASK)
  75940. #define SRC_AUTHEN_M4CORE_LOCK_LIST_MASK (0x800000U)
  75941. #define SRC_AUTHEN_M4CORE_LOCK_LIST_SHIFT (23U)
  75942. /*! LOCK_LIST - White list lock
  75943. */
  75944. #define SRC_AUTHEN_M4CORE_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_LIST_MASK)
  75945. #define SRC_AUTHEN_M4CORE_USER_MASK (0x1000000U)
  75946. #define SRC_AUTHEN_M4CORE_USER_SHIFT (24U)
  75947. /*! USER - Allow user mode access
  75948. */
  75949. #define SRC_AUTHEN_M4CORE_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_USER_SHIFT)) & SRC_AUTHEN_M4CORE_USER_MASK)
  75950. #define SRC_AUTHEN_M4CORE_NONSECURE_MASK (0x2000000U)
  75951. #define SRC_AUTHEN_M4CORE_NONSECURE_SHIFT (25U)
  75952. /*! NONSECURE - Allow non-secure mode access
  75953. */
  75954. #define SRC_AUTHEN_M4CORE_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_NONSECURE_SHIFT)) & SRC_AUTHEN_M4CORE_NONSECURE_MASK)
  75955. #define SRC_AUTHEN_M4CORE_LOCK_SETTING_MASK (0x80000000U)
  75956. #define SRC_AUTHEN_M4CORE_LOCK_SETTING_SHIFT (31U)
  75957. /*! LOCK_SETTING - Lock NONSECURE and USER
  75958. */
  75959. #define SRC_AUTHEN_M4CORE_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4CORE_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M4CORE_LOCK_SETTING_MASK)
  75960. /*! @} */
  75961. /*! @name CTRL_M4CORE - Slice Control Register */
  75962. /*! @{ */
  75963. #define SRC_CTRL_M4CORE_SW_RESET_MASK (0x1U)
  75964. #define SRC_CTRL_M4CORE_SW_RESET_SHIFT (0U)
  75965. /*! SW_RESET
  75966. * 0b0..do not assert slice software reset
  75967. * 0b1..assert slice software reset
  75968. */
  75969. #define SRC_CTRL_M4CORE_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M4CORE_SW_RESET_SHIFT)) & SRC_CTRL_M4CORE_SW_RESET_MASK)
  75970. /*! @} */
  75971. /*! @name SETPOINT_M4CORE - Slice Setpoint Config Register */
  75972. /*! @{ */
  75973. #define SRC_SETPOINT_M4CORE_SETPOINT0_MASK (0x1U)
  75974. #define SRC_SETPOINT_M4CORE_SETPOINT0_SHIFT (0U)
  75975. /*! SETPOINT0 - SETPOINT0
  75976. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75977. * 0b1..Slice reset will be asserted when system in Setpoint n
  75978. */
  75979. #define SRC_SETPOINT_M4CORE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT0_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT0_MASK)
  75980. #define SRC_SETPOINT_M4CORE_SETPOINT1_MASK (0x2U)
  75981. #define SRC_SETPOINT_M4CORE_SETPOINT1_SHIFT (1U)
  75982. /*! SETPOINT1 - SETPOINT1
  75983. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75984. * 0b1..Slice reset will be asserted when system in Setpoint n
  75985. */
  75986. #define SRC_SETPOINT_M4CORE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT1_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT1_MASK)
  75987. #define SRC_SETPOINT_M4CORE_SETPOINT2_MASK (0x4U)
  75988. #define SRC_SETPOINT_M4CORE_SETPOINT2_SHIFT (2U)
  75989. /*! SETPOINT2 - SETPOINT2
  75990. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75991. * 0b1..Slice reset will be asserted when system in Setpoint n
  75992. */
  75993. #define SRC_SETPOINT_M4CORE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT2_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT2_MASK)
  75994. #define SRC_SETPOINT_M4CORE_SETPOINT3_MASK (0x8U)
  75995. #define SRC_SETPOINT_M4CORE_SETPOINT3_SHIFT (3U)
  75996. /*! SETPOINT3 - SETPOINT3
  75997. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  75998. * 0b1..Slice reset will be asserted when system in Setpoint n
  75999. */
  76000. #define SRC_SETPOINT_M4CORE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT3_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT3_MASK)
  76001. #define SRC_SETPOINT_M4CORE_SETPOINT4_MASK (0x10U)
  76002. #define SRC_SETPOINT_M4CORE_SETPOINT4_SHIFT (4U)
  76003. /*! SETPOINT4 - SETPOINT4
  76004. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76005. * 0b1..Slice reset will be asserted when system in Setpoint n
  76006. */
  76007. #define SRC_SETPOINT_M4CORE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT4_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT4_MASK)
  76008. #define SRC_SETPOINT_M4CORE_SETPOINT5_MASK (0x20U)
  76009. #define SRC_SETPOINT_M4CORE_SETPOINT5_SHIFT (5U)
  76010. /*! SETPOINT5 - SETPOINT5
  76011. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76012. * 0b1..Slice reset will be asserted when system in Setpoint n
  76013. */
  76014. #define SRC_SETPOINT_M4CORE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT5_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT5_MASK)
  76015. #define SRC_SETPOINT_M4CORE_SETPOINT6_MASK (0x40U)
  76016. #define SRC_SETPOINT_M4CORE_SETPOINT6_SHIFT (6U)
  76017. /*! SETPOINT6 - SETPOINT6
  76018. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76019. * 0b1..Slice reset will be asserted when system in Setpoint n
  76020. */
  76021. #define SRC_SETPOINT_M4CORE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT6_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT6_MASK)
  76022. #define SRC_SETPOINT_M4CORE_SETPOINT7_MASK (0x80U)
  76023. #define SRC_SETPOINT_M4CORE_SETPOINT7_SHIFT (7U)
  76024. /*! SETPOINT7 - SETPOINT7
  76025. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76026. * 0b1..Slice reset will be asserted when system in Setpoint n
  76027. */
  76028. #define SRC_SETPOINT_M4CORE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT7_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT7_MASK)
  76029. #define SRC_SETPOINT_M4CORE_SETPOINT8_MASK (0x100U)
  76030. #define SRC_SETPOINT_M4CORE_SETPOINT8_SHIFT (8U)
  76031. /*! SETPOINT8 - SETPOINT8
  76032. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76033. * 0b1..Slice reset will be asserted when system in Setpoint n
  76034. */
  76035. #define SRC_SETPOINT_M4CORE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT8_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT8_MASK)
  76036. #define SRC_SETPOINT_M4CORE_SETPOINT9_MASK (0x200U)
  76037. #define SRC_SETPOINT_M4CORE_SETPOINT9_SHIFT (9U)
  76038. /*! SETPOINT9 - SETPOINT9
  76039. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76040. * 0b1..Slice reset will be asserted when system in Setpoint n
  76041. */
  76042. #define SRC_SETPOINT_M4CORE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT9_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT9_MASK)
  76043. #define SRC_SETPOINT_M4CORE_SETPOINT10_MASK (0x400U)
  76044. #define SRC_SETPOINT_M4CORE_SETPOINT10_SHIFT (10U)
  76045. /*! SETPOINT10 - SETPOINT10
  76046. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76047. * 0b1..Slice reset will be asserted when system in Setpoint n
  76048. */
  76049. #define SRC_SETPOINT_M4CORE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT10_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT10_MASK)
  76050. #define SRC_SETPOINT_M4CORE_SETPOINT11_MASK (0x800U)
  76051. #define SRC_SETPOINT_M4CORE_SETPOINT11_SHIFT (11U)
  76052. /*! SETPOINT11 - SETPOINT11
  76053. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76054. * 0b1..Slice reset will be asserted when system in Setpoint n
  76055. */
  76056. #define SRC_SETPOINT_M4CORE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT11_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT11_MASK)
  76057. #define SRC_SETPOINT_M4CORE_SETPOINT12_MASK (0x1000U)
  76058. #define SRC_SETPOINT_M4CORE_SETPOINT12_SHIFT (12U)
  76059. /*! SETPOINT12 - SETPOINT12
  76060. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76061. * 0b1..Slice reset will be asserted when system in Setpoint n
  76062. */
  76063. #define SRC_SETPOINT_M4CORE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT12_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT12_MASK)
  76064. #define SRC_SETPOINT_M4CORE_SETPOINT13_MASK (0x2000U)
  76065. #define SRC_SETPOINT_M4CORE_SETPOINT13_SHIFT (13U)
  76066. /*! SETPOINT13 - SETPOINT13
  76067. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76068. * 0b1..Slice reset will be asserted when system in Setpoint n
  76069. */
  76070. #define SRC_SETPOINT_M4CORE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT13_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT13_MASK)
  76071. #define SRC_SETPOINT_M4CORE_SETPOINT14_MASK (0x4000U)
  76072. #define SRC_SETPOINT_M4CORE_SETPOINT14_SHIFT (14U)
  76073. /*! SETPOINT14 - SETPOINT14
  76074. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76075. * 0b1..Slice reset will be asserted when system in Setpoint n
  76076. */
  76077. #define SRC_SETPOINT_M4CORE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT14_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT14_MASK)
  76078. #define SRC_SETPOINT_M4CORE_SETPOINT15_MASK (0x8000U)
  76079. #define SRC_SETPOINT_M4CORE_SETPOINT15_SHIFT (15U)
  76080. /*! SETPOINT15 - SETPOINT15
  76081. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76082. * 0b1..Slice reset will be asserted when system in Setpoint n
  76083. */
  76084. #define SRC_SETPOINT_M4CORE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4CORE_SETPOINT15_SHIFT)) & SRC_SETPOINT_M4CORE_SETPOINT15_MASK)
  76085. /*! @} */
  76086. /*! @name DOMAIN_M4CORE - Slice Domain Config Register */
  76087. /*! @{ */
  76088. #define SRC_DOMAIN_M4CORE_CPU0_RUN_MASK (0x1U)
  76089. #define SRC_DOMAIN_M4CORE_CPU0_RUN_SHIFT (0U)
  76090. /*! CPU0_RUN - CPU mode setting for RUN
  76091. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76092. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76093. */
  76094. #define SRC_DOMAIN_M4CORE_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_RUN_MASK)
  76095. #define SRC_DOMAIN_M4CORE_CPU0_WAIT_MASK (0x2U)
  76096. #define SRC_DOMAIN_M4CORE_CPU0_WAIT_SHIFT (1U)
  76097. /*! CPU0_WAIT - CPU mode setting for WAIT
  76098. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76099. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76100. */
  76101. #define SRC_DOMAIN_M4CORE_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_WAIT_MASK)
  76102. #define SRC_DOMAIN_M4CORE_CPU0_STOP_MASK (0x4U)
  76103. #define SRC_DOMAIN_M4CORE_CPU0_STOP_SHIFT (2U)
  76104. /*! CPU0_STOP - CPU mode setting for STOP
  76105. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76106. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76107. */
  76108. #define SRC_DOMAIN_M4CORE_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_STOP_MASK)
  76109. #define SRC_DOMAIN_M4CORE_CPU0_SUSP_MASK (0x8U)
  76110. #define SRC_DOMAIN_M4CORE_CPU0_SUSP_SHIFT (3U)
  76111. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76112. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76113. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76114. */
  76115. #define SRC_DOMAIN_M4CORE_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU0_SUSP_MASK)
  76116. #define SRC_DOMAIN_M4CORE_CPU1_RUN_MASK (0x10U)
  76117. #define SRC_DOMAIN_M4CORE_CPU1_RUN_SHIFT (4U)
  76118. /*! CPU1_RUN - CPU mode setting for RUN
  76119. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76120. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76121. */
  76122. #define SRC_DOMAIN_M4CORE_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_RUN_MASK)
  76123. #define SRC_DOMAIN_M4CORE_CPU1_WAIT_MASK (0x20U)
  76124. #define SRC_DOMAIN_M4CORE_CPU1_WAIT_SHIFT (5U)
  76125. /*! CPU1_WAIT - CPU mode setting for WAIT
  76126. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76127. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76128. */
  76129. #define SRC_DOMAIN_M4CORE_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_WAIT_MASK)
  76130. #define SRC_DOMAIN_M4CORE_CPU1_STOP_MASK (0x40U)
  76131. #define SRC_DOMAIN_M4CORE_CPU1_STOP_SHIFT (6U)
  76132. /*! CPU1_STOP - CPU mode setting for STOP
  76133. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76134. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76135. */
  76136. #define SRC_DOMAIN_M4CORE_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_STOP_MASK)
  76137. #define SRC_DOMAIN_M4CORE_CPU1_SUSP_MASK (0x80U)
  76138. #define SRC_DOMAIN_M4CORE_CPU1_SUSP_SHIFT (7U)
  76139. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76140. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76141. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76142. */
  76143. #define SRC_DOMAIN_M4CORE_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4CORE_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M4CORE_CPU1_SUSP_MASK)
  76144. /*! @} */
  76145. /*! @name STAT_M4CORE - Slice Status Register */
  76146. /*! @{ */
  76147. #define SRC_STAT_M4CORE_UNDER_RST_MASK (0x1U)
  76148. #define SRC_STAT_M4CORE_UNDER_RST_SHIFT (0U)
  76149. /*! UNDER_RST
  76150. * 0b0..the reset is finished
  76151. * 0b1..the reset is in process
  76152. */
  76153. #define SRC_STAT_M4CORE_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4CORE_UNDER_RST_SHIFT)) & SRC_STAT_M4CORE_UNDER_RST_MASK)
  76154. #define SRC_STAT_M4CORE_RST_BY_HW_MASK (0x4U)
  76155. #define SRC_STAT_M4CORE_RST_BY_HW_SHIFT (2U)
  76156. /*! RST_BY_HW
  76157. * 0b0..the reset is not caused by the power mode transfer
  76158. * 0b1..the reset is caused by the power mode transfer
  76159. */
  76160. #define SRC_STAT_M4CORE_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4CORE_RST_BY_HW_SHIFT)) & SRC_STAT_M4CORE_RST_BY_HW_MASK)
  76161. #define SRC_STAT_M4CORE_RST_BY_SW_MASK (0x8U)
  76162. #define SRC_STAT_M4CORE_RST_BY_SW_SHIFT (3U)
  76163. /*! RST_BY_SW
  76164. * 0b0..the reset is not caused by software setting
  76165. * 0b1..the reset is caused by software setting
  76166. */
  76167. #define SRC_STAT_M4CORE_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4CORE_RST_BY_SW_SHIFT)) & SRC_STAT_M4CORE_RST_BY_SW_MASK)
  76168. /*! @} */
  76169. /*! @name AUTHEN_M7CORE - Slice Authentication Register */
  76170. /*! @{ */
  76171. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE_MASK (0x1U)
  76172. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE_SHIFT (0U)
  76173. /*! DOMAIN_MODE
  76174. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76175. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76176. */
  76177. #define SRC_AUTHEN_M7CORE_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_DOMAIN_MODE_MASK)
  76178. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE_MASK (0x2U)
  76179. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE_SHIFT (1U)
  76180. /*! SETPOINT_MODE
  76181. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76182. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76183. */
  76184. #define SRC_AUTHEN_M7CORE_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_SETPOINT_MODE_MASK)
  76185. #define SRC_AUTHEN_M7CORE_LOCK_MODE_MASK (0x80U)
  76186. #define SRC_AUTHEN_M7CORE_LOCK_MODE_SHIFT (7U)
  76187. /*! LOCK_MODE - Domain/Setpoint mode lock
  76188. */
  76189. #define SRC_AUTHEN_M7CORE_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_MODE_MASK)
  76190. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST_MASK (0xF00U)
  76191. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST_SHIFT (8U)
  76192. #define SRC_AUTHEN_M7CORE_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_ASSIGN_LIST_MASK)
  76193. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN_MASK (0x8000U)
  76194. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN_SHIFT (15U)
  76195. /*! LOCK_ASSIGN - Assign list lock
  76196. */
  76197. #define SRC_AUTHEN_M7CORE_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_ASSIGN_MASK)
  76198. #define SRC_AUTHEN_M7CORE_WHITE_LIST_MASK (0xF0000U)
  76199. #define SRC_AUTHEN_M7CORE_WHITE_LIST_SHIFT (16U)
  76200. /*! WHITE_LIST - Domain ID white list
  76201. */
  76202. #define SRC_AUTHEN_M7CORE_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_WHITE_LIST_MASK)
  76203. #define SRC_AUTHEN_M7CORE_LOCK_LIST_MASK (0x800000U)
  76204. #define SRC_AUTHEN_M7CORE_LOCK_LIST_SHIFT (23U)
  76205. /*! LOCK_LIST - White list lock
  76206. */
  76207. #define SRC_AUTHEN_M7CORE_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_LIST_MASK)
  76208. #define SRC_AUTHEN_M7CORE_USER_MASK (0x1000000U)
  76209. #define SRC_AUTHEN_M7CORE_USER_SHIFT (24U)
  76210. /*! USER - Allow user mode access
  76211. */
  76212. #define SRC_AUTHEN_M7CORE_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_USER_SHIFT)) & SRC_AUTHEN_M7CORE_USER_MASK)
  76213. #define SRC_AUTHEN_M7CORE_NONSECURE_MASK (0x2000000U)
  76214. #define SRC_AUTHEN_M7CORE_NONSECURE_SHIFT (25U)
  76215. /*! NONSECURE - Allow non-secure mode access
  76216. */
  76217. #define SRC_AUTHEN_M7CORE_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_NONSECURE_SHIFT)) & SRC_AUTHEN_M7CORE_NONSECURE_MASK)
  76218. #define SRC_AUTHEN_M7CORE_LOCK_SETTING_MASK (0x80000000U)
  76219. #define SRC_AUTHEN_M7CORE_LOCK_SETTING_SHIFT (31U)
  76220. /*! LOCK_SETTING - Lock NONSECURE and USER
  76221. */
  76222. #define SRC_AUTHEN_M7CORE_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7CORE_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M7CORE_LOCK_SETTING_MASK)
  76223. /*! @} */
  76224. /*! @name CTRL_M7CORE - Slice Control Register */
  76225. /*! @{ */
  76226. #define SRC_CTRL_M7CORE_SW_RESET_MASK (0x1U)
  76227. #define SRC_CTRL_M7CORE_SW_RESET_SHIFT (0U)
  76228. /*! SW_RESET
  76229. * 0b0..do not assert slice software reset
  76230. * 0b1..assert slice software reset
  76231. */
  76232. #define SRC_CTRL_M7CORE_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M7CORE_SW_RESET_SHIFT)) & SRC_CTRL_M7CORE_SW_RESET_MASK)
  76233. /*! @} */
  76234. /*! @name SETPOINT_M7CORE - Slice Setpoint Config Register */
  76235. /*! @{ */
  76236. #define SRC_SETPOINT_M7CORE_SETPOINT0_MASK (0x1U)
  76237. #define SRC_SETPOINT_M7CORE_SETPOINT0_SHIFT (0U)
  76238. /*! SETPOINT0 - SETPOINT0
  76239. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76240. * 0b1..Slice reset will be asserted when system in Setpoint n
  76241. */
  76242. #define SRC_SETPOINT_M7CORE_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT0_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT0_MASK)
  76243. #define SRC_SETPOINT_M7CORE_SETPOINT1_MASK (0x2U)
  76244. #define SRC_SETPOINT_M7CORE_SETPOINT1_SHIFT (1U)
  76245. /*! SETPOINT1 - SETPOINT1
  76246. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76247. * 0b1..Slice reset will be asserted when system in Setpoint n
  76248. */
  76249. #define SRC_SETPOINT_M7CORE_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT1_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT1_MASK)
  76250. #define SRC_SETPOINT_M7CORE_SETPOINT2_MASK (0x4U)
  76251. #define SRC_SETPOINT_M7CORE_SETPOINT2_SHIFT (2U)
  76252. /*! SETPOINT2 - SETPOINT2
  76253. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76254. * 0b1..Slice reset will be asserted when system in Setpoint n
  76255. */
  76256. #define SRC_SETPOINT_M7CORE_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT2_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT2_MASK)
  76257. #define SRC_SETPOINT_M7CORE_SETPOINT3_MASK (0x8U)
  76258. #define SRC_SETPOINT_M7CORE_SETPOINT3_SHIFT (3U)
  76259. /*! SETPOINT3 - SETPOINT3
  76260. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76261. * 0b1..Slice reset will be asserted when system in Setpoint n
  76262. */
  76263. #define SRC_SETPOINT_M7CORE_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT3_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT3_MASK)
  76264. #define SRC_SETPOINT_M7CORE_SETPOINT4_MASK (0x10U)
  76265. #define SRC_SETPOINT_M7CORE_SETPOINT4_SHIFT (4U)
  76266. /*! SETPOINT4 - SETPOINT4
  76267. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76268. * 0b1..Slice reset will be asserted when system in Setpoint n
  76269. */
  76270. #define SRC_SETPOINT_M7CORE_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT4_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT4_MASK)
  76271. #define SRC_SETPOINT_M7CORE_SETPOINT5_MASK (0x20U)
  76272. #define SRC_SETPOINT_M7CORE_SETPOINT5_SHIFT (5U)
  76273. /*! SETPOINT5 - SETPOINT5
  76274. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76275. * 0b1..Slice reset will be asserted when system in Setpoint n
  76276. */
  76277. #define SRC_SETPOINT_M7CORE_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT5_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT5_MASK)
  76278. #define SRC_SETPOINT_M7CORE_SETPOINT6_MASK (0x40U)
  76279. #define SRC_SETPOINT_M7CORE_SETPOINT6_SHIFT (6U)
  76280. /*! SETPOINT6 - SETPOINT6
  76281. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76282. * 0b1..Slice reset will be asserted when system in Setpoint n
  76283. */
  76284. #define SRC_SETPOINT_M7CORE_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT6_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT6_MASK)
  76285. #define SRC_SETPOINT_M7CORE_SETPOINT7_MASK (0x80U)
  76286. #define SRC_SETPOINT_M7CORE_SETPOINT7_SHIFT (7U)
  76287. /*! SETPOINT7 - SETPOINT7
  76288. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76289. * 0b1..Slice reset will be asserted when system in Setpoint n
  76290. */
  76291. #define SRC_SETPOINT_M7CORE_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT7_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT7_MASK)
  76292. #define SRC_SETPOINT_M7CORE_SETPOINT8_MASK (0x100U)
  76293. #define SRC_SETPOINT_M7CORE_SETPOINT8_SHIFT (8U)
  76294. /*! SETPOINT8 - SETPOINT8
  76295. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76296. * 0b1..Slice reset will be asserted when system in Setpoint n
  76297. */
  76298. #define SRC_SETPOINT_M7CORE_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT8_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT8_MASK)
  76299. #define SRC_SETPOINT_M7CORE_SETPOINT9_MASK (0x200U)
  76300. #define SRC_SETPOINT_M7CORE_SETPOINT9_SHIFT (9U)
  76301. /*! SETPOINT9 - SETPOINT9
  76302. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76303. * 0b1..Slice reset will be asserted when system in Setpoint n
  76304. */
  76305. #define SRC_SETPOINT_M7CORE_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT9_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT9_MASK)
  76306. #define SRC_SETPOINT_M7CORE_SETPOINT10_MASK (0x400U)
  76307. #define SRC_SETPOINT_M7CORE_SETPOINT10_SHIFT (10U)
  76308. /*! SETPOINT10 - SETPOINT10
  76309. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76310. * 0b1..Slice reset will be asserted when system in Setpoint n
  76311. */
  76312. #define SRC_SETPOINT_M7CORE_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT10_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT10_MASK)
  76313. #define SRC_SETPOINT_M7CORE_SETPOINT11_MASK (0x800U)
  76314. #define SRC_SETPOINT_M7CORE_SETPOINT11_SHIFT (11U)
  76315. /*! SETPOINT11 - SETPOINT11
  76316. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76317. * 0b1..Slice reset will be asserted when system in Setpoint n
  76318. */
  76319. #define SRC_SETPOINT_M7CORE_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT11_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT11_MASK)
  76320. #define SRC_SETPOINT_M7CORE_SETPOINT12_MASK (0x1000U)
  76321. #define SRC_SETPOINT_M7CORE_SETPOINT12_SHIFT (12U)
  76322. /*! SETPOINT12 - SETPOINT12
  76323. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76324. * 0b1..Slice reset will be asserted when system in Setpoint n
  76325. */
  76326. #define SRC_SETPOINT_M7CORE_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT12_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT12_MASK)
  76327. #define SRC_SETPOINT_M7CORE_SETPOINT13_MASK (0x2000U)
  76328. #define SRC_SETPOINT_M7CORE_SETPOINT13_SHIFT (13U)
  76329. /*! SETPOINT13 - SETPOINT13
  76330. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76331. * 0b1..Slice reset will be asserted when system in Setpoint n
  76332. */
  76333. #define SRC_SETPOINT_M7CORE_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT13_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT13_MASK)
  76334. #define SRC_SETPOINT_M7CORE_SETPOINT14_MASK (0x4000U)
  76335. #define SRC_SETPOINT_M7CORE_SETPOINT14_SHIFT (14U)
  76336. /*! SETPOINT14 - SETPOINT14
  76337. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76338. * 0b1..Slice reset will be asserted when system in Setpoint n
  76339. */
  76340. #define SRC_SETPOINT_M7CORE_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT14_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT14_MASK)
  76341. #define SRC_SETPOINT_M7CORE_SETPOINT15_MASK (0x8000U)
  76342. #define SRC_SETPOINT_M7CORE_SETPOINT15_SHIFT (15U)
  76343. /*! SETPOINT15 - SETPOINT15
  76344. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76345. * 0b1..Slice reset will be asserted when system in Setpoint n
  76346. */
  76347. #define SRC_SETPOINT_M7CORE_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7CORE_SETPOINT15_SHIFT)) & SRC_SETPOINT_M7CORE_SETPOINT15_MASK)
  76348. /*! @} */
  76349. /*! @name DOMAIN_M7CORE - Slice Domain Config Register */
  76350. /*! @{ */
  76351. #define SRC_DOMAIN_M7CORE_CPU0_RUN_MASK (0x1U)
  76352. #define SRC_DOMAIN_M7CORE_CPU0_RUN_SHIFT (0U)
  76353. /*! CPU0_RUN - CPU mode setting for RUN
  76354. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76355. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76356. */
  76357. #define SRC_DOMAIN_M7CORE_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_RUN_MASK)
  76358. #define SRC_DOMAIN_M7CORE_CPU0_WAIT_MASK (0x2U)
  76359. #define SRC_DOMAIN_M7CORE_CPU0_WAIT_SHIFT (1U)
  76360. /*! CPU0_WAIT - CPU mode setting for WAIT
  76361. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76362. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76363. */
  76364. #define SRC_DOMAIN_M7CORE_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_WAIT_MASK)
  76365. #define SRC_DOMAIN_M7CORE_CPU0_STOP_MASK (0x4U)
  76366. #define SRC_DOMAIN_M7CORE_CPU0_STOP_SHIFT (2U)
  76367. /*! CPU0_STOP - CPU mode setting for STOP
  76368. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76369. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76370. */
  76371. #define SRC_DOMAIN_M7CORE_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_STOP_MASK)
  76372. #define SRC_DOMAIN_M7CORE_CPU0_SUSP_MASK (0x8U)
  76373. #define SRC_DOMAIN_M7CORE_CPU0_SUSP_SHIFT (3U)
  76374. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76375. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76376. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76377. */
  76378. #define SRC_DOMAIN_M7CORE_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU0_SUSP_MASK)
  76379. #define SRC_DOMAIN_M7CORE_CPU1_RUN_MASK (0x10U)
  76380. #define SRC_DOMAIN_M7CORE_CPU1_RUN_SHIFT (4U)
  76381. /*! CPU1_RUN - CPU mode setting for RUN
  76382. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76383. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76384. */
  76385. #define SRC_DOMAIN_M7CORE_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_RUN_MASK)
  76386. #define SRC_DOMAIN_M7CORE_CPU1_WAIT_MASK (0x20U)
  76387. #define SRC_DOMAIN_M7CORE_CPU1_WAIT_SHIFT (5U)
  76388. /*! CPU1_WAIT - CPU mode setting for WAIT
  76389. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76390. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76391. */
  76392. #define SRC_DOMAIN_M7CORE_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_WAIT_MASK)
  76393. #define SRC_DOMAIN_M7CORE_CPU1_STOP_MASK (0x40U)
  76394. #define SRC_DOMAIN_M7CORE_CPU1_STOP_SHIFT (6U)
  76395. /*! CPU1_STOP - CPU mode setting for STOP
  76396. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76397. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76398. */
  76399. #define SRC_DOMAIN_M7CORE_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_STOP_MASK)
  76400. #define SRC_DOMAIN_M7CORE_CPU1_SUSP_MASK (0x80U)
  76401. #define SRC_DOMAIN_M7CORE_CPU1_SUSP_SHIFT (7U)
  76402. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76403. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76404. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76405. */
  76406. #define SRC_DOMAIN_M7CORE_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7CORE_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M7CORE_CPU1_SUSP_MASK)
  76407. /*! @} */
  76408. /*! @name STAT_M7CORE - Slice Status Register */
  76409. /*! @{ */
  76410. #define SRC_STAT_M7CORE_UNDER_RST_MASK (0x1U)
  76411. #define SRC_STAT_M7CORE_UNDER_RST_SHIFT (0U)
  76412. /*! UNDER_RST
  76413. * 0b0..the reset is finished
  76414. * 0b1..the reset is in process
  76415. */
  76416. #define SRC_STAT_M7CORE_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7CORE_UNDER_RST_SHIFT)) & SRC_STAT_M7CORE_UNDER_RST_MASK)
  76417. #define SRC_STAT_M7CORE_RST_BY_HW_MASK (0x4U)
  76418. #define SRC_STAT_M7CORE_RST_BY_HW_SHIFT (2U)
  76419. /*! RST_BY_HW
  76420. * 0b0..the reset is not caused by the power mode transfer
  76421. * 0b1..the reset is caused by the power mode transfer
  76422. */
  76423. #define SRC_STAT_M7CORE_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7CORE_RST_BY_HW_SHIFT)) & SRC_STAT_M7CORE_RST_BY_HW_MASK)
  76424. #define SRC_STAT_M7CORE_RST_BY_SW_MASK (0x8U)
  76425. #define SRC_STAT_M7CORE_RST_BY_SW_SHIFT (3U)
  76426. /*! RST_BY_SW
  76427. * 0b0..the reset is not caused by software setting
  76428. * 0b1..the reset is caused by software setting
  76429. */
  76430. #define SRC_STAT_M7CORE_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7CORE_RST_BY_SW_SHIFT)) & SRC_STAT_M7CORE_RST_BY_SW_MASK)
  76431. /*! @} */
  76432. /*! @name AUTHEN_M4DEBUG - Slice Authentication Register */
  76433. /*! @{ */
  76434. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_MASK (0x1U)
  76435. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_SHIFT (0U)
  76436. /*! DOMAIN_MODE
  76437. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76438. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76439. */
  76440. #define SRC_AUTHEN_M4DEBUG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_DOMAIN_MODE_MASK)
  76441. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_MASK (0x2U)
  76442. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_SHIFT (1U)
  76443. /*! SETPOINT_MODE
  76444. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76445. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76446. */
  76447. #define SRC_AUTHEN_M4DEBUG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_SETPOINT_MODE_MASK)
  76448. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE_MASK (0x80U)
  76449. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE_SHIFT (7U)
  76450. /*! LOCK_MODE - Domain/Setpoint mode lock
  76451. */
  76452. #define SRC_AUTHEN_M4DEBUG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_MODE_MASK)
  76453. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_MASK (0xF00U)
  76454. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_SHIFT (8U)
  76455. #define SRC_AUTHEN_M4DEBUG_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_ASSIGN_LIST_MASK)
  76456. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_MASK (0x8000U)
  76457. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_SHIFT (15U)
  76458. /*! LOCK_ASSIGN - Assign list lock
  76459. */
  76460. #define SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_ASSIGN_MASK)
  76461. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST_MASK (0xF0000U)
  76462. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST_SHIFT (16U)
  76463. /*! WHITE_LIST - Domain ID white list
  76464. */
  76465. #define SRC_AUTHEN_M4DEBUG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_WHITE_LIST_MASK)
  76466. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST_MASK (0x800000U)
  76467. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST_SHIFT (23U)
  76468. /*! LOCK_LIST - White list lock
  76469. */
  76470. #define SRC_AUTHEN_M4DEBUG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_LIST_MASK)
  76471. #define SRC_AUTHEN_M4DEBUG_USER_MASK (0x1000000U)
  76472. #define SRC_AUTHEN_M4DEBUG_USER_SHIFT (24U)
  76473. /*! USER - Allow user mode access
  76474. */
  76475. #define SRC_AUTHEN_M4DEBUG_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_USER_SHIFT)) & SRC_AUTHEN_M4DEBUG_USER_MASK)
  76476. #define SRC_AUTHEN_M4DEBUG_NONSECURE_MASK (0x2000000U)
  76477. #define SRC_AUTHEN_M4DEBUG_NONSECURE_SHIFT (25U)
  76478. /*! NONSECURE - Allow non-secure mode access
  76479. */
  76480. #define SRC_AUTHEN_M4DEBUG_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_NONSECURE_SHIFT)) & SRC_AUTHEN_M4DEBUG_NONSECURE_MASK)
  76481. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING_MASK (0x80000000U)
  76482. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING_SHIFT (31U)
  76483. /*! LOCK_SETTING - Lock NONSECURE and USER
  76484. */
  76485. #define SRC_AUTHEN_M4DEBUG_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M4DEBUG_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M4DEBUG_LOCK_SETTING_MASK)
  76486. /*! @} */
  76487. /*! @name CTRL_M4DEBUG - Slice Control Register */
  76488. /*! @{ */
  76489. #define SRC_CTRL_M4DEBUG_SW_RESET_MASK (0x1U)
  76490. #define SRC_CTRL_M4DEBUG_SW_RESET_SHIFT (0U)
  76491. /*! SW_RESET
  76492. * 0b0..do not assert slice software reset
  76493. * 0b1..assert slice software reset
  76494. */
  76495. #define SRC_CTRL_M4DEBUG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M4DEBUG_SW_RESET_SHIFT)) & SRC_CTRL_M4DEBUG_SW_RESET_MASK)
  76496. /*! @} */
  76497. /*! @name SETPOINT_M4DEBUG - Slice Setpoint Config Register */
  76498. /*! @{ */
  76499. #define SRC_SETPOINT_M4DEBUG_SETPOINT0_MASK (0x1U)
  76500. #define SRC_SETPOINT_M4DEBUG_SETPOINT0_SHIFT (0U)
  76501. /*! SETPOINT0 - SETPOINT0
  76502. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76503. * 0b1..Slice reset will be asserted when system in Setpoint n
  76504. */
  76505. #define SRC_SETPOINT_M4DEBUG_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT0_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT0_MASK)
  76506. #define SRC_SETPOINT_M4DEBUG_SETPOINT1_MASK (0x2U)
  76507. #define SRC_SETPOINT_M4DEBUG_SETPOINT1_SHIFT (1U)
  76508. /*! SETPOINT1 - SETPOINT1
  76509. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76510. * 0b1..Slice reset will be asserted when system in Setpoint n
  76511. */
  76512. #define SRC_SETPOINT_M4DEBUG_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT1_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT1_MASK)
  76513. #define SRC_SETPOINT_M4DEBUG_SETPOINT2_MASK (0x4U)
  76514. #define SRC_SETPOINT_M4DEBUG_SETPOINT2_SHIFT (2U)
  76515. /*! SETPOINT2 - SETPOINT2
  76516. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76517. * 0b1..Slice reset will be asserted when system in Setpoint n
  76518. */
  76519. #define SRC_SETPOINT_M4DEBUG_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT2_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT2_MASK)
  76520. #define SRC_SETPOINT_M4DEBUG_SETPOINT3_MASK (0x8U)
  76521. #define SRC_SETPOINT_M4DEBUG_SETPOINT3_SHIFT (3U)
  76522. /*! SETPOINT3 - SETPOINT3
  76523. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76524. * 0b1..Slice reset will be asserted when system in Setpoint n
  76525. */
  76526. #define SRC_SETPOINT_M4DEBUG_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT3_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT3_MASK)
  76527. #define SRC_SETPOINT_M4DEBUG_SETPOINT4_MASK (0x10U)
  76528. #define SRC_SETPOINT_M4DEBUG_SETPOINT4_SHIFT (4U)
  76529. /*! SETPOINT4 - SETPOINT4
  76530. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76531. * 0b1..Slice reset will be asserted when system in Setpoint n
  76532. */
  76533. #define SRC_SETPOINT_M4DEBUG_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT4_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT4_MASK)
  76534. #define SRC_SETPOINT_M4DEBUG_SETPOINT5_MASK (0x20U)
  76535. #define SRC_SETPOINT_M4DEBUG_SETPOINT5_SHIFT (5U)
  76536. /*! SETPOINT5 - SETPOINT5
  76537. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76538. * 0b1..Slice reset will be asserted when system in Setpoint n
  76539. */
  76540. #define SRC_SETPOINT_M4DEBUG_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT5_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT5_MASK)
  76541. #define SRC_SETPOINT_M4DEBUG_SETPOINT6_MASK (0x40U)
  76542. #define SRC_SETPOINT_M4DEBUG_SETPOINT6_SHIFT (6U)
  76543. /*! SETPOINT6 - SETPOINT6
  76544. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76545. * 0b1..Slice reset will be asserted when system in Setpoint n
  76546. */
  76547. #define SRC_SETPOINT_M4DEBUG_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT6_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT6_MASK)
  76548. #define SRC_SETPOINT_M4DEBUG_SETPOINT7_MASK (0x80U)
  76549. #define SRC_SETPOINT_M4DEBUG_SETPOINT7_SHIFT (7U)
  76550. /*! SETPOINT7 - SETPOINT7
  76551. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76552. * 0b1..Slice reset will be asserted when system in Setpoint n
  76553. */
  76554. #define SRC_SETPOINT_M4DEBUG_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT7_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT7_MASK)
  76555. #define SRC_SETPOINT_M4DEBUG_SETPOINT8_MASK (0x100U)
  76556. #define SRC_SETPOINT_M4DEBUG_SETPOINT8_SHIFT (8U)
  76557. /*! SETPOINT8 - SETPOINT8
  76558. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76559. * 0b1..Slice reset will be asserted when system in Setpoint n
  76560. */
  76561. #define SRC_SETPOINT_M4DEBUG_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT8_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT8_MASK)
  76562. #define SRC_SETPOINT_M4DEBUG_SETPOINT9_MASK (0x200U)
  76563. #define SRC_SETPOINT_M4DEBUG_SETPOINT9_SHIFT (9U)
  76564. /*! SETPOINT9 - SETPOINT9
  76565. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76566. * 0b1..Slice reset will be asserted when system in Setpoint n
  76567. */
  76568. #define SRC_SETPOINT_M4DEBUG_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT9_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT9_MASK)
  76569. #define SRC_SETPOINT_M4DEBUG_SETPOINT10_MASK (0x400U)
  76570. #define SRC_SETPOINT_M4DEBUG_SETPOINT10_SHIFT (10U)
  76571. /*! SETPOINT10 - SETPOINT10
  76572. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76573. * 0b1..Slice reset will be asserted when system in Setpoint n
  76574. */
  76575. #define SRC_SETPOINT_M4DEBUG_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT10_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT10_MASK)
  76576. #define SRC_SETPOINT_M4DEBUG_SETPOINT11_MASK (0x800U)
  76577. #define SRC_SETPOINT_M4DEBUG_SETPOINT11_SHIFT (11U)
  76578. /*! SETPOINT11 - SETPOINT11
  76579. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76580. * 0b1..Slice reset will be asserted when system in Setpoint n
  76581. */
  76582. #define SRC_SETPOINT_M4DEBUG_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT11_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT11_MASK)
  76583. #define SRC_SETPOINT_M4DEBUG_SETPOINT12_MASK (0x1000U)
  76584. #define SRC_SETPOINT_M4DEBUG_SETPOINT12_SHIFT (12U)
  76585. /*! SETPOINT12 - SETPOINT12
  76586. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76587. * 0b1..Slice reset will be asserted when system in Setpoint n
  76588. */
  76589. #define SRC_SETPOINT_M4DEBUG_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT12_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT12_MASK)
  76590. #define SRC_SETPOINT_M4DEBUG_SETPOINT13_MASK (0x2000U)
  76591. #define SRC_SETPOINT_M4DEBUG_SETPOINT13_SHIFT (13U)
  76592. /*! SETPOINT13 - SETPOINT13
  76593. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76594. * 0b1..Slice reset will be asserted when system in Setpoint n
  76595. */
  76596. #define SRC_SETPOINT_M4DEBUG_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT13_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT13_MASK)
  76597. #define SRC_SETPOINT_M4DEBUG_SETPOINT14_MASK (0x4000U)
  76598. #define SRC_SETPOINT_M4DEBUG_SETPOINT14_SHIFT (14U)
  76599. /*! SETPOINT14 - SETPOINT14
  76600. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76601. * 0b1..Slice reset will be asserted when system in Setpoint n
  76602. */
  76603. #define SRC_SETPOINT_M4DEBUG_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT14_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT14_MASK)
  76604. #define SRC_SETPOINT_M4DEBUG_SETPOINT15_MASK (0x8000U)
  76605. #define SRC_SETPOINT_M4DEBUG_SETPOINT15_SHIFT (15U)
  76606. /*! SETPOINT15 - SETPOINT15
  76607. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76608. * 0b1..Slice reset will be asserted when system in Setpoint n
  76609. */
  76610. #define SRC_SETPOINT_M4DEBUG_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M4DEBUG_SETPOINT15_SHIFT)) & SRC_SETPOINT_M4DEBUG_SETPOINT15_MASK)
  76611. /*! @} */
  76612. /*! @name DOMAIN_M4DEBUG - Slice Domain Config Register */
  76613. /*! @{ */
  76614. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN_MASK (0x1U)
  76615. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN_SHIFT (0U)
  76616. /*! CPU0_RUN - CPU mode setting for RUN
  76617. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76618. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76619. */
  76620. #define SRC_DOMAIN_M4DEBUG_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_RUN_MASK)
  76621. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT_MASK (0x2U)
  76622. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT_SHIFT (1U)
  76623. /*! CPU0_WAIT - CPU mode setting for WAIT
  76624. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76625. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76626. */
  76627. #define SRC_DOMAIN_M4DEBUG_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_WAIT_MASK)
  76628. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP_MASK (0x4U)
  76629. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP_SHIFT (2U)
  76630. /*! CPU0_STOP - CPU mode setting for STOP
  76631. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76632. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76633. */
  76634. #define SRC_DOMAIN_M4DEBUG_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_STOP_MASK)
  76635. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP_MASK (0x8U)
  76636. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP_SHIFT (3U)
  76637. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76638. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76639. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76640. */
  76641. #define SRC_DOMAIN_M4DEBUG_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU0_SUSP_MASK)
  76642. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN_MASK (0x10U)
  76643. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN_SHIFT (4U)
  76644. /*! CPU1_RUN - CPU mode setting for RUN
  76645. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76646. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76647. */
  76648. #define SRC_DOMAIN_M4DEBUG_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_RUN_MASK)
  76649. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT_MASK (0x20U)
  76650. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT_SHIFT (5U)
  76651. /*! CPU1_WAIT - CPU mode setting for WAIT
  76652. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76653. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76654. */
  76655. #define SRC_DOMAIN_M4DEBUG_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_WAIT_MASK)
  76656. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP_MASK (0x40U)
  76657. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP_SHIFT (6U)
  76658. /*! CPU1_STOP - CPU mode setting for STOP
  76659. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76660. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76661. */
  76662. #define SRC_DOMAIN_M4DEBUG_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_STOP_MASK)
  76663. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP_MASK (0x80U)
  76664. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP_SHIFT (7U)
  76665. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76666. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76667. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76668. */
  76669. #define SRC_DOMAIN_M4DEBUG_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M4DEBUG_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M4DEBUG_CPU1_SUSP_MASK)
  76670. /*! @} */
  76671. /*! @name STAT_M4DEBUG - Slice Status Register */
  76672. /*! @{ */
  76673. #define SRC_STAT_M4DEBUG_UNDER_RST_MASK (0x1U)
  76674. #define SRC_STAT_M4DEBUG_UNDER_RST_SHIFT (0U)
  76675. /*! UNDER_RST
  76676. * 0b0..the reset is finished
  76677. * 0b1..the reset is in process
  76678. */
  76679. #define SRC_STAT_M4DEBUG_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4DEBUG_UNDER_RST_SHIFT)) & SRC_STAT_M4DEBUG_UNDER_RST_MASK)
  76680. #define SRC_STAT_M4DEBUG_RST_BY_HW_MASK (0x4U)
  76681. #define SRC_STAT_M4DEBUG_RST_BY_HW_SHIFT (2U)
  76682. /*! RST_BY_HW
  76683. * 0b0..the reset is not caused by the power mode transfer
  76684. * 0b1..the reset is caused by the power mode transfer
  76685. */
  76686. #define SRC_STAT_M4DEBUG_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4DEBUG_RST_BY_HW_SHIFT)) & SRC_STAT_M4DEBUG_RST_BY_HW_MASK)
  76687. #define SRC_STAT_M4DEBUG_RST_BY_SW_MASK (0x8U)
  76688. #define SRC_STAT_M4DEBUG_RST_BY_SW_SHIFT (3U)
  76689. /*! RST_BY_SW
  76690. * 0b0..the reset is not caused by software setting
  76691. * 0b1..the reset is caused by software setting
  76692. */
  76693. #define SRC_STAT_M4DEBUG_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M4DEBUG_RST_BY_SW_SHIFT)) & SRC_STAT_M4DEBUG_RST_BY_SW_MASK)
  76694. /*! @} */
  76695. /*! @name AUTHEN_M7DEBUG - Slice Authentication Register */
  76696. /*! @{ */
  76697. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_MASK (0x1U)
  76698. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_SHIFT (0U)
  76699. /*! DOMAIN_MODE
  76700. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76701. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76702. */
  76703. #define SRC_AUTHEN_M7DEBUG_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_DOMAIN_MODE_MASK)
  76704. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_MASK (0x2U)
  76705. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_SHIFT (1U)
  76706. /*! SETPOINT_MODE
  76707. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76708. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76709. */
  76710. #define SRC_AUTHEN_M7DEBUG_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_SETPOINT_MODE_MASK)
  76711. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE_MASK (0x80U)
  76712. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE_SHIFT (7U)
  76713. /*! LOCK_MODE - Domain/Setpoint mode lock
  76714. */
  76715. #define SRC_AUTHEN_M7DEBUG_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_MODE_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_MODE_MASK)
  76716. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_MASK (0xF00U)
  76717. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_SHIFT (8U)
  76718. #define SRC_AUTHEN_M7DEBUG_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_ASSIGN_LIST_MASK)
  76719. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_MASK (0x8000U)
  76720. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_SHIFT (15U)
  76721. /*! LOCK_ASSIGN - Assign list lock
  76722. */
  76723. #define SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_ASSIGN_MASK)
  76724. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST_MASK (0xF0000U)
  76725. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST_SHIFT (16U)
  76726. /*! WHITE_LIST - Domain ID white list
  76727. */
  76728. #define SRC_AUTHEN_M7DEBUG_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_WHITE_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_WHITE_LIST_MASK)
  76729. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST_MASK (0x800000U)
  76730. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST_SHIFT (23U)
  76731. /*! LOCK_LIST - White list lock
  76732. */
  76733. #define SRC_AUTHEN_M7DEBUG_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_LIST_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_LIST_MASK)
  76734. #define SRC_AUTHEN_M7DEBUG_USER_MASK (0x1000000U)
  76735. #define SRC_AUTHEN_M7DEBUG_USER_SHIFT (24U)
  76736. /*! USER - Allow user mode access
  76737. */
  76738. #define SRC_AUTHEN_M7DEBUG_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_USER_SHIFT)) & SRC_AUTHEN_M7DEBUG_USER_MASK)
  76739. #define SRC_AUTHEN_M7DEBUG_NONSECURE_MASK (0x2000000U)
  76740. #define SRC_AUTHEN_M7DEBUG_NONSECURE_SHIFT (25U)
  76741. /*! NONSECURE - Allow non-secure mode access
  76742. */
  76743. #define SRC_AUTHEN_M7DEBUG_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_NONSECURE_SHIFT)) & SRC_AUTHEN_M7DEBUG_NONSECURE_MASK)
  76744. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING_MASK (0x80000000U)
  76745. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING_SHIFT (31U)
  76746. /*! LOCK_SETTING - Lock NONSECURE and USER
  76747. */
  76748. #define SRC_AUTHEN_M7DEBUG_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_M7DEBUG_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_M7DEBUG_LOCK_SETTING_MASK)
  76749. /*! @} */
  76750. /*! @name CTRL_M7DEBUG - Slice Control Register */
  76751. /*! @{ */
  76752. #define SRC_CTRL_M7DEBUG_SW_RESET_MASK (0x1U)
  76753. #define SRC_CTRL_M7DEBUG_SW_RESET_SHIFT (0U)
  76754. /*! SW_RESET
  76755. * 0b0..do not assert slice software reset
  76756. * 0b1..assert slice software reset
  76757. */
  76758. #define SRC_CTRL_M7DEBUG_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_M7DEBUG_SW_RESET_SHIFT)) & SRC_CTRL_M7DEBUG_SW_RESET_MASK)
  76759. /*! @} */
  76760. /*! @name SETPOINT_M7DEBUG - Slice Setpoint Config Register */
  76761. /*! @{ */
  76762. #define SRC_SETPOINT_M7DEBUG_SETPOINT0_MASK (0x1U)
  76763. #define SRC_SETPOINT_M7DEBUG_SETPOINT0_SHIFT (0U)
  76764. /*! SETPOINT0 - SETPOINT0
  76765. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76766. * 0b1..Slice reset will be asserted when system in Setpoint n
  76767. */
  76768. #define SRC_SETPOINT_M7DEBUG_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT0_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT0_MASK)
  76769. #define SRC_SETPOINT_M7DEBUG_SETPOINT1_MASK (0x2U)
  76770. #define SRC_SETPOINT_M7DEBUG_SETPOINT1_SHIFT (1U)
  76771. /*! SETPOINT1 - SETPOINT1
  76772. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76773. * 0b1..Slice reset will be asserted when system in Setpoint n
  76774. */
  76775. #define SRC_SETPOINT_M7DEBUG_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT1_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT1_MASK)
  76776. #define SRC_SETPOINT_M7DEBUG_SETPOINT2_MASK (0x4U)
  76777. #define SRC_SETPOINT_M7DEBUG_SETPOINT2_SHIFT (2U)
  76778. /*! SETPOINT2 - SETPOINT2
  76779. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76780. * 0b1..Slice reset will be asserted when system in Setpoint n
  76781. */
  76782. #define SRC_SETPOINT_M7DEBUG_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT2_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT2_MASK)
  76783. #define SRC_SETPOINT_M7DEBUG_SETPOINT3_MASK (0x8U)
  76784. #define SRC_SETPOINT_M7DEBUG_SETPOINT3_SHIFT (3U)
  76785. /*! SETPOINT3 - SETPOINT3
  76786. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76787. * 0b1..Slice reset will be asserted when system in Setpoint n
  76788. */
  76789. #define SRC_SETPOINT_M7DEBUG_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT3_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT3_MASK)
  76790. #define SRC_SETPOINT_M7DEBUG_SETPOINT4_MASK (0x10U)
  76791. #define SRC_SETPOINT_M7DEBUG_SETPOINT4_SHIFT (4U)
  76792. /*! SETPOINT4 - SETPOINT4
  76793. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76794. * 0b1..Slice reset will be asserted when system in Setpoint n
  76795. */
  76796. #define SRC_SETPOINT_M7DEBUG_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT4_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT4_MASK)
  76797. #define SRC_SETPOINT_M7DEBUG_SETPOINT5_MASK (0x20U)
  76798. #define SRC_SETPOINT_M7DEBUG_SETPOINT5_SHIFT (5U)
  76799. /*! SETPOINT5 - SETPOINT5
  76800. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76801. * 0b1..Slice reset will be asserted when system in Setpoint n
  76802. */
  76803. #define SRC_SETPOINT_M7DEBUG_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT5_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT5_MASK)
  76804. #define SRC_SETPOINT_M7DEBUG_SETPOINT6_MASK (0x40U)
  76805. #define SRC_SETPOINT_M7DEBUG_SETPOINT6_SHIFT (6U)
  76806. /*! SETPOINT6 - SETPOINT6
  76807. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76808. * 0b1..Slice reset will be asserted when system in Setpoint n
  76809. */
  76810. #define SRC_SETPOINT_M7DEBUG_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT6_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT6_MASK)
  76811. #define SRC_SETPOINT_M7DEBUG_SETPOINT7_MASK (0x80U)
  76812. #define SRC_SETPOINT_M7DEBUG_SETPOINT7_SHIFT (7U)
  76813. /*! SETPOINT7 - SETPOINT7
  76814. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76815. * 0b1..Slice reset will be asserted when system in Setpoint n
  76816. */
  76817. #define SRC_SETPOINT_M7DEBUG_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT7_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT7_MASK)
  76818. #define SRC_SETPOINT_M7DEBUG_SETPOINT8_MASK (0x100U)
  76819. #define SRC_SETPOINT_M7DEBUG_SETPOINT8_SHIFT (8U)
  76820. /*! SETPOINT8 - SETPOINT8
  76821. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76822. * 0b1..Slice reset will be asserted when system in Setpoint n
  76823. */
  76824. #define SRC_SETPOINT_M7DEBUG_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT8_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT8_MASK)
  76825. #define SRC_SETPOINT_M7DEBUG_SETPOINT9_MASK (0x200U)
  76826. #define SRC_SETPOINT_M7DEBUG_SETPOINT9_SHIFT (9U)
  76827. /*! SETPOINT9 - SETPOINT9
  76828. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76829. * 0b1..Slice reset will be asserted when system in Setpoint n
  76830. */
  76831. #define SRC_SETPOINT_M7DEBUG_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT9_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT9_MASK)
  76832. #define SRC_SETPOINT_M7DEBUG_SETPOINT10_MASK (0x400U)
  76833. #define SRC_SETPOINT_M7DEBUG_SETPOINT10_SHIFT (10U)
  76834. /*! SETPOINT10 - SETPOINT10
  76835. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76836. * 0b1..Slice reset will be asserted when system in Setpoint n
  76837. */
  76838. #define SRC_SETPOINT_M7DEBUG_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT10_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT10_MASK)
  76839. #define SRC_SETPOINT_M7DEBUG_SETPOINT11_MASK (0x800U)
  76840. #define SRC_SETPOINT_M7DEBUG_SETPOINT11_SHIFT (11U)
  76841. /*! SETPOINT11 - SETPOINT11
  76842. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76843. * 0b1..Slice reset will be asserted when system in Setpoint n
  76844. */
  76845. #define SRC_SETPOINT_M7DEBUG_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT11_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT11_MASK)
  76846. #define SRC_SETPOINT_M7DEBUG_SETPOINT12_MASK (0x1000U)
  76847. #define SRC_SETPOINT_M7DEBUG_SETPOINT12_SHIFT (12U)
  76848. /*! SETPOINT12 - SETPOINT12
  76849. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76850. * 0b1..Slice reset will be asserted when system in Setpoint n
  76851. */
  76852. #define SRC_SETPOINT_M7DEBUG_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT12_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT12_MASK)
  76853. #define SRC_SETPOINT_M7DEBUG_SETPOINT13_MASK (0x2000U)
  76854. #define SRC_SETPOINT_M7DEBUG_SETPOINT13_SHIFT (13U)
  76855. /*! SETPOINT13 - SETPOINT13
  76856. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76857. * 0b1..Slice reset will be asserted when system in Setpoint n
  76858. */
  76859. #define SRC_SETPOINT_M7DEBUG_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT13_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT13_MASK)
  76860. #define SRC_SETPOINT_M7DEBUG_SETPOINT14_MASK (0x4000U)
  76861. #define SRC_SETPOINT_M7DEBUG_SETPOINT14_SHIFT (14U)
  76862. /*! SETPOINT14 - SETPOINT14
  76863. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76864. * 0b1..Slice reset will be asserted when system in Setpoint n
  76865. */
  76866. #define SRC_SETPOINT_M7DEBUG_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT14_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT14_MASK)
  76867. #define SRC_SETPOINT_M7DEBUG_SETPOINT15_MASK (0x8000U)
  76868. #define SRC_SETPOINT_M7DEBUG_SETPOINT15_SHIFT (15U)
  76869. /*! SETPOINT15 - SETPOINT15
  76870. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  76871. * 0b1..Slice reset will be asserted when system in Setpoint n
  76872. */
  76873. #define SRC_SETPOINT_M7DEBUG_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_M7DEBUG_SETPOINT15_SHIFT)) & SRC_SETPOINT_M7DEBUG_SETPOINT15_MASK)
  76874. /*! @} */
  76875. /*! @name DOMAIN_M7DEBUG - Slice Domain Config Register */
  76876. /*! @{ */
  76877. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN_MASK (0x1U)
  76878. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN_SHIFT (0U)
  76879. /*! CPU0_RUN - CPU mode setting for RUN
  76880. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  76881. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  76882. */
  76883. #define SRC_DOMAIN_M7DEBUG_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_RUN_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_RUN_MASK)
  76884. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT_MASK (0x2U)
  76885. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT_SHIFT (1U)
  76886. /*! CPU0_WAIT - CPU mode setting for WAIT
  76887. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  76888. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  76889. */
  76890. #define SRC_DOMAIN_M7DEBUG_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_WAIT_MASK)
  76891. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP_MASK (0x4U)
  76892. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP_SHIFT (2U)
  76893. /*! CPU0_STOP - CPU mode setting for STOP
  76894. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  76895. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  76896. */
  76897. #define SRC_DOMAIN_M7DEBUG_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_STOP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_STOP_MASK)
  76898. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP_MASK (0x8U)
  76899. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP_SHIFT (3U)
  76900. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  76901. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  76902. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  76903. */
  76904. #define SRC_DOMAIN_M7DEBUG_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU0_SUSP_MASK)
  76905. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN_MASK (0x10U)
  76906. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN_SHIFT (4U)
  76907. /*! CPU1_RUN - CPU mode setting for RUN
  76908. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  76909. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  76910. */
  76911. #define SRC_DOMAIN_M7DEBUG_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_RUN_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_RUN_MASK)
  76912. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT_MASK (0x20U)
  76913. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT_SHIFT (5U)
  76914. /*! CPU1_WAIT - CPU mode setting for WAIT
  76915. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  76916. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  76917. */
  76918. #define SRC_DOMAIN_M7DEBUG_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_WAIT_MASK)
  76919. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP_MASK (0x40U)
  76920. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP_SHIFT (6U)
  76921. /*! CPU1_STOP - CPU mode setting for STOP
  76922. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  76923. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  76924. */
  76925. #define SRC_DOMAIN_M7DEBUG_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_STOP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_STOP_MASK)
  76926. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP_MASK (0x80U)
  76927. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP_SHIFT (7U)
  76928. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  76929. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  76930. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  76931. */
  76932. #define SRC_DOMAIN_M7DEBUG_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_M7DEBUG_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_M7DEBUG_CPU1_SUSP_MASK)
  76933. /*! @} */
  76934. /*! @name STAT_M7DEBUG - Slice Status Register */
  76935. /*! @{ */
  76936. #define SRC_STAT_M7DEBUG_UNDER_RST_MASK (0x1U)
  76937. #define SRC_STAT_M7DEBUG_UNDER_RST_SHIFT (0U)
  76938. /*! UNDER_RST
  76939. * 0b0..the reset is finished
  76940. * 0b1..the reset is in process
  76941. */
  76942. #define SRC_STAT_M7DEBUG_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7DEBUG_UNDER_RST_SHIFT)) & SRC_STAT_M7DEBUG_UNDER_RST_MASK)
  76943. #define SRC_STAT_M7DEBUG_RST_BY_HW_MASK (0x4U)
  76944. #define SRC_STAT_M7DEBUG_RST_BY_HW_SHIFT (2U)
  76945. /*! RST_BY_HW
  76946. * 0b0..the reset is not caused by the power mode transfer
  76947. * 0b1..the reset is caused by the power mode transfer
  76948. */
  76949. #define SRC_STAT_M7DEBUG_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7DEBUG_RST_BY_HW_SHIFT)) & SRC_STAT_M7DEBUG_RST_BY_HW_MASK)
  76950. #define SRC_STAT_M7DEBUG_RST_BY_SW_MASK (0x8U)
  76951. #define SRC_STAT_M7DEBUG_RST_BY_SW_SHIFT (3U)
  76952. /*! RST_BY_SW
  76953. * 0b0..the reset is not caused by software setting
  76954. * 0b1..the reset is caused by software setting
  76955. */
  76956. #define SRC_STAT_M7DEBUG_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_M7DEBUG_RST_BY_SW_SHIFT)) & SRC_STAT_M7DEBUG_RST_BY_SW_MASK)
  76957. /*! @} */
  76958. /*! @name AUTHEN_USBPHY1 - Slice Authentication Register */
  76959. /*! @{ */
  76960. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE_MASK (0x1U)
  76961. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE_SHIFT (0U)
  76962. /*! DOMAIN_MODE
  76963. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  76964. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  76965. */
  76966. #define SRC_AUTHEN_USBPHY1_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_DOMAIN_MODE_MASK)
  76967. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE_MASK (0x2U)
  76968. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE_SHIFT (1U)
  76969. /*! SETPOINT_MODE
  76970. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  76971. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  76972. */
  76973. #define SRC_AUTHEN_USBPHY1_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_SETPOINT_MODE_MASK)
  76974. #define SRC_AUTHEN_USBPHY1_LOCK_MODE_MASK (0x80U)
  76975. #define SRC_AUTHEN_USBPHY1_LOCK_MODE_SHIFT (7U)
  76976. /*! LOCK_MODE - Domain/Setpoint mode lock
  76977. */
  76978. #define SRC_AUTHEN_USBPHY1_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_MODE_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_MODE_MASK)
  76979. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST_MASK (0xF00U)
  76980. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST_SHIFT (8U)
  76981. #define SRC_AUTHEN_USBPHY1_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_ASSIGN_LIST_MASK)
  76982. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_MASK (0x8000U)
  76983. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_SHIFT (15U)
  76984. /*! LOCK_ASSIGN - Assign list lock
  76985. */
  76986. #define SRC_AUTHEN_USBPHY1_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_ASSIGN_MASK)
  76987. #define SRC_AUTHEN_USBPHY1_WHITE_LIST_MASK (0xF0000U)
  76988. #define SRC_AUTHEN_USBPHY1_WHITE_LIST_SHIFT (16U)
  76989. /*! WHITE_LIST - Domain ID white list
  76990. */
  76991. #define SRC_AUTHEN_USBPHY1_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_WHITE_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_WHITE_LIST_MASK)
  76992. #define SRC_AUTHEN_USBPHY1_LOCK_LIST_MASK (0x800000U)
  76993. #define SRC_AUTHEN_USBPHY1_LOCK_LIST_SHIFT (23U)
  76994. /*! LOCK_LIST - White list lock
  76995. */
  76996. #define SRC_AUTHEN_USBPHY1_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_LIST_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_LIST_MASK)
  76997. #define SRC_AUTHEN_USBPHY1_USER_MASK (0x1000000U)
  76998. #define SRC_AUTHEN_USBPHY1_USER_SHIFT (24U)
  76999. /*! USER - Allow user mode access
  77000. */
  77001. #define SRC_AUTHEN_USBPHY1_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_USER_SHIFT)) & SRC_AUTHEN_USBPHY1_USER_MASK)
  77002. #define SRC_AUTHEN_USBPHY1_NONSECURE_MASK (0x2000000U)
  77003. #define SRC_AUTHEN_USBPHY1_NONSECURE_SHIFT (25U)
  77004. /*! NONSECURE - Allow non-secure mode access
  77005. */
  77006. #define SRC_AUTHEN_USBPHY1_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_NONSECURE_SHIFT)) & SRC_AUTHEN_USBPHY1_NONSECURE_MASK)
  77007. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING_MASK (0x80000000U)
  77008. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING_SHIFT (31U)
  77009. /*! LOCK_SETTING - Lock NONSECURE and USER
  77010. */
  77011. #define SRC_AUTHEN_USBPHY1_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY1_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_USBPHY1_LOCK_SETTING_MASK)
  77012. /*! @} */
  77013. /*! @name CTRL_USBPHY1 - Slice Control Register */
  77014. /*! @{ */
  77015. #define SRC_CTRL_USBPHY1_SW_RESET_MASK (0x1U)
  77016. #define SRC_CTRL_USBPHY1_SW_RESET_SHIFT (0U)
  77017. /*! SW_RESET
  77018. * 0b0..do not assert slice software reset
  77019. * 0b1..assert slice software reset
  77020. */
  77021. #define SRC_CTRL_USBPHY1_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_USBPHY1_SW_RESET_SHIFT)) & SRC_CTRL_USBPHY1_SW_RESET_MASK)
  77022. /*! @} */
  77023. /*! @name SETPOINT_USBPHY1 - Slice Setpoint Config Register */
  77024. /*! @{ */
  77025. #define SRC_SETPOINT_USBPHY1_SETPOINT0_MASK (0x1U)
  77026. #define SRC_SETPOINT_USBPHY1_SETPOINT0_SHIFT (0U)
  77027. /*! SETPOINT0 - SETPOINT0
  77028. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77029. * 0b1..Slice reset will be asserted when system in Setpoint n
  77030. */
  77031. #define SRC_SETPOINT_USBPHY1_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT0_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT0_MASK)
  77032. #define SRC_SETPOINT_USBPHY1_SETPOINT1_MASK (0x2U)
  77033. #define SRC_SETPOINT_USBPHY1_SETPOINT1_SHIFT (1U)
  77034. /*! SETPOINT1 - SETPOINT1
  77035. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77036. * 0b1..Slice reset will be asserted when system in Setpoint n
  77037. */
  77038. #define SRC_SETPOINT_USBPHY1_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT1_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT1_MASK)
  77039. #define SRC_SETPOINT_USBPHY1_SETPOINT2_MASK (0x4U)
  77040. #define SRC_SETPOINT_USBPHY1_SETPOINT2_SHIFT (2U)
  77041. /*! SETPOINT2 - SETPOINT2
  77042. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77043. * 0b1..Slice reset will be asserted when system in Setpoint n
  77044. */
  77045. #define SRC_SETPOINT_USBPHY1_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT2_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT2_MASK)
  77046. #define SRC_SETPOINT_USBPHY1_SETPOINT3_MASK (0x8U)
  77047. #define SRC_SETPOINT_USBPHY1_SETPOINT3_SHIFT (3U)
  77048. /*! SETPOINT3 - SETPOINT3
  77049. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77050. * 0b1..Slice reset will be asserted when system in Setpoint n
  77051. */
  77052. #define SRC_SETPOINT_USBPHY1_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT3_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT3_MASK)
  77053. #define SRC_SETPOINT_USBPHY1_SETPOINT4_MASK (0x10U)
  77054. #define SRC_SETPOINT_USBPHY1_SETPOINT4_SHIFT (4U)
  77055. /*! SETPOINT4 - SETPOINT4
  77056. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77057. * 0b1..Slice reset will be asserted when system in Setpoint n
  77058. */
  77059. #define SRC_SETPOINT_USBPHY1_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT4_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT4_MASK)
  77060. #define SRC_SETPOINT_USBPHY1_SETPOINT5_MASK (0x20U)
  77061. #define SRC_SETPOINT_USBPHY1_SETPOINT5_SHIFT (5U)
  77062. /*! SETPOINT5 - SETPOINT5
  77063. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77064. * 0b1..Slice reset will be asserted when system in Setpoint n
  77065. */
  77066. #define SRC_SETPOINT_USBPHY1_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT5_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT5_MASK)
  77067. #define SRC_SETPOINT_USBPHY1_SETPOINT6_MASK (0x40U)
  77068. #define SRC_SETPOINT_USBPHY1_SETPOINT6_SHIFT (6U)
  77069. /*! SETPOINT6 - SETPOINT6
  77070. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77071. * 0b1..Slice reset will be asserted when system in Setpoint n
  77072. */
  77073. #define SRC_SETPOINT_USBPHY1_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT6_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT6_MASK)
  77074. #define SRC_SETPOINT_USBPHY1_SETPOINT7_MASK (0x80U)
  77075. #define SRC_SETPOINT_USBPHY1_SETPOINT7_SHIFT (7U)
  77076. /*! SETPOINT7 - SETPOINT7
  77077. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77078. * 0b1..Slice reset will be asserted when system in Setpoint n
  77079. */
  77080. #define SRC_SETPOINT_USBPHY1_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT7_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT7_MASK)
  77081. #define SRC_SETPOINT_USBPHY1_SETPOINT8_MASK (0x100U)
  77082. #define SRC_SETPOINT_USBPHY1_SETPOINT8_SHIFT (8U)
  77083. /*! SETPOINT8 - SETPOINT8
  77084. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77085. * 0b1..Slice reset will be asserted when system in Setpoint n
  77086. */
  77087. #define SRC_SETPOINT_USBPHY1_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT8_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT8_MASK)
  77088. #define SRC_SETPOINT_USBPHY1_SETPOINT9_MASK (0x200U)
  77089. #define SRC_SETPOINT_USBPHY1_SETPOINT9_SHIFT (9U)
  77090. /*! SETPOINT9 - SETPOINT9
  77091. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77092. * 0b1..Slice reset will be asserted when system in Setpoint n
  77093. */
  77094. #define SRC_SETPOINT_USBPHY1_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT9_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT9_MASK)
  77095. #define SRC_SETPOINT_USBPHY1_SETPOINT10_MASK (0x400U)
  77096. #define SRC_SETPOINT_USBPHY1_SETPOINT10_SHIFT (10U)
  77097. /*! SETPOINT10 - SETPOINT10
  77098. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77099. * 0b1..Slice reset will be asserted when system in Setpoint n
  77100. */
  77101. #define SRC_SETPOINT_USBPHY1_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT10_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT10_MASK)
  77102. #define SRC_SETPOINT_USBPHY1_SETPOINT11_MASK (0x800U)
  77103. #define SRC_SETPOINT_USBPHY1_SETPOINT11_SHIFT (11U)
  77104. /*! SETPOINT11 - SETPOINT11
  77105. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77106. * 0b1..Slice reset will be asserted when system in Setpoint n
  77107. */
  77108. #define SRC_SETPOINT_USBPHY1_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT11_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT11_MASK)
  77109. #define SRC_SETPOINT_USBPHY1_SETPOINT12_MASK (0x1000U)
  77110. #define SRC_SETPOINT_USBPHY1_SETPOINT12_SHIFT (12U)
  77111. /*! SETPOINT12 - SETPOINT12
  77112. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77113. * 0b1..Slice reset will be asserted when system in Setpoint n
  77114. */
  77115. #define SRC_SETPOINT_USBPHY1_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT12_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT12_MASK)
  77116. #define SRC_SETPOINT_USBPHY1_SETPOINT13_MASK (0x2000U)
  77117. #define SRC_SETPOINT_USBPHY1_SETPOINT13_SHIFT (13U)
  77118. /*! SETPOINT13 - SETPOINT13
  77119. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77120. * 0b1..Slice reset will be asserted when system in Setpoint n
  77121. */
  77122. #define SRC_SETPOINT_USBPHY1_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT13_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT13_MASK)
  77123. #define SRC_SETPOINT_USBPHY1_SETPOINT14_MASK (0x4000U)
  77124. #define SRC_SETPOINT_USBPHY1_SETPOINT14_SHIFT (14U)
  77125. /*! SETPOINT14 - SETPOINT14
  77126. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77127. * 0b1..Slice reset will be asserted when system in Setpoint n
  77128. */
  77129. #define SRC_SETPOINT_USBPHY1_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT14_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT14_MASK)
  77130. #define SRC_SETPOINT_USBPHY1_SETPOINT15_MASK (0x8000U)
  77131. #define SRC_SETPOINT_USBPHY1_SETPOINT15_SHIFT (15U)
  77132. /*! SETPOINT15 - SETPOINT15
  77133. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77134. * 0b1..Slice reset will be asserted when system in Setpoint n
  77135. */
  77136. #define SRC_SETPOINT_USBPHY1_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY1_SETPOINT15_SHIFT)) & SRC_SETPOINT_USBPHY1_SETPOINT15_MASK)
  77137. /*! @} */
  77138. /*! @name DOMAIN_USBPHY1 - Slice Domain Config Register */
  77139. /*! @{ */
  77140. #define SRC_DOMAIN_USBPHY1_CPU0_RUN_MASK (0x1U)
  77141. #define SRC_DOMAIN_USBPHY1_CPU0_RUN_SHIFT (0U)
  77142. /*! CPU0_RUN - CPU mode setting for RUN
  77143. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77144. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77145. */
  77146. #define SRC_DOMAIN_USBPHY1_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_RUN_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_RUN_MASK)
  77147. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT_MASK (0x2U)
  77148. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT_SHIFT (1U)
  77149. /*! CPU0_WAIT - CPU mode setting for WAIT
  77150. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77151. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77152. */
  77153. #define SRC_DOMAIN_USBPHY1_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_WAIT_MASK)
  77154. #define SRC_DOMAIN_USBPHY1_CPU0_STOP_MASK (0x4U)
  77155. #define SRC_DOMAIN_USBPHY1_CPU0_STOP_SHIFT (2U)
  77156. /*! CPU0_STOP - CPU mode setting for STOP
  77157. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77158. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77159. */
  77160. #define SRC_DOMAIN_USBPHY1_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_STOP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_STOP_MASK)
  77161. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP_MASK (0x8U)
  77162. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP_SHIFT (3U)
  77163. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77164. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77165. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77166. */
  77167. #define SRC_DOMAIN_USBPHY1_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU0_SUSP_MASK)
  77168. #define SRC_DOMAIN_USBPHY1_CPU1_RUN_MASK (0x10U)
  77169. #define SRC_DOMAIN_USBPHY1_CPU1_RUN_SHIFT (4U)
  77170. /*! CPU1_RUN - CPU mode setting for RUN
  77171. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77172. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77173. */
  77174. #define SRC_DOMAIN_USBPHY1_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_RUN_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_RUN_MASK)
  77175. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT_MASK (0x20U)
  77176. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT_SHIFT (5U)
  77177. /*! CPU1_WAIT - CPU mode setting for WAIT
  77178. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77179. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77180. */
  77181. #define SRC_DOMAIN_USBPHY1_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_WAIT_MASK)
  77182. #define SRC_DOMAIN_USBPHY1_CPU1_STOP_MASK (0x40U)
  77183. #define SRC_DOMAIN_USBPHY1_CPU1_STOP_SHIFT (6U)
  77184. /*! CPU1_STOP - CPU mode setting for STOP
  77185. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77186. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77187. */
  77188. #define SRC_DOMAIN_USBPHY1_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_STOP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_STOP_MASK)
  77189. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP_MASK (0x80U)
  77190. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP_SHIFT (7U)
  77191. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77192. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77193. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77194. */
  77195. #define SRC_DOMAIN_USBPHY1_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY1_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY1_CPU1_SUSP_MASK)
  77196. /*! @} */
  77197. /*! @name STAT_USBPHY1 - Slice Status Register */
  77198. /*! @{ */
  77199. #define SRC_STAT_USBPHY1_UNDER_RST_MASK (0x1U)
  77200. #define SRC_STAT_USBPHY1_UNDER_RST_SHIFT (0U)
  77201. /*! UNDER_RST
  77202. * 0b0..the reset is finished
  77203. * 0b1..the reset is in process
  77204. */
  77205. #define SRC_STAT_USBPHY1_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY1_UNDER_RST_SHIFT)) & SRC_STAT_USBPHY1_UNDER_RST_MASK)
  77206. #define SRC_STAT_USBPHY1_RST_BY_HW_MASK (0x4U)
  77207. #define SRC_STAT_USBPHY1_RST_BY_HW_SHIFT (2U)
  77208. /*! RST_BY_HW
  77209. * 0b0..the reset is not caused by the power mode transfer
  77210. * 0b1..the reset is caused by the power mode transfer
  77211. */
  77212. #define SRC_STAT_USBPHY1_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY1_RST_BY_HW_SHIFT)) & SRC_STAT_USBPHY1_RST_BY_HW_MASK)
  77213. #define SRC_STAT_USBPHY1_RST_BY_SW_MASK (0x8U)
  77214. #define SRC_STAT_USBPHY1_RST_BY_SW_SHIFT (3U)
  77215. /*! RST_BY_SW
  77216. * 0b0..the reset is not caused by software setting
  77217. * 0b1..the reset is caused by software setting
  77218. */
  77219. #define SRC_STAT_USBPHY1_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY1_RST_BY_SW_SHIFT)) & SRC_STAT_USBPHY1_RST_BY_SW_MASK)
  77220. /*! @} */
  77221. /*! @name AUTHEN_USBPHY2 - Slice Authentication Register */
  77222. /*! @{ */
  77223. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE_MASK (0x1U)
  77224. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE_SHIFT (0U)
  77225. /*! DOMAIN_MODE
  77226. * 0b0..slice hardware reset will NOT be triggered by CPU power mode transition
  77227. * 0b1..slice hardware reset will be triggered by CPU power mode transition. Do not set this bit and SETPOINT_MODE at the same time.
  77228. */
  77229. #define SRC_AUTHEN_USBPHY2_DOMAIN_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_DOMAIN_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_DOMAIN_MODE_MASK)
  77230. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE_MASK (0x2U)
  77231. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE_SHIFT (1U)
  77232. /*! SETPOINT_MODE
  77233. * 0b0..slice hardware reset will NOT be triggered by Setpoint transition
  77234. * 0b1..slice hardware reset will be triggered by Setpoint transition. Do not set this bit and DOMAIN_MODE at the same time.
  77235. */
  77236. #define SRC_AUTHEN_USBPHY2_SETPOINT_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_SETPOINT_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_SETPOINT_MODE_MASK)
  77237. #define SRC_AUTHEN_USBPHY2_LOCK_MODE_MASK (0x80U)
  77238. #define SRC_AUTHEN_USBPHY2_LOCK_MODE_SHIFT (7U)
  77239. /*! LOCK_MODE - Domain/Setpoint mode lock
  77240. */
  77241. #define SRC_AUTHEN_USBPHY2_LOCK_MODE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_MODE_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_MODE_MASK)
  77242. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST_MASK (0xF00U)
  77243. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST_SHIFT (8U)
  77244. #define SRC_AUTHEN_USBPHY2_ASSIGN_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_ASSIGN_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_ASSIGN_LIST_MASK)
  77245. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_MASK (0x8000U)
  77246. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_SHIFT (15U)
  77247. /*! LOCK_ASSIGN - Assign list lock
  77248. */
  77249. #define SRC_AUTHEN_USBPHY2_LOCK_ASSIGN(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_ASSIGN_MASK)
  77250. #define SRC_AUTHEN_USBPHY2_WHITE_LIST_MASK (0xF0000U)
  77251. #define SRC_AUTHEN_USBPHY2_WHITE_LIST_SHIFT (16U)
  77252. /*! WHITE_LIST - Domain ID white list
  77253. */
  77254. #define SRC_AUTHEN_USBPHY2_WHITE_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_WHITE_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_WHITE_LIST_MASK)
  77255. #define SRC_AUTHEN_USBPHY2_LOCK_LIST_MASK (0x800000U)
  77256. #define SRC_AUTHEN_USBPHY2_LOCK_LIST_SHIFT (23U)
  77257. /*! LOCK_LIST - White list lock
  77258. */
  77259. #define SRC_AUTHEN_USBPHY2_LOCK_LIST(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_LIST_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_LIST_MASK)
  77260. #define SRC_AUTHEN_USBPHY2_USER_MASK (0x1000000U)
  77261. #define SRC_AUTHEN_USBPHY2_USER_SHIFT (24U)
  77262. /*! USER - Allow user mode access
  77263. */
  77264. #define SRC_AUTHEN_USBPHY2_USER(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_USER_SHIFT)) & SRC_AUTHEN_USBPHY2_USER_MASK)
  77265. #define SRC_AUTHEN_USBPHY2_NONSECURE_MASK (0x2000000U)
  77266. #define SRC_AUTHEN_USBPHY2_NONSECURE_SHIFT (25U)
  77267. /*! NONSECURE - Allow non-secure mode access
  77268. */
  77269. #define SRC_AUTHEN_USBPHY2_NONSECURE(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_NONSECURE_SHIFT)) & SRC_AUTHEN_USBPHY2_NONSECURE_MASK)
  77270. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING_MASK (0x80000000U)
  77271. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING_SHIFT (31U)
  77272. /*! LOCK_SETTING - Lock NONSECURE and USER
  77273. */
  77274. #define SRC_AUTHEN_USBPHY2_LOCK_SETTING(x) (((uint32_t)(((uint32_t)(x)) << SRC_AUTHEN_USBPHY2_LOCK_SETTING_SHIFT)) & SRC_AUTHEN_USBPHY2_LOCK_SETTING_MASK)
  77275. /*! @} */
  77276. /*! @name CTRL_USBPHY2 - Slice Control Register */
  77277. /*! @{ */
  77278. #define SRC_CTRL_USBPHY2_SW_RESET_MASK (0x1U)
  77279. #define SRC_CTRL_USBPHY2_SW_RESET_SHIFT (0U)
  77280. /*! SW_RESET
  77281. * 0b0..do not assert slice software reset
  77282. * 0b1..assert slice software reset
  77283. */
  77284. #define SRC_CTRL_USBPHY2_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SRC_CTRL_USBPHY2_SW_RESET_SHIFT)) & SRC_CTRL_USBPHY2_SW_RESET_MASK)
  77285. /*! @} */
  77286. /*! @name SETPOINT_USBPHY2 - Slice Setpoint Config Register */
  77287. /*! @{ */
  77288. #define SRC_SETPOINT_USBPHY2_SETPOINT0_MASK (0x1U)
  77289. #define SRC_SETPOINT_USBPHY2_SETPOINT0_SHIFT (0U)
  77290. /*! SETPOINT0 - SETPOINT0
  77291. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77292. * 0b1..Slice reset will be asserted when system in Setpoint n
  77293. */
  77294. #define SRC_SETPOINT_USBPHY2_SETPOINT0(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT0_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT0_MASK)
  77295. #define SRC_SETPOINT_USBPHY2_SETPOINT1_MASK (0x2U)
  77296. #define SRC_SETPOINT_USBPHY2_SETPOINT1_SHIFT (1U)
  77297. /*! SETPOINT1 - SETPOINT1
  77298. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77299. * 0b1..Slice reset will be asserted when system in Setpoint n
  77300. */
  77301. #define SRC_SETPOINT_USBPHY2_SETPOINT1(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT1_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT1_MASK)
  77302. #define SRC_SETPOINT_USBPHY2_SETPOINT2_MASK (0x4U)
  77303. #define SRC_SETPOINT_USBPHY2_SETPOINT2_SHIFT (2U)
  77304. /*! SETPOINT2 - SETPOINT2
  77305. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77306. * 0b1..Slice reset will be asserted when system in Setpoint n
  77307. */
  77308. #define SRC_SETPOINT_USBPHY2_SETPOINT2(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT2_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT2_MASK)
  77309. #define SRC_SETPOINT_USBPHY2_SETPOINT3_MASK (0x8U)
  77310. #define SRC_SETPOINT_USBPHY2_SETPOINT3_SHIFT (3U)
  77311. /*! SETPOINT3 - SETPOINT3
  77312. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77313. * 0b1..Slice reset will be asserted when system in Setpoint n
  77314. */
  77315. #define SRC_SETPOINT_USBPHY2_SETPOINT3(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT3_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT3_MASK)
  77316. #define SRC_SETPOINT_USBPHY2_SETPOINT4_MASK (0x10U)
  77317. #define SRC_SETPOINT_USBPHY2_SETPOINT4_SHIFT (4U)
  77318. /*! SETPOINT4 - SETPOINT4
  77319. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77320. * 0b1..Slice reset will be asserted when system in Setpoint n
  77321. */
  77322. #define SRC_SETPOINT_USBPHY2_SETPOINT4(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT4_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT4_MASK)
  77323. #define SRC_SETPOINT_USBPHY2_SETPOINT5_MASK (0x20U)
  77324. #define SRC_SETPOINT_USBPHY2_SETPOINT5_SHIFT (5U)
  77325. /*! SETPOINT5 - SETPOINT5
  77326. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77327. * 0b1..Slice reset will be asserted when system in Setpoint n
  77328. */
  77329. #define SRC_SETPOINT_USBPHY2_SETPOINT5(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT5_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT5_MASK)
  77330. #define SRC_SETPOINT_USBPHY2_SETPOINT6_MASK (0x40U)
  77331. #define SRC_SETPOINT_USBPHY2_SETPOINT6_SHIFT (6U)
  77332. /*! SETPOINT6 - SETPOINT6
  77333. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77334. * 0b1..Slice reset will be asserted when system in Setpoint n
  77335. */
  77336. #define SRC_SETPOINT_USBPHY2_SETPOINT6(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT6_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT6_MASK)
  77337. #define SRC_SETPOINT_USBPHY2_SETPOINT7_MASK (0x80U)
  77338. #define SRC_SETPOINT_USBPHY2_SETPOINT7_SHIFT (7U)
  77339. /*! SETPOINT7 - SETPOINT7
  77340. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77341. * 0b1..Slice reset will be asserted when system in Setpoint n
  77342. */
  77343. #define SRC_SETPOINT_USBPHY2_SETPOINT7(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT7_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT7_MASK)
  77344. #define SRC_SETPOINT_USBPHY2_SETPOINT8_MASK (0x100U)
  77345. #define SRC_SETPOINT_USBPHY2_SETPOINT8_SHIFT (8U)
  77346. /*! SETPOINT8 - SETPOINT8
  77347. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77348. * 0b1..Slice reset will be asserted when system in Setpoint n
  77349. */
  77350. #define SRC_SETPOINT_USBPHY2_SETPOINT8(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT8_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT8_MASK)
  77351. #define SRC_SETPOINT_USBPHY2_SETPOINT9_MASK (0x200U)
  77352. #define SRC_SETPOINT_USBPHY2_SETPOINT9_SHIFT (9U)
  77353. /*! SETPOINT9 - SETPOINT9
  77354. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77355. * 0b1..Slice reset will be asserted when system in Setpoint n
  77356. */
  77357. #define SRC_SETPOINT_USBPHY2_SETPOINT9(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT9_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT9_MASK)
  77358. #define SRC_SETPOINT_USBPHY2_SETPOINT10_MASK (0x400U)
  77359. #define SRC_SETPOINT_USBPHY2_SETPOINT10_SHIFT (10U)
  77360. /*! SETPOINT10 - SETPOINT10
  77361. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77362. * 0b1..Slice reset will be asserted when system in Setpoint n
  77363. */
  77364. #define SRC_SETPOINT_USBPHY2_SETPOINT10(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT10_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT10_MASK)
  77365. #define SRC_SETPOINT_USBPHY2_SETPOINT11_MASK (0x800U)
  77366. #define SRC_SETPOINT_USBPHY2_SETPOINT11_SHIFT (11U)
  77367. /*! SETPOINT11 - SETPOINT11
  77368. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77369. * 0b1..Slice reset will be asserted when system in Setpoint n
  77370. */
  77371. #define SRC_SETPOINT_USBPHY2_SETPOINT11(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT11_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT11_MASK)
  77372. #define SRC_SETPOINT_USBPHY2_SETPOINT12_MASK (0x1000U)
  77373. #define SRC_SETPOINT_USBPHY2_SETPOINT12_SHIFT (12U)
  77374. /*! SETPOINT12 - SETPOINT12
  77375. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77376. * 0b1..Slice reset will be asserted when system in Setpoint n
  77377. */
  77378. #define SRC_SETPOINT_USBPHY2_SETPOINT12(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT12_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT12_MASK)
  77379. #define SRC_SETPOINT_USBPHY2_SETPOINT13_MASK (0x2000U)
  77380. #define SRC_SETPOINT_USBPHY2_SETPOINT13_SHIFT (13U)
  77381. /*! SETPOINT13 - SETPOINT13
  77382. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77383. * 0b1..Slice reset will be asserted when system in Setpoint n
  77384. */
  77385. #define SRC_SETPOINT_USBPHY2_SETPOINT13(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT13_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT13_MASK)
  77386. #define SRC_SETPOINT_USBPHY2_SETPOINT14_MASK (0x4000U)
  77387. #define SRC_SETPOINT_USBPHY2_SETPOINT14_SHIFT (14U)
  77388. /*! SETPOINT14 - SETPOINT14
  77389. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77390. * 0b1..Slice reset will be asserted when system in Setpoint n
  77391. */
  77392. #define SRC_SETPOINT_USBPHY2_SETPOINT14(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT14_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT14_MASK)
  77393. #define SRC_SETPOINT_USBPHY2_SETPOINT15_MASK (0x8000U)
  77394. #define SRC_SETPOINT_USBPHY2_SETPOINT15_SHIFT (15U)
  77395. /*! SETPOINT15 - SETPOINT15
  77396. * 0b0..Slice reset will be de-asserted when system in Setpoint n
  77397. * 0b1..Slice reset will be asserted when system in Setpoint n
  77398. */
  77399. #define SRC_SETPOINT_USBPHY2_SETPOINT15(x) (((uint32_t)(((uint32_t)(x)) << SRC_SETPOINT_USBPHY2_SETPOINT15_SHIFT)) & SRC_SETPOINT_USBPHY2_SETPOINT15_MASK)
  77400. /*! @} */
  77401. /*! @name DOMAIN_USBPHY2 - Slice Domain Config Register */
  77402. /*! @{ */
  77403. #define SRC_DOMAIN_USBPHY2_CPU0_RUN_MASK (0x1U)
  77404. #define SRC_DOMAIN_USBPHY2_CPU0_RUN_SHIFT (0U)
  77405. /*! CPU0_RUN - CPU mode setting for RUN
  77406. * 0b0..Slice reset will be de-asserted when CPU0 in RUN mode
  77407. * 0b1..Slice reset will be asserted when CPU0 in RUN mode
  77408. */
  77409. #define SRC_DOMAIN_USBPHY2_CPU0_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_RUN_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_RUN_MASK)
  77410. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT_MASK (0x2U)
  77411. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT_SHIFT (1U)
  77412. /*! CPU0_WAIT - CPU mode setting for WAIT
  77413. * 0b0..Slice reset will be de-asserted when CPU0 in WAIT mode
  77414. * 0b1..Slice reset will be asserted when CPU0 in WAIT mode
  77415. */
  77416. #define SRC_DOMAIN_USBPHY2_CPU0_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_WAIT_MASK)
  77417. #define SRC_DOMAIN_USBPHY2_CPU0_STOP_MASK (0x4U)
  77418. #define SRC_DOMAIN_USBPHY2_CPU0_STOP_SHIFT (2U)
  77419. /*! CPU0_STOP - CPU mode setting for STOP
  77420. * 0b0..Slice reset will be de-asserted when CPU0 in STOP mode
  77421. * 0b1..Slice reset will be asserted when CPU0 in STOP mode
  77422. */
  77423. #define SRC_DOMAIN_USBPHY2_CPU0_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_STOP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_STOP_MASK)
  77424. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP_MASK (0x8U)
  77425. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP_SHIFT (3U)
  77426. /*! CPU0_SUSP - CPU mode setting for SUSPEND
  77427. * 0b0..Slice reset will be de-asserted when CPU0 in SUSPEND mode
  77428. * 0b1..Slice reset will be asserted when CPU0 in SUSPEND mode
  77429. */
  77430. #define SRC_DOMAIN_USBPHY2_CPU0_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU0_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU0_SUSP_MASK)
  77431. #define SRC_DOMAIN_USBPHY2_CPU1_RUN_MASK (0x10U)
  77432. #define SRC_DOMAIN_USBPHY2_CPU1_RUN_SHIFT (4U)
  77433. /*! CPU1_RUN - CPU mode setting for RUN
  77434. * 0b0..Slice reset will be de-asserted when CPU1 in RUN mode
  77435. * 0b1..Slice reset will be asserted when CPU1 in RUN mode
  77436. */
  77437. #define SRC_DOMAIN_USBPHY2_CPU1_RUN(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_RUN_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_RUN_MASK)
  77438. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT_MASK (0x20U)
  77439. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT_SHIFT (5U)
  77440. /*! CPU1_WAIT - CPU mode setting for WAIT
  77441. * 0b0..Slice reset will be de-asserted when CPU1 in WAIT mode
  77442. * 0b1..Slice reset will be asserted when CPU1 in WAIT mode
  77443. */
  77444. #define SRC_DOMAIN_USBPHY2_CPU1_WAIT(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_WAIT_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_WAIT_MASK)
  77445. #define SRC_DOMAIN_USBPHY2_CPU1_STOP_MASK (0x40U)
  77446. #define SRC_DOMAIN_USBPHY2_CPU1_STOP_SHIFT (6U)
  77447. /*! CPU1_STOP - CPU mode setting for STOP
  77448. * 0b0..Slice reset will be de-asserted when CPU1 in STOP mode
  77449. * 0b1..Slice reset will be asserted when CPU1 in STOP mode
  77450. */
  77451. #define SRC_DOMAIN_USBPHY2_CPU1_STOP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_STOP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_STOP_MASK)
  77452. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP_MASK (0x80U)
  77453. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP_SHIFT (7U)
  77454. /*! CPU1_SUSP - CPU mode setting for SUSPEND
  77455. * 0b0..Slice reset will be de-asserted when CPU1 in SUSPEND mode
  77456. * 0b1..Slice reset will be asserted when CPU1 in SUSPEND mode
  77457. */
  77458. #define SRC_DOMAIN_USBPHY2_CPU1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << SRC_DOMAIN_USBPHY2_CPU1_SUSP_SHIFT)) & SRC_DOMAIN_USBPHY2_CPU1_SUSP_MASK)
  77459. /*! @} */
  77460. /*! @name STAT_USBPHY2 - Slice Status Register */
  77461. /*! @{ */
  77462. #define SRC_STAT_USBPHY2_UNDER_RST_MASK (0x1U)
  77463. #define SRC_STAT_USBPHY2_UNDER_RST_SHIFT (0U)
  77464. /*! UNDER_RST
  77465. * 0b0..the reset is finished
  77466. * 0b1..the reset is in process
  77467. */
  77468. #define SRC_STAT_USBPHY2_UNDER_RST(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY2_UNDER_RST_SHIFT)) & SRC_STAT_USBPHY2_UNDER_RST_MASK)
  77469. #define SRC_STAT_USBPHY2_RST_BY_HW_MASK (0x4U)
  77470. #define SRC_STAT_USBPHY2_RST_BY_HW_SHIFT (2U)
  77471. /*! RST_BY_HW
  77472. * 0b0..the reset is not caused by the power mode transfer
  77473. * 0b1..the reset is caused by the power mode transfer
  77474. */
  77475. #define SRC_STAT_USBPHY2_RST_BY_HW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY2_RST_BY_HW_SHIFT)) & SRC_STAT_USBPHY2_RST_BY_HW_MASK)
  77476. #define SRC_STAT_USBPHY2_RST_BY_SW_MASK (0x8U)
  77477. #define SRC_STAT_USBPHY2_RST_BY_SW_SHIFT (3U)
  77478. /*! RST_BY_SW
  77479. * 0b0..the reset is not caused by software setting
  77480. * 0b1..the reset is caused by software setting
  77481. */
  77482. #define SRC_STAT_USBPHY2_RST_BY_SW(x) (((uint32_t)(((uint32_t)(x)) << SRC_STAT_USBPHY2_RST_BY_SW_SHIFT)) & SRC_STAT_USBPHY2_RST_BY_SW_MASK)
  77483. /*! @} */
  77484. /*!
  77485. * @}
  77486. */ /* end of group SRC_Register_Masks */
  77487. /* SRC - Peripheral instance base addresses */
  77488. /** Peripheral SRC base address */
  77489. #define SRC_BASE (0x40C04000u)
  77490. /** Peripheral SRC base pointer */
  77491. #define SRC ((SRC_Type *)SRC_BASE)
  77492. /** Array initializer of SRC peripheral base addresses */
  77493. #define SRC_BASE_ADDRS { SRC_BASE }
  77494. /** Array initializer of SRC peripheral base pointers */
  77495. #define SRC_BASE_PTRS { SRC }
  77496. /*!
  77497. * @}
  77498. */ /* end of group SRC_Peripheral_Access_Layer */
  77499. /* ----------------------------------------------------------------------------
  77500. -- SSARC_HP Peripheral Access Layer
  77501. ---------------------------------------------------------------------------- */
  77502. /*!
  77503. * @addtogroup SSARC_HP_Peripheral_Access_Layer SSARC_HP Peripheral Access Layer
  77504. * @{
  77505. */
  77506. /** SSARC_HP - Register Layout Typedef */
  77507. typedef struct {
  77508. struct { /* offset: 0x0, array step: 0x10 */
  77509. __IO uint32_t SRAM0; /**< Description Address Register, array offset: 0x0, array step: 0x10 */
  77510. __IO uint32_t SRAM1; /**< Description Data Register, array offset: 0x4, array step: 0x10 */
  77511. __IO uint32_t SRAM2; /**< Description Control Register, array offset: 0x8, array step: 0x10 */
  77512. uint8_t RESERVED_0[4];
  77513. } DESC[1024];
  77514. } SSARC_HP_Type;
  77515. /* ----------------------------------------------------------------------------
  77516. -- SSARC_HP Register Masks
  77517. ---------------------------------------------------------------------------- */
  77518. /*!
  77519. * @addtogroup SSARC_HP_Register_Masks SSARC_HP Register Masks
  77520. * @{
  77521. */
  77522. /*! @name SRAM0 - Description Address Register */
  77523. /*! @{ */
  77524. #define SSARC_HP_SRAM0_ADDR_MASK (0xFFFFFFFFU)
  77525. #define SSARC_HP_SRAM0_ADDR_SHIFT (0U)
  77526. /*! ADDR - Address field
  77527. */
  77528. #define SSARC_HP_SRAM0_ADDR(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM0_ADDR_SHIFT)) & SSARC_HP_SRAM0_ADDR_MASK)
  77529. /*! @} */
  77530. /* The count of SSARC_HP_SRAM0 */
  77531. #define SSARC_HP_SRAM0_COUNT (1024U)
  77532. /*! @name SRAM1 - Description Data Register */
  77533. /*! @{ */
  77534. #define SSARC_HP_SRAM1_DATA_MASK (0xFFFFFFFFU)
  77535. #define SSARC_HP_SRAM1_DATA_SHIFT (0U)
  77536. /*! DATA - Data field
  77537. */
  77538. #define SSARC_HP_SRAM1_DATA(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM1_DATA_SHIFT)) & SSARC_HP_SRAM1_DATA_MASK)
  77539. /*! @} */
  77540. /* The count of SSARC_HP_SRAM1 */
  77541. #define SSARC_HP_SRAM1_COUNT (1024U)
  77542. /*! @name SRAM2 - Description Control Register */
  77543. /*! @{ */
  77544. #define SSARC_HP_SRAM2_TYPE_MASK (0x7U)
  77545. #define SSARC_HP_SRAM2_TYPE_SHIFT (0U)
  77546. /*! TYPE - Type field
  77547. * 0b000..SR
  77548. * 0b001..WO
  77549. * 0b010..RMW_OR
  77550. * 0b011..RMW_AND
  77551. * 0b100..DELAY
  77552. * 0b101..POLLING_0
  77553. * 0b110..POLLING_1
  77554. * 0b111..Reserved
  77555. */
  77556. #define SSARC_HP_SRAM2_TYPE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_TYPE_SHIFT)) & SSARC_HP_SRAM2_TYPE_MASK)
  77557. #define SSARC_HP_SRAM2_SV_EN_MASK (0x10U)
  77558. #define SSARC_HP_SRAM2_SV_EN_SHIFT (4U)
  77559. /*! SV_EN - Save Enable
  77560. * 0b0..Do not use this descriptor in the save operation
  77561. * 0b1..Use this descriptor in the save operation
  77562. */
  77563. #define SSARC_HP_SRAM2_SV_EN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_SV_EN_SHIFT)) & SSARC_HP_SRAM2_SV_EN_MASK)
  77564. #define SSARC_HP_SRAM2_RT_EN_MASK (0x20U)
  77565. #define SSARC_HP_SRAM2_RT_EN_SHIFT (5U)
  77566. /*! RT_EN - Restore Enable
  77567. * 0b0..Do not use this descriptor for the restore operation
  77568. * 0b1..Use this descriptor for the restore operation
  77569. */
  77570. #define SSARC_HP_SRAM2_RT_EN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_RT_EN_SHIFT)) & SSARC_HP_SRAM2_RT_EN_MASK)
  77571. #define SSARC_HP_SRAM2_SIZE_MASK (0xC0U)
  77572. #define SSARC_HP_SRAM2_SIZE_SHIFT (6U)
  77573. /*! SIZE - Size field
  77574. * 0b00..8-bit
  77575. * 0b01..16-bit
  77576. * 0b10..32-bit
  77577. * 0b11..Reserved
  77578. */
  77579. #define SSARC_HP_SRAM2_SIZE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_HP_SRAM2_SIZE_SHIFT)) & SSARC_HP_SRAM2_SIZE_MASK)
  77580. /*! @} */
  77581. /* The count of SSARC_HP_SRAM2 */
  77582. #define SSARC_HP_SRAM2_COUNT (1024U)
  77583. /*!
  77584. * @}
  77585. */ /* end of group SSARC_HP_Register_Masks */
  77586. /* SSARC_HP - Peripheral instance base addresses */
  77587. /** Peripheral SSARC_HP base address */
  77588. #define SSARC_HP_BASE (0x40CB4000u)
  77589. /** Peripheral SSARC_HP base pointer */
  77590. #define SSARC_HP ((SSARC_HP_Type *)SSARC_HP_BASE)
  77591. /** Array initializer of SSARC_HP peripheral base addresses */
  77592. #define SSARC_HP_BASE_ADDRS { SSARC_HP_BASE }
  77593. /** Array initializer of SSARC_HP peripheral base pointers */
  77594. #define SSARC_HP_BASE_PTRS { SSARC_HP }
  77595. /*!
  77596. * @}
  77597. */ /* end of group SSARC_HP_Peripheral_Access_Layer */
  77598. /* ----------------------------------------------------------------------------
  77599. -- SSARC_LP Peripheral Access Layer
  77600. ---------------------------------------------------------------------------- */
  77601. /*!
  77602. * @addtogroup SSARC_LP_Peripheral_Access_Layer SSARC_LP Peripheral Access Layer
  77603. * @{
  77604. */
  77605. /** SSARC_LP - Register Layout Typedef */
  77606. typedef struct {
  77607. struct { /* offset: 0x0, array step: 0x20 */
  77608. __IO uint32_t DESC_CTRL0; /**< Descriptor Control0 0 Register..Descriptor Control0 15 Register, array offset: 0x0, array step: 0x20 */
  77609. __IO uint32_t DESC_CTRL1; /**< Descriptor Control1 0 Register..Descriptor Control1 15 Register, array offset: 0x4, array step: 0x20 */
  77610. __IO uint32_t DESC_ADDR_UP; /**< Descriptor Address Up 0 Register..Descriptor Address Up 15 Register, array offset: 0x8, array step: 0x20 */
  77611. __IO uint32_t DESC_ADDR_DOWN; /**< Descriptor Address Down 0 Register..Descriptor Address Down 15 Register, array offset: 0xC, array step: 0x20 */
  77612. uint8_t RESERVED_0[16];
  77613. } GROUPS[16];
  77614. __IO uint32_t CTRL; /**< Control Register, offset: 0x200 */
  77615. __IO uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0x204 */
  77616. uint8_t RESERVED_0[4];
  77617. __IO uint32_t HP_TIMEOUT; /**< HP Timeout Register, offset: 0x20C */
  77618. uint8_t RESERVED_1[12];
  77619. __I uint32_t HW_GROUP_PENDING; /**< Hardware Request Pending Register, offset: 0x21C */
  77620. __I uint32_t SW_GROUP_PENDING; /**< Software Request Pending Register, offset: 0x220 */
  77621. } SSARC_LP_Type;
  77622. /* ----------------------------------------------------------------------------
  77623. -- SSARC_LP Register Masks
  77624. ---------------------------------------------------------------------------- */
  77625. /*!
  77626. * @addtogroup SSARC_LP_Register_Masks SSARC_LP Register Masks
  77627. * @{
  77628. */
  77629. /*! @name DESC_CTRL0 - Descriptor Control0 0 Register..Descriptor Control0 15 Register */
  77630. /*! @{ */
  77631. #define SSARC_LP_DESC_CTRL0_START_MASK (0x3FFU)
  77632. #define SSARC_LP_DESC_CTRL0_START_SHIFT (0U)
  77633. /*! START - Start index
  77634. */
  77635. #define SSARC_LP_DESC_CTRL0_START(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_START_SHIFT)) & SSARC_LP_DESC_CTRL0_START_MASK)
  77636. #define SSARC_LP_DESC_CTRL0_END_MASK (0xFFC00U)
  77637. #define SSARC_LP_DESC_CTRL0_END_SHIFT (10U)
  77638. /*! END - End index
  77639. */
  77640. #define SSARC_LP_DESC_CTRL0_END(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_END_SHIFT)) & SSARC_LP_DESC_CTRL0_END_MASK)
  77641. #define SSARC_LP_DESC_CTRL0_SV_ORDER_MASK (0x100000U)
  77642. #define SSARC_LP_DESC_CTRL0_SV_ORDER_SHIFT (20U)
  77643. /*! SV_ORDER - Save Order
  77644. * 0b0..Descriptors within the group are processed from start to end
  77645. * 0b1..Descriptors within the group are processed from end to start
  77646. */
  77647. #define SSARC_LP_DESC_CTRL0_SV_ORDER(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_SV_ORDER_SHIFT)) & SSARC_LP_DESC_CTRL0_SV_ORDER_MASK)
  77648. #define SSARC_LP_DESC_CTRL0_RT_ORDER_MASK (0x200000U)
  77649. #define SSARC_LP_DESC_CTRL0_RT_ORDER_SHIFT (21U)
  77650. /*! RT_ORDER - Restore order
  77651. * 0b0..Descriptors within the group are processed from start to end
  77652. * 0b1..Descriptors within the group are processed from end to start
  77653. */
  77654. #define SSARC_LP_DESC_CTRL0_RT_ORDER(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL0_RT_ORDER_SHIFT)) & SSARC_LP_DESC_CTRL0_RT_ORDER_MASK)
  77655. /*! @} */
  77656. /* The count of SSARC_LP_DESC_CTRL0 */
  77657. #define SSARC_LP_DESC_CTRL0_COUNT (16U)
  77658. /*! @name DESC_CTRL1 - Descriptor Control1 0 Register..Descriptor Control1 15 Register */
  77659. /*! @{ */
  77660. #define SSARC_LP_DESC_CTRL1_SW_TRIG_SV_MASK (0x1U)
  77661. #define SSARC_LP_DESC_CTRL1_SW_TRIG_SV_SHIFT (0U)
  77662. /*! SW_TRIG_SV - Software trigger save
  77663. * 0b1..Request a software save operation/software restore operation in progress
  77664. * 0b0..No software save request/software restore request complete
  77665. */
  77666. #define SSARC_LP_DESC_CTRL1_SW_TRIG_SV(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_SW_TRIG_SV_SHIFT)) & SSARC_LP_DESC_CTRL1_SW_TRIG_SV_MASK)
  77667. #define SSARC_LP_DESC_CTRL1_SW_TRIG_RT_MASK (0x2U)
  77668. #define SSARC_LP_DESC_CTRL1_SW_TRIG_RT_SHIFT (1U)
  77669. /*! SW_TRIG_RT - Software trigger restore
  77670. * 0b1..Request a software restore operation/software restore operation in progress
  77671. * 0b0..No software restore request/software restore request complete
  77672. */
  77673. #define SSARC_LP_DESC_CTRL1_SW_TRIG_RT(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_SW_TRIG_RT_SHIFT)) & SSARC_LP_DESC_CTRL1_SW_TRIG_RT_MASK)
  77674. #define SSARC_LP_DESC_CTRL1_POWER_DOMAIN_MASK (0x70U)
  77675. #define SSARC_LP_DESC_CTRL1_POWER_DOMAIN_SHIFT (4U)
  77676. /*! POWER_DOMAIN
  77677. * 0b000..PGMC_BPC0
  77678. * 0b001..PGMC_BPC1
  77679. * 0b010..PGMC_BPC2
  77680. * 0b011..PGMC_BPC3
  77681. * 0b100..PGMC_BPC4
  77682. * 0b101..PGMC_BPC5
  77683. * 0b110..PGMC_BPC6
  77684. * 0b111..PGMC_BPC7
  77685. */
  77686. #define SSARC_LP_DESC_CTRL1_POWER_DOMAIN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_POWER_DOMAIN_SHIFT)) & SSARC_LP_DESC_CTRL1_POWER_DOMAIN_MASK)
  77687. #define SSARC_LP_DESC_CTRL1_GP_EN_MASK (0x80U)
  77688. #define SSARC_LP_DESC_CTRL1_GP_EN_SHIFT (7U)
  77689. /*! GP_EN - Group Enable
  77690. * 0b0..Group disabled
  77691. * 0b1..Group enabled
  77692. */
  77693. #define SSARC_LP_DESC_CTRL1_GP_EN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_GP_EN_SHIFT)) & SSARC_LP_DESC_CTRL1_GP_EN_MASK)
  77694. #define SSARC_LP_DESC_CTRL1_SV_PRIORITY_MASK (0xF00U)
  77695. #define SSARC_LP_DESC_CTRL1_SV_PRIORITY_SHIFT (8U)
  77696. /*! SV_PRIORITY - Save Priority
  77697. */
  77698. #define SSARC_LP_DESC_CTRL1_SV_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_SV_PRIORITY_SHIFT)) & SSARC_LP_DESC_CTRL1_SV_PRIORITY_MASK)
  77699. #define SSARC_LP_DESC_CTRL1_RT_PRIORITY_MASK (0xF000U)
  77700. #define SSARC_LP_DESC_CTRL1_RT_PRIORITY_SHIFT (12U)
  77701. /*! RT_PRIORITY - Restore Priority
  77702. */
  77703. #define SSARC_LP_DESC_CTRL1_RT_PRIORITY(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_RT_PRIORITY_SHIFT)) & SSARC_LP_DESC_CTRL1_RT_PRIORITY_MASK)
  77704. #define SSARC_LP_DESC_CTRL1_CPUD_MASK (0x30000U)
  77705. #define SSARC_LP_DESC_CTRL1_CPUD_SHIFT (16U)
  77706. /*! CPUD - CPU Domain
  77707. */
  77708. #define SSARC_LP_DESC_CTRL1_CPUD(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_CPUD_SHIFT)) & SSARC_LP_DESC_CTRL1_CPUD_MASK)
  77709. #define SSARC_LP_DESC_CTRL1_RL_MASK (0x40000U)
  77710. #define SSARC_LP_DESC_CTRL1_RL_SHIFT (18U)
  77711. /*! RL - Read Lock
  77712. * 0b1..Group is locked (read access not allowed)
  77713. * 0b0..Group is unlocked (read access allowed)
  77714. */
  77715. #define SSARC_LP_DESC_CTRL1_RL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_RL_SHIFT)) & SSARC_LP_DESC_CTRL1_RL_MASK)
  77716. #define SSARC_LP_DESC_CTRL1_WL_MASK (0x80000U)
  77717. #define SSARC_LP_DESC_CTRL1_WL_SHIFT (19U)
  77718. /*! WL - Write Lock
  77719. * 0b1..Group is locked (write access not allowed)
  77720. * 0b0..Group is unlocked (write access allowed)
  77721. */
  77722. #define SSARC_LP_DESC_CTRL1_WL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_WL_SHIFT)) & SSARC_LP_DESC_CTRL1_WL_MASK)
  77723. #define SSARC_LP_DESC_CTRL1_DL_MASK (0x100000U)
  77724. #define SSARC_LP_DESC_CTRL1_DL_SHIFT (20U)
  77725. /*! DL - Domain lock
  77726. * 0b1..Lock
  77727. * 0b0..Unlock
  77728. */
  77729. #define SSARC_LP_DESC_CTRL1_DL(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_CTRL1_DL_SHIFT)) & SSARC_LP_DESC_CTRL1_DL_MASK)
  77730. /*! @} */
  77731. /* The count of SSARC_LP_DESC_CTRL1 */
  77732. #define SSARC_LP_DESC_CTRL1_COUNT (16U)
  77733. /*! @name DESC_ADDR_UP - Descriptor Address Up 0 Register..Descriptor Address Up 15 Register */
  77734. /*! @{ */
  77735. #define SSARC_LP_DESC_ADDR_UP_ADDR_UP_MASK (0xFFFFFFFFU)
  77736. #define SSARC_LP_DESC_ADDR_UP_ADDR_UP_SHIFT (0U)
  77737. /*! ADDR_UP - Address field (High)
  77738. */
  77739. #define SSARC_LP_DESC_ADDR_UP_ADDR_UP(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_ADDR_UP_ADDR_UP_SHIFT)) & SSARC_LP_DESC_ADDR_UP_ADDR_UP_MASK)
  77740. /*! @} */
  77741. /* The count of SSARC_LP_DESC_ADDR_UP */
  77742. #define SSARC_LP_DESC_ADDR_UP_COUNT (16U)
  77743. /*! @name DESC_ADDR_DOWN - Descriptor Address Down 0 Register..Descriptor Address Down 15 Register */
  77744. /*! @{ */
  77745. #define SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_MASK (0xFFFFFFFFU)
  77746. #define SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_SHIFT (0U)
  77747. /*! ADDR_DOWN - Address field (Low)
  77748. */
  77749. #define SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_SHIFT)) & SSARC_LP_DESC_ADDR_DOWN_ADDR_DOWN_MASK)
  77750. /*! @} */
  77751. /* The count of SSARC_LP_DESC_ADDR_DOWN */
  77752. #define SSARC_LP_DESC_ADDR_DOWN_COUNT (16U)
  77753. /*! @name CTRL - Control Register */
  77754. /*! @{ */
  77755. #define SSARC_LP_CTRL_DIS_HW_REQ_MASK (0x8000000U)
  77756. #define SSARC_LP_CTRL_DIS_HW_REQ_SHIFT (27U)
  77757. /*! DIS_HW_REQ - Save/Restore request disable
  77758. * 0b0..PGMC save/restore requests enabled
  77759. * 0b1..PGMC save/restore requests disabled
  77760. */
  77761. #define SSARC_LP_CTRL_DIS_HW_REQ(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_CTRL_DIS_HW_REQ_SHIFT)) & SSARC_LP_CTRL_DIS_HW_REQ_MASK)
  77762. #define SSARC_LP_CTRL_SW_RESET_MASK (0x80000000U)
  77763. #define SSARC_LP_CTRL_SW_RESET_SHIFT (31U)
  77764. /*! SW_RESET - Software reset
  77765. */
  77766. #define SSARC_LP_CTRL_SW_RESET(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_CTRL_SW_RESET_SHIFT)) & SSARC_LP_CTRL_SW_RESET_MASK)
  77767. /*! @} */
  77768. /*! @name INT_STATUS - Interrupt Status Register */
  77769. /*! @{ */
  77770. #define SSARC_LP_INT_STATUS_ERR_INDEX_MASK (0x3FFU)
  77771. #define SSARC_LP_INT_STATUS_ERR_INDEX_SHIFT (0U)
  77772. /*! ERR_INDEX - Error Index
  77773. */
  77774. #define SSARC_LP_INT_STATUS_ERR_INDEX(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_ERR_INDEX_SHIFT)) & SSARC_LP_INT_STATUS_ERR_INDEX_MASK)
  77775. #define SSARC_LP_INT_STATUS_AHB_RESP_MASK (0xC00U)
  77776. #define SSARC_LP_INT_STATUS_AHB_RESP_SHIFT (10U)
  77777. /*! AHB_RESP - AHB Bus response field
  77778. */
  77779. #define SSARC_LP_INT_STATUS_AHB_RESP(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_AHB_RESP_SHIFT)) & SSARC_LP_INT_STATUS_AHB_RESP_MASK)
  77780. #define SSARC_LP_INT_STATUS_GROUP_CONFLICT_MASK (0x8000000U)
  77781. #define SSARC_LP_INT_STATUS_GROUP_CONFLICT_SHIFT (27U)
  77782. /*! GROUP_CONFLICT - Group Conflict field
  77783. * 0b1..A group conflict error has occurred
  77784. * 0b0..No group conflict error
  77785. */
  77786. #define SSARC_LP_INT_STATUS_GROUP_CONFLICT(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_GROUP_CONFLICT_SHIFT)) & SSARC_LP_INT_STATUS_GROUP_CONFLICT_MASK)
  77787. #define SSARC_LP_INT_STATUS_TIMEOUT_MASK (0x10000000U)
  77788. #define SSARC_LP_INT_STATUS_TIMEOUT_SHIFT (28U)
  77789. /*! TIMEOUT - Timeout field
  77790. * 0b1..A timeout event has occurred
  77791. * 0b0..No timeout event
  77792. */
  77793. #define SSARC_LP_INT_STATUS_TIMEOUT(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_TIMEOUT_SHIFT)) & SSARC_LP_INT_STATUS_TIMEOUT_MASK)
  77794. #define SSARC_LP_INT_STATUS_SW_REQ_DONE_MASK (0x20000000U)
  77795. #define SSARC_LP_INT_STATUS_SW_REQ_DONE_SHIFT (29U)
  77796. /*! SW_REQ_DONE - Software Request Done
  77797. * 0b1..Atleast one software triggered has been complete
  77798. * 0b0..No software triggered requests or software triggered request still in progress
  77799. */
  77800. #define SSARC_LP_INT_STATUS_SW_REQ_DONE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_SW_REQ_DONE_SHIFT)) & SSARC_LP_INT_STATUS_SW_REQ_DONE_MASK)
  77801. #define SSARC_LP_INT_STATUS_AHB_ERR_MASK (0x40000000U)
  77802. #define SSARC_LP_INT_STATUS_AHB_ERR_SHIFT (30U)
  77803. /*! AHB_ERR - AHB Error field
  77804. * 0b1..An AHB error has occurred
  77805. * 0b0..No AHB error
  77806. */
  77807. #define SSARC_LP_INT_STATUS_AHB_ERR(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_AHB_ERR_SHIFT)) & SSARC_LP_INT_STATUS_AHB_ERR_MASK)
  77808. #define SSARC_LP_INT_STATUS_ADDR_ERR_MASK (0x80000000U)
  77809. #define SSARC_LP_INT_STATUS_ADDR_ERR_SHIFT (31U)
  77810. /*! ADDR_ERR - Address Error field
  77811. * 0b1..An address error has occurred
  77812. * 0b0..No address error
  77813. */
  77814. #define SSARC_LP_INT_STATUS_ADDR_ERR(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_INT_STATUS_ADDR_ERR_SHIFT)) & SSARC_LP_INT_STATUS_ADDR_ERR_MASK)
  77815. /*! @} */
  77816. /*! @name HP_TIMEOUT - HP Timeout Register */
  77817. /*! @{ */
  77818. #define SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_MASK (0xFFFFFFFFU)
  77819. #define SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_SHIFT (0U)
  77820. /*! TIMEOUT_VALUE - Time out value
  77821. */
  77822. #define SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_SHIFT)) & SSARC_LP_HP_TIMEOUT_TIMEOUT_VALUE_MASK)
  77823. /*! @} */
  77824. /*! @name HW_GROUP_PENDING - Hardware Request Pending Register */
  77825. /*! @{ */
  77826. #define SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_MASK (0xFFFFU)
  77827. #define SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_SHIFT (0U)
  77828. /*! HW_SAVE_PENDING - This field indicates which groups are pending for save from hardware request
  77829. */
  77830. #define SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_SHIFT)) & SSARC_LP_HW_GROUP_PENDING_HW_SAVE_PENDING_MASK)
  77831. #define SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_MASK (0xFFFF0000U)
  77832. #define SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_SHIFT (16U)
  77833. /*! HW_RESTORE_PENDING - This field indicates which groups are pending for restore from hardware request
  77834. */
  77835. #define SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_SHIFT)) & SSARC_LP_HW_GROUP_PENDING_HW_RESTORE_PENDING_MASK)
  77836. /*! @} */
  77837. /*! @name SW_GROUP_PENDING - Software Request Pending Register */
  77838. /*! @{ */
  77839. #define SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_MASK (0xFFFFU)
  77840. #define SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_SHIFT (0U)
  77841. /*! SW_SAVE_PENDING - This field indicates which groups are pending for save from software request
  77842. */
  77843. #define SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_SHIFT)) & SSARC_LP_SW_GROUP_PENDING_SW_SAVE_PENDING_MASK)
  77844. #define SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_MASK (0xFFFF0000U)
  77845. #define SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_SHIFT (16U)
  77846. /*! SW_RESTORE_PENDING - This field indicates which groups are pending for restore from software request
  77847. */
  77848. #define SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING(x) (((uint32_t)(((uint32_t)(x)) << SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_SHIFT)) & SSARC_LP_SW_GROUP_PENDING_SW_RESTORE_PENDING_MASK)
  77849. /*! @} */
  77850. /*!
  77851. * @}
  77852. */ /* end of group SSARC_LP_Register_Masks */
  77853. /* SSARC_LP - Peripheral instance base addresses */
  77854. /** Peripheral SSARC_LP base address */
  77855. #define SSARC_LP_BASE (0x40CB8000u)
  77856. /** Peripheral SSARC_LP base pointer */
  77857. #define SSARC_LP ((SSARC_LP_Type *)SSARC_LP_BASE)
  77858. /** Array initializer of SSARC_LP peripheral base addresses */
  77859. #define SSARC_LP_BASE_ADDRS { SSARC_LP_BASE }
  77860. /** Array initializer of SSARC_LP peripheral base pointers */
  77861. #define SSARC_LP_BASE_PTRS { SSARC_LP }
  77862. /*!
  77863. * @}
  77864. */ /* end of group SSARC_LP_Peripheral_Access_Layer */
  77865. /* ----------------------------------------------------------------------------
  77866. -- TMPSNS Peripheral Access Layer
  77867. ---------------------------------------------------------------------------- */
  77868. /*!
  77869. * @addtogroup TMPSNS_Peripheral_Access_Layer TMPSNS Peripheral Access Layer
  77870. * @{
  77871. */
  77872. /** TMPSNS - Register Layout Typedef */
  77873. typedef struct {
  77874. __IO uint32_t CTRL0; /**< Temperature Sensor Control Register 0, offset: 0x0 */
  77875. __IO uint32_t CTRL0_SET; /**< Temperature Sensor Control Register 0, offset: 0x4 */
  77876. __IO uint32_t CTRL0_CLR; /**< Temperature Sensor Control Register 0, offset: 0x8 */
  77877. __IO uint32_t CTRL0_TOG; /**< Temperature Sensor Control Register 0, offset: 0xC */
  77878. __IO uint32_t CTRL1; /**< Temperature Sensor Control Register 1, offset: 0x10 */
  77879. __IO uint32_t CTRL1_SET; /**< Temperature Sensor Control Register 1, offset: 0x14 */
  77880. __IO uint32_t CTRL1_CLR; /**< Temperature Sensor Control Register 1, offset: 0x18 */
  77881. __IO uint32_t CTRL1_TOG; /**< Temperature Sensor Control Register 1, offset: 0x1C */
  77882. __IO uint32_t RANGE0; /**< Temperature Sensor Range Register 0, offset: 0x20 */
  77883. __IO uint32_t RANGE0_SET; /**< Temperature Sensor Range Register 0, offset: 0x24 */
  77884. __IO uint32_t RANGE0_CLR; /**< Temperature Sensor Range Register 0, offset: 0x28 */
  77885. __IO uint32_t RANGE0_TOG; /**< Temperature Sensor Range Register 0, offset: 0x2C */
  77886. __IO uint32_t RANGE1; /**< Temperature Sensor Range Register 1, offset: 0x30 */
  77887. __IO uint32_t RANGE1_SET; /**< Temperature Sensor Range Register 1, offset: 0x34 */
  77888. __IO uint32_t RANGE1_CLR; /**< Temperature Sensor Range Register 1, offset: 0x38 */
  77889. __IO uint32_t RANGE1_TOG; /**< Temperature Sensor Range Register 1, offset: 0x3C */
  77890. uint8_t RESERVED_0[16];
  77891. __IO uint32_t STATUS0; /**< Temperature Sensor Status Register 0, offset: 0x50 */
  77892. } TMPSNS_Type;
  77893. /* ----------------------------------------------------------------------------
  77894. -- TMPSNS Register Masks
  77895. ---------------------------------------------------------------------------- */
  77896. /*!
  77897. * @addtogroup TMPSNS_Register_Masks TMPSNS Register Masks
  77898. * @{
  77899. */
  77900. /*! @name CTRL0 - Temperature Sensor Control Register 0 */
  77901. /*! @{ */
  77902. #define TMPSNS_CTRL0_SLOPE_CAL_MASK (0x3FU)
  77903. #define TMPSNS_CTRL0_SLOPE_CAL_SHIFT (0U)
  77904. /*! SLOPE_CAL - Ramp slope calibration control
  77905. */
  77906. #define TMPSNS_CTRL0_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_SLOPE_CAL_MASK)
  77907. #define TMPSNS_CTRL0_V_SEL_MASK (0x300U)
  77908. #define TMPSNS_CTRL0_V_SEL_SHIFT (8U)
  77909. /*! V_SEL - Voltage Select
  77910. * 0b00..Normal temperature measuring mode
  77911. * 0b01-0b10..Reserved
  77912. */
  77913. #define TMPSNS_CTRL0_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_V_SEL_SHIFT)) & TMPSNS_CTRL0_V_SEL_MASK)
  77914. #define TMPSNS_CTRL0_IBIAS_TRIM_MASK (0xF000U)
  77915. #define TMPSNS_CTRL0_IBIAS_TRIM_SHIFT (12U)
  77916. /*! IBIAS_TRIM - Current bias trim value
  77917. */
  77918. #define TMPSNS_CTRL0_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_IBIAS_TRIM_MASK)
  77919. /*! @} */
  77920. /*! @name CTRL0_SET - Temperature Sensor Control Register 0 */
  77921. /*! @{ */
  77922. #define TMPSNS_CTRL0_SET_SLOPE_CAL_MASK (0x3FU)
  77923. #define TMPSNS_CTRL0_SET_SLOPE_CAL_SHIFT (0U)
  77924. /*! SLOPE_CAL - Ramp slope calibration control
  77925. */
  77926. #define TMPSNS_CTRL0_SET_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_SET_SLOPE_CAL_MASK)
  77927. #define TMPSNS_CTRL0_SET_V_SEL_MASK (0x300U)
  77928. #define TMPSNS_CTRL0_SET_V_SEL_SHIFT (8U)
  77929. /*! V_SEL - Voltage Select
  77930. */
  77931. #define TMPSNS_CTRL0_SET_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_V_SEL_SHIFT)) & TMPSNS_CTRL0_SET_V_SEL_MASK)
  77932. #define TMPSNS_CTRL0_SET_IBIAS_TRIM_MASK (0xF000U)
  77933. #define TMPSNS_CTRL0_SET_IBIAS_TRIM_SHIFT (12U)
  77934. /*! IBIAS_TRIM - Current bias trim value
  77935. */
  77936. #define TMPSNS_CTRL0_SET_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_SET_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_SET_IBIAS_TRIM_MASK)
  77937. /*! @} */
  77938. /*! @name CTRL0_CLR - Temperature Sensor Control Register 0 */
  77939. /*! @{ */
  77940. #define TMPSNS_CTRL0_CLR_SLOPE_CAL_MASK (0x3FU)
  77941. #define TMPSNS_CTRL0_CLR_SLOPE_CAL_SHIFT (0U)
  77942. /*! SLOPE_CAL - Ramp slope calibration control
  77943. */
  77944. #define TMPSNS_CTRL0_CLR_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_CLR_SLOPE_CAL_MASK)
  77945. #define TMPSNS_CTRL0_CLR_V_SEL_MASK (0x300U)
  77946. #define TMPSNS_CTRL0_CLR_V_SEL_SHIFT (8U)
  77947. /*! V_SEL - Voltage Select
  77948. */
  77949. #define TMPSNS_CTRL0_CLR_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_V_SEL_SHIFT)) & TMPSNS_CTRL0_CLR_V_SEL_MASK)
  77950. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM_MASK (0xF000U)
  77951. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM_SHIFT (12U)
  77952. /*! IBIAS_TRIM - Current bias trim value
  77953. */
  77954. #define TMPSNS_CTRL0_CLR_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_CLR_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_CLR_IBIAS_TRIM_MASK)
  77955. /*! @} */
  77956. /*! @name CTRL0_TOG - Temperature Sensor Control Register 0 */
  77957. /*! @{ */
  77958. #define TMPSNS_CTRL0_TOG_SLOPE_CAL_MASK (0x3FU)
  77959. #define TMPSNS_CTRL0_TOG_SLOPE_CAL_SHIFT (0U)
  77960. /*! SLOPE_CAL - Ramp slope calibration control
  77961. */
  77962. #define TMPSNS_CTRL0_TOG_SLOPE_CAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_SLOPE_CAL_SHIFT)) & TMPSNS_CTRL0_TOG_SLOPE_CAL_MASK)
  77963. #define TMPSNS_CTRL0_TOG_V_SEL_MASK (0x300U)
  77964. #define TMPSNS_CTRL0_TOG_V_SEL_SHIFT (8U)
  77965. /*! V_SEL - Voltage Select
  77966. */
  77967. #define TMPSNS_CTRL0_TOG_V_SEL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_V_SEL_SHIFT)) & TMPSNS_CTRL0_TOG_V_SEL_MASK)
  77968. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM_MASK (0xF000U)
  77969. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM_SHIFT (12U)
  77970. /*! IBIAS_TRIM - Current bias trim value
  77971. */
  77972. #define TMPSNS_CTRL0_TOG_IBIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL0_TOG_IBIAS_TRIM_SHIFT)) & TMPSNS_CTRL0_TOG_IBIAS_TRIM_MASK)
  77973. /*! @} */
  77974. /*! @name CTRL1 - Temperature Sensor Control Register 1 */
  77975. /*! @{ */
  77976. #define TMPSNS_CTRL1_FREQ_MASK (0xFFFFU)
  77977. #define TMPSNS_CTRL1_FREQ_SHIFT (0U)
  77978. /*! FREQ - Temperature Measurement Frequency
  77979. * 0b0000000000000000..Single Reading Mode. New reading available every time CTRL1[START] bit is set to 1 from 0.
  77980. * 0b0000000000000001-0b1111111111111111..Continuous Reading Mode. Next temperature reading taken after programmed number of cycles after current reading is complete.
  77981. */
  77982. #define TMPSNS_CTRL1_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_FREQ_SHIFT)) & TMPSNS_CTRL1_FREQ_MASK)
  77983. #define TMPSNS_CTRL1_FINISH_IE_MASK (0x10000U)
  77984. #define TMPSNS_CTRL1_FINISH_IE_SHIFT (16U)
  77985. /*! FINISH_IE - Measurement finished interrupt enable
  77986. * 0b0..Interrupt is disabled
  77987. * 0b1..Interrupt is enabled
  77988. */
  77989. #define TMPSNS_CTRL1_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_FINISH_IE_MASK)
  77990. #define TMPSNS_CTRL1_LOW_TEMP_IE_MASK (0x20000U)
  77991. #define TMPSNS_CTRL1_LOW_TEMP_IE_SHIFT (17U)
  77992. /*! LOW_TEMP_IE - Low temperature interrupt enable
  77993. * 0b0..Interrupt is disabled
  77994. * 0b1..Interrupt is enabled
  77995. */
  77996. #define TMPSNS_CTRL1_LOW_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_LOW_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_LOW_TEMP_IE_MASK)
  77997. #define TMPSNS_CTRL1_HIGH_TEMP_IE_MASK (0x40000U)
  77998. #define TMPSNS_CTRL1_HIGH_TEMP_IE_SHIFT (18U)
  77999. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78000. * 0b0..Interrupt is disabled
  78001. * 0b1..Interrupt is enabled
  78002. */
  78003. #define TMPSNS_CTRL1_HIGH_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_HIGH_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_HIGH_TEMP_IE_MASK)
  78004. #define TMPSNS_CTRL1_PANIC_TEMP_IE_MASK (0x80000U)
  78005. #define TMPSNS_CTRL1_PANIC_TEMP_IE_SHIFT (19U)
  78006. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78007. * 0b0..Interrupt is disabled
  78008. * 0b1..Interrupt is enabled
  78009. */
  78010. #define TMPSNS_CTRL1_PANIC_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PANIC_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_PANIC_TEMP_IE_MASK)
  78011. #define TMPSNS_CTRL1_START_MASK (0x400000U)
  78012. #define TMPSNS_CTRL1_START_SHIFT (22U)
  78013. /*! START - Start Temperature Measurement
  78014. * 0b0..No new temperature reading taken
  78015. * 0b1..Initiate a new temperature reading
  78016. */
  78017. #define TMPSNS_CTRL1_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_START_SHIFT)) & TMPSNS_CTRL1_START_MASK)
  78018. #define TMPSNS_CTRL1_PWD_MASK (0x800000U)
  78019. #define TMPSNS_CTRL1_PWD_SHIFT (23U)
  78020. /*! PWD - Temperature Sensor Power Down
  78021. * 0b0..Sensor is active
  78022. * 0b1..Sensor is powered down
  78023. */
  78024. #define TMPSNS_CTRL1_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PWD_SHIFT)) & TMPSNS_CTRL1_PWD_MASK)
  78025. #define TMPSNS_CTRL1_RFU_MASK (0x7F000000U)
  78026. #define TMPSNS_CTRL1_RFU_SHIFT (24U)
  78027. /*! RFU - Read/Writeable field. Reserved for future use
  78028. */
  78029. #define TMPSNS_CTRL1_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_RFU_SHIFT)) & TMPSNS_CTRL1_RFU_MASK)
  78030. #define TMPSNS_CTRL1_PWD_FULL_MASK (0x80000000U)
  78031. #define TMPSNS_CTRL1_PWD_FULL_SHIFT (31U)
  78032. /*! PWD_FULL - Temperature Sensor Full Power Down
  78033. * 0b0..Sensor is active
  78034. * 0b1..Sensor is powered down
  78035. */
  78036. #define TMPSNS_CTRL1_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_PWD_FULL_MASK)
  78037. /*! @} */
  78038. /*! @name CTRL1_SET - Temperature Sensor Control Register 1 */
  78039. /*! @{ */
  78040. #define TMPSNS_CTRL1_SET_FREQ_MASK (0xFFFFU)
  78041. #define TMPSNS_CTRL1_SET_FREQ_SHIFT (0U)
  78042. /*! FREQ - Temperature Measurement Frequency
  78043. */
  78044. #define TMPSNS_CTRL1_SET_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_FREQ_SHIFT)) & TMPSNS_CTRL1_SET_FREQ_MASK)
  78045. #define TMPSNS_CTRL1_SET_FINISH_IE_MASK (0x10000U)
  78046. #define TMPSNS_CTRL1_SET_FINISH_IE_SHIFT (16U)
  78047. /*! FINISH_IE - Measurement finished interrupt enable
  78048. */
  78049. #define TMPSNS_CTRL1_SET_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_SET_FINISH_IE_MASK)
  78050. #define TMPSNS_CTRL1_SET_LOW_TEMP_IE_MASK (0x20000U)
  78051. #define TMPSNS_CTRL1_SET_LOW_TEMP_IE_SHIFT (17U)
  78052. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78053. */
  78054. #define TMPSNS_CTRL1_SET_LOW_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_LOW_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_SET_LOW_TEMP_IE_MASK)
  78055. #define TMPSNS_CTRL1_SET_HIGH_TEMP_IE_MASK (0x40000U)
  78056. #define TMPSNS_CTRL1_SET_HIGH_TEMP_IE_SHIFT (18U)
  78057. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78058. */
  78059. #define TMPSNS_CTRL1_SET_HIGH_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_HIGH_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_SET_HIGH_TEMP_IE_MASK)
  78060. #define TMPSNS_CTRL1_SET_PANIC_TEMP_IE_MASK (0x80000U)
  78061. #define TMPSNS_CTRL1_SET_PANIC_TEMP_IE_SHIFT (19U)
  78062. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78063. */
  78064. #define TMPSNS_CTRL1_SET_PANIC_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_PANIC_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_SET_PANIC_TEMP_IE_MASK)
  78065. #define TMPSNS_CTRL1_SET_START_MASK (0x400000U)
  78066. #define TMPSNS_CTRL1_SET_START_SHIFT (22U)
  78067. /*! START - Start Temperature Measurement
  78068. */
  78069. #define TMPSNS_CTRL1_SET_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_START_SHIFT)) & TMPSNS_CTRL1_SET_START_MASK)
  78070. #define TMPSNS_CTRL1_SET_PWD_MASK (0x800000U)
  78071. #define TMPSNS_CTRL1_SET_PWD_SHIFT (23U)
  78072. /*! PWD - Temperature Sensor Power Down
  78073. */
  78074. #define TMPSNS_CTRL1_SET_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_PWD_SHIFT)) & TMPSNS_CTRL1_SET_PWD_MASK)
  78075. #define TMPSNS_CTRL1_SET_RFU_MASK (0x7F000000U)
  78076. #define TMPSNS_CTRL1_SET_RFU_SHIFT (24U)
  78077. /*! RFU - Read/Writeable field. Reserved for future use
  78078. */
  78079. #define TMPSNS_CTRL1_SET_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_RFU_SHIFT)) & TMPSNS_CTRL1_SET_RFU_MASK)
  78080. #define TMPSNS_CTRL1_SET_PWD_FULL_MASK (0x80000000U)
  78081. #define TMPSNS_CTRL1_SET_PWD_FULL_SHIFT (31U)
  78082. /*! PWD_FULL - Temperature Sensor Full Power Down
  78083. */
  78084. #define TMPSNS_CTRL1_SET_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_SET_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_SET_PWD_FULL_MASK)
  78085. /*! @} */
  78086. /*! @name CTRL1_CLR - Temperature Sensor Control Register 1 */
  78087. /*! @{ */
  78088. #define TMPSNS_CTRL1_CLR_FREQ_MASK (0xFFFFU)
  78089. #define TMPSNS_CTRL1_CLR_FREQ_SHIFT (0U)
  78090. /*! FREQ - Temperature Measurement Frequency
  78091. */
  78092. #define TMPSNS_CTRL1_CLR_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_FREQ_SHIFT)) & TMPSNS_CTRL1_CLR_FREQ_MASK)
  78093. #define TMPSNS_CTRL1_CLR_FINISH_IE_MASK (0x10000U)
  78094. #define TMPSNS_CTRL1_CLR_FINISH_IE_SHIFT (16U)
  78095. /*! FINISH_IE - Measurement finished interrupt enable
  78096. */
  78097. #define TMPSNS_CTRL1_CLR_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_CLR_FINISH_IE_MASK)
  78098. #define TMPSNS_CTRL1_CLR_LOW_TEMP_IE_MASK (0x20000U)
  78099. #define TMPSNS_CTRL1_CLR_LOW_TEMP_IE_SHIFT (17U)
  78100. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78101. */
  78102. #define TMPSNS_CTRL1_CLR_LOW_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_LOW_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_CLR_LOW_TEMP_IE_MASK)
  78103. #define TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_MASK (0x40000U)
  78104. #define TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_SHIFT (18U)
  78105. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78106. */
  78107. #define TMPSNS_CTRL1_CLR_HIGH_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_CLR_HIGH_TEMP_IE_MASK)
  78108. #define TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_MASK (0x80000U)
  78109. #define TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_SHIFT (19U)
  78110. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78111. */
  78112. #define TMPSNS_CTRL1_CLR_PANIC_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_CLR_PANIC_TEMP_IE_MASK)
  78113. #define TMPSNS_CTRL1_CLR_START_MASK (0x400000U)
  78114. #define TMPSNS_CTRL1_CLR_START_SHIFT (22U)
  78115. /*! START - Start Temperature Measurement
  78116. */
  78117. #define TMPSNS_CTRL1_CLR_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_START_SHIFT)) & TMPSNS_CTRL1_CLR_START_MASK)
  78118. #define TMPSNS_CTRL1_CLR_PWD_MASK (0x800000U)
  78119. #define TMPSNS_CTRL1_CLR_PWD_SHIFT (23U)
  78120. /*! PWD - Temperature Sensor Power Down
  78121. */
  78122. #define TMPSNS_CTRL1_CLR_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_PWD_SHIFT)) & TMPSNS_CTRL1_CLR_PWD_MASK)
  78123. #define TMPSNS_CTRL1_CLR_RFU_MASK (0x7F000000U)
  78124. #define TMPSNS_CTRL1_CLR_RFU_SHIFT (24U)
  78125. /*! RFU - Read/Writeable field. Reserved for future use
  78126. */
  78127. #define TMPSNS_CTRL1_CLR_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_RFU_SHIFT)) & TMPSNS_CTRL1_CLR_RFU_MASK)
  78128. #define TMPSNS_CTRL1_CLR_PWD_FULL_MASK (0x80000000U)
  78129. #define TMPSNS_CTRL1_CLR_PWD_FULL_SHIFT (31U)
  78130. /*! PWD_FULL - Temperature Sensor Full Power Down
  78131. */
  78132. #define TMPSNS_CTRL1_CLR_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_CLR_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_CLR_PWD_FULL_MASK)
  78133. /*! @} */
  78134. /*! @name CTRL1_TOG - Temperature Sensor Control Register 1 */
  78135. /*! @{ */
  78136. #define TMPSNS_CTRL1_TOG_FREQ_MASK (0xFFFFU)
  78137. #define TMPSNS_CTRL1_TOG_FREQ_SHIFT (0U)
  78138. /*! FREQ - Temperature Measurement Frequency
  78139. */
  78140. #define TMPSNS_CTRL1_TOG_FREQ(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_FREQ_SHIFT)) & TMPSNS_CTRL1_TOG_FREQ_MASK)
  78141. #define TMPSNS_CTRL1_TOG_FINISH_IE_MASK (0x10000U)
  78142. #define TMPSNS_CTRL1_TOG_FINISH_IE_SHIFT (16U)
  78143. /*! FINISH_IE - Measurement finished interrupt enable
  78144. */
  78145. #define TMPSNS_CTRL1_TOG_FINISH_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_FINISH_IE_SHIFT)) & TMPSNS_CTRL1_TOG_FINISH_IE_MASK)
  78146. #define TMPSNS_CTRL1_TOG_LOW_TEMP_IE_MASK (0x20000U)
  78147. #define TMPSNS_CTRL1_TOG_LOW_TEMP_IE_SHIFT (17U)
  78148. /*! LOW_TEMP_IE - Low temperature interrupt enable
  78149. */
  78150. #define TMPSNS_CTRL1_TOG_LOW_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_LOW_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_TOG_LOW_TEMP_IE_MASK)
  78151. #define TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_MASK (0x40000U)
  78152. #define TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_SHIFT (18U)
  78153. /*! HIGH_TEMP_IE - High temperature interrupt enable
  78154. */
  78155. #define TMPSNS_CTRL1_TOG_HIGH_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_TOG_HIGH_TEMP_IE_MASK)
  78156. #define TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_MASK (0x80000U)
  78157. #define TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_SHIFT (19U)
  78158. /*! PANIC_TEMP_IE - Panic temperature interrupt enable
  78159. */
  78160. #define TMPSNS_CTRL1_TOG_PANIC_TEMP_IE(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_SHIFT)) & TMPSNS_CTRL1_TOG_PANIC_TEMP_IE_MASK)
  78161. #define TMPSNS_CTRL1_TOG_START_MASK (0x400000U)
  78162. #define TMPSNS_CTRL1_TOG_START_SHIFT (22U)
  78163. /*! START - Start Temperature Measurement
  78164. */
  78165. #define TMPSNS_CTRL1_TOG_START(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_START_SHIFT)) & TMPSNS_CTRL1_TOG_START_MASK)
  78166. #define TMPSNS_CTRL1_TOG_PWD_MASK (0x800000U)
  78167. #define TMPSNS_CTRL1_TOG_PWD_SHIFT (23U)
  78168. /*! PWD - Temperature Sensor Power Down
  78169. */
  78170. #define TMPSNS_CTRL1_TOG_PWD(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_PWD_SHIFT)) & TMPSNS_CTRL1_TOG_PWD_MASK)
  78171. #define TMPSNS_CTRL1_TOG_RFU_MASK (0x7F000000U)
  78172. #define TMPSNS_CTRL1_TOG_RFU_SHIFT (24U)
  78173. /*! RFU - Read/Writeable field. Reserved for future use
  78174. */
  78175. #define TMPSNS_CTRL1_TOG_RFU(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_RFU_SHIFT)) & TMPSNS_CTRL1_TOG_RFU_MASK)
  78176. #define TMPSNS_CTRL1_TOG_PWD_FULL_MASK (0x80000000U)
  78177. #define TMPSNS_CTRL1_TOG_PWD_FULL_SHIFT (31U)
  78178. /*! PWD_FULL - Temperature Sensor Full Power Down
  78179. */
  78180. #define TMPSNS_CTRL1_TOG_PWD_FULL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_CTRL1_TOG_PWD_FULL_SHIFT)) & TMPSNS_CTRL1_TOG_PWD_FULL_MASK)
  78181. /*! @} */
  78182. /*! @name RANGE0 - Temperature Sensor Range Register 0 */
  78183. /*! @{ */
  78184. #define TMPSNS_RANGE0_LOW_TEMP_VAL_MASK (0xFFFU)
  78185. #define TMPSNS_RANGE0_LOW_TEMP_VAL_SHIFT (0U)
  78186. /*! LOW_TEMP_VAL - Low temperature threshold value
  78187. */
  78188. #define TMPSNS_RANGE0_LOW_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_LOW_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_LOW_TEMP_VAL_MASK)
  78189. #define TMPSNS_RANGE0_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78190. #define TMPSNS_RANGE0_HIGH_TEMP_VAL_SHIFT (16U)
  78191. /*! HIGH_TEMP_VAL - High temperature threshold value
  78192. */
  78193. #define TMPSNS_RANGE0_HIGH_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_HIGH_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_HIGH_TEMP_VAL_MASK)
  78194. /*! @} */
  78195. /*! @name RANGE0_SET - Temperature Sensor Range Register 0 */
  78196. /*! @{ */
  78197. #define TMPSNS_RANGE0_SET_LOW_TEMP_VAL_MASK (0xFFFU)
  78198. #define TMPSNS_RANGE0_SET_LOW_TEMP_VAL_SHIFT (0U)
  78199. /*! LOW_TEMP_VAL - Low temperature threshold value
  78200. */
  78201. #define TMPSNS_RANGE0_SET_LOW_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_SET_LOW_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_SET_LOW_TEMP_VAL_MASK)
  78202. #define TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78203. #define TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_SHIFT (16U)
  78204. /*! HIGH_TEMP_VAL - High temperature threshold value
  78205. */
  78206. #define TMPSNS_RANGE0_SET_HIGH_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_SET_HIGH_TEMP_VAL_MASK)
  78207. /*! @} */
  78208. /*! @name RANGE0_CLR - Temperature Sensor Range Register 0 */
  78209. /*! @{ */
  78210. #define TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_MASK (0xFFFU)
  78211. #define TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_SHIFT (0U)
  78212. /*! LOW_TEMP_VAL - Low temperature threshold value
  78213. */
  78214. #define TMPSNS_RANGE0_CLR_LOW_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_CLR_LOW_TEMP_VAL_MASK)
  78215. #define TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78216. #define TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_SHIFT (16U)
  78217. /*! HIGH_TEMP_VAL - High temperature threshold value
  78218. */
  78219. #define TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_CLR_HIGH_TEMP_VAL_MASK)
  78220. /*! @} */
  78221. /*! @name RANGE0_TOG - Temperature Sensor Range Register 0 */
  78222. /*! @{ */
  78223. #define TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_MASK (0xFFFU)
  78224. #define TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_SHIFT (0U)
  78225. /*! LOW_TEMP_VAL - Low temperature threshold value
  78226. */
  78227. #define TMPSNS_RANGE0_TOG_LOW_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_TOG_LOW_TEMP_VAL_MASK)
  78228. #define TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_MASK (0xFFF0000U)
  78229. #define TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_SHIFT (16U)
  78230. /*! HIGH_TEMP_VAL - High temperature threshold value
  78231. */
  78232. #define TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_SHIFT)) & TMPSNS_RANGE0_TOG_HIGH_TEMP_VAL_MASK)
  78233. /*! @} */
  78234. /*! @name RANGE1 - Temperature Sensor Range Register 1 */
  78235. /*! @{ */
  78236. #define TMPSNS_RANGE1_PANIC_TEMP_VAL_MASK (0xFFFU)
  78237. #define TMPSNS_RANGE1_PANIC_TEMP_VAL_SHIFT (0U)
  78238. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  78239. */
  78240. #define TMPSNS_RANGE1_PANIC_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE1_PANIC_TEMP_VAL_SHIFT)) & TMPSNS_RANGE1_PANIC_TEMP_VAL_MASK)
  78241. /*! @} */
  78242. /*! @name RANGE1_SET - Temperature Sensor Range Register 1 */
  78243. /*! @{ */
  78244. #define TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_MASK (0xFFFU)
  78245. #define TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_SHIFT (0U)
  78246. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  78247. */
  78248. #define TMPSNS_RANGE1_SET_PANIC_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_SHIFT)) & TMPSNS_RANGE1_SET_PANIC_TEMP_VAL_MASK)
  78249. /*! @} */
  78250. /*! @name RANGE1_CLR - Temperature Sensor Range Register 1 */
  78251. /*! @{ */
  78252. #define TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_MASK (0xFFFU)
  78253. #define TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_SHIFT (0U)
  78254. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  78255. */
  78256. #define TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_SHIFT)) & TMPSNS_RANGE1_CLR_PANIC_TEMP_VAL_MASK)
  78257. /*! @} */
  78258. /*! @name RANGE1_TOG - Temperature Sensor Range Register 1 */
  78259. /*! @{ */
  78260. #define TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_MASK (0xFFFU)
  78261. #define TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_SHIFT (0U)
  78262. /*! PANIC_TEMP_VAL - Panic temperature threshold value
  78263. */
  78264. #define TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_SHIFT)) & TMPSNS_RANGE1_TOG_PANIC_TEMP_VAL_MASK)
  78265. /*! @} */
  78266. /*! @name STATUS0 - Temperature Sensor Status Register 0 */
  78267. /*! @{ */
  78268. #define TMPSNS_STATUS0_TEMP_VAL_MASK (0xFFFU)
  78269. #define TMPSNS_STATUS0_TEMP_VAL_SHIFT (0U)
  78270. /*! TEMP_VAL - Measured temperature value
  78271. */
  78272. #define TMPSNS_STATUS0_TEMP_VAL(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_TEMP_VAL_SHIFT)) & TMPSNS_STATUS0_TEMP_VAL_MASK)
  78273. #define TMPSNS_STATUS0_FINISH_MASK (0x10000U)
  78274. #define TMPSNS_STATUS0_FINISH_SHIFT (16U)
  78275. /*! FINISH - Temperature measurement complete
  78276. * 0b0..Temperature sensor is busy (if CTRL1[START] = 1)or no new reading has been initiated (if CTRL1[START] = 0)
  78277. * 0b1..Temperature reading is complete and new temperature value available for reading
  78278. */
  78279. #define TMPSNS_STATUS0_FINISH(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_FINISH_SHIFT)) & TMPSNS_STATUS0_FINISH_MASK)
  78280. #define TMPSNS_STATUS0_LOW_TEMP_MASK (0x20000U)
  78281. #define TMPSNS_STATUS0_LOW_TEMP_SHIFT (17U)
  78282. /*! LOW_TEMP - Low temperature alarm bit
  78283. * 0b0..No Low temperature alert
  78284. * 0b1..Low temperature alert
  78285. */
  78286. #define TMPSNS_STATUS0_LOW_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_LOW_TEMP_SHIFT)) & TMPSNS_STATUS0_LOW_TEMP_MASK)
  78287. #define TMPSNS_STATUS0_HIGH_TEMP_MASK (0x40000U)
  78288. #define TMPSNS_STATUS0_HIGH_TEMP_SHIFT (18U)
  78289. /*! HIGH_TEMP - High temperature alarm bit
  78290. * 0b0..No High temperature alert
  78291. * 0b1..High temperature alert
  78292. */
  78293. #define TMPSNS_STATUS0_HIGH_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_HIGH_TEMP_SHIFT)) & TMPSNS_STATUS0_HIGH_TEMP_MASK)
  78294. #define TMPSNS_STATUS0_PANIC_TEMP_MASK (0x80000U)
  78295. #define TMPSNS_STATUS0_PANIC_TEMP_SHIFT (19U)
  78296. /*! PANIC_TEMP - Panic temperature alarm bit
  78297. * 0b0..No Panic temperature alert
  78298. * 0b1..Panic temperature alert
  78299. */
  78300. #define TMPSNS_STATUS0_PANIC_TEMP(x) (((uint32_t)(((uint32_t)(x)) << TMPSNS_STATUS0_PANIC_TEMP_SHIFT)) & TMPSNS_STATUS0_PANIC_TEMP_MASK)
  78301. /*! @} */
  78302. /*!
  78303. * @}
  78304. */ /* end of group TMPSNS_Register_Masks */
  78305. /* TMPSNS - Peripheral instance base addresses */
  78306. /** Peripheral TMPSNS base address */
  78307. #define TMPSNS_BASE (0u)
  78308. /** Peripheral TMPSNS base pointer */
  78309. #define TMPSNS ((TMPSNS_Type *)TMPSNS_BASE)
  78310. /** Array initializer of TMPSNS peripheral base addresses */
  78311. #define TMPSNS_BASE_ADDRS { TMPSNS_BASE }
  78312. /** Array initializer of TMPSNS peripheral base pointers */
  78313. #define TMPSNS_BASE_PTRS { TMPSNS }
  78314. /*!
  78315. * @}
  78316. */ /* end of group TMPSNS_Peripheral_Access_Layer */
  78317. /* ----------------------------------------------------------------------------
  78318. -- TMR Peripheral Access Layer
  78319. ---------------------------------------------------------------------------- */
  78320. /*!
  78321. * @addtogroup TMR_Peripheral_Access_Layer TMR Peripheral Access Layer
  78322. * @{
  78323. */
  78324. /** TMR - Register Layout Typedef */
  78325. typedef struct {
  78326. struct { /* offset: 0x0, array step: 0x20 */
  78327. __IO uint16_t COMP1; /**< Timer Channel Compare Register 1, array offset: 0x0, array step: 0x20 */
  78328. __IO uint16_t COMP2; /**< Timer Channel Compare Register 2, array offset: 0x2, array step: 0x20 */
  78329. __IO uint16_t CAPT; /**< Timer Channel Capture Register, array offset: 0x4, array step: 0x20 */
  78330. __IO uint16_t LOAD; /**< Timer Channel Load Register, array offset: 0x6, array step: 0x20 */
  78331. __IO uint16_t HOLD; /**< Timer Channel Hold Register, array offset: 0x8, array step: 0x20 */
  78332. __IO uint16_t CNTR; /**< Timer Channel Counter Register, array offset: 0xA, array step: 0x20 */
  78333. __IO uint16_t CTRL; /**< Timer Channel Control Register, array offset: 0xC, array step: 0x20 */
  78334. __IO uint16_t SCTRL; /**< Timer Channel Status and Control Register, array offset: 0xE, array step: 0x20 */
  78335. __IO uint16_t CMPLD1; /**< Timer Channel Comparator Load Register 1, array offset: 0x10, array step: 0x20 */
  78336. __IO uint16_t CMPLD2; /**< Timer Channel Comparator Load Register 2, array offset: 0x12, array step: 0x20 */
  78337. __IO uint16_t CSCTRL; /**< Timer Channel Comparator Status and Control Register, array offset: 0x14, array step: 0x20 */
  78338. __IO uint16_t FILT; /**< Timer Channel Input Filter Register, array offset: 0x16, array step: 0x20 */
  78339. __IO uint16_t DMA; /**< Timer Channel DMA Enable Register, array offset: 0x18, array step: 0x20 */
  78340. uint8_t RESERVED_0[4];
  78341. __IO uint16_t ENBL; /**< Timer Channel Enable Register, array offset: 0x1E, array step: 0x20, this item is not available for all array instances */
  78342. } CHANNEL[4];
  78343. } TMR_Type;
  78344. /* ----------------------------------------------------------------------------
  78345. -- TMR Register Masks
  78346. ---------------------------------------------------------------------------- */
  78347. /*!
  78348. * @addtogroup TMR_Register_Masks TMR Register Masks
  78349. * @{
  78350. */
  78351. /*! @name COMP1 - Timer Channel Compare Register 1 */
  78352. /*! @{ */
  78353. #define TMR_COMP1_COMPARISON_1_MASK (0xFFFFU)
  78354. #define TMR_COMP1_COMPARISON_1_SHIFT (0U)
  78355. /*! COMPARISON_1 - Comparison Value 1
  78356. */
  78357. #define TMR_COMP1_COMPARISON_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP1_COMPARISON_1_SHIFT)) & TMR_COMP1_COMPARISON_1_MASK)
  78358. /*! @} */
  78359. /* The count of TMR_COMP1 */
  78360. #define TMR_COMP1_COUNT (4U)
  78361. /*! @name COMP2 - Timer Channel Compare Register 2 */
  78362. /*! @{ */
  78363. #define TMR_COMP2_COMPARISON_2_MASK (0xFFFFU)
  78364. #define TMR_COMP2_COMPARISON_2_SHIFT (0U)
  78365. /*! COMPARISON_2 - Comparison Value 2
  78366. */
  78367. #define TMR_COMP2_COMPARISON_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_COMP2_COMPARISON_2_SHIFT)) & TMR_COMP2_COMPARISON_2_MASK)
  78368. /*! @} */
  78369. /* The count of TMR_COMP2 */
  78370. #define TMR_COMP2_COUNT (4U)
  78371. /*! @name CAPT - Timer Channel Capture Register */
  78372. /*! @{ */
  78373. #define TMR_CAPT_CAPTURE_MASK (0xFFFFU)
  78374. #define TMR_CAPT_CAPTURE_SHIFT (0U)
  78375. /*! CAPTURE - Capture Value
  78376. */
  78377. #define TMR_CAPT_CAPTURE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CAPT_CAPTURE_SHIFT)) & TMR_CAPT_CAPTURE_MASK)
  78378. /*! @} */
  78379. /* The count of TMR_CAPT */
  78380. #define TMR_CAPT_COUNT (4U)
  78381. /*! @name LOAD - Timer Channel Load Register */
  78382. /*! @{ */
  78383. #define TMR_LOAD_LOAD_MASK (0xFFFFU)
  78384. #define TMR_LOAD_LOAD_SHIFT (0U)
  78385. /*! LOAD - Timer Load Register
  78386. */
  78387. #define TMR_LOAD_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_LOAD_LOAD_SHIFT)) & TMR_LOAD_LOAD_MASK)
  78388. /*! @} */
  78389. /* The count of TMR_LOAD */
  78390. #define TMR_LOAD_COUNT (4U)
  78391. /*! @name HOLD - Timer Channel Hold Register */
  78392. /*! @{ */
  78393. #define TMR_HOLD_HOLD_MASK (0xFFFFU)
  78394. #define TMR_HOLD_HOLD_SHIFT (0U)
  78395. /*! HOLD - HOLD
  78396. */
  78397. #define TMR_HOLD_HOLD(x) (((uint16_t)(((uint16_t)(x)) << TMR_HOLD_HOLD_SHIFT)) & TMR_HOLD_HOLD_MASK)
  78398. /*! @} */
  78399. /* The count of TMR_HOLD */
  78400. #define TMR_HOLD_COUNT (4U)
  78401. /*! @name CNTR - Timer Channel Counter Register */
  78402. /*! @{ */
  78403. #define TMR_CNTR_COUNTER_MASK (0xFFFFU)
  78404. #define TMR_CNTR_COUNTER_SHIFT (0U)
  78405. /*! COUNTER - COUNTER
  78406. */
  78407. #define TMR_CNTR_COUNTER(x) (((uint16_t)(((uint16_t)(x)) << TMR_CNTR_COUNTER_SHIFT)) & TMR_CNTR_COUNTER_MASK)
  78408. /*! @} */
  78409. /* The count of TMR_CNTR */
  78410. #define TMR_CNTR_COUNT (4U)
  78411. /*! @name CTRL - Timer Channel Control Register */
  78412. /*! @{ */
  78413. #define TMR_CTRL_OUTMODE_MASK (0x7U)
  78414. #define TMR_CTRL_OUTMODE_SHIFT (0U)
  78415. /*! OUTMODE - Output Mode
  78416. * 0b000..Asserted while counter is active
  78417. * 0b001..Clear OFLAG output on successful compare
  78418. * 0b010..Set OFLAG output on successful compare
  78419. * 0b011..Toggle OFLAG output on successful compare
  78420. * 0b100..Toggle OFLAG output using alternating compare registers
  78421. * 0b101..Set on compare, cleared on secondary source input edge
  78422. * 0b110..Set on compare, cleared on counter rollover
  78423. * 0b111..Enable gated clock output while counter is active
  78424. */
  78425. #define TMR_CTRL_OUTMODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_OUTMODE_SHIFT)) & TMR_CTRL_OUTMODE_MASK)
  78426. #define TMR_CTRL_COINIT_MASK (0x8U)
  78427. #define TMR_CTRL_COINIT_SHIFT (3U)
  78428. /*! COINIT - Co-Channel Initialization
  78429. * 0b0..Co-channel counter/timers cannot force a re-initialization of this counter/timer
  78430. * 0b1..Co-channel counter/timers may force a re-initialization of this counter/timer
  78431. */
  78432. #define TMR_CTRL_COINIT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_COINIT_SHIFT)) & TMR_CTRL_COINIT_MASK)
  78433. #define TMR_CTRL_DIR_MASK (0x10U)
  78434. #define TMR_CTRL_DIR_SHIFT (4U)
  78435. /*! DIR - Count Direction
  78436. * 0b0..Count up.
  78437. * 0b1..Count down.
  78438. */
  78439. #define TMR_CTRL_DIR(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_DIR_SHIFT)) & TMR_CTRL_DIR_MASK)
  78440. #define TMR_CTRL_LENGTH_MASK (0x20U)
  78441. #define TMR_CTRL_LENGTH_SHIFT (5U)
  78442. /*! LENGTH - Count Length
  78443. * 0b0..Count until roll over at $FFFF and continue from $0000.
  78444. * 0b1..Count until compare, then re-initialize. If counting up, a successful compare occurs when the counter
  78445. * reaches a COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value.
  78446. * When output mode $4 is used, alternating values of COMP1 and COMP2 are used to generate successful
  78447. * comparisons. For example, the counter counts until a COMP1 value is reached, re-initializes, counts until COMP2
  78448. * value is reached, re-initializes, counts until COMP1 value is reached, and so on.
  78449. */
  78450. #define TMR_CTRL_LENGTH(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_LENGTH_SHIFT)) & TMR_CTRL_LENGTH_MASK)
  78451. #define TMR_CTRL_ONCE_MASK (0x40U)
  78452. #define TMR_CTRL_ONCE_SHIFT (6U)
  78453. /*! ONCE - Count Once
  78454. * 0b0..Count repeatedly.
  78455. * 0b1..Count until compare and then stop. If counting up, a successful compare occurs when the counter reaches a
  78456. * COMP1 value. If counting down, a successful compare occurs when the counter reaches a COMP2 value. When
  78457. * output mode $4 is used, the counter re-initializes after reaching the COMP1 value, continues to count to
  78458. * the COMP2 value, and then stops.
  78459. */
  78460. #define TMR_CTRL_ONCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_ONCE_SHIFT)) & TMR_CTRL_ONCE_MASK)
  78461. #define TMR_CTRL_SCS_MASK (0x180U)
  78462. #define TMR_CTRL_SCS_SHIFT (7U)
  78463. /*! SCS - Secondary Count Source
  78464. * 0b00..Counter 0 input pin
  78465. * 0b01..Counter 1 input pin
  78466. * 0b10..Counter 2 input pin
  78467. * 0b11..Counter 3 input pin
  78468. */
  78469. #define TMR_CTRL_SCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_SCS_SHIFT)) & TMR_CTRL_SCS_MASK)
  78470. #define TMR_CTRL_PCS_MASK (0x1E00U)
  78471. #define TMR_CTRL_PCS_SHIFT (9U)
  78472. /*! PCS - Primary Count Source
  78473. * 0b0000..Counter 0 input pin
  78474. * 0b0001..Counter 1 input pin
  78475. * 0b0010..Counter 2 input pin
  78476. * 0b0011..Counter 3 input pin
  78477. * 0b0100..Counter 0 output
  78478. * 0b0101..Counter 1 output
  78479. * 0b0110..Counter 2 output
  78480. * 0b0111..Counter 3 output
  78481. * 0b1000..IP bus clock divide by 1 prescaler
  78482. * 0b1001..IP bus clock divide by 2 prescaler
  78483. * 0b1010..IP bus clock divide by 4 prescaler
  78484. * 0b1011..IP bus clock divide by 8 prescaler
  78485. * 0b1100..IP bus clock divide by 16 prescaler
  78486. * 0b1101..IP bus clock divide by 32 prescaler
  78487. * 0b1110..IP bus clock divide by 64 prescaler
  78488. * 0b1111..IP bus clock divide by 128 prescaler
  78489. */
  78490. #define TMR_CTRL_PCS(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_PCS_SHIFT)) & TMR_CTRL_PCS_MASK)
  78491. #define TMR_CTRL_CM_MASK (0xE000U)
  78492. #define TMR_CTRL_CM_SHIFT (13U)
  78493. /*! CM - Count Mode
  78494. * 0b000..No operation
  78495. * 0b001..Count rising edges of primary sourceRising edges are counted only when SCTRL[IPS] = 0. Falling edges
  78496. * are counted when SCTRL[IPS] = 1. If the primary count source is IP bus clock divide by 1, only rising
  78497. * edges are counted regardless of the value of SCTRL[IPS].
  78498. * 0b010..Count rising and falling edges of primary sourceIP bus clock divide by 1 cannot be used as a primary count source in edge count mode.
  78499. * 0b011..Count rising edges of primary source while secondary input high active
  78500. * 0b100..Quadrature count mode, uses primary and secondary sources
  78501. * 0b101..Count rising edges of primary source; secondary source specifies directionRising edges are counted only
  78502. * when SCTRL[IPS] = 0. Falling edges are counted when SCTRL[IPS] = 1.
  78503. * 0b110..Edge of secondary source triggers primary count until compare
  78504. * 0b111..Cascaded counter mode (up/down)The primary count source must be set to one of the counter outputs.
  78505. */
  78506. #define TMR_CTRL_CM(x) (((uint16_t)(((uint16_t)(x)) << TMR_CTRL_CM_SHIFT)) & TMR_CTRL_CM_MASK)
  78507. /*! @} */
  78508. /* The count of TMR_CTRL */
  78509. #define TMR_CTRL_COUNT (4U)
  78510. /*! @name SCTRL - Timer Channel Status and Control Register */
  78511. /*! @{ */
  78512. #define TMR_SCTRL_OEN_MASK (0x1U)
  78513. #define TMR_SCTRL_OEN_SHIFT (0U)
  78514. /*! OEN - Output Enable
  78515. * 0b0..The external pin is configured as an input.
  78516. * 0b1..The OFLAG output signal is driven on the external pin. Other timer groups using this external pin as
  78517. * their input see the driven value. The polarity of the signal is determined by OPS.
  78518. */
  78519. #define TMR_SCTRL_OEN(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OEN_SHIFT)) & TMR_SCTRL_OEN_MASK)
  78520. #define TMR_SCTRL_OPS_MASK (0x2U)
  78521. #define TMR_SCTRL_OPS_SHIFT (1U)
  78522. /*! OPS - Output Polarity Select
  78523. * 0b0..True polarity.
  78524. * 0b1..Inverted polarity.
  78525. */
  78526. #define TMR_SCTRL_OPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_OPS_SHIFT)) & TMR_SCTRL_OPS_MASK)
  78527. #define TMR_SCTRL_FORCE_MASK (0x4U)
  78528. #define TMR_SCTRL_FORCE_SHIFT (2U)
  78529. /*! FORCE - Force OFLAG Output
  78530. */
  78531. #define TMR_SCTRL_FORCE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_FORCE_SHIFT)) & TMR_SCTRL_FORCE_MASK)
  78532. #define TMR_SCTRL_VAL_MASK (0x8U)
  78533. #define TMR_SCTRL_VAL_SHIFT (3U)
  78534. /*! VAL - Forced OFLAG Value
  78535. */
  78536. #define TMR_SCTRL_VAL(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_VAL_SHIFT)) & TMR_SCTRL_VAL_MASK)
  78537. #define TMR_SCTRL_EEOF_MASK (0x10U)
  78538. #define TMR_SCTRL_EEOF_SHIFT (4U)
  78539. /*! EEOF - Enable External OFLAG Force
  78540. */
  78541. #define TMR_SCTRL_EEOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_EEOF_SHIFT)) & TMR_SCTRL_EEOF_MASK)
  78542. #define TMR_SCTRL_MSTR_MASK (0x20U)
  78543. #define TMR_SCTRL_MSTR_SHIFT (5U)
  78544. /*! MSTR - Master Mode
  78545. */
  78546. #define TMR_SCTRL_MSTR(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_MSTR_SHIFT)) & TMR_SCTRL_MSTR_MASK)
  78547. #define TMR_SCTRL_CAPTURE_MODE_MASK (0xC0U)
  78548. #define TMR_SCTRL_CAPTURE_MODE_SHIFT (6U)
  78549. /*! CAPTURE_MODE - Input Capture Mode
  78550. * 0b00..Capture function is disabled
  78551. * 0b01..Load capture register on rising edge (when IPS=0) or falling edge (when IPS=1) of input
  78552. * 0b10..Load capture register on falling edge (when IPS=0) or rising edge (when IPS=1) of input
  78553. * 0b11..Load capture register on both edges of input
  78554. */
  78555. #define TMR_SCTRL_CAPTURE_MODE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_CAPTURE_MODE_SHIFT)) & TMR_SCTRL_CAPTURE_MODE_MASK)
  78556. #define TMR_SCTRL_INPUT_MASK (0x100U)
  78557. #define TMR_SCTRL_INPUT_SHIFT (8U)
  78558. /*! INPUT - External Input Signal
  78559. */
  78560. #define TMR_SCTRL_INPUT(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_INPUT_SHIFT)) & TMR_SCTRL_INPUT_MASK)
  78561. #define TMR_SCTRL_IPS_MASK (0x200U)
  78562. #define TMR_SCTRL_IPS_SHIFT (9U)
  78563. /*! IPS - Input Polarity Select
  78564. */
  78565. #define TMR_SCTRL_IPS(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IPS_SHIFT)) & TMR_SCTRL_IPS_MASK)
  78566. #define TMR_SCTRL_IEFIE_MASK (0x400U)
  78567. #define TMR_SCTRL_IEFIE_SHIFT (10U)
  78568. /*! IEFIE - Input Edge Flag Interrupt Enable
  78569. */
  78570. #define TMR_SCTRL_IEFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEFIE_SHIFT)) & TMR_SCTRL_IEFIE_MASK)
  78571. #define TMR_SCTRL_IEF_MASK (0x800U)
  78572. #define TMR_SCTRL_IEF_SHIFT (11U)
  78573. /*! IEF - Input Edge Flag
  78574. */
  78575. #define TMR_SCTRL_IEF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_IEF_SHIFT)) & TMR_SCTRL_IEF_MASK)
  78576. #define TMR_SCTRL_TOFIE_MASK (0x1000U)
  78577. #define TMR_SCTRL_TOFIE_SHIFT (12U)
  78578. /*! TOFIE - Timer Overflow Flag Interrupt Enable
  78579. */
  78580. #define TMR_SCTRL_TOFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOFIE_SHIFT)) & TMR_SCTRL_TOFIE_MASK)
  78581. #define TMR_SCTRL_TOF_MASK (0x2000U)
  78582. #define TMR_SCTRL_TOF_SHIFT (13U)
  78583. /*! TOF - Timer Overflow Flag
  78584. */
  78585. #define TMR_SCTRL_TOF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TOF_SHIFT)) & TMR_SCTRL_TOF_MASK)
  78586. #define TMR_SCTRL_TCFIE_MASK (0x4000U)
  78587. #define TMR_SCTRL_TCFIE_SHIFT (14U)
  78588. /*! TCFIE - Timer Compare Flag Interrupt Enable
  78589. */
  78590. #define TMR_SCTRL_TCFIE(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCFIE_SHIFT)) & TMR_SCTRL_TCFIE_MASK)
  78591. #define TMR_SCTRL_TCF_MASK (0x8000U)
  78592. #define TMR_SCTRL_TCF_SHIFT (15U)
  78593. /*! TCF - Timer Compare Flag
  78594. */
  78595. #define TMR_SCTRL_TCF(x) (((uint16_t)(((uint16_t)(x)) << TMR_SCTRL_TCF_SHIFT)) & TMR_SCTRL_TCF_MASK)
  78596. /*! @} */
  78597. /* The count of TMR_SCTRL */
  78598. #define TMR_SCTRL_COUNT (4U)
  78599. /*! @name CMPLD1 - Timer Channel Comparator Load Register 1 */
  78600. /*! @{ */
  78601. #define TMR_CMPLD1_COMPARATOR_LOAD_1_MASK (0xFFFFU)
  78602. #define TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT (0U)
  78603. /*! COMPARATOR_LOAD_1 - COMPARATOR_LOAD_1
  78604. */
  78605. #define TMR_CMPLD1_COMPARATOR_LOAD_1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD1_COMPARATOR_LOAD_1_SHIFT)) & TMR_CMPLD1_COMPARATOR_LOAD_1_MASK)
  78606. /*! @} */
  78607. /* The count of TMR_CMPLD1 */
  78608. #define TMR_CMPLD1_COUNT (4U)
  78609. /*! @name CMPLD2 - Timer Channel Comparator Load Register 2 */
  78610. /*! @{ */
  78611. #define TMR_CMPLD2_COMPARATOR_LOAD_2_MASK (0xFFFFU)
  78612. #define TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT (0U)
  78613. /*! COMPARATOR_LOAD_2 - COMPARATOR_LOAD_2
  78614. */
  78615. #define TMR_CMPLD2_COMPARATOR_LOAD_2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CMPLD2_COMPARATOR_LOAD_2_SHIFT)) & TMR_CMPLD2_COMPARATOR_LOAD_2_MASK)
  78616. /*! @} */
  78617. /* The count of TMR_CMPLD2 */
  78618. #define TMR_CMPLD2_COUNT (4U)
  78619. /*! @name CSCTRL - Timer Channel Comparator Status and Control Register */
  78620. /*! @{ */
  78621. #define TMR_CSCTRL_CL1_MASK (0x3U)
  78622. #define TMR_CSCTRL_CL1_SHIFT (0U)
  78623. /*! CL1 - Compare Load Control 1
  78624. * 0b00..Never preload
  78625. * 0b01..Load upon successful compare with the value in COMP1
  78626. * 0b10..Load upon successful compare with the value in COMP2
  78627. * 0b11..Reserved
  78628. */
  78629. #define TMR_CSCTRL_CL1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL1_SHIFT)) & TMR_CSCTRL_CL1_MASK)
  78630. #define TMR_CSCTRL_CL2_MASK (0xCU)
  78631. #define TMR_CSCTRL_CL2_SHIFT (2U)
  78632. /*! CL2 - Compare Load Control 2
  78633. * 0b00..Never preload
  78634. * 0b01..Load upon successful compare with the value in COMP1
  78635. * 0b10..Load upon successful compare with the value in COMP2
  78636. * 0b11..Reserved
  78637. */
  78638. #define TMR_CSCTRL_CL2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_CL2_SHIFT)) & TMR_CSCTRL_CL2_MASK)
  78639. #define TMR_CSCTRL_TCF1_MASK (0x10U)
  78640. #define TMR_CSCTRL_TCF1_SHIFT (4U)
  78641. /*! TCF1 - Timer Compare 1 Interrupt Flag
  78642. */
  78643. #define TMR_CSCTRL_TCF1(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1_SHIFT)) & TMR_CSCTRL_TCF1_MASK)
  78644. #define TMR_CSCTRL_TCF2_MASK (0x20U)
  78645. #define TMR_CSCTRL_TCF2_SHIFT (5U)
  78646. /*! TCF2 - Timer Compare 2 Interrupt Flag
  78647. */
  78648. #define TMR_CSCTRL_TCF2(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2_SHIFT)) & TMR_CSCTRL_TCF2_MASK)
  78649. #define TMR_CSCTRL_TCF1EN_MASK (0x40U)
  78650. #define TMR_CSCTRL_TCF1EN_SHIFT (6U)
  78651. /*! TCF1EN - Timer Compare 1 Interrupt Enable
  78652. */
  78653. #define TMR_CSCTRL_TCF1EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF1EN_SHIFT)) & TMR_CSCTRL_TCF1EN_MASK)
  78654. #define TMR_CSCTRL_TCF2EN_MASK (0x80U)
  78655. #define TMR_CSCTRL_TCF2EN_SHIFT (7U)
  78656. /*! TCF2EN - Timer Compare 2 Interrupt Enable
  78657. */
  78658. #define TMR_CSCTRL_TCF2EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCF2EN_SHIFT)) & TMR_CSCTRL_TCF2EN_MASK)
  78659. #define TMR_CSCTRL_UP_MASK (0x200U)
  78660. #define TMR_CSCTRL_UP_SHIFT (9U)
  78661. /*! UP - Counting Direction Indicator
  78662. * 0b0..The last count was in the DOWN direction.
  78663. * 0b1..The last count was in the UP direction.
  78664. */
  78665. #define TMR_CSCTRL_UP(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_UP_SHIFT)) & TMR_CSCTRL_UP_MASK)
  78666. #define TMR_CSCTRL_TCI_MASK (0x400U)
  78667. #define TMR_CSCTRL_TCI_SHIFT (10U)
  78668. /*! TCI - Triggered Count Initialization Control
  78669. * 0b0..Stop counter upon receiving a second trigger event while still counting from the first trigger event.
  78670. * 0b1..Reload the counter upon receiving a second trigger event while still counting from the first trigger event.
  78671. */
  78672. #define TMR_CSCTRL_TCI(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_TCI_SHIFT)) & TMR_CSCTRL_TCI_MASK)
  78673. #define TMR_CSCTRL_ROC_MASK (0x800U)
  78674. #define TMR_CSCTRL_ROC_SHIFT (11U)
  78675. /*! ROC - Reload on Capture
  78676. * 0b0..Do not reload the counter on a capture event.
  78677. * 0b1..Reload the counter on a capture event.
  78678. */
  78679. #define TMR_CSCTRL_ROC(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ROC_SHIFT)) & TMR_CSCTRL_ROC_MASK)
  78680. #define TMR_CSCTRL_ALT_LOAD_MASK (0x1000U)
  78681. #define TMR_CSCTRL_ALT_LOAD_SHIFT (12U)
  78682. /*! ALT_LOAD - Alternative Load Enable
  78683. * 0b0..Counter can be re-initialized only with the LOAD register.
  78684. * 0b1..Counter can be re-initialized with the LOAD or CMPLD2 registers depending on count direction.
  78685. */
  78686. #define TMR_CSCTRL_ALT_LOAD(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_ALT_LOAD_SHIFT)) & TMR_CSCTRL_ALT_LOAD_MASK)
  78687. #define TMR_CSCTRL_FAULT_MASK (0x2000U)
  78688. #define TMR_CSCTRL_FAULT_SHIFT (13U)
  78689. /*! FAULT - Fault Enable
  78690. * 0b0..Fault function disabled.
  78691. * 0b1..Fault function enabled.
  78692. */
  78693. #define TMR_CSCTRL_FAULT(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_FAULT_SHIFT)) & TMR_CSCTRL_FAULT_MASK)
  78694. #define TMR_CSCTRL_DBG_EN_MASK (0xC000U)
  78695. #define TMR_CSCTRL_DBG_EN_SHIFT (14U)
  78696. /*! DBG_EN - Debug Actions Enable
  78697. * 0b00..Continue with normal operation during debug mode. (default)
  78698. * 0b01..Halt TMR counter during debug mode.
  78699. * 0b10..Force TMR output to logic 0 (prior to consideration of SCTRL[OPS]).
  78700. * 0b11..Both halt counter and force output to 0 during debug mode.
  78701. */
  78702. #define TMR_CSCTRL_DBG_EN(x) (((uint16_t)(((uint16_t)(x)) << TMR_CSCTRL_DBG_EN_SHIFT)) & TMR_CSCTRL_DBG_EN_MASK)
  78703. /*! @} */
  78704. /* The count of TMR_CSCTRL */
  78705. #define TMR_CSCTRL_COUNT (4U)
  78706. /*! @name FILT - Timer Channel Input Filter Register */
  78707. /*! @{ */
  78708. #define TMR_FILT_FILT_PER_MASK (0xFFU)
  78709. #define TMR_FILT_FILT_PER_SHIFT (0U)
  78710. /*! FILT_PER - Input Filter Sample Period
  78711. */
  78712. #define TMR_FILT_FILT_PER(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_PER_SHIFT)) & TMR_FILT_FILT_PER_MASK)
  78713. #define TMR_FILT_FILT_CNT_MASK (0x700U)
  78714. #define TMR_FILT_FILT_CNT_SHIFT (8U)
  78715. /*! FILT_CNT - Input Filter Sample Count
  78716. */
  78717. #define TMR_FILT_FILT_CNT(x) (((uint16_t)(((uint16_t)(x)) << TMR_FILT_FILT_CNT_SHIFT)) & TMR_FILT_FILT_CNT_MASK)
  78718. /*! @} */
  78719. /* The count of TMR_FILT */
  78720. #define TMR_FILT_COUNT (4U)
  78721. /*! @name DMA - Timer Channel DMA Enable Register */
  78722. /*! @{ */
  78723. #define TMR_DMA_IEFDE_MASK (0x1U)
  78724. #define TMR_DMA_IEFDE_SHIFT (0U)
  78725. /*! IEFDE - Input Edge Flag DMA Enable
  78726. */
  78727. #define TMR_DMA_IEFDE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_IEFDE_SHIFT)) & TMR_DMA_IEFDE_MASK)
  78728. #define TMR_DMA_CMPLD1DE_MASK (0x2U)
  78729. #define TMR_DMA_CMPLD1DE_SHIFT (1U)
  78730. /*! CMPLD1DE - Comparator Preload Register 1 DMA Enable
  78731. */
  78732. #define TMR_DMA_CMPLD1DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD1DE_SHIFT)) & TMR_DMA_CMPLD1DE_MASK)
  78733. #define TMR_DMA_CMPLD2DE_MASK (0x4U)
  78734. #define TMR_DMA_CMPLD2DE_SHIFT (2U)
  78735. /*! CMPLD2DE - Comparator Preload Register 2 DMA Enable
  78736. */
  78737. #define TMR_DMA_CMPLD2DE(x) (((uint16_t)(((uint16_t)(x)) << TMR_DMA_CMPLD2DE_SHIFT)) & TMR_DMA_CMPLD2DE_MASK)
  78738. /*! @} */
  78739. /* The count of TMR_DMA */
  78740. #define TMR_DMA_COUNT (4U)
  78741. /*! @name ENBL - Timer Channel Enable Register */
  78742. /*! @{ */
  78743. #define TMR_ENBL_ENBL_MASK (0xFU)
  78744. #define TMR_ENBL_ENBL_SHIFT (0U)
  78745. /*! ENBL - Timer Channel Enable
  78746. * 0b0000..Timer channel is disabled.
  78747. * 0b0001..Timer channel is enabled. (default)
  78748. */
  78749. #define TMR_ENBL_ENBL(x) (((uint16_t)(((uint16_t)(x)) << TMR_ENBL_ENBL_SHIFT)) & TMR_ENBL_ENBL_MASK)
  78750. /*! @} */
  78751. /* The count of TMR_ENBL */
  78752. #define TMR_ENBL_COUNT (4U)
  78753. /*!
  78754. * @}
  78755. */ /* end of group TMR_Register_Masks */
  78756. /* TMR - Peripheral instance base addresses */
  78757. /** Peripheral TMR1 base address */
  78758. #define TMR1_BASE (0x4015C000u)
  78759. /** Peripheral TMR1 base pointer */
  78760. #define TMR1 ((TMR_Type *)TMR1_BASE)
  78761. /** Peripheral TMR2 base address */
  78762. #define TMR2_BASE (0x40160000u)
  78763. /** Peripheral TMR2 base pointer */
  78764. #define TMR2 ((TMR_Type *)TMR2_BASE)
  78765. /** Peripheral TMR3 base address */
  78766. #define TMR3_BASE (0x40164000u)
  78767. /** Peripheral TMR3 base pointer */
  78768. #define TMR3 ((TMR_Type *)TMR3_BASE)
  78769. /** Peripheral TMR4 base address */
  78770. #define TMR4_BASE (0x40168000u)
  78771. /** Peripheral TMR4 base pointer */
  78772. #define TMR4 ((TMR_Type *)TMR4_BASE)
  78773. /** Array initializer of TMR peripheral base addresses */
  78774. #define TMR_BASE_ADDRS { 0u, TMR1_BASE, TMR2_BASE, TMR3_BASE, TMR4_BASE }
  78775. /** Array initializer of TMR peripheral base pointers */
  78776. #define TMR_BASE_PTRS { (TMR_Type *)0u, TMR1, TMR2, TMR3, TMR4 }
  78777. /** Interrupt vectors for the TMR peripheral type */
  78778. #define TMR_IRQS { NotAvail_IRQn, TMR1_IRQn, TMR2_IRQn, TMR3_IRQn, TMR4_IRQn }
  78779. /*!
  78780. * @}
  78781. */ /* end of group TMR_Peripheral_Access_Layer */
  78782. /* ----------------------------------------------------------------------------
  78783. -- USB Peripheral Access Layer
  78784. ---------------------------------------------------------------------------- */
  78785. /*!
  78786. * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
  78787. * @{
  78788. */
  78789. /** USB - Register Layout Typedef */
  78790. typedef struct {
  78791. __I uint32_t ID; /**< Identification register, offset: 0x0 */
  78792. __I uint32_t HWGENERAL; /**< Hardware General, offset: 0x4 */
  78793. __I uint32_t HWHOST; /**< Host Hardware Parameters, offset: 0x8 */
  78794. __I uint32_t HWDEVICE; /**< Device Hardware Parameters, offset: 0xC */
  78795. __I uint32_t HWTXBUF; /**< TX Buffer Hardware Parameters, offset: 0x10 */
  78796. __I uint32_t HWRXBUF; /**< RX Buffer Hardware Parameters, offset: 0x14 */
  78797. uint8_t RESERVED_0[104];
  78798. __IO uint32_t GPTIMER0LD; /**< General Purpose Timer #0 Load, offset: 0x80 */
  78799. __IO uint32_t GPTIMER0CTRL; /**< General Purpose Timer #0 Controller, offset: 0x84 */
  78800. __IO uint32_t GPTIMER1LD; /**< General Purpose Timer #1 Load, offset: 0x88 */
  78801. __IO uint32_t GPTIMER1CTRL; /**< General Purpose Timer #1 Controller, offset: 0x8C */
  78802. __IO uint32_t SBUSCFG; /**< System Bus Config, offset: 0x90 */
  78803. uint8_t RESERVED_1[108];
  78804. __I uint8_t CAPLENGTH; /**< Capability Registers Length, offset: 0x100 */
  78805. uint8_t RESERVED_2[1];
  78806. __I uint16_t HCIVERSION; /**< Host Controller Interface Version, offset: 0x102 */
  78807. __I uint32_t HCSPARAMS; /**< Host Controller Structural Parameters, offset: 0x104 */
  78808. __I uint32_t HCCPARAMS; /**< Host Controller Capability Parameters, offset: 0x108 */
  78809. uint8_t RESERVED_3[20];
  78810. __I uint16_t DCIVERSION; /**< Device Controller Interface Version, offset: 0x120 */
  78811. uint8_t RESERVED_4[2];
  78812. __I uint32_t DCCPARAMS; /**< Device Controller Capability Parameters, offset: 0x124 */
  78813. uint8_t RESERVED_5[24];
  78814. __IO uint32_t USBCMD; /**< USB Command Register, offset: 0x140 */
  78815. __IO uint32_t USBSTS; /**< USB Status Register, offset: 0x144 */
  78816. __IO uint32_t USBINTR; /**< Interrupt Enable Register, offset: 0x148 */
  78817. __IO uint32_t FRINDEX; /**< USB Frame Index, offset: 0x14C */
  78818. uint8_t RESERVED_6[4];
  78819. union { /* offset: 0x154 */
  78820. __IO uint32_t DEVICEADDR; /**< Device Address, offset: 0x154 */
  78821. __IO uint32_t PERIODICLISTBASE; /**< Frame List Base Address, offset: 0x154 */
  78822. };
  78823. union { /* offset: 0x158 */
  78824. __IO uint32_t ASYNCLISTADDR; /**< Next Asynch. Address, offset: 0x158 */
  78825. __IO uint32_t ENDPTLISTADDR; /**< Endpoint List Address, offset: 0x158 */
  78826. };
  78827. uint8_t RESERVED_7[4];
  78828. __IO uint32_t BURSTSIZE; /**< Programmable Burst Size, offset: 0x160 */
  78829. __IO uint32_t TXFILLTUNING; /**< TX FIFO Fill Tuning, offset: 0x164 */
  78830. uint8_t RESERVED_8[16];
  78831. __IO uint32_t ENDPTNAK; /**< Endpoint NAK, offset: 0x178 */
  78832. __IO uint32_t ENDPTNAKEN; /**< Endpoint NAK Enable, offset: 0x17C */
  78833. __I uint32_t CONFIGFLAG; /**< Configure Flag Register, offset: 0x180 */
  78834. __IO uint32_t PORTSC1; /**< Port Status & Control, offset: 0x184 */
  78835. uint8_t RESERVED_9[28];
  78836. __IO uint32_t OTGSC; /**< On-The-Go Status & control, offset: 0x1A4 */
  78837. __IO uint32_t USBMODE; /**< USB Device Mode, offset: 0x1A8 */
  78838. __IO uint32_t ENDPTSETUPSTAT; /**< Endpoint Setup Status, offset: 0x1AC */
  78839. __IO uint32_t ENDPTPRIME; /**< Endpoint Prime, offset: 0x1B0 */
  78840. __IO uint32_t ENDPTFLUSH; /**< Endpoint Flush, offset: 0x1B4 */
  78841. __I uint32_t ENDPTSTAT; /**< Endpoint Status, offset: 0x1B8 */
  78842. __IO uint32_t ENDPTCOMPLETE; /**< Endpoint Complete, offset: 0x1BC */
  78843. __IO uint32_t ENDPTCTRL0; /**< Endpoint Control0, offset: 0x1C0 */
  78844. __IO uint32_t ENDPTCTRL[7]; /**< Endpoint Control 1..Endpoint Control 7, array offset: 0x1C4, array step: 0x4 */
  78845. } USB_Type;
  78846. /* ----------------------------------------------------------------------------
  78847. -- USB Register Masks
  78848. ---------------------------------------------------------------------------- */
  78849. /*!
  78850. * @addtogroup USB_Register_Masks USB Register Masks
  78851. * @{
  78852. */
  78853. /*! @name ID - Identification register */
  78854. /*! @{ */
  78855. #define USB_ID_ID_MASK (0x3FU)
  78856. #define USB_ID_ID_SHIFT (0U)
  78857. /*! ID - ID
  78858. */
  78859. #define USB_ID_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_ID_SHIFT)) & USB_ID_ID_MASK)
  78860. #define USB_ID_NID_MASK (0x3F00U)
  78861. #define USB_ID_NID_SHIFT (8U)
  78862. /*! NID - NID
  78863. */
  78864. #define USB_ID_NID(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_NID_SHIFT)) & USB_ID_NID_MASK)
  78865. #define USB_ID_REVISION_MASK (0xFF0000U)
  78866. #define USB_ID_REVISION_SHIFT (16U)
  78867. /*! REVISION - REVISION
  78868. */
  78869. #define USB_ID_REVISION(x) (((uint32_t)(((uint32_t)(x)) << USB_ID_REVISION_SHIFT)) & USB_ID_REVISION_MASK)
  78870. /*! @} */
  78871. /*! @name HWGENERAL - Hardware General */
  78872. /*! @{ */
  78873. #define USB_HWGENERAL_PHYW_MASK (0x30U)
  78874. #define USB_HWGENERAL_PHYW_SHIFT (4U)
  78875. /*! PHYW - PHYW
  78876. * 0b00..8 bit wide data bus (Software non-programmable)
  78877. * 0b01..16 bit wide data bus (Software non-programmable)
  78878. * 0b10..Reset to 8 bit wide data bus (Software programmable)
  78879. * 0b11..Reset to 16 bit wide data bus (Software programmable)
  78880. */
  78881. #define USB_HWGENERAL_PHYW(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYW_SHIFT)) & USB_HWGENERAL_PHYW_MASK)
  78882. #define USB_HWGENERAL_PHYM_MASK (0x1C0U)
  78883. #define USB_HWGENERAL_PHYM_SHIFT (6U)
  78884. /*! PHYM - PHYM
  78885. * 0b000..UTMI/UMTI+
  78886. * 0b001..ULPI DDR
  78887. * 0b010..ULPI
  78888. * 0b011..Serial Only
  78889. * 0b100..Software programmable - reset to UTMI/UTMI+
  78890. * 0b101..Software programmable - reset to ULPI DDR
  78891. * 0b110..Software programmable - reset to ULPI
  78892. * 0b111..Software programmable - reset to Serial
  78893. */
  78894. #define USB_HWGENERAL_PHYM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_PHYM_SHIFT)) & USB_HWGENERAL_PHYM_MASK)
  78895. #define USB_HWGENERAL_SM_MASK (0x600U)
  78896. #define USB_HWGENERAL_SM_SHIFT (9U)
  78897. /*! SM - SM
  78898. * 0b00..No Serial Engine, always use parallel signalling.
  78899. * 0b01..Serial Engine present, always use serial signalling for FS/LS.
  78900. * 0b10..Software programmable - Reset to use parallel signalling for FS/LS
  78901. * 0b11..Software programmable - Reset to use serial signalling for FS/LS
  78902. */
  78903. #define USB_HWGENERAL_SM(x) (((uint32_t)(((uint32_t)(x)) << USB_HWGENERAL_SM_SHIFT)) & USB_HWGENERAL_SM_MASK)
  78904. /*! @} */
  78905. /*! @name HWHOST - Host Hardware Parameters */
  78906. /*! @{ */
  78907. #define USB_HWHOST_HC_MASK (0x1U)
  78908. #define USB_HWHOST_HC_SHIFT (0U)
  78909. /*! HC - HC
  78910. * 0b1..Supported
  78911. * 0b0..Not supported
  78912. */
  78913. #define USB_HWHOST_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_HC_SHIFT)) & USB_HWHOST_HC_MASK)
  78914. #define USB_HWHOST_NPORT_MASK (0xEU)
  78915. #define USB_HWHOST_NPORT_SHIFT (1U)
  78916. /*! NPORT - NPORT
  78917. */
  78918. #define USB_HWHOST_NPORT(x) (((uint32_t)(((uint32_t)(x)) << USB_HWHOST_NPORT_SHIFT)) & USB_HWHOST_NPORT_MASK)
  78919. /*! @} */
  78920. /*! @name HWDEVICE - Device Hardware Parameters */
  78921. /*! @{ */
  78922. #define USB_HWDEVICE_DC_MASK (0x1U)
  78923. #define USB_HWDEVICE_DC_SHIFT (0U)
  78924. /*! DC - DC
  78925. * 0b1..Supported
  78926. * 0b0..Not supported
  78927. */
  78928. #define USB_HWDEVICE_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DC_SHIFT)) & USB_HWDEVICE_DC_MASK)
  78929. #define USB_HWDEVICE_DEVEP_MASK (0x3EU)
  78930. #define USB_HWDEVICE_DEVEP_SHIFT (1U)
  78931. /*! DEVEP - DEVEP
  78932. */
  78933. #define USB_HWDEVICE_DEVEP(x) (((uint32_t)(((uint32_t)(x)) << USB_HWDEVICE_DEVEP_SHIFT)) & USB_HWDEVICE_DEVEP_MASK)
  78934. /*! @} */
  78935. /*! @name HWTXBUF - TX Buffer Hardware Parameters */
  78936. /*! @{ */
  78937. #define USB_HWTXBUF_TXBURST_MASK (0xFFU)
  78938. #define USB_HWTXBUF_TXBURST_SHIFT (0U)
  78939. /*! TXBURST - TXBURST
  78940. */
  78941. #define USB_HWTXBUF_TXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXBURST_SHIFT)) & USB_HWTXBUF_TXBURST_MASK)
  78942. #define USB_HWTXBUF_TXCHANADD_MASK (0xFF0000U)
  78943. #define USB_HWTXBUF_TXCHANADD_SHIFT (16U)
  78944. /*! TXCHANADD - TXCHANADD
  78945. */
  78946. #define USB_HWTXBUF_TXCHANADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWTXBUF_TXCHANADD_SHIFT)) & USB_HWTXBUF_TXCHANADD_MASK)
  78947. /*! @} */
  78948. /*! @name HWRXBUF - RX Buffer Hardware Parameters */
  78949. /*! @{ */
  78950. #define USB_HWRXBUF_RXBURST_MASK (0xFFU)
  78951. #define USB_HWRXBUF_RXBURST_SHIFT (0U)
  78952. /*! RXBURST - RXBURST
  78953. */
  78954. #define USB_HWRXBUF_RXBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXBURST_SHIFT)) & USB_HWRXBUF_RXBURST_MASK)
  78955. #define USB_HWRXBUF_RXADD_MASK (0xFF00U)
  78956. #define USB_HWRXBUF_RXADD_SHIFT (8U)
  78957. /*! RXADD - RXADD
  78958. */
  78959. #define USB_HWRXBUF_RXADD(x) (((uint32_t)(((uint32_t)(x)) << USB_HWRXBUF_RXADD_SHIFT)) & USB_HWRXBUF_RXADD_MASK)
  78960. /*! @} */
  78961. /*! @name GPTIMER0LD - General Purpose Timer #0 Load */
  78962. /*! @{ */
  78963. #define USB_GPTIMER0LD_GPTLD_MASK (0xFFFFFFU)
  78964. #define USB_GPTIMER0LD_GPTLD_SHIFT (0U)
  78965. /*! GPTLD - GPTLD
  78966. */
  78967. #define USB_GPTIMER0LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0LD_GPTLD_SHIFT)) & USB_GPTIMER0LD_GPTLD_MASK)
  78968. /*! @} */
  78969. /*! @name GPTIMER0CTRL - General Purpose Timer #0 Controller */
  78970. /*! @{ */
  78971. #define USB_GPTIMER0CTRL_GPTCNT_MASK (0xFFFFFFU)
  78972. #define USB_GPTIMER0CTRL_GPTCNT_SHIFT (0U)
  78973. /*! GPTCNT - GPTCNT
  78974. */
  78975. #define USB_GPTIMER0CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTCNT_SHIFT)) & USB_GPTIMER0CTRL_GPTCNT_MASK)
  78976. #define USB_GPTIMER0CTRL_GPTMODE_MASK (0x1000000U)
  78977. #define USB_GPTIMER0CTRL_GPTMODE_SHIFT (24U)
  78978. /*! GPTMODE - GPTMODE
  78979. * 0b0..One Shot Mode
  78980. * 0b1..Repeat Mode
  78981. */
  78982. #define USB_GPTIMER0CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTMODE_SHIFT)) & USB_GPTIMER0CTRL_GPTMODE_MASK)
  78983. #define USB_GPTIMER0CTRL_GPTRST_MASK (0x40000000U)
  78984. #define USB_GPTIMER0CTRL_GPTRST_SHIFT (30U)
  78985. /*! GPTRST - GPTRST
  78986. * 0b0..No action
  78987. * 0b1..Load counter value from GPTLD bits in n_GPTIMER0LD
  78988. */
  78989. #define USB_GPTIMER0CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRST_SHIFT)) & USB_GPTIMER0CTRL_GPTRST_MASK)
  78990. #define USB_GPTIMER0CTRL_GPTRUN_MASK (0x80000000U)
  78991. #define USB_GPTIMER0CTRL_GPTRUN_SHIFT (31U)
  78992. /*! GPTRUN - GPTRUN
  78993. * 0b0..Stop counting
  78994. * 0b1..Run
  78995. */
  78996. #define USB_GPTIMER0CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER0CTRL_GPTRUN_SHIFT)) & USB_GPTIMER0CTRL_GPTRUN_MASK)
  78997. /*! @} */
  78998. /*! @name GPTIMER1LD - General Purpose Timer #1 Load */
  78999. /*! @{ */
  79000. #define USB_GPTIMER1LD_GPTLD_MASK (0xFFFFFFU)
  79001. #define USB_GPTIMER1LD_GPTLD_SHIFT (0U)
  79002. /*! GPTLD - GPTLD
  79003. */
  79004. #define USB_GPTIMER1LD_GPTLD(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1LD_GPTLD_SHIFT)) & USB_GPTIMER1LD_GPTLD_MASK)
  79005. /*! @} */
  79006. /*! @name GPTIMER1CTRL - General Purpose Timer #1 Controller */
  79007. /*! @{ */
  79008. #define USB_GPTIMER1CTRL_GPTCNT_MASK (0xFFFFFFU)
  79009. #define USB_GPTIMER1CTRL_GPTCNT_SHIFT (0U)
  79010. /*! GPTCNT - GPTCNT
  79011. */
  79012. #define USB_GPTIMER1CTRL_GPTCNT(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTCNT_SHIFT)) & USB_GPTIMER1CTRL_GPTCNT_MASK)
  79013. #define USB_GPTIMER1CTRL_GPTMODE_MASK (0x1000000U)
  79014. #define USB_GPTIMER1CTRL_GPTMODE_SHIFT (24U)
  79015. /*! GPTMODE - GPTMODE
  79016. * 0b0..One Shot Mode
  79017. * 0b1..Repeat Mode
  79018. */
  79019. #define USB_GPTIMER1CTRL_GPTMODE(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTMODE_SHIFT)) & USB_GPTIMER1CTRL_GPTMODE_MASK)
  79020. #define USB_GPTIMER1CTRL_GPTRST_MASK (0x40000000U)
  79021. #define USB_GPTIMER1CTRL_GPTRST_SHIFT (30U)
  79022. /*! GPTRST - GPTRST
  79023. * 0b0..No action
  79024. * 0b1..Load counter value from GPTLD bits in USB_n_GPTIMER0LD
  79025. */
  79026. #define USB_GPTIMER1CTRL_GPTRST(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRST_SHIFT)) & USB_GPTIMER1CTRL_GPTRST_MASK)
  79027. #define USB_GPTIMER1CTRL_GPTRUN_MASK (0x80000000U)
  79028. #define USB_GPTIMER1CTRL_GPTRUN_SHIFT (31U)
  79029. /*! GPTRUN - GPTRUN
  79030. * 0b0..Stop counting
  79031. * 0b1..Run
  79032. */
  79033. #define USB_GPTIMER1CTRL_GPTRUN(x) (((uint32_t)(((uint32_t)(x)) << USB_GPTIMER1CTRL_GPTRUN_SHIFT)) & USB_GPTIMER1CTRL_GPTRUN_MASK)
  79034. /*! @} */
  79035. /*! @name SBUSCFG - System Bus Config */
  79036. /*! @{ */
  79037. #define USB_SBUSCFG_AHBBRST_MASK (0x7U)
  79038. #define USB_SBUSCFG_AHBBRST_SHIFT (0U)
  79039. /*! AHBBRST - AHBBRST
  79040. * 0b000..Incremental burst of unspecified length only
  79041. * 0b001..INCR4 burst, then single transfer
  79042. * 0b010..INCR8 burst, INCR4 burst, then single transfer
  79043. * 0b011..INCR16 burst, INCR8 burst, INCR4 burst, then single transfer
  79044. * 0b100..Reserved, don't use
  79045. * 0b101..INCR4 burst, then incremental burst of unspecified length
  79046. * 0b110..INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  79047. * 0b111..INCR16 burst, INCR8 burst, INCR4 burst, then incremental burst of unspecified length
  79048. */
  79049. #define USB_SBUSCFG_AHBBRST(x) (((uint32_t)(((uint32_t)(x)) << USB_SBUSCFG_AHBBRST_SHIFT)) & USB_SBUSCFG_AHBBRST_MASK)
  79050. /*! @} */
  79051. /*! @name CAPLENGTH - Capability Registers Length */
  79052. /*! @{ */
  79053. #define USB_CAPLENGTH_CAPLENGTH_MASK (0xFFU)
  79054. #define USB_CAPLENGTH_CAPLENGTH_SHIFT (0U)
  79055. /*! CAPLENGTH - CAPLENGTH
  79056. */
  79057. #define USB_CAPLENGTH_CAPLENGTH(x) (((uint8_t)(((uint8_t)(x)) << USB_CAPLENGTH_CAPLENGTH_SHIFT)) & USB_CAPLENGTH_CAPLENGTH_MASK)
  79058. /*! @} */
  79059. /*! @name HCIVERSION - Host Controller Interface Version */
  79060. /*! @{ */
  79061. #define USB_HCIVERSION_HCIVERSION_MASK (0xFFFFU)
  79062. #define USB_HCIVERSION_HCIVERSION_SHIFT (0U)
  79063. /*! HCIVERSION - HCIVERSION
  79064. */
  79065. #define USB_HCIVERSION_HCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_HCIVERSION_HCIVERSION_SHIFT)) & USB_HCIVERSION_HCIVERSION_MASK)
  79066. /*! @} */
  79067. /*! @name HCSPARAMS - Host Controller Structural Parameters */
  79068. /*! @{ */
  79069. #define USB_HCSPARAMS_N_PORTS_MASK (0xFU)
  79070. #define USB_HCSPARAMS_N_PORTS_SHIFT (0U)
  79071. /*! N_PORTS - N_PORTS
  79072. */
  79073. #define USB_HCSPARAMS_N_PORTS(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PORTS_SHIFT)) & USB_HCSPARAMS_N_PORTS_MASK)
  79074. #define USB_HCSPARAMS_PPC_MASK (0x10U)
  79075. #define USB_HCSPARAMS_PPC_SHIFT (4U)
  79076. /*! PPC - PPC
  79077. */
  79078. #define USB_HCSPARAMS_PPC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PPC_SHIFT)) & USB_HCSPARAMS_PPC_MASK)
  79079. #define USB_HCSPARAMS_N_PCC_MASK (0xF00U)
  79080. #define USB_HCSPARAMS_N_PCC_SHIFT (8U)
  79081. /*! N_PCC - N_PCC
  79082. */
  79083. #define USB_HCSPARAMS_N_PCC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PCC_SHIFT)) & USB_HCSPARAMS_N_PCC_MASK)
  79084. #define USB_HCSPARAMS_N_CC_MASK (0xF000U)
  79085. #define USB_HCSPARAMS_N_CC_SHIFT (12U)
  79086. /*! N_CC - N_CC
  79087. * 0b0000..There is no internal Companion Controller and port-ownership hand-off is not supported.
  79088. * 0b0001..There are internal companion controller(s) and port-ownership hand-offs is supported.
  79089. */
  79090. #define USB_HCSPARAMS_N_CC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_CC_SHIFT)) & USB_HCSPARAMS_N_CC_MASK)
  79091. #define USB_HCSPARAMS_PI_MASK (0x10000U)
  79092. #define USB_HCSPARAMS_PI_SHIFT (16U)
  79093. /*! PI - PI
  79094. */
  79095. #define USB_HCSPARAMS_PI(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_PI_SHIFT)) & USB_HCSPARAMS_PI_MASK)
  79096. #define USB_HCSPARAMS_N_PTT_MASK (0xF00000U)
  79097. #define USB_HCSPARAMS_N_PTT_SHIFT (20U)
  79098. /*! N_PTT - N_PTT
  79099. */
  79100. #define USB_HCSPARAMS_N_PTT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_PTT_SHIFT)) & USB_HCSPARAMS_N_PTT_MASK)
  79101. #define USB_HCSPARAMS_N_TT_MASK (0xF000000U)
  79102. #define USB_HCSPARAMS_N_TT_SHIFT (24U)
  79103. /*! N_TT - N_TT
  79104. */
  79105. #define USB_HCSPARAMS_N_TT(x) (((uint32_t)(((uint32_t)(x)) << USB_HCSPARAMS_N_TT_SHIFT)) & USB_HCSPARAMS_N_TT_MASK)
  79106. /*! @} */
  79107. /*! @name HCCPARAMS - Host Controller Capability Parameters */
  79108. /*! @{ */
  79109. #define USB_HCCPARAMS_ADC_MASK (0x1U)
  79110. #define USB_HCCPARAMS_ADC_SHIFT (0U)
  79111. /*! ADC - ADC
  79112. */
  79113. #define USB_HCCPARAMS_ADC(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ADC_SHIFT)) & USB_HCCPARAMS_ADC_MASK)
  79114. #define USB_HCCPARAMS_PFL_MASK (0x2U)
  79115. #define USB_HCCPARAMS_PFL_SHIFT (1U)
  79116. /*! PFL - PFL
  79117. */
  79118. #define USB_HCCPARAMS_PFL(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_PFL_SHIFT)) & USB_HCCPARAMS_PFL_MASK)
  79119. #define USB_HCCPARAMS_ASP_MASK (0x4U)
  79120. #define USB_HCCPARAMS_ASP_SHIFT (2U)
  79121. /*! ASP - ASP
  79122. */
  79123. #define USB_HCCPARAMS_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_ASP_SHIFT)) & USB_HCCPARAMS_ASP_MASK)
  79124. #define USB_HCCPARAMS_IST_MASK (0xF0U)
  79125. #define USB_HCCPARAMS_IST_SHIFT (4U)
  79126. /*! IST - IST
  79127. */
  79128. #define USB_HCCPARAMS_IST(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_IST_SHIFT)) & USB_HCCPARAMS_IST_MASK)
  79129. #define USB_HCCPARAMS_EECP_MASK (0xFF00U)
  79130. #define USB_HCCPARAMS_EECP_SHIFT (8U)
  79131. /*! EECP - EECP
  79132. */
  79133. #define USB_HCCPARAMS_EECP(x) (((uint32_t)(((uint32_t)(x)) << USB_HCCPARAMS_EECP_SHIFT)) & USB_HCCPARAMS_EECP_MASK)
  79134. /*! @} */
  79135. /*! @name DCIVERSION - Device Controller Interface Version */
  79136. /*! @{ */
  79137. #define USB_DCIVERSION_DCIVERSION_MASK (0xFFFFU)
  79138. #define USB_DCIVERSION_DCIVERSION_SHIFT (0U)
  79139. /*! DCIVERSION - DCIVERSION
  79140. */
  79141. #define USB_DCIVERSION_DCIVERSION(x) (((uint16_t)(((uint16_t)(x)) << USB_DCIVERSION_DCIVERSION_SHIFT)) & USB_DCIVERSION_DCIVERSION_MASK)
  79142. /*! @} */
  79143. /*! @name DCCPARAMS - Device Controller Capability Parameters */
  79144. /*! @{ */
  79145. #define USB_DCCPARAMS_DEN_MASK (0x1FU)
  79146. #define USB_DCCPARAMS_DEN_SHIFT (0U)
  79147. /*! DEN - DEN
  79148. */
  79149. #define USB_DCCPARAMS_DEN(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DEN_SHIFT)) & USB_DCCPARAMS_DEN_MASK)
  79150. #define USB_DCCPARAMS_DC_MASK (0x80U)
  79151. #define USB_DCCPARAMS_DC_SHIFT (7U)
  79152. /*! DC - DC
  79153. */
  79154. #define USB_DCCPARAMS_DC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_DC_SHIFT)) & USB_DCCPARAMS_DC_MASK)
  79155. #define USB_DCCPARAMS_HC_MASK (0x100U)
  79156. #define USB_DCCPARAMS_HC_SHIFT (8U)
  79157. /*! HC - HC
  79158. */
  79159. #define USB_DCCPARAMS_HC(x) (((uint32_t)(((uint32_t)(x)) << USB_DCCPARAMS_HC_SHIFT)) & USB_DCCPARAMS_HC_MASK)
  79160. /*! @} */
  79161. /*! @name USBCMD - USB Command Register */
  79162. /*! @{ */
  79163. #define USB_USBCMD_RS_MASK (0x1U)
  79164. #define USB_USBCMD_RS_SHIFT (0U)
  79165. /*! RS - RS
  79166. */
  79167. #define USB_USBCMD_RS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RS_SHIFT)) & USB_USBCMD_RS_MASK)
  79168. #define USB_USBCMD_RST_MASK (0x2U)
  79169. #define USB_USBCMD_RST_SHIFT (1U)
  79170. /*! RST - RST
  79171. */
  79172. #define USB_USBCMD_RST(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_RST_SHIFT)) & USB_USBCMD_RST_MASK)
  79173. #define USB_USBCMD_FS_1_MASK (0xCU)
  79174. #define USB_USBCMD_FS_1_SHIFT (2U)
  79175. /*! FS_1 - FS_1
  79176. */
  79177. #define USB_USBCMD_FS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_1_SHIFT)) & USB_USBCMD_FS_1_MASK)
  79178. #define USB_USBCMD_PSE_MASK (0x10U)
  79179. #define USB_USBCMD_PSE_SHIFT (4U)
  79180. /*! PSE - PSE
  79181. * 0b0..Do not process the Periodic Schedule
  79182. * 0b1..Use the PERIODICLISTBASE register to access the Periodic Schedule.
  79183. */
  79184. #define USB_USBCMD_PSE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_PSE_SHIFT)) & USB_USBCMD_PSE_MASK)
  79185. #define USB_USBCMD_ASE_MASK (0x20U)
  79186. #define USB_USBCMD_ASE_SHIFT (5U)
  79187. /*! ASE - ASE
  79188. * 0b0..Do not process the Asynchronous Schedule.
  79189. * 0b1..Use the ASYNCLISTADDR register to access the Asynchronous Schedule.
  79190. */
  79191. #define USB_USBCMD_ASE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASE_SHIFT)) & USB_USBCMD_ASE_MASK)
  79192. #define USB_USBCMD_IAA_MASK (0x40U)
  79193. #define USB_USBCMD_IAA_SHIFT (6U)
  79194. /*! IAA - IAA
  79195. */
  79196. #define USB_USBCMD_IAA(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_IAA_SHIFT)) & USB_USBCMD_IAA_MASK)
  79197. #define USB_USBCMD_ASP_MASK (0x300U)
  79198. #define USB_USBCMD_ASP_SHIFT (8U)
  79199. /*! ASP - ASP
  79200. */
  79201. #define USB_USBCMD_ASP(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASP_SHIFT)) & USB_USBCMD_ASP_MASK)
  79202. #define USB_USBCMD_ASPE_MASK (0x800U)
  79203. #define USB_USBCMD_ASPE_SHIFT (11U)
  79204. /*! ASPE - ASPE
  79205. */
  79206. #define USB_USBCMD_ASPE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ASPE_SHIFT)) & USB_USBCMD_ASPE_MASK)
  79207. #define USB_USBCMD_SUTW_MASK (0x2000U)
  79208. #define USB_USBCMD_SUTW_SHIFT (13U)
  79209. /*! SUTW - SUTW
  79210. */
  79211. #define USB_USBCMD_SUTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_SUTW_SHIFT)) & USB_USBCMD_SUTW_MASK)
  79212. #define USB_USBCMD_ATDTW_MASK (0x4000U)
  79213. #define USB_USBCMD_ATDTW_SHIFT (14U)
  79214. /*! ATDTW - ATDTW
  79215. */
  79216. #define USB_USBCMD_ATDTW(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ATDTW_SHIFT)) & USB_USBCMD_ATDTW_MASK)
  79217. #define USB_USBCMD_FS_2_MASK (0x8000U)
  79218. #define USB_USBCMD_FS_2_SHIFT (15U)
  79219. /*! FS_2 - FS_2
  79220. */
  79221. #define USB_USBCMD_FS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_FS_2_SHIFT)) & USB_USBCMD_FS_2_MASK)
  79222. #define USB_USBCMD_ITC_MASK (0xFF0000U)
  79223. #define USB_USBCMD_ITC_SHIFT (16U)
  79224. /*! ITC - ITC
  79225. * 0b00000000..Immediate (no threshold)
  79226. * 0b00000001..1 micro-frame
  79227. * 0b00000010..2 micro-frames
  79228. * 0b00000100..4 micro-frames
  79229. * 0b00001000..8 micro-frames
  79230. * 0b00010000..16 micro-frames
  79231. * 0b00100000..32 micro-frames
  79232. * 0b01000000..64 micro-frames
  79233. */
  79234. #define USB_USBCMD_ITC(x) (((uint32_t)(((uint32_t)(x)) << USB_USBCMD_ITC_SHIFT)) & USB_USBCMD_ITC_MASK)
  79235. /*! @} */
  79236. /*! @name USBSTS - USB Status Register */
  79237. /*! @{ */
  79238. #define USB_USBSTS_UI_MASK (0x1U)
  79239. #define USB_USBSTS_UI_SHIFT (0U)
  79240. /*! UI - UI
  79241. */
  79242. #define USB_USBSTS_UI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UI_SHIFT)) & USB_USBSTS_UI_MASK)
  79243. #define USB_USBSTS_UEI_MASK (0x2U)
  79244. #define USB_USBSTS_UEI_SHIFT (1U)
  79245. /*! UEI - UEI
  79246. */
  79247. #define USB_USBSTS_UEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_UEI_SHIFT)) & USB_USBSTS_UEI_MASK)
  79248. #define USB_USBSTS_PCI_MASK (0x4U)
  79249. #define USB_USBSTS_PCI_SHIFT (2U)
  79250. /*! PCI - PCI
  79251. */
  79252. #define USB_USBSTS_PCI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PCI_SHIFT)) & USB_USBSTS_PCI_MASK)
  79253. #define USB_USBSTS_FRI_MASK (0x8U)
  79254. #define USB_USBSTS_FRI_SHIFT (3U)
  79255. /*! FRI - FRI
  79256. */
  79257. #define USB_USBSTS_FRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_FRI_SHIFT)) & USB_USBSTS_FRI_MASK)
  79258. #define USB_USBSTS_SEI_MASK (0x10U)
  79259. #define USB_USBSTS_SEI_SHIFT (4U)
  79260. /*! SEI - SEI
  79261. */
  79262. #define USB_USBSTS_SEI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SEI_SHIFT)) & USB_USBSTS_SEI_MASK)
  79263. #define USB_USBSTS_AAI_MASK (0x20U)
  79264. #define USB_USBSTS_AAI_SHIFT (5U)
  79265. /*! AAI - AAI
  79266. */
  79267. #define USB_USBSTS_AAI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AAI_SHIFT)) & USB_USBSTS_AAI_MASK)
  79268. #define USB_USBSTS_URI_MASK (0x40U)
  79269. #define USB_USBSTS_URI_SHIFT (6U)
  79270. /*! URI - URI
  79271. */
  79272. #define USB_USBSTS_URI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_URI_SHIFT)) & USB_USBSTS_URI_MASK)
  79273. #define USB_USBSTS_SRI_MASK (0x80U)
  79274. #define USB_USBSTS_SRI_SHIFT (7U)
  79275. /*! SRI - SRI
  79276. */
  79277. #define USB_USBSTS_SRI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SRI_SHIFT)) & USB_USBSTS_SRI_MASK)
  79278. #define USB_USBSTS_SLI_MASK (0x100U)
  79279. #define USB_USBSTS_SLI_SHIFT (8U)
  79280. /*! SLI - SLI
  79281. */
  79282. #define USB_USBSTS_SLI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_SLI_SHIFT)) & USB_USBSTS_SLI_MASK)
  79283. #define USB_USBSTS_ULPII_MASK (0x400U)
  79284. #define USB_USBSTS_ULPII_SHIFT (10U)
  79285. /*! ULPII - ULPII
  79286. */
  79287. #define USB_USBSTS_ULPII(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_ULPII_SHIFT)) & USB_USBSTS_ULPII_MASK)
  79288. #define USB_USBSTS_HCH_MASK (0x1000U)
  79289. #define USB_USBSTS_HCH_SHIFT (12U)
  79290. /*! HCH - HCH
  79291. */
  79292. #define USB_USBSTS_HCH(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_HCH_SHIFT)) & USB_USBSTS_HCH_MASK)
  79293. #define USB_USBSTS_RCL_MASK (0x2000U)
  79294. #define USB_USBSTS_RCL_SHIFT (13U)
  79295. /*! RCL - RCL
  79296. */
  79297. #define USB_USBSTS_RCL(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_RCL_SHIFT)) & USB_USBSTS_RCL_MASK)
  79298. #define USB_USBSTS_PS_MASK (0x4000U)
  79299. #define USB_USBSTS_PS_SHIFT (14U)
  79300. /*! PS - PS
  79301. */
  79302. #define USB_USBSTS_PS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_PS_SHIFT)) & USB_USBSTS_PS_MASK)
  79303. #define USB_USBSTS_AS_MASK (0x8000U)
  79304. #define USB_USBSTS_AS_SHIFT (15U)
  79305. /*! AS - AS
  79306. */
  79307. #define USB_USBSTS_AS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_AS_SHIFT)) & USB_USBSTS_AS_MASK)
  79308. #define USB_USBSTS_NAKI_MASK (0x10000U)
  79309. #define USB_USBSTS_NAKI_SHIFT (16U)
  79310. /*! NAKI - NAKI
  79311. */
  79312. #define USB_USBSTS_NAKI(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_NAKI_SHIFT)) & USB_USBSTS_NAKI_MASK)
  79313. #define USB_USBSTS_TI0_MASK (0x1000000U)
  79314. #define USB_USBSTS_TI0_SHIFT (24U)
  79315. /*! TI0 - TI0
  79316. */
  79317. #define USB_USBSTS_TI0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI0_SHIFT)) & USB_USBSTS_TI0_MASK)
  79318. #define USB_USBSTS_TI1_MASK (0x2000000U)
  79319. #define USB_USBSTS_TI1_SHIFT (25U)
  79320. /*! TI1 - TI1
  79321. */
  79322. #define USB_USBSTS_TI1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBSTS_TI1_SHIFT)) & USB_USBSTS_TI1_MASK)
  79323. /*! @} */
  79324. /*! @name USBINTR - Interrupt Enable Register */
  79325. /*! @{ */
  79326. #define USB_USBINTR_UE_MASK (0x1U)
  79327. #define USB_USBINTR_UE_SHIFT (0U)
  79328. /*! UE - UE
  79329. */
  79330. #define USB_USBINTR_UE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UE_SHIFT)) & USB_USBINTR_UE_MASK)
  79331. #define USB_USBINTR_UEE_MASK (0x2U)
  79332. #define USB_USBINTR_UEE_SHIFT (1U)
  79333. /*! UEE - UEE
  79334. */
  79335. #define USB_USBINTR_UEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UEE_SHIFT)) & USB_USBINTR_UEE_MASK)
  79336. #define USB_USBINTR_PCE_MASK (0x4U)
  79337. #define USB_USBINTR_PCE_SHIFT (2U)
  79338. /*! PCE - PCE
  79339. */
  79340. #define USB_USBINTR_PCE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_PCE_SHIFT)) & USB_USBINTR_PCE_MASK)
  79341. #define USB_USBINTR_FRE_MASK (0x8U)
  79342. #define USB_USBINTR_FRE_SHIFT (3U)
  79343. /*! FRE - FRE
  79344. */
  79345. #define USB_USBINTR_FRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_FRE_SHIFT)) & USB_USBINTR_FRE_MASK)
  79346. #define USB_USBINTR_SEE_MASK (0x10U)
  79347. #define USB_USBINTR_SEE_SHIFT (4U)
  79348. /*! SEE - SEE
  79349. */
  79350. #define USB_USBINTR_SEE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SEE_SHIFT)) & USB_USBINTR_SEE_MASK)
  79351. #define USB_USBINTR_AAE_MASK (0x20U)
  79352. #define USB_USBINTR_AAE_SHIFT (5U)
  79353. /*! AAE - AAE
  79354. */
  79355. #define USB_USBINTR_AAE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_AAE_SHIFT)) & USB_USBINTR_AAE_MASK)
  79356. #define USB_USBINTR_URE_MASK (0x40U)
  79357. #define USB_USBINTR_URE_SHIFT (6U)
  79358. /*! URE - URE
  79359. */
  79360. #define USB_USBINTR_URE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_URE_SHIFT)) & USB_USBINTR_URE_MASK)
  79361. #define USB_USBINTR_SRE_MASK (0x80U)
  79362. #define USB_USBINTR_SRE_SHIFT (7U)
  79363. /*! SRE - SRE
  79364. */
  79365. #define USB_USBINTR_SRE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SRE_SHIFT)) & USB_USBINTR_SRE_MASK)
  79366. #define USB_USBINTR_SLE_MASK (0x100U)
  79367. #define USB_USBINTR_SLE_SHIFT (8U)
  79368. /*! SLE - SLE
  79369. */
  79370. #define USB_USBINTR_SLE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_SLE_SHIFT)) & USB_USBINTR_SLE_MASK)
  79371. #define USB_USBINTR_ULPIE_MASK (0x400U)
  79372. #define USB_USBINTR_ULPIE_SHIFT (10U)
  79373. /*! ULPIE - ULPIE
  79374. */
  79375. #define USB_USBINTR_ULPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_ULPIE_SHIFT)) & USB_USBINTR_ULPIE_MASK)
  79376. #define USB_USBINTR_NAKE_MASK (0x10000U)
  79377. #define USB_USBINTR_NAKE_SHIFT (16U)
  79378. /*! NAKE - NAKE
  79379. */
  79380. #define USB_USBINTR_NAKE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_NAKE_SHIFT)) & USB_USBINTR_NAKE_MASK)
  79381. #define USB_USBINTR_UAIE_MASK (0x40000U)
  79382. #define USB_USBINTR_UAIE_SHIFT (18U)
  79383. /*! UAIE - UAIE
  79384. */
  79385. #define USB_USBINTR_UAIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UAIE_SHIFT)) & USB_USBINTR_UAIE_MASK)
  79386. #define USB_USBINTR_UPIE_MASK (0x80000U)
  79387. #define USB_USBINTR_UPIE_SHIFT (19U)
  79388. /*! UPIE - UPIE
  79389. */
  79390. #define USB_USBINTR_UPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_UPIE_SHIFT)) & USB_USBINTR_UPIE_MASK)
  79391. #define USB_USBINTR_TIE0_MASK (0x1000000U)
  79392. #define USB_USBINTR_TIE0_SHIFT (24U)
  79393. /*! TIE0 - TIE0
  79394. */
  79395. #define USB_USBINTR_TIE0(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE0_SHIFT)) & USB_USBINTR_TIE0_MASK)
  79396. #define USB_USBINTR_TIE1_MASK (0x2000000U)
  79397. #define USB_USBINTR_TIE1_SHIFT (25U)
  79398. /*! TIE1 - TIE1
  79399. */
  79400. #define USB_USBINTR_TIE1(x) (((uint32_t)(((uint32_t)(x)) << USB_USBINTR_TIE1_SHIFT)) & USB_USBINTR_TIE1_MASK)
  79401. /*! @} */
  79402. /*! @name FRINDEX - USB Frame Index */
  79403. /*! @{ */
  79404. #define USB_FRINDEX_FRINDEX_MASK (0x3FFFU)
  79405. #define USB_FRINDEX_FRINDEX_SHIFT (0U)
  79406. /*! FRINDEX - FRINDEX
  79407. * 0b00000000000000..(1024) 12
  79408. * 0b00000000000001..(512) 11
  79409. * 0b00000000000010..(256) 10
  79410. * 0b00000000000011..(128) 9
  79411. * 0b00000000000100..(64) 8
  79412. * 0b00000000000101..(32) 7
  79413. * 0b00000000000110..(16) 6
  79414. * 0b00000000000111..(8) 5
  79415. */
  79416. #define USB_FRINDEX_FRINDEX(x) (((uint32_t)(((uint32_t)(x)) << USB_FRINDEX_FRINDEX_SHIFT)) & USB_FRINDEX_FRINDEX_MASK)
  79417. /*! @} */
  79418. /*! @name DEVICEADDR - Device Address */
  79419. /*! @{ */
  79420. #define USB_DEVICEADDR_USBADRA_MASK (0x1000000U)
  79421. #define USB_DEVICEADDR_USBADRA_SHIFT (24U)
  79422. /*! USBADRA - USBADRA
  79423. */
  79424. #define USB_DEVICEADDR_USBADRA(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADRA_SHIFT)) & USB_DEVICEADDR_USBADRA_MASK)
  79425. #define USB_DEVICEADDR_USBADR_MASK (0xFE000000U)
  79426. #define USB_DEVICEADDR_USBADR_SHIFT (25U)
  79427. /*! USBADR - USBADR
  79428. */
  79429. #define USB_DEVICEADDR_USBADR(x) (((uint32_t)(((uint32_t)(x)) << USB_DEVICEADDR_USBADR_SHIFT)) & USB_DEVICEADDR_USBADR_MASK)
  79430. /*! @} */
  79431. /*! @name PERIODICLISTBASE - Frame List Base Address */
  79432. /*! @{ */
  79433. #define USB_PERIODICLISTBASE_BASEADR_MASK (0xFFFFF000U)
  79434. #define USB_PERIODICLISTBASE_BASEADR_SHIFT (12U)
  79435. /*! BASEADR - BASEADR
  79436. */
  79437. #define USB_PERIODICLISTBASE_BASEADR(x) (((uint32_t)(((uint32_t)(x)) << USB_PERIODICLISTBASE_BASEADR_SHIFT)) & USB_PERIODICLISTBASE_BASEADR_MASK)
  79438. /*! @} */
  79439. /*! @name ASYNCLISTADDR - Next Asynch. Address */
  79440. /*! @{ */
  79441. #define USB_ASYNCLISTADDR_ASYBASE_MASK (0xFFFFFFE0U)
  79442. #define USB_ASYNCLISTADDR_ASYBASE_SHIFT (5U)
  79443. /*! ASYBASE - ASYBASE
  79444. */
  79445. #define USB_ASYNCLISTADDR_ASYBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ASYNCLISTADDR_ASYBASE_SHIFT)) & USB_ASYNCLISTADDR_ASYBASE_MASK)
  79446. /*! @} */
  79447. /*! @name ENDPTLISTADDR - Endpoint List Address */
  79448. /*! @{ */
  79449. #define USB_ENDPTLISTADDR_EPBASE_MASK (0xFFFFF800U)
  79450. #define USB_ENDPTLISTADDR_EPBASE_SHIFT (11U)
  79451. /*! EPBASE - EPBASE
  79452. */
  79453. #define USB_ENDPTLISTADDR_EPBASE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTLISTADDR_EPBASE_SHIFT)) & USB_ENDPTLISTADDR_EPBASE_MASK)
  79454. /*! @} */
  79455. /*! @name BURSTSIZE - Programmable Burst Size */
  79456. /*! @{ */
  79457. #define USB_BURSTSIZE_RXPBURST_MASK (0xFFU)
  79458. #define USB_BURSTSIZE_RXPBURST_SHIFT (0U)
  79459. /*! RXPBURST - RXPBURST
  79460. */
  79461. #define USB_BURSTSIZE_RXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_RXPBURST_SHIFT)) & USB_BURSTSIZE_RXPBURST_MASK)
  79462. #define USB_BURSTSIZE_TXPBURST_MASK (0x1FF00U)
  79463. #define USB_BURSTSIZE_TXPBURST_SHIFT (8U)
  79464. /*! TXPBURST - TXPBURST
  79465. */
  79466. #define USB_BURSTSIZE_TXPBURST(x) (((uint32_t)(((uint32_t)(x)) << USB_BURSTSIZE_TXPBURST_SHIFT)) & USB_BURSTSIZE_TXPBURST_MASK)
  79467. /*! @} */
  79468. /*! @name TXFILLTUNING - TX FIFO Fill Tuning */
  79469. /*! @{ */
  79470. #define USB_TXFILLTUNING_TXSCHOH_MASK (0xFFU)
  79471. #define USB_TXFILLTUNING_TXSCHOH_SHIFT (0U)
  79472. /*! TXSCHOH - TXSCHOH
  79473. */
  79474. #define USB_TXFILLTUNING_TXSCHOH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHOH_SHIFT)) & USB_TXFILLTUNING_TXSCHOH_MASK)
  79475. #define USB_TXFILLTUNING_TXSCHHEALTH_MASK (0x1F00U)
  79476. #define USB_TXFILLTUNING_TXSCHHEALTH_SHIFT (8U)
  79477. /*! TXSCHHEALTH - TXSCHHEALTH
  79478. */
  79479. #define USB_TXFILLTUNING_TXSCHHEALTH(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXSCHHEALTH_SHIFT)) & USB_TXFILLTUNING_TXSCHHEALTH_MASK)
  79480. #define USB_TXFILLTUNING_TXFIFOTHRES_MASK (0x3F0000U)
  79481. #define USB_TXFILLTUNING_TXFIFOTHRES_SHIFT (16U)
  79482. /*! TXFIFOTHRES - TXFIFOTHRES
  79483. */
  79484. #define USB_TXFILLTUNING_TXFIFOTHRES(x) (((uint32_t)(((uint32_t)(x)) << USB_TXFILLTUNING_TXFIFOTHRES_SHIFT)) & USB_TXFILLTUNING_TXFIFOTHRES_MASK)
  79485. /*! @} */
  79486. /*! @name ENDPTNAK - Endpoint NAK */
  79487. /*! @{ */
  79488. #define USB_ENDPTNAK_EPRN_MASK (0xFFU)
  79489. #define USB_ENDPTNAK_EPRN_SHIFT (0U)
  79490. /*! EPRN - EPRN
  79491. */
  79492. #define USB_ENDPTNAK_EPRN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPRN_SHIFT)) & USB_ENDPTNAK_EPRN_MASK)
  79493. #define USB_ENDPTNAK_EPTN_MASK (0xFF0000U)
  79494. #define USB_ENDPTNAK_EPTN_SHIFT (16U)
  79495. /*! EPTN - EPTN
  79496. */
  79497. #define USB_ENDPTNAK_EPTN(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAK_EPTN_SHIFT)) & USB_ENDPTNAK_EPTN_MASK)
  79498. /*! @} */
  79499. /*! @name ENDPTNAKEN - Endpoint NAK Enable */
  79500. /*! @{ */
  79501. #define USB_ENDPTNAKEN_EPRNE_MASK (0xFFU)
  79502. #define USB_ENDPTNAKEN_EPRNE_SHIFT (0U)
  79503. /*! EPRNE - EPRNE
  79504. */
  79505. #define USB_ENDPTNAKEN_EPRNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPRNE_SHIFT)) & USB_ENDPTNAKEN_EPRNE_MASK)
  79506. #define USB_ENDPTNAKEN_EPTNE_MASK (0xFF0000U)
  79507. #define USB_ENDPTNAKEN_EPTNE_SHIFT (16U)
  79508. /*! EPTNE - EPTNE
  79509. */
  79510. #define USB_ENDPTNAKEN_EPTNE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTNAKEN_EPTNE_SHIFT)) & USB_ENDPTNAKEN_EPTNE_MASK)
  79511. /*! @} */
  79512. /*! @name CONFIGFLAG - Configure Flag Register */
  79513. /*! @{ */
  79514. #define USB_CONFIGFLAG_CF_MASK (0x1U)
  79515. #define USB_CONFIGFLAG_CF_SHIFT (0U)
  79516. /*! CF - CF
  79517. * 0b0..Port routing control logic default-routes each port to an implementation dependent classic host controller.
  79518. * 0b1..Port routing control logic default-routes all ports to this host controller.
  79519. */
  79520. #define USB_CONFIGFLAG_CF(x) (((uint32_t)(((uint32_t)(x)) << USB_CONFIGFLAG_CF_SHIFT)) & USB_CONFIGFLAG_CF_MASK)
  79521. /*! @} */
  79522. /*! @name PORTSC1 - Port Status & Control */
  79523. /*! @{ */
  79524. #define USB_PORTSC1_CCS_MASK (0x1U)
  79525. #define USB_PORTSC1_CCS_SHIFT (0U)
  79526. /*! CCS - CCS
  79527. */
  79528. #define USB_PORTSC1_CCS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CCS_SHIFT)) & USB_PORTSC1_CCS_MASK)
  79529. #define USB_PORTSC1_CSC_MASK (0x2U)
  79530. #define USB_PORTSC1_CSC_SHIFT (1U)
  79531. /*! CSC - CSC
  79532. */
  79533. #define USB_PORTSC1_CSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_CSC_SHIFT)) & USB_PORTSC1_CSC_MASK)
  79534. #define USB_PORTSC1_PE_MASK (0x4U)
  79535. #define USB_PORTSC1_PE_SHIFT (2U)
  79536. /*! PE - PE
  79537. */
  79538. #define USB_PORTSC1_PE(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PE_SHIFT)) & USB_PORTSC1_PE_MASK)
  79539. #define USB_PORTSC1_PEC_MASK (0x8U)
  79540. #define USB_PORTSC1_PEC_SHIFT (3U)
  79541. /*! PEC - PEC
  79542. */
  79543. #define USB_PORTSC1_PEC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PEC_SHIFT)) & USB_PORTSC1_PEC_MASK)
  79544. #define USB_PORTSC1_OCA_MASK (0x10U)
  79545. #define USB_PORTSC1_OCA_SHIFT (4U)
  79546. /*! OCA - OCA
  79547. * 0b1..This port currently has an over-current condition
  79548. * 0b0..This port does not have an over-current condition.
  79549. */
  79550. #define USB_PORTSC1_OCA(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCA_SHIFT)) & USB_PORTSC1_OCA_MASK)
  79551. #define USB_PORTSC1_OCC_MASK (0x20U)
  79552. #define USB_PORTSC1_OCC_SHIFT (5U)
  79553. /*! OCC - OCC
  79554. */
  79555. #define USB_PORTSC1_OCC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_OCC_SHIFT)) & USB_PORTSC1_OCC_MASK)
  79556. #define USB_PORTSC1_FPR_MASK (0x40U)
  79557. #define USB_PORTSC1_FPR_SHIFT (6U)
  79558. /*! FPR - FPR
  79559. */
  79560. #define USB_PORTSC1_FPR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_FPR_SHIFT)) & USB_PORTSC1_FPR_MASK)
  79561. #define USB_PORTSC1_SUSP_MASK (0x80U)
  79562. #define USB_PORTSC1_SUSP_SHIFT (7U)
  79563. /*! SUSP - SUSP
  79564. */
  79565. #define USB_PORTSC1_SUSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_SUSP_SHIFT)) & USB_PORTSC1_SUSP_MASK)
  79566. #define USB_PORTSC1_PR_MASK (0x100U)
  79567. #define USB_PORTSC1_PR_SHIFT (8U)
  79568. /*! PR - PR
  79569. */
  79570. #define USB_PORTSC1_PR(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PR_SHIFT)) & USB_PORTSC1_PR_MASK)
  79571. #define USB_PORTSC1_HSP_MASK (0x200U)
  79572. #define USB_PORTSC1_HSP_SHIFT (9U)
  79573. /*! HSP - HSP
  79574. */
  79575. #define USB_PORTSC1_HSP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_HSP_SHIFT)) & USB_PORTSC1_HSP_MASK)
  79576. #define USB_PORTSC1_LS_MASK (0xC00U)
  79577. #define USB_PORTSC1_LS_SHIFT (10U)
  79578. /*! LS - LS
  79579. * 0b00..SE0
  79580. * 0b10..J-state
  79581. * 0b01..K-state
  79582. * 0b11..Undefined
  79583. */
  79584. #define USB_PORTSC1_LS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_LS_SHIFT)) & USB_PORTSC1_LS_MASK)
  79585. #define USB_PORTSC1_PP_MASK (0x1000U)
  79586. #define USB_PORTSC1_PP_SHIFT (12U)
  79587. /*! PP - PP
  79588. */
  79589. #define USB_PORTSC1_PP(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PP_SHIFT)) & USB_PORTSC1_PP_MASK)
  79590. #define USB_PORTSC1_PO_MASK (0x2000U)
  79591. #define USB_PORTSC1_PO_SHIFT (13U)
  79592. /*! PO - PO
  79593. */
  79594. #define USB_PORTSC1_PO(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PO_SHIFT)) & USB_PORTSC1_PO_MASK)
  79595. #define USB_PORTSC1_PIC_MASK (0xC000U)
  79596. #define USB_PORTSC1_PIC_SHIFT (14U)
  79597. /*! PIC - PIC
  79598. * 0b00..Port indicators are off
  79599. * 0b01..Amber
  79600. * 0b10..Green
  79601. * 0b11..Undefined
  79602. */
  79603. #define USB_PORTSC1_PIC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PIC_SHIFT)) & USB_PORTSC1_PIC_MASK)
  79604. #define USB_PORTSC1_PTC_MASK (0xF0000U)
  79605. #define USB_PORTSC1_PTC_SHIFT (16U)
  79606. /*! PTC - PTC
  79607. * 0b0000..TEST_MODE_DISABLE
  79608. * 0b0001..J_STATE
  79609. * 0b0010..K_STATE
  79610. * 0b0011..SE0 (host) / NAK (device)
  79611. * 0b0100..Packet
  79612. * 0b0101..FORCE_ENABLE_HS
  79613. * 0b0110..FORCE_ENABLE_FS
  79614. * 0b0111..FORCE_ENABLE_LS
  79615. * 0b1000-0b1111..Reserved
  79616. */
  79617. #define USB_PORTSC1_PTC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTC_SHIFT)) & USB_PORTSC1_PTC_MASK)
  79618. #define USB_PORTSC1_WKCN_MASK (0x100000U)
  79619. #define USB_PORTSC1_WKCN_SHIFT (20U)
  79620. /*! WKCN - WKCN
  79621. */
  79622. #define USB_PORTSC1_WKCN(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKCN_SHIFT)) & USB_PORTSC1_WKCN_MASK)
  79623. #define USB_PORTSC1_WKDC_MASK (0x200000U)
  79624. #define USB_PORTSC1_WKDC_SHIFT (21U)
  79625. /*! WKDC - WKDC
  79626. */
  79627. #define USB_PORTSC1_WKDC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKDC_SHIFT)) & USB_PORTSC1_WKDC_MASK)
  79628. #define USB_PORTSC1_WKOC_MASK (0x400000U)
  79629. #define USB_PORTSC1_WKOC_SHIFT (22U)
  79630. /*! WKOC - WKOC
  79631. */
  79632. #define USB_PORTSC1_WKOC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_WKOC_SHIFT)) & USB_PORTSC1_WKOC_MASK)
  79633. #define USB_PORTSC1_PHCD_MASK (0x800000U)
  79634. #define USB_PORTSC1_PHCD_SHIFT (23U)
  79635. /*! PHCD - PHCD
  79636. * 0b1..Disable PHY clock
  79637. * 0b0..Enable PHY clock
  79638. */
  79639. #define USB_PORTSC1_PHCD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PHCD_SHIFT)) & USB_PORTSC1_PHCD_MASK)
  79640. #define USB_PORTSC1_PFSC_MASK (0x1000000U)
  79641. #define USB_PORTSC1_PFSC_SHIFT (24U)
  79642. /*! PFSC - PFSC
  79643. * 0b1..Forced to full speed
  79644. * 0b0..Normal operation
  79645. */
  79646. #define USB_PORTSC1_PFSC(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PFSC_SHIFT)) & USB_PORTSC1_PFSC_MASK)
  79647. #define USB_PORTSC1_PTS_2_MASK (0x2000000U)
  79648. #define USB_PORTSC1_PTS_2_SHIFT (25U)
  79649. /*! PTS_2 - PTS_2
  79650. */
  79651. #define USB_PORTSC1_PTS_2(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_2_SHIFT)) & USB_PORTSC1_PTS_2_MASK)
  79652. #define USB_PORTSC1_PSPD_MASK (0xC000000U)
  79653. #define USB_PORTSC1_PSPD_SHIFT (26U)
  79654. /*! PSPD - PSPD
  79655. * 0b00..Full Speed
  79656. * 0b01..Low Speed
  79657. * 0b10..High Speed
  79658. * 0b11..Undefined
  79659. */
  79660. #define USB_PORTSC1_PSPD(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PSPD_SHIFT)) & USB_PORTSC1_PSPD_MASK)
  79661. #define USB_PORTSC1_PTW_MASK (0x10000000U)
  79662. #define USB_PORTSC1_PTW_SHIFT (28U)
  79663. /*! PTW - PTW
  79664. * 0b0..Select the 8-bit UTMI interface [60MHz]
  79665. * 0b1..Select the 16-bit UTMI interface [30MHz]
  79666. */
  79667. #define USB_PORTSC1_PTW(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTW_SHIFT)) & USB_PORTSC1_PTW_MASK)
  79668. #define USB_PORTSC1_STS_MASK (0x20000000U)
  79669. #define USB_PORTSC1_STS_SHIFT (29U)
  79670. /*! STS - STS
  79671. */
  79672. #define USB_PORTSC1_STS(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_STS_SHIFT)) & USB_PORTSC1_STS_MASK)
  79673. #define USB_PORTSC1_PTS_1_MASK (0xC0000000U)
  79674. #define USB_PORTSC1_PTS_1_SHIFT (30U)
  79675. /*! PTS_1 - PTS_1
  79676. */
  79677. #define USB_PORTSC1_PTS_1(x) (((uint32_t)(((uint32_t)(x)) << USB_PORTSC1_PTS_1_SHIFT)) & USB_PORTSC1_PTS_1_MASK)
  79678. /*! @} */
  79679. /*! @name OTGSC - On-The-Go Status & control */
  79680. /*! @{ */
  79681. #define USB_OTGSC_VD_MASK (0x1U)
  79682. #define USB_OTGSC_VD_SHIFT (0U)
  79683. /*! VD - VD
  79684. */
  79685. #define USB_OTGSC_VD(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VD_SHIFT)) & USB_OTGSC_VD_MASK)
  79686. #define USB_OTGSC_VC_MASK (0x2U)
  79687. #define USB_OTGSC_VC_SHIFT (1U)
  79688. /*! VC - VC
  79689. */
  79690. #define USB_OTGSC_VC(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_VC_SHIFT)) & USB_OTGSC_VC_MASK)
  79691. #define USB_OTGSC_OT_MASK (0x8U)
  79692. #define USB_OTGSC_OT_SHIFT (3U)
  79693. /*! OT - OT
  79694. */
  79695. #define USB_OTGSC_OT(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_OT_SHIFT)) & USB_OTGSC_OT_MASK)
  79696. #define USB_OTGSC_DP_MASK (0x10U)
  79697. #define USB_OTGSC_DP_SHIFT (4U)
  79698. /*! DP - DP
  79699. */
  79700. #define USB_OTGSC_DP(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DP_SHIFT)) & USB_OTGSC_DP_MASK)
  79701. #define USB_OTGSC_IDPU_MASK (0x20U)
  79702. #define USB_OTGSC_IDPU_SHIFT (5U)
  79703. /*! IDPU - IDPU
  79704. */
  79705. #define USB_OTGSC_IDPU(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDPU_SHIFT)) & USB_OTGSC_IDPU_MASK)
  79706. #define USB_OTGSC_ID_MASK (0x100U)
  79707. #define USB_OTGSC_ID_SHIFT (8U)
  79708. /*! ID - ID
  79709. */
  79710. #define USB_OTGSC_ID(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ID_SHIFT)) & USB_OTGSC_ID_MASK)
  79711. #define USB_OTGSC_AVV_MASK (0x200U)
  79712. #define USB_OTGSC_AVV_SHIFT (9U)
  79713. /*! AVV - AVV
  79714. */
  79715. #define USB_OTGSC_AVV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVV_SHIFT)) & USB_OTGSC_AVV_MASK)
  79716. #define USB_OTGSC_ASV_MASK (0x400U)
  79717. #define USB_OTGSC_ASV_SHIFT (10U)
  79718. /*! ASV - ASV
  79719. */
  79720. #define USB_OTGSC_ASV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASV_SHIFT)) & USB_OTGSC_ASV_MASK)
  79721. #define USB_OTGSC_BSV_MASK (0x800U)
  79722. #define USB_OTGSC_BSV_SHIFT (11U)
  79723. /*! BSV - BSV
  79724. */
  79725. #define USB_OTGSC_BSV(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSV_SHIFT)) & USB_OTGSC_BSV_MASK)
  79726. #define USB_OTGSC_BSE_MASK (0x1000U)
  79727. #define USB_OTGSC_BSE_SHIFT (12U)
  79728. /*! BSE - BSE
  79729. */
  79730. #define USB_OTGSC_BSE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSE_SHIFT)) & USB_OTGSC_BSE_MASK)
  79731. #define USB_OTGSC_TOG_1MS_MASK (0x2000U)
  79732. #define USB_OTGSC_TOG_1MS_SHIFT (13U)
  79733. /*! TOG_1MS - TOG_1MS
  79734. */
  79735. #define USB_OTGSC_TOG_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_TOG_1MS_SHIFT)) & USB_OTGSC_TOG_1MS_MASK)
  79736. #define USB_OTGSC_DPS_MASK (0x4000U)
  79737. #define USB_OTGSC_DPS_SHIFT (14U)
  79738. /*! DPS - DPS
  79739. */
  79740. #define USB_OTGSC_DPS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPS_SHIFT)) & USB_OTGSC_DPS_MASK)
  79741. #define USB_OTGSC_IDIS_MASK (0x10000U)
  79742. #define USB_OTGSC_IDIS_SHIFT (16U)
  79743. /*! IDIS - IDIS
  79744. */
  79745. #define USB_OTGSC_IDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIS_SHIFT)) & USB_OTGSC_IDIS_MASK)
  79746. #define USB_OTGSC_AVVIS_MASK (0x20000U)
  79747. #define USB_OTGSC_AVVIS_SHIFT (17U)
  79748. /*! AVVIS - AVVIS
  79749. */
  79750. #define USB_OTGSC_AVVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIS_SHIFT)) & USB_OTGSC_AVVIS_MASK)
  79751. #define USB_OTGSC_ASVIS_MASK (0x40000U)
  79752. #define USB_OTGSC_ASVIS_SHIFT (18U)
  79753. /*! ASVIS - ASVIS
  79754. */
  79755. #define USB_OTGSC_ASVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIS_SHIFT)) & USB_OTGSC_ASVIS_MASK)
  79756. #define USB_OTGSC_BSVIS_MASK (0x80000U)
  79757. #define USB_OTGSC_BSVIS_SHIFT (19U)
  79758. /*! BSVIS - BSVIS
  79759. */
  79760. #define USB_OTGSC_BSVIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIS_SHIFT)) & USB_OTGSC_BSVIS_MASK)
  79761. #define USB_OTGSC_BSEIS_MASK (0x100000U)
  79762. #define USB_OTGSC_BSEIS_SHIFT (20U)
  79763. /*! BSEIS - BSEIS
  79764. */
  79765. #define USB_OTGSC_BSEIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIS_SHIFT)) & USB_OTGSC_BSEIS_MASK)
  79766. #define USB_OTGSC_STATUS_1MS_MASK (0x200000U)
  79767. #define USB_OTGSC_STATUS_1MS_SHIFT (21U)
  79768. /*! STATUS_1MS - STATUS_1MS
  79769. */
  79770. #define USB_OTGSC_STATUS_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_STATUS_1MS_SHIFT)) & USB_OTGSC_STATUS_1MS_MASK)
  79771. #define USB_OTGSC_DPIS_MASK (0x400000U)
  79772. #define USB_OTGSC_DPIS_SHIFT (22U)
  79773. /*! DPIS - DPIS
  79774. */
  79775. #define USB_OTGSC_DPIS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIS_SHIFT)) & USB_OTGSC_DPIS_MASK)
  79776. #define USB_OTGSC_IDIE_MASK (0x1000000U)
  79777. #define USB_OTGSC_IDIE_SHIFT (24U)
  79778. /*! IDIE - IDIE
  79779. */
  79780. #define USB_OTGSC_IDIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_IDIE_SHIFT)) & USB_OTGSC_IDIE_MASK)
  79781. #define USB_OTGSC_AVVIE_MASK (0x2000000U)
  79782. #define USB_OTGSC_AVVIE_SHIFT (25U)
  79783. /*! AVVIE - AVVIE
  79784. */
  79785. #define USB_OTGSC_AVVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_AVVIE_SHIFT)) & USB_OTGSC_AVVIE_MASK)
  79786. #define USB_OTGSC_ASVIE_MASK (0x4000000U)
  79787. #define USB_OTGSC_ASVIE_SHIFT (26U)
  79788. /*! ASVIE - ASVIE
  79789. */
  79790. #define USB_OTGSC_ASVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_ASVIE_SHIFT)) & USB_OTGSC_ASVIE_MASK)
  79791. #define USB_OTGSC_BSVIE_MASK (0x8000000U)
  79792. #define USB_OTGSC_BSVIE_SHIFT (27U)
  79793. /*! BSVIE - BSVIE
  79794. */
  79795. #define USB_OTGSC_BSVIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSVIE_SHIFT)) & USB_OTGSC_BSVIE_MASK)
  79796. #define USB_OTGSC_BSEIE_MASK (0x10000000U)
  79797. #define USB_OTGSC_BSEIE_SHIFT (28U)
  79798. /*! BSEIE - BSEIE
  79799. */
  79800. #define USB_OTGSC_BSEIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_BSEIE_SHIFT)) & USB_OTGSC_BSEIE_MASK)
  79801. #define USB_OTGSC_EN_1MS_MASK (0x20000000U)
  79802. #define USB_OTGSC_EN_1MS_SHIFT (29U)
  79803. /*! EN_1MS - EN_1MS
  79804. */
  79805. #define USB_OTGSC_EN_1MS(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_EN_1MS_SHIFT)) & USB_OTGSC_EN_1MS_MASK)
  79806. #define USB_OTGSC_DPIE_MASK (0x40000000U)
  79807. #define USB_OTGSC_DPIE_SHIFT (30U)
  79808. /*! DPIE - DPIE
  79809. */
  79810. #define USB_OTGSC_DPIE(x) (((uint32_t)(((uint32_t)(x)) << USB_OTGSC_DPIE_SHIFT)) & USB_OTGSC_DPIE_MASK)
  79811. /*! @} */
  79812. /*! @name USBMODE - USB Device Mode */
  79813. /*! @{ */
  79814. #define USB_USBMODE_CM_MASK (0x3U)
  79815. #define USB_USBMODE_CM_SHIFT (0U)
  79816. /*! CM - CM
  79817. * 0b00..Idle [Default for combination host/device]
  79818. * 0b01..Reserved
  79819. * 0b10..Device Controller [Default for device only controller]
  79820. * 0b11..Host Controller [Default for host only controller]
  79821. */
  79822. #define USB_USBMODE_CM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_CM_SHIFT)) & USB_USBMODE_CM_MASK)
  79823. #define USB_USBMODE_ES_MASK (0x4U)
  79824. #define USB_USBMODE_ES_SHIFT (2U)
  79825. /*! ES - ES
  79826. * 0b0..Little Endian [Default]
  79827. * 0b1..Big Endian
  79828. */
  79829. #define USB_USBMODE_ES(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_ES_SHIFT)) & USB_USBMODE_ES_MASK)
  79830. #define USB_USBMODE_SLOM_MASK (0x8U)
  79831. #define USB_USBMODE_SLOM_SHIFT (3U)
  79832. /*! SLOM - SLOM
  79833. * 0b0..Setup Lockouts On (default);
  79834. * 0b1..Setup Lockouts Off
  79835. */
  79836. #define USB_USBMODE_SLOM(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SLOM_SHIFT)) & USB_USBMODE_SLOM_MASK)
  79837. #define USB_USBMODE_SDIS_MASK (0x10U)
  79838. #define USB_USBMODE_SDIS_SHIFT (4U)
  79839. /*! SDIS - SDIS
  79840. */
  79841. #define USB_USBMODE_SDIS(x) (((uint32_t)(((uint32_t)(x)) << USB_USBMODE_SDIS_SHIFT)) & USB_USBMODE_SDIS_MASK)
  79842. /*! @} */
  79843. /*! @name ENDPTSETUPSTAT - Endpoint Setup Status */
  79844. /*! @{ */
  79845. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK (0xFFFFU)
  79846. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT (0U)
  79847. /*! ENDPTSETUPSTAT - ENDPTSETUPSTAT
  79848. */
  79849. #define USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT)) & USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK)
  79850. /*! @} */
  79851. /*! @name ENDPTPRIME - Endpoint Prime */
  79852. /*! @{ */
  79853. #define USB_ENDPTPRIME_PERB_MASK (0xFFU)
  79854. #define USB_ENDPTPRIME_PERB_SHIFT (0U)
  79855. /*! PERB - PERB
  79856. */
  79857. #define USB_ENDPTPRIME_PERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PERB_SHIFT)) & USB_ENDPTPRIME_PERB_MASK)
  79858. #define USB_ENDPTPRIME_PETB_MASK (0xFF0000U)
  79859. #define USB_ENDPTPRIME_PETB_SHIFT (16U)
  79860. /*! PETB - PETB
  79861. */
  79862. #define USB_ENDPTPRIME_PETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTPRIME_PETB_SHIFT)) & USB_ENDPTPRIME_PETB_MASK)
  79863. /*! @} */
  79864. /*! @name ENDPTFLUSH - Endpoint Flush */
  79865. /*! @{ */
  79866. #define USB_ENDPTFLUSH_FERB_MASK (0xFFU)
  79867. #define USB_ENDPTFLUSH_FERB_SHIFT (0U)
  79868. /*! FERB - FERB
  79869. */
  79870. #define USB_ENDPTFLUSH_FERB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FERB_SHIFT)) & USB_ENDPTFLUSH_FERB_MASK)
  79871. #define USB_ENDPTFLUSH_FETB_MASK (0xFF0000U)
  79872. #define USB_ENDPTFLUSH_FETB_SHIFT (16U)
  79873. /*! FETB - FETB
  79874. */
  79875. #define USB_ENDPTFLUSH_FETB(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTFLUSH_FETB_SHIFT)) & USB_ENDPTFLUSH_FETB_MASK)
  79876. /*! @} */
  79877. /*! @name ENDPTSTAT - Endpoint Status */
  79878. /*! @{ */
  79879. #define USB_ENDPTSTAT_ERBR_MASK (0xFFU)
  79880. #define USB_ENDPTSTAT_ERBR_SHIFT (0U)
  79881. /*! ERBR - ERBR
  79882. */
  79883. #define USB_ENDPTSTAT_ERBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ERBR_SHIFT)) & USB_ENDPTSTAT_ERBR_MASK)
  79884. #define USB_ENDPTSTAT_ETBR_MASK (0xFF0000U)
  79885. #define USB_ENDPTSTAT_ETBR_SHIFT (16U)
  79886. /*! ETBR - ETBR
  79887. */
  79888. #define USB_ENDPTSTAT_ETBR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTSTAT_ETBR_SHIFT)) & USB_ENDPTSTAT_ETBR_MASK)
  79889. /*! @} */
  79890. /*! @name ENDPTCOMPLETE - Endpoint Complete */
  79891. /*! @{ */
  79892. #define USB_ENDPTCOMPLETE_ERCE_MASK (0xFFU)
  79893. #define USB_ENDPTCOMPLETE_ERCE_SHIFT (0U)
  79894. /*! ERCE - ERCE
  79895. */
  79896. #define USB_ENDPTCOMPLETE_ERCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ERCE_SHIFT)) & USB_ENDPTCOMPLETE_ERCE_MASK)
  79897. #define USB_ENDPTCOMPLETE_ETCE_MASK (0xFF0000U)
  79898. #define USB_ENDPTCOMPLETE_ETCE_SHIFT (16U)
  79899. /*! ETCE - ETCE
  79900. */
  79901. #define USB_ENDPTCOMPLETE_ETCE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCOMPLETE_ETCE_SHIFT)) & USB_ENDPTCOMPLETE_ETCE_MASK)
  79902. /*! @} */
  79903. /*! @name ENDPTCTRL0 - Endpoint Control0 */
  79904. /*! @{ */
  79905. #define USB_ENDPTCTRL0_RXS_MASK (0x1U)
  79906. #define USB_ENDPTCTRL0_RXS_SHIFT (0U)
  79907. /*! RXS - RXS
  79908. */
  79909. #define USB_ENDPTCTRL0_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXS_SHIFT)) & USB_ENDPTCTRL0_RXS_MASK)
  79910. #define USB_ENDPTCTRL0_RXT_MASK (0xCU)
  79911. #define USB_ENDPTCTRL0_RXT_SHIFT (2U)
  79912. /*! RXT - RXT
  79913. */
  79914. #define USB_ENDPTCTRL0_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXT_SHIFT)) & USB_ENDPTCTRL0_RXT_MASK)
  79915. #define USB_ENDPTCTRL0_RXE_MASK (0x80U)
  79916. #define USB_ENDPTCTRL0_RXE_SHIFT (7U)
  79917. /*! RXE - RXE
  79918. */
  79919. #define USB_ENDPTCTRL0_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_RXE_SHIFT)) & USB_ENDPTCTRL0_RXE_MASK)
  79920. #define USB_ENDPTCTRL0_TXS_MASK (0x10000U)
  79921. #define USB_ENDPTCTRL0_TXS_SHIFT (16U)
  79922. /*! TXS - TXS
  79923. */
  79924. #define USB_ENDPTCTRL0_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXS_SHIFT)) & USB_ENDPTCTRL0_TXS_MASK)
  79925. #define USB_ENDPTCTRL0_TXT_MASK (0xC0000U)
  79926. #define USB_ENDPTCTRL0_TXT_SHIFT (18U)
  79927. /*! TXT - TXT
  79928. */
  79929. #define USB_ENDPTCTRL0_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXT_SHIFT)) & USB_ENDPTCTRL0_TXT_MASK)
  79930. #define USB_ENDPTCTRL0_TXE_MASK (0x800000U)
  79931. #define USB_ENDPTCTRL0_TXE_SHIFT (23U)
  79932. /*! TXE - TXE
  79933. */
  79934. #define USB_ENDPTCTRL0_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL0_TXE_SHIFT)) & USB_ENDPTCTRL0_TXE_MASK)
  79935. /*! @} */
  79936. /*! @name ENDPTCTRL - Endpoint Control 1..Endpoint Control 7 */
  79937. /*! @{ */
  79938. #define USB_ENDPTCTRL_RXS_MASK (0x1U)
  79939. #define USB_ENDPTCTRL_RXS_SHIFT (0U)
  79940. /*! RXS - RXS
  79941. */
  79942. #define USB_ENDPTCTRL_RXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXS_SHIFT)) & USB_ENDPTCTRL_RXS_MASK)
  79943. #define USB_ENDPTCTRL_RXD_MASK (0x2U)
  79944. #define USB_ENDPTCTRL_RXD_SHIFT (1U)
  79945. /*! RXD - RXD
  79946. */
  79947. #define USB_ENDPTCTRL_RXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXD_SHIFT)) & USB_ENDPTCTRL_RXD_MASK)
  79948. #define USB_ENDPTCTRL_RXT_MASK (0xCU)
  79949. #define USB_ENDPTCTRL_RXT_SHIFT (2U)
  79950. /*! RXT - RXT
  79951. */
  79952. #define USB_ENDPTCTRL_RXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXT_SHIFT)) & USB_ENDPTCTRL_RXT_MASK)
  79953. #define USB_ENDPTCTRL_RXI_MASK (0x20U)
  79954. #define USB_ENDPTCTRL_RXI_SHIFT (5U)
  79955. /*! RXI - RXI
  79956. */
  79957. #define USB_ENDPTCTRL_RXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXI_SHIFT)) & USB_ENDPTCTRL_RXI_MASK)
  79958. #define USB_ENDPTCTRL_RXR_MASK (0x40U)
  79959. #define USB_ENDPTCTRL_RXR_SHIFT (6U)
  79960. /*! RXR - RXR
  79961. */
  79962. #define USB_ENDPTCTRL_RXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXR_SHIFT)) & USB_ENDPTCTRL_RXR_MASK)
  79963. #define USB_ENDPTCTRL_RXE_MASK (0x80U)
  79964. #define USB_ENDPTCTRL_RXE_SHIFT (7U)
  79965. /*! RXE - RXE
  79966. */
  79967. #define USB_ENDPTCTRL_RXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_RXE_SHIFT)) & USB_ENDPTCTRL_RXE_MASK)
  79968. #define USB_ENDPTCTRL_TXS_MASK (0x10000U)
  79969. #define USB_ENDPTCTRL_TXS_SHIFT (16U)
  79970. /*! TXS - TXS
  79971. */
  79972. #define USB_ENDPTCTRL_TXS(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXS_SHIFT)) & USB_ENDPTCTRL_TXS_MASK)
  79973. #define USB_ENDPTCTRL_TXD_MASK (0x20000U)
  79974. #define USB_ENDPTCTRL_TXD_SHIFT (17U)
  79975. /*! TXD - TXD
  79976. */
  79977. #define USB_ENDPTCTRL_TXD(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXD_SHIFT)) & USB_ENDPTCTRL_TXD_MASK)
  79978. #define USB_ENDPTCTRL_TXT_MASK (0xC0000U)
  79979. #define USB_ENDPTCTRL_TXT_SHIFT (18U)
  79980. /*! TXT - TXT
  79981. */
  79982. #define USB_ENDPTCTRL_TXT(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXT_SHIFT)) & USB_ENDPTCTRL_TXT_MASK)
  79983. #define USB_ENDPTCTRL_TXI_MASK (0x200000U)
  79984. #define USB_ENDPTCTRL_TXI_SHIFT (21U)
  79985. /*! TXI - TXI
  79986. */
  79987. #define USB_ENDPTCTRL_TXI(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXI_SHIFT)) & USB_ENDPTCTRL_TXI_MASK)
  79988. #define USB_ENDPTCTRL_TXR_MASK (0x400000U)
  79989. #define USB_ENDPTCTRL_TXR_SHIFT (22U)
  79990. /*! TXR - TXR
  79991. */
  79992. #define USB_ENDPTCTRL_TXR(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXR_SHIFT)) & USB_ENDPTCTRL_TXR_MASK)
  79993. #define USB_ENDPTCTRL_TXE_MASK (0x800000U)
  79994. #define USB_ENDPTCTRL_TXE_SHIFT (23U)
  79995. /*! TXE - TXE
  79996. */
  79997. #define USB_ENDPTCTRL_TXE(x) (((uint32_t)(((uint32_t)(x)) << USB_ENDPTCTRL_TXE_SHIFT)) & USB_ENDPTCTRL_TXE_MASK)
  79998. /*! @} */
  79999. /* The count of USB_ENDPTCTRL */
  80000. #define USB_ENDPTCTRL_COUNT (7U)
  80001. /*!
  80002. * @}
  80003. */ /* end of group USB_Register_Masks */
  80004. /* USB - Peripheral instance base addresses */
  80005. /** Peripheral USB_OTG1 base address */
  80006. #define USB_OTG1_BASE (0x40430000u)
  80007. /** Peripheral USB_OTG1 base pointer */
  80008. #define USB_OTG1 ((USB_Type *)USB_OTG1_BASE)
  80009. /** Peripheral USB_OTG2 base address */
  80010. #define USB_OTG2_BASE (0x4042C000u)
  80011. /** Peripheral USB_OTG2 base pointer */
  80012. #define USB_OTG2 ((USB_Type *)USB_OTG2_BASE)
  80013. /** Array initializer of USB peripheral base addresses */
  80014. #define USB_BASE_ADDRS { 0u, USB_OTG1_BASE, USB_OTG2_BASE }
  80015. /** Array initializer of USB peripheral base pointers */
  80016. #define USB_BASE_PTRS { (USB_Type *)0u, USB_OTG1, USB_OTG2 }
  80017. /** Interrupt vectors for the USB peripheral type */
  80018. #define USB_IRQS { NotAvail_IRQn, USB_OTG1_IRQn, USB_OTG2_IRQn }
  80019. /* Backward compatibility */
  80020. #define GPTIMER0CTL GPTIMER0CTRL
  80021. #define GPTIMER1CTL GPTIMER1CTRL
  80022. #define USB_SBUSCFG SBUSCFG
  80023. #define EPLISTADDR ENDPTLISTADDR
  80024. #define EPSETUPSR ENDPTSETUPSTAT
  80025. #define EPPRIME ENDPTPRIME
  80026. #define EPFLUSH ENDPTFLUSH
  80027. #define EPSR ENDPTSTAT
  80028. #define EPCOMPLETE ENDPTCOMPLETE
  80029. #define EPCR ENDPTCTRL
  80030. #define EPCR0 ENDPTCTRL0
  80031. #define USBHS_ID_ID_MASK USB_ID_ID_MASK
  80032. #define USBHS_ID_ID_SHIFT USB_ID_ID_SHIFT
  80033. #define USBHS_ID_ID(x) USB_ID_ID(x)
  80034. #define USBHS_ID_NID_MASK USB_ID_NID_MASK
  80035. #define USBHS_ID_NID_SHIFT USB_ID_NID_SHIFT
  80036. #define USBHS_ID_NID(x) USB_ID_NID(x)
  80037. #define USBHS_ID_REVISION_MASK USB_ID_REVISION_MASK
  80038. #define USBHS_ID_REVISION_SHIFT USB_ID_REVISION_SHIFT
  80039. #define USBHS_ID_REVISION(x) USB_ID_REVISION(x)
  80040. #define USBHS_HWGENERAL_PHYW_MASK USB_HWGENERAL_PHYW_MASK
  80041. #define USBHS_HWGENERAL_PHYW_SHIFT USB_HWGENERAL_PHYW_SHIFT
  80042. #define USBHS_HWGENERAL_PHYW(x) USB_HWGENERAL_PHYW(x)
  80043. #define USBHS_HWGENERAL_PHYM_MASK USB_HWGENERAL_PHYM_MASK
  80044. #define USBHS_HWGENERAL_PHYM_SHIFT USB_HWGENERAL_PHYM_SHIFT
  80045. #define USBHS_HWGENERAL_PHYM(x) USB_HWGENERAL_PHYM(x)
  80046. #define USBHS_HWGENERAL_SM_MASK USB_HWGENERAL_SM_MASK
  80047. #define USBHS_HWGENERAL_SM_SHIFT USB_HWGENERAL_SM_SHIFT
  80048. #define USBHS_HWGENERAL_SM(x) USB_HWGENERAL_SM(x)
  80049. #define USBHS_HWHOST_HC_MASK USB_HWHOST_HC_MASK
  80050. #define USBHS_HWHOST_HC_SHIFT USB_HWHOST_HC_SHIFT
  80051. #define USBHS_HWHOST_HC(x) USB_HWHOST_HC(x)
  80052. #define USBHS_HWHOST_NPORT_MASK USB_HWHOST_NPORT_MASK
  80053. #define USBHS_HWHOST_NPORT_SHIFT USB_HWHOST_NPORT_SHIFT
  80054. #define USBHS_HWHOST_NPORT(x) USB_HWHOST_NPORT(x)
  80055. #define USBHS_HWDEVICE_DC_MASK USB_HWDEVICE_DC_MASK
  80056. #define USBHS_HWDEVICE_DC_SHIFT USB_HWDEVICE_DC_SHIFT
  80057. #define USBHS_HWDEVICE_DC(x) USB_HWDEVICE_DC(x)
  80058. #define USBHS_HWDEVICE_DEVEP_MASK USB_HWDEVICE_DEVEP_MASK
  80059. #define USBHS_HWDEVICE_DEVEP_SHIFT USB_HWDEVICE_DEVEP_SHIFT
  80060. #define USBHS_HWDEVICE_DEVEP(x) USB_HWDEVICE_DEVEP(x)
  80061. #define USBHS_HWTXBUF_TXBURST_MASK USB_HWTXBUF_TXBURST_MASK
  80062. #define USBHS_HWTXBUF_TXBURST_SHIFT USB_HWTXBUF_TXBURST_SHIFT
  80063. #define USBHS_HWTXBUF_TXBURST(x) USB_HWTXBUF_TXBURST(x)
  80064. #define USBHS_HWTXBUF_TXCHANADD_MASK USB_HWTXBUF_TXCHANADD_MASK
  80065. #define USBHS_HWTXBUF_TXCHANADD_SHIFT USB_HWTXBUF_TXCHANADD_SHIFT
  80066. #define USBHS_HWTXBUF_TXCHANADD(x) USB_HWTXBUF_TXCHANADD(x)
  80067. #define USBHS_HWRXBUF_RXBURST_MASK USB_HWRXBUF_RXBURST_MASK
  80068. #define USBHS_HWRXBUF_RXBURST_SHIFT USB_HWRXBUF_RXBURST_SHIFT
  80069. #define USBHS_HWRXBUF_RXBURST(x) USB_HWRXBUF_RXBURST(x)
  80070. #define USBHS_HWRXBUF_RXADD_MASK USB_HWRXBUF_RXADD_MASK
  80071. #define USBHS_HWRXBUF_RXADD_SHIFT USB_HWRXBUF_RXADD_SHIFT
  80072. #define USBHS_HWRXBUF_RXADD(x) USB_HWRXBUF_RXADD(x)
  80073. #define USBHS_GPTIMER0LD_GPTLD_MASK USB_GPTIMER0LD_GPTLD_MASK
  80074. #define USBHS_GPTIMER0LD_GPTLD_SHIFT USB_GPTIMER0LD_GPTLD_SHIFT
  80075. #define USBHS_GPTIMER0LD_GPTLD(x) USB_GPTIMER0LD_GPTLD(x)
  80076. #define USBHS_GPTIMER0CTL_GPTCNT_MASK USB_GPTIMER0CTRL_GPTCNT_MASK
  80077. #define USBHS_GPTIMER0CTL_GPTCNT_SHIFT USB_GPTIMER0CTRL_GPTCNT_SHIFT
  80078. #define USBHS_GPTIMER0CTL_GPTCNT(x) USB_GPTIMER0CTRL_GPTCNT(x)
  80079. #define USBHS_GPTIMER0CTL_MODE_MASK USB_GPTIMER0CTRL_GPTMODE_MASK
  80080. #define USBHS_GPTIMER0CTL_MODE_SHIFT USB_GPTIMER0CTRL_GPTMODE_SHIFT
  80081. #define USBHS_GPTIMER0CTL_MODE(x) USB_GPTIMER0CTRL_GPTMODE(x)
  80082. #define USBHS_GPTIMER0CTL_RST_MASK USB_GPTIMER0CTRL_GPTRST_MASK
  80083. #define USBHS_GPTIMER0CTL_RST_SHIFT USB_GPTIMER0CTRL_GPTRST_SHIFT
  80084. #define USBHS_GPTIMER0CTL_RST(x) USB_GPTIMER0CTRL_GPTRST(x)
  80085. #define USBHS_GPTIMER0CTL_RUN_MASK USB_GPTIMER0CTRL_GPTRUN_MASK
  80086. #define USBHS_GPTIMER0CTL_RUN_SHIFT USB_GPTIMER0CTRL_GPTRUN_SHIFT
  80087. #define USBHS_GPTIMER0CTL_RUN(x) USB_GPTIMER0CTRL_GPTRUN(x)
  80088. #define USBHS_GPTIMER1LD_GPTLD_MASK USB_GPTIMER1LD_GPTLD_MASK
  80089. #define USBHS_GPTIMER1LD_GPTLD_SHIFT USB_GPTIMER1LD_GPTLD_SHIFT
  80090. #define USBHS_GPTIMER1LD_GPTLD(x) USB_GPTIMER1LD_GPTLD(x)
  80091. #define USBHS_GPTIMER1CTL_GPTCNT_MASK USB_GPTIMER1CTRL_GPTCNT_MASK
  80092. #define USBHS_GPTIMER1CTL_GPTCNT_SHIFT USB_GPTIMER1CTRL_GPTCNT_SHIFT
  80093. #define USBHS_GPTIMER1CTL_GPTCNT(x) USB_GPTIMER1CTRL_GPTCNT(x)
  80094. #define USBHS_GPTIMER1CTL_MODE_MASK USB_GPTIMER1CTRL_GPTMODE_MASK
  80095. #define USBHS_GPTIMER1CTL_MODE_SHIFT USB_GPTIMER1CTRL_GPTMODE_SHIFT
  80096. #define USBHS_GPTIMER1CTL_MODE(x) USB_GPTIMER1CTRL_GPTMODE(x)
  80097. #define USBHS_GPTIMER1CTL_RST_MASK USB_GPTIMER1CTRL_GPTRST_MASK
  80098. #define USBHS_GPTIMER1CTL_RST_SHIFT USB_GPTIMER1CTRL_GPTRST_SHIFT
  80099. #define USBHS_GPTIMER1CTL_RST(x) USB_GPTIMER1CTRL_GPTRST(x)
  80100. #define USBHS_GPTIMER1CTL_RUN_MASK USB_GPTIMER1CTRL_GPTRUN_MASK
  80101. #define USBHS_GPTIMER1CTL_RUN_SHIFT USB_GPTIMER1CTRL_GPTRUN_SHIFT
  80102. #define USBHS_GPTIMER1CTL_RUN(x) USB_GPTIMER1CTRL_GPTRUN(x)
  80103. #define USBHS_USB_SBUSCFG_BURSTMODE_MASK USB_SBUSCFG_AHBBRST_MASK
  80104. #define USBHS_USB_SBUSCFG_BURSTMODE_SHIFT USB_SBUSCFG_AHBBRST_SHIFT
  80105. #define USBHS_USB_SBUSCFG_BURSTMODE(x) USB_SBUSCFG_AHBBRST(x)
  80106. #define USBHS_HCIVERSION_CAPLENGTH(x) USB_HCIVERSION_CAPLENGTH(x)
  80107. #define USBHS_HCIVERSION_HCIVERSION_MASK USB_HCIVERSION_HCIVERSION_MASK
  80108. #define USBHS_HCIVERSION_HCIVERSION_SHIFT USB_HCIVERSION_HCIVERSION_SHIFT
  80109. #define USBHS_HCIVERSION_HCIVERSION(x) USB_HCIVERSION_HCIVERSION(x)
  80110. #define USBHS_HCSPARAMS_N_PORTS_MASK USB_HCSPARAMS_N_PORTS_MASK
  80111. #define USBHS_HCSPARAMS_N_PORTS_SHIFT USB_HCSPARAMS_N_PORTS_SHIFT
  80112. #define USBHS_HCSPARAMS_N_PORTS(x) USB_HCSPARAMS_N_PORTS(x)
  80113. #define USBHS_HCSPARAMS_PPC_MASK USB_HCSPARAMS_PPC_MASK
  80114. #define USBHS_HCSPARAMS_PPC_SHIFT USB_HCSPARAMS_PPC_SHIFT
  80115. #define USBHS_HCSPARAMS_PPC(x) USB_HCSPARAMS_PPC(x)
  80116. #define USBHS_HCSPARAMS_N_PCC_MASK USB_HCSPARAMS_N_PCC_MASK
  80117. #define USBHS_HCSPARAMS_N_PCC_SHIFT USB_HCSPARAMS_N_PCC_SHIFT
  80118. #define USBHS_HCSPARAMS_N_PCC(x) USB_HCSPARAMS_N_PCC(x)
  80119. #define USBHS_HCSPARAMS_N_CC_MASK USB_HCSPARAMS_N_CC_MASK
  80120. #define USBHS_HCSPARAMS_N_CC_SHIFT USB_HCSPARAMS_N_CC_SHIFT
  80121. #define USBHS_HCSPARAMS_N_CC(x) USB_HCSPARAMS_N_CC(x)
  80122. #define USBHS_HCSPARAMS_PI_MASK USB_HCSPARAMS_PI_MASK
  80123. #define USBHS_HCSPARAMS_PI_SHIFT USB_HCSPARAMS_PI_SHIFT
  80124. #define USBHS_HCSPARAMS_PI(x) USB_HCSPARAMS_PI(x)
  80125. #define USBHS_HCSPARAMS_N_PTT_MASK USB_HCSPARAMS_N_PTT_MASK
  80126. #define USBHS_HCSPARAMS_N_PTT_SHIFT USB_HCSPARAMS_N_PTT_SHIFT
  80127. #define USBHS_HCSPARAMS_N_PTT(x) USB_HCSPARAMS_N_PTT(x)
  80128. #define USBHS_HCSPARAMS_N_TT_MASK USB_HCSPARAMS_N_TT_MASK
  80129. #define USBHS_HCSPARAMS_N_TT_SHIFT USB_HCSPARAMS_N_TT_SHIFT
  80130. #define USBHS_HCSPARAMS_N_TT(x) USB_HCSPARAMS_N_TT(x)
  80131. #define USBHS_HCCPARAMS_ADC_MASK USB_HCCPARAMS_ADC_MASK
  80132. #define USBHS_HCCPARAMS_ADC_SHIFT USB_HCCPARAMS_ADC_SHIFT
  80133. #define USBHS_HCCPARAMS_ADC(x) USB_HCCPARAMS_ADC(x)
  80134. #define USBHS_HCCPARAMS_PFL_MASK USB_HCCPARAMS_PFL_MASK
  80135. #define USBHS_HCCPARAMS_PFL_SHIFT USB_HCCPARAMS_PFL_SHIFT
  80136. #define USBHS_HCCPARAMS_PFL(x) USB_HCCPARAMS_PFL(x)
  80137. #define USBHS_HCCPARAMS_ASP_MASK USB_HCCPARAMS_ASP_MASK
  80138. #define USBHS_HCCPARAMS_ASP_SHIFT USB_HCCPARAMS_ASP_SHIFT
  80139. #define USBHS_HCCPARAMS_ASP(x) USB_HCCPARAMS_ASP(x)
  80140. #define USBHS_HCCPARAMS_IST_MASK USB_HCCPARAMS_IST_MASK
  80141. #define USBHS_HCCPARAMS_IST_SHIFT USB_HCCPARAMS_IST_SHIFT
  80142. #define USBHS_HCCPARAMS_IST(x) USB_HCCPARAMS_IST(x)
  80143. #define USBHS_HCCPARAMS_EECP_MASK USB_HCCPARAMS_EECP_MASK
  80144. #define USBHS_HCCPARAMS_EECP_SHIFT USB_HCCPARAMS_EECP_SHIFT
  80145. #define USBHS_HCCPARAMS_EECP(x) USB_HCCPARAMS_EECP(x)
  80146. #define USBHS_DCIVERSION_DCIVERSION_MASK USB_DCIVERSION_DCIVERSION_MASK
  80147. #define USBHS_DCIVERSION_DCIVERSION_SHIFT USB_DCIVERSION_DCIVERSION_SHIFT
  80148. #define USBHS_DCIVERSION_DCIVERSION(x) USB_DCIVERSION_DCIVERSION(x)
  80149. #define USBHS_DCCPARAMS_DEN_MASK USB_DCCPARAMS_DEN_MASK
  80150. #define USBHS_DCCPARAMS_DEN_SHIFT USB_DCCPARAMS_DEN_SHIFT
  80151. #define USBHS_DCCPARAMS_DEN(x) USB_DCCPARAMS_DEN(x)
  80152. #define USBHS_DCCPARAMS_DC_MASK USB_DCCPARAMS_DC_MASK
  80153. #define USBHS_DCCPARAMS_DC_SHIFT USB_DCCPARAMS_DC_SHIFT
  80154. #define USBHS_DCCPARAMS_DC(x) USB_DCCPARAMS_DC(x)
  80155. #define USBHS_DCCPARAMS_HC_MASK USB_DCCPARAMS_HC_MASK
  80156. #define USBHS_DCCPARAMS_HC_SHIFT USB_DCCPARAMS_HC_SHIFT
  80157. #define USBHS_DCCPARAMS_HC(x) USB_DCCPARAMS_HC(x)
  80158. #define USBHS_USBCMD_RS_MASK USB_USBCMD_RS_MASK
  80159. #define USBHS_USBCMD_RS_SHIFT USB_USBCMD_RS_SHIFT
  80160. #define USBHS_USBCMD_RS(x) USB_USBCMD_RS(x)
  80161. #define USBHS_USBCMD_RST_MASK USB_USBCMD_RST_MASK
  80162. #define USBHS_USBCMD_RST_SHIFT USB_USBCMD_RST_SHIFT
  80163. #define USBHS_USBCMD_RST(x) USB_USBCMD_RST(x)
  80164. #define USBHS_USBCMD_FS_MASK USB_USBCMD_FS_1_MASK
  80165. #define USBHS_USBCMD_FS_SHIFT USB_USBCMD_FS_1_SHIFT
  80166. #define USBHS_USBCMD_FS(x) USB_USBCMD_FS_1(x)
  80167. #define USBHS_USBCMD_PSE_MASK USB_USBCMD_PSE_MASK
  80168. #define USBHS_USBCMD_PSE_SHIFT USB_USBCMD_PSE_SHIFT
  80169. #define USBHS_USBCMD_PSE(x) USB_USBCMD_PSE(x)
  80170. #define USBHS_USBCMD_ASE_MASK USB_USBCMD_ASE_MASK
  80171. #define USBHS_USBCMD_ASE_SHIFT USB_USBCMD_ASE_SHIFT
  80172. #define USBHS_USBCMD_ASE(x) USB_USBCMD_ASE(x)
  80173. #define USBHS_USBCMD_IAA_MASK USB_USBCMD_IAA_MASK
  80174. #define USBHS_USBCMD_IAA_SHIFT USB_USBCMD_IAA_SHIFT
  80175. #define USBHS_USBCMD_IAA(x) USB_USBCMD_IAA(x)
  80176. #define USBHS_USBCMD_ASP_MASK USB_USBCMD_ASP_MASK
  80177. #define USBHS_USBCMD_ASP_SHIFT USB_USBCMD_ASP_SHIFT
  80178. #define USBHS_USBCMD_ASP(x) USB_USBCMD_ASP(x)
  80179. #define USBHS_USBCMD_ASPE_MASK USB_USBCMD_ASPE_MASK
  80180. #define USBHS_USBCMD_ASPE_SHIFT USB_USBCMD_ASPE_SHIFT
  80181. #define USBHS_USBCMD_ASPE(x) USB_USBCMD_ASPE(x)
  80182. #define USBHS_USBCMD_ATDTW_MASK USB_USBCMD_ATDTW_MASK
  80183. #define USBHS_USBCMD_ATDTW_SHIFT USB_USBCMD_ATDTW_SHIFT
  80184. #define USBHS_USBCMD_ATDTW(x) USB_USBCMD_ATDTW(x)
  80185. #define USBHS_USBCMD_SUTW_MASK USB_USBCMD_SUTW_MASK
  80186. #define USBHS_USBCMD_SUTW_SHIFT USB_USBCMD_SUTW_SHIFT
  80187. #define USBHS_USBCMD_SUTW(x) USB_USBCMD_SUTW(x)
  80188. #define USBHS_USBCMD_FS2_MASK USB_USBCMD_FS_2_MASK
  80189. #define USBHS_USBCMD_FS2_SHIFT USB_USBCMD_FS_2_SHIFT
  80190. #define USBHS_USBCMD_FS2(x) USB_USBCMD_FS_2(x)
  80191. #define USBHS_USBCMD_ITC_MASK USB_USBCMD_ITC_MASK
  80192. #define USBHS_USBCMD_ITC_SHIFT USB_USBCMD_ITC_SHIFT
  80193. #define USBHS_USBCMD_ITC(x) USB_USBCMD_ITC(x)
  80194. #define USBHS_USBSTS_UI_MASK USB_USBSTS_UI_MASK
  80195. #define USBHS_USBSTS_UI_SHIFT USB_USBSTS_UI_SHIFT
  80196. #define USBHS_USBSTS_UI(x) USB_USBSTS_UI(x)
  80197. #define USBHS_USBSTS_UEI_MASK USB_USBSTS_UEI_MASK
  80198. #define USBHS_USBSTS_UEI_SHIFT USB_USBSTS_UEI_SHIFT
  80199. #define USBHS_USBSTS_UEI(x) USB_USBSTS_UEI(x)
  80200. #define USBHS_USBSTS_PCI_MASK USB_USBSTS_PCI_MASK
  80201. #define USBHS_USBSTS_PCI_SHIFT USB_USBSTS_PCI_SHIFT
  80202. #define USBHS_USBSTS_PCI(x) USB_USBSTS_PCI(x)
  80203. #define USBHS_USBSTS_FRI_MASK USB_USBSTS_FRI_MASK
  80204. #define USBHS_USBSTS_FRI_SHIFT USB_USBSTS_FRI_SHIFT
  80205. #define USBHS_USBSTS_FRI(x) USB_USBSTS_FRI(x)
  80206. #define USBHS_USBSTS_SEI_MASK USB_USBSTS_SEI_MASK
  80207. #define USBHS_USBSTS_SEI_SHIFT USB_USBSTS_SEI_SHIFT
  80208. #define USBHS_USBSTS_SEI(x) USB_USBSTS_SEI(x)
  80209. #define USBHS_USBSTS_AAI_MASK USB_USBSTS_AAI_MASK
  80210. #define USBHS_USBSTS_AAI_SHIFT USB_USBSTS_AAI_SHIFT
  80211. #define USBHS_USBSTS_AAI(x) USB_USBSTS_AAI(x)
  80212. #define USBHS_USBSTS_URI_MASK USB_USBSTS_URI_MASK
  80213. #define USBHS_USBSTS_URI_SHIFT USB_USBSTS_URI_SHIFT
  80214. #define USBHS_USBSTS_URI(x) USB_USBSTS_URI(x)
  80215. #define USBHS_USBSTS_SRI_MASK USB_USBSTS_SRI_MASK
  80216. #define USBHS_USBSTS_SRI_SHIFT USB_USBSTS_SRI_SHIFT
  80217. #define USBHS_USBSTS_SRI(x) USB_USBSTS_SRI(x)
  80218. #define USBHS_USBSTS_SLI_MASK USB_USBSTS_SLI_MASK
  80219. #define USBHS_USBSTS_SLI_SHIFT USB_USBSTS_SLI_SHIFT
  80220. #define USBHS_USBSTS_SLI(x) USB_USBSTS_SLI(x)
  80221. #define USBHS_USBSTS_ULPII_MASK USB_USBSTS_ULPII_MASK
  80222. #define USBHS_USBSTS_ULPII_SHIFT USB_USBSTS_ULPII_SHIFT
  80223. #define USBHS_USBSTS_ULPII(x) USB_USBSTS_ULPII(x)
  80224. #define USBHS_USBSTS_HCH_MASK USB_USBSTS_HCH_MASK
  80225. #define USBHS_USBSTS_HCH_SHIFT USB_USBSTS_HCH_SHIFT
  80226. #define USBHS_USBSTS_HCH(x) USB_USBSTS_HCH(x)
  80227. #define USBHS_USBSTS_RCL_MASK USB_USBSTS_RCL_MASK
  80228. #define USBHS_USBSTS_RCL_SHIFT USB_USBSTS_RCL_SHIFT
  80229. #define USBHS_USBSTS_RCL(x) USB_USBSTS_RCL(x)
  80230. #define USBHS_USBSTS_PS_MASK USB_USBSTS_PS_MASK
  80231. #define USBHS_USBSTS_PS_SHIFT USB_USBSTS_PS_SHIFT
  80232. #define USBHS_USBSTS_PS(x) USB_USBSTS_PS(x)
  80233. #define USBHS_USBSTS_AS_MASK USB_USBSTS_AS_MASK
  80234. #define USBHS_USBSTS_AS_SHIFT USB_USBSTS_AS_SHIFT
  80235. #define USBHS_USBSTS_AS(x) USB_USBSTS_AS(x)
  80236. #define USBHS_USBSTS_NAKI_MASK USB_USBSTS_NAKI_MASK
  80237. #define USBHS_USBSTS_NAKI_SHIFT USB_USBSTS_NAKI_SHIFT
  80238. #define USBHS_USBSTS_NAKI(x) USB_USBSTS_NAKI(x)
  80239. #define USBHS_USBSTS_TI0_MASK USB_USBSTS_TI0_MASK
  80240. #define USBHS_USBSTS_TI0_SHIFT USB_USBSTS_TI0_SHIFT
  80241. #define USBHS_USBSTS_TI0(x) USB_USBSTS_TI0(x)
  80242. #define USBHS_USBSTS_TI1_MASK USB_USBSTS_TI1_MASK
  80243. #define USBHS_USBSTS_TI1_SHIFT USB_USBSTS_TI1_SHIFT
  80244. #define USBHS_USBSTS_TI1(x) USB_USBSTS_TI1(x)
  80245. #define USBHS_USBINTR_UE_MASK USB_USBINTR_UE_MASK
  80246. #define USBHS_USBINTR_UE_SHIFT USB_USBINTR_UE_SHIFT
  80247. #define USBHS_USBINTR_UE(x) USB_USBINTR_UE(x)
  80248. #define USBHS_USBINTR_UEE_MASK USB_USBINTR_UEE_MASK
  80249. #define USBHS_USBINTR_UEE_SHIFT USB_USBINTR_UEE_SHIFT
  80250. #define USBHS_USBINTR_UEE(x) USB_USBINTR_UEE(x)
  80251. #define USBHS_USBINTR_PCE_MASK USB_USBINTR_PCE_MASK
  80252. #define USBHS_USBINTR_PCE_SHIFT USB_USBINTR_PCE_SHIFT
  80253. #define USBHS_USBINTR_PCE(x) USB_USBINTR_PCE(x)
  80254. #define USBHS_USBINTR_FRE_MASK USB_USBINTR_FRE_MASK
  80255. #define USBHS_USBINTR_FRE_SHIFT USB_USBINTR_FRE_SHIFT
  80256. #define USBHS_USBINTR_FRE(x) USB_USBINTR_FRE(x)
  80257. #define USBHS_USBINTR_SEE_MASK USB_USBINTR_SEE_MASK
  80258. #define USBHS_USBINTR_SEE_SHIFT USB_USBINTR_SEE_SHIFT
  80259. #define USBHS_USBINTR_SEE(x) USB_USBINTR_SEE(x)
  80260. #define USBHS_USBINTR_AAE_MASK USB_USBINTR_AAE_MASK
  80261. #define USBHS_USBINTR_AAE_SHIFT USB_USBINTR_AAE_SHIFT
  80262. #define USBHS_USBINTR_AAE(x) USB_USBINTR_AAE(x)
  80263. #define USBHS_USBINTR_URE_MASK USB_USBINTR_URE_MASK
  80264. #define USBHS_USBINTR_URE_SHIFT USB_USBINTR_URE_SHIFT
  80265. #define USBHS_USBINTR_URE(x) USB_USBINTR_URE(x)
  80266. #define USBHS_USBINTR_SRE_MASK USB_USBINTR_SRE_MASK
  80267. #define USBHS_USBINTR_SRE_SHIFT USB_USBINTR_SRE_SHIFT
  80268. #define USBHS_USBINTR_SRE(x) USB_USBINTR_SRE(x)
  80269. #define USBHS_USBINTR_SLE_MASK USB_USBINTR_SLE_MASK
  80270. #define USBHS_USBINTR_SLE_SHIFT USB_USBINTR_SLE_SHIFT
  80271. #define USBHS_USBINTR_SLE(x) USB_USBINTR_SLE(x)
  80272. #define USBHS_USBINTR_ULPIE_MASK USB_USBINTR_ULPIE_MASK
  80273. #define USBHS_USBINTR_ULPIE_SHIFT USB_USBINTR_ULPIE_SHIFT
  80274. #define USBHS_USBINTR_ULPIE(x) USB_USBINTR_ULPIE(x)
  80275. #define USBHS_USBINTR_NAKE_MASK USB_USBINTR_NAKE_MASK
  80276. #define USBHS_USBINTR_NAKE_SHIFT USB_USBINTR_NAKE_SHIFT
  80277. #define USBHS_USBINTR_NAKE(x) USB_USBINTR_NAKE(x)
  80278. #define USBHS_USBINTR_UAIE_MASK USB_USBINTR_UAIE_MASK
  80279. #define USBHS_USBINTR_UAIE_SHIFT USB_USBINTR_UAIE_SHIFT
  80280. #define USBHS_USBINTR_UAIE(x) USB_USBINTR_UAIE(x)
  80281. #define USBHS_USBINTR_UPIE_MASK USB_USBINTR_UPIE_MASK
  80282. #define USBHS_USBINTR_UPIE_SHIFT USB_USBINTR_UPIE_SHIFT
  80283. #define USBHS_USBINTR_UPIE(x) USB_USBINTR_UPIE(x)
  80284. #define USBHS_USBINTR_TIE0_MASK USB_USBINTR_TIE0_MASK
  80285. #define USBHS_USBINTR_TIE0_SHIFT USB_USBINTR_TIE0_SHIFT
  80286. #define USBHS_USBINTR_TIE0(x) USB_USBINTR_TIE0(x)
  80287. #define USBHS_USBINTR_TIE1_MASK USB_USBINTR_TIE1_MASK
  80288. #define USBHS_USBINTR_TIE1_SHIFT USB_USBINTR_TIE1_SHIFT
  80289. #define USBHS_USBINTR_TIE1(x) USB_USBINTR_TIE1(x)
  80290. #define USBHS_FRINDEX_FRINDEX_MASK USB_FRINDEX_FRINDEX_MASK
  80291. #define USBHS_FRINDEX_FRINDEX_SHIFT USB_FRINDEX_FRINDEX_SHIFT
  80292. #define USBHS_FRINDEX_FRINDEX(x) USB_FRINDEX_FRINDEX(x)
  80293. #define USBHS_DEVICEADDR_USBADRA_MASK USB_DEVICEADDR_USBADRA_MASK
  80294. #define USBHS_DEVICEADDR_USBADRA_SHIFT USB_DEVICEADDR_USBADRA_SHIFT
  80295. #define USBHS_DEVICEADDR_USBADRA(x) USB_DEVICEADDR_USBADRA(x)
  80296. #define USBHS_DEVICEADDR_USBADR_MASK USB_DEVICEADDR_USBADR_MASK
  80297. #define USBHS_DEVICEADDR_USBADR_SHIFT USB_DEVICEADDR_USBADR_SHIFT
  80298. #define USBHS_DEVICEADDR_USBADR(x) USB_DEVICEADDR_USBADR(x)
  80299. #define USBHS_PERIODICLISTBASE_PERBASE_MASK USB_PERIODICLISTBASE_BASEADR_MASK
  80300. #define USBHS_PERIODICLISTBASE_PERBASE_SHIFT USB_PERIODICLISTBASE_BASEADR_SHIFT
  80301. #define USBHS_PERIODICLISTBASE_PERBASE(x) USB_PERIODICLISTBASE_BASEADR(x)
  80302. #define USBHS_ASYNCLISTADDR_ASYBASE_MASK USB_ASYNCLISTADDR_ASYBASE_MASK
  80303. #define USBHS_ASYNCLISTADDR_ASYBASE_SHIFT USB_ASYNCLISTADDR_ASYBASE_SHIFT
  80304. #define USBHS_ASYNCLISTADDR_ASYBASE(x) USB_ASYNCLISTADDR_ASYBASE(x)
  80305. #define USBHS_EPLISTADDR_EPBASE_MASK USB_ENDPTLISTADDR_EPBASE_MASK
  80306. #define USBHS_EPLISTADDR_EPBASE_SHIFT USB_ENDPTLISTADDR_EPBASE_SHIFT
  80307. #define USBHS_EPLISTADDR_EPBASE(x) USB_ENDPTLISTADDR_EPBASE(x)
  80308. #define USBHS_BURSTSIZE_RXPBURST_MASK USB_BURSTSIZE_RXPBURST_MASK
  80309. #define USBHS_BURSTSIZE_RXPBURST_SHIFT USB_BURSTSIZE_RXPBURST_SHIFT
  80310. #define USBHS_BURSTSIZE_RXPBURST(x) USB_BURSTSIZE_RXPBURST(x)
  80311. #define USBHS_BURSTSIZE_TXPBURST_MASK USB_BURSTSIZE_TXPBURST_MASK
  80312. #define USBHS_BURSTSIZE_TXPBURST_SHIFT USB_BURSTSIZE_TXPBURST_SHIFT
  80313. #define USBHS_BURSTSIZE_TXPBURST(x) USB_BURSTSIZE_TXPBURST(x)
  80314. #define USBHS_TXFILLTUNING_TXSCHOH_MASK USB_TXFILLTUNING_TXSCHOH_MASK
  80315. #define USBHS_TXFILLTUNING_TXSCHOH_SHIFT USB_TXFILLTUNING_TXSCHOH_SHIFT
  80316. #define USBHS_TXFILLTUNING_TXSCHOH(x) USB_TXFILLTUNING_TXSCHOH(x)
  80317. #define USBHS_TXFILLTUNING_TXSCHHEALTH_MASK USB_TXFILLTUNING_TXSCHHEALTH_MASK
  80318. #define USBHS_TXFILLTUNING_TXSCHHEALTH_SHIFT USB_TXFILLTUNING_TXSCHHEALTH_SHIFT
  80319. #define USBHS_TXFILLTUNING_TXSCHHEALTH(x) USB_TXFILLTUNING_TXSCHHEALTH(x)
  80320. #define USBHS_TXFILLTUNING_TXFIFOTHRES_MASK USB_TXFILLTUNING_TXFIFOTHRES_MASK
  80321. #define USBHS_TXFILLTUNING_TXFIFOTHRES_SHIFT USB_TXFILLTUNING_TXFIFOTHRES_SHIFT
  80322. #define USBHS_TXFILLTUNING_TXFIFOTHRES(x) USB_TXFILLTUNING_TXFIFOTHRES(x)
  80323. #define USBHS_ENDPTNAK_EPRN_MASK USB_ENDPTNAK_EPRN_MASK
  80324. #define USBHS_ENDPTNAK_EPRN_SHIFT USB_ENDPTNAK_EPRN_SHIFT
  80325. #define USBHS_ENDPTNAK_EPRN(x) USB_ENDPTNAK_EPRN(x)
  80326. #define USBHS_ENDPTNAK_EPTN_MASK USB_ENDPTNAK_EPTN_MASK
  80327. #define USBHS_ENDPTNAK_EPTN_SHIFT USB_ENDPTNAK_EPTN_SHIFT
  80328. #define USBHS_ENDPTNAK_EPTN(x) USB_ENDPTNAK_EPTN(x)
  80329. #define USBHS_ENDPTNAKEN_EPRNE_MASK USB_ENDPTNAKEN_EPRNE_MASK
  80330. #define USBHS_ENDPTNAKEN_EPRNE_SHIFT USB_ENDPTNAKEN_EPRNE_SHIFT
  80331. #define USBHS_ENDPTNAKEN_EPRNE(x) USB_ENDPTNAKEN_EPRNE(x)
  80332. #define USBHS_ENDPTNAKEN_EPTNE_MASK USB_ENDPTNAKEN_EPTNE_MASK
  80333. #define USBHS_ENDPTNAKEN_EPTNE_SHIFT USB_ENDPTNAKEN_EPTNE_SHIFT
  80334. #define USBHS_ENDPTNAKEN_EPTNE(x) USB_ENDPTNAKEN_EPTNE(x)
  80335. #define USBHS_CONFIGFLAG_CF_MASK USB_CONFIGFLAG_CF_MASK
  80336. #define USBHS_CONFIGFLAG_CF_SHIFT USB_CONFIGFLAG_CF_SHIFT
  80337. #define USBHS_CONFIGFLAG_CF(x) USB_CONFIGFLAG_CF(x)
  80338. #define USBHS_PORTSC1_CCS_MASK USB_PORTSC1_CCS_MASK
  80339. #define USBHS_PORTSC1_CCS_SHIFT USB_PORTSC1_CCS_SHIFT
  80340. #define USBHS_PORTSC1_CCS(x) USB_PORTSC1_CCS(x)
  80341. #define USBHS_PORTSC1_CSC_MASK USB_PORTSC1_CSC_MASK
  80342. #define USBHS_PORTSC1_CSC_SHIFT USB_PORTSC1_CSC_SHIFT
  80343. #define USBHS_PORTSC1_CSC(x) USB_PORTSC1_CSC(x)
  80344. #define USBHS_PORTSC1_PE_MASK USB_PORTSC1_PE_MASK
  80345. #define USBHS_PORTSC1_PE_SHIFT USB_PORTSC1_PE_SHIFT
  80346. #define USBHS_PORTSC1_PE(x) USB_PORTSC1_PE(x)
  80347. #define USBHS_PORTSC1_PEC_MASK USB_PORTSC1_PEC_MASK
  80348. #define USBHS_PORTSC1_PEC_SHIFT USB_PORTSC1_PEC_SHIFT
  80349. #define USBHS_PORTSC1_PEC(x) USB_PORTSC1_PEC(x)
  80350. #define USBHS_PORTSC1_OCA_MASK USB_PORTSC1_OCA_MASK
  80351. #define USBHS_PORTSC1_OCA_SHIFT USB_PORTSC1_OCA_SHIFT
  80352. #define USBHS_PORTSC1_OCA(x) USB_PORTSC1_OCA(x)
  80353. #define USBHS_PORTSC1_OCC_MASK USB_PORTSC1_OCC_MASK
  80354. #define USBHS_PORTSC1_OCC_SHIFT USB_PORTSC1_OCC_SHIFT
  80355. #define USBHS_PORTSC1_OCC(x) USB_PORTSC1_OCC(x)
  80356. #define USBHS_PORTSC1_FPR_MASK USB_PORTSC1_FPR_MASK
  80357. #define USBHS_PORTSC1_FPR_SHIFT USB_PORTSC1_FPR_SHIFT
  80358. #define USBHS_PORTSC1_FPR(x) USB_PORTSC1_FPR(x)
  80359. #define USBHS_PORTSC1_SUSP_MASK USB_PORTSC1_SUSP_MASK
  80360. #define USBHS_PORTSC1_SUSP_SHIFT USB_PORTSC1_SUSP_SHIFT
  80361. #define USBHS_PORTSC1_SUSP(x) USB_PORTSC1_SUSP(x)
  80362. #define USBHS_PORTSC1_PR_MASK USB_PORTSC1_PR_MASK
  80363. #define USBHS_PORTSC1_PR_SHIFT USB_PORTSC1_PR_SHIFT
  80364. #define USBHS_PORTSC1_PR(x) USB_PORTSC1_PR(x)
  80365. #define USBHS_PORTSC1_HSP_MASK USB_PORTSC1_HSP_MASK
  80366. #define USBHS_PORTSC1_HSP_SHIFT USB_PORTSC1_HSP_SHIFT
  80367. #define USBHS_PORTSC1_HSP(x) USB_PORTSC1_HSP(x)
  80368. #define USBHS_PORTSC1_LS_MASK USB_PORTSC1_LS_MASK
  80369. #define USBHS_PORTSC1_LS_SHIFT USB_PORTSC1_LS_SHIFT
  80370. #define USBHS_PORTSC1_LS(x) USB_PORTSC1_LS(x)
  80371. #define USBHS_PORTSC1_PP_MASK USB_PORTSC1_PP_MASK
  80372. #define USBHS_PORTSC1_PP_SHIFT USB_PORTSC1_PP_SHIFT
  80373. #define USBHS_PORTSC1_PP(x) USB_PORTSC1_PP(x)
  80374. #define USBHS_PORTSC1_PO_MASK USB_PORTSC1_PO_MASK
  80375. #define USBHS_PORTSC1_PO_SHIFT USB_PORTSC1_PO_SHIFT
  80376. #define USBHS_PORTSC1_PO(x) USB_PORTSC1_PO(x)
  80377. #define USBHS_PORTSC1_PIC_MASK USB_PORTSC1_PIC_MASK
  80378. #define USBHS_PORTSC1_PIC_SHIFT USB_PORTSC1_PIC_SHIFT
  80379. #define USBHS_PORTSC1_PIC(x) USB_PORTSC1_PIC(x)
  80380. #define USBHS_PORTSC1_PTC_MASK USB_PORTSC1_PTC_MASK
  80381. #define USBHS_PORTSC1_PTC_SHIFT USB_PORTSC1_PTC_SHIFT
  80382. #define USBHS_PORTSC1_PTC(x) USB_PORTSC1_PTC(x)
  80383. #define USBHS_PORTSC1_WKCN_MASK USB_PORTSC1_WKCN_MASK
  80384. #define USBHS_PORTSC1_WKCN_SHIFT USB_PORTSC1_WKCN_SHIFT
  80385. #define USBHS_PORTSC1_WKCN(x) USB_PORTSC1_WKCN(x)
  80386. #define USBHS_PORTSC1_WKDS_MASK USB_PORTSC1_WKDC_MASK
  80387. #define USBHS_PORTSC1_WKDS_SHIFT USB_PORTSC1_WKDC_SHIFT
  80388. #define USBHS_PORTSC1_WKDS(x) USB_PORTSC1_WKDC(x)
  80389. #define USBHS_PORTSC1_WKOC_MASK USB_PORTSC1_WKOC_MASK
  80390. #define USBHS_PORTSC1_WKOC_SHIFT USB_PORTSC1_WKOC_SHIFT
  80391. #define USBHS_PORTSC1_WKOC(x) USB_PORTSC1_WKOC(x)
  80392. #define USBHS_PORTSC1_PHCD_MASK USB_PORTSC1_PHCD_MASK
  80393. #define USBHS_PORTSC1_PHCD_SHIFT USB_PORTSC1_PHCD_SHIFT
  80394. #define USBHS_PORTSC1_PHCD(x) USB_PORTSC1_PHCD(x)
  80395. #define USBHS_PORTSC1_PFSC_MASK USB_PORTSC1_PFSC_MASK
  80396. #define USBHS_PORTSC1_PFSC_SHIFT USB_PORTSC1_PFSC_SHIFT
  80397. #define USBHS_PORTSC1_PFSC(x) USB_PORTSC1_PFSC(x)
  80398. #define USBHS_PORTSC1_PTS2_MASK USB_PORTSC1_PTS_2_MASK
  80399. #define USBHS_PORTSC1_PTS2_SHIFT USB_PORTSC1_PTS_2_SHIFT
  80400. #define USBHS_PORTSC1_PTS2(x) USB_PORTSC1_PTS_2(x)
  80401. #define USBHS_PORTSC1_PSPD_MASK USB_PORTSC1_PSPD_MASK
  80402. #define USBHS_PORTSC1_PSPD_SHIFT USB_PORTSC1_PSPD_SHIFT
  80403. #define USBHS_PORTSC1_PSPD(x) USB_PORTSC1_PSPD(x)
  80404. #define USBHS_PORTSC1_PTW_MASK USB_PORTSC1_PTW_MASK
  80405. #define USBHS_PORTSC1_PTW_SHIFT USB_PORTSC1_PTW_SHIFT
  80406. #define USBHS_PORTSC1_PTW(x) USB_PORTSC1_PTW(x)
  80407. #define USBHS_PORTSC1_STS_MASK USB_PORTSC1_STS_MASK
  80408. #define USBHS_PORTSC1_STS_SHIFT USB_PORTSC1_STS_SHIFT
  80409. #define USBHS_PORTSC1_STS(x) USB_PORTSC1_STS(x)
  80410. #define USBHS_PORTSC1_PTS_MASK USB_PORTSC1_PTS_1_MASK
  80411. #define USBHS_PORTSC1_PTS_SHIFT USB_PORTSC1_PTS_1_SHIFT
  80412. #define USBHS_PORTSC1_PTS(x) USB_PORTSC1_PTS_1(x)
  80413. #define USBHS_OTGSC_VD_MASK USB_OTGSC_VD_MASK
  80414. #define USBHS_OTGSC_VD_SHIFT USB_OTGSC_VD_SHIFT
  80415. #define USBHS_OTGSC_VD(x) USB_OTGSC_VD(x)
  80416. #define USBHS_OTGSC_VC_MASK USB_OTGSC_VC_MASK
  80417. #define USBHS_OTGSC_VC_SHIFT USB_OTGSC_VC_SHIFT
  80418. #define USBHS_OTGSC_VC(x) USB_OTGSC_VC(x)
  80419. #define USBHS_OTGSC_OT_MASK USB_OTGSC_OT_MASK
  80420. #define USBHS_OTGSC_OT_SHIFT USB_OTGSC_OT_SHIFT
  80421. #define USBHS_OTGSC_OT(x) USB_OTGSC_OT(x)
  80422. #define USBHS_OTGSC_DP_MASK USB_OTGSC_DP_MASK
  80423. #define USBHS_OTGSC_DP_SHIFT USB_OTGSC_DP_SHIFT
  80424. #define USBHS_OTGSC_DP(x) USB_OTGSC_DP(x)
  80425. #define USBHS_OTGSC_IDPU_MASK USB_OTGSC_IDPU_MASK
  80426. #define USBHS_OTGSC_IDPU_SHIFT USB_OTGSC_IDPU_SHIFT
  80427. #define USBHS_OTGSC_IDPU(x) USB_OTGSC_IDPU(x)
  80428. #define USBHS_OTGSC_ID_MASK USB_OTGSC_ID_MASK
  80429. #define USBHS_OTGSC_ID_SHIFT USB_OTGSC_ID_SHIFT
  80430. #define USBHS_OTGSC_ID(x) USB_OTGSC_ID(x)
  80431. #define USBHS_OTGSC_AVV_MASK USB_OTGSC_AVV_MASK
  80432. #define USBHS_OTGSC_AVV_SHIFT USB_OTGSC_AVV_SHIFT
  80433. #define USBHS_OTGSC_AVV(x) USB_OTGSC_AVV(x)
  80434. #define USBHS_OTGSC_ASV_MASK USB_OTGSC_ASV_MASK
  80435. #define USBHS_OTGSC_ASV_SHIFT USB_OTGSC_ASV_SHIFT
  80436. #define USBHS_OTGSC_ASV(x) USB_OTGSC_ASV(x)
  80437. #define USBHS_OTGSC_BSV_MASK USB_OTGSC_BSV_MASK
  80438. #define USBHS_OTGSC_BSV_SHIFT USB_OTGSC_BSV_SHIFT
  80439. #define USBHS_OTGSC_BSV(x) USB_OTGSC_BSV(x)
  80440. #define USBHS_OTGSC_BSE_MASK USB_OTGSC_BSE_MASK
  80441. #define USBHS_OTGSC_BSE_SHIFT USB_OTGSC_BSE_SHIFT
  80442. #define USBHS_OTGSC_BSE(x) USB_OTGSC_BSE(x)
  80443. #define USBHS_OTGSC_MST_MASK USB_OTGSC_TOG_1MS_MASK
  80444. #define USBHS_OTGSC_MST_SHIFT USB_OTGSC_TOG_1MS_SHIFT
  80445. #define USBHS_OTGSC_MST(x) USB_OTGSC_TOG_1MS(x)
  80446. #define USBHS_OTGSC_DPS_MASK USB_OTGSC_DPS_MASK
  80447. #define USBHS_OTGSC_DPS_SHIFT USB_OTGSC_DPS_SHIFT
  80448. #define USBHS_OTGSC_DPS(x) USB_OTGSC_DPS(x)
  80449. #define USBHS_OTGSC_IDIS_MASK USB_OTGSC_IDIS_MASK
  80450. #define USBHS_OTGSC_IDIS_SHIFT USB_OTGSC_IDIS_SHIFT
  80451. #define USBHS_OTGSC_IDIS(x) USB_OTGSC_IDIS(x)
  80452. #define USBHS_OTGSC_AVVIS_MASK USB_OTGSC_AVVIS_MASK
  80453. #define USBHS_OTGSC_AVVIS_SHIFT USB_OTGSC_AVVIS_SHIFT
  80454. #define USBHS_OTGSC_AVVIS(x) USB_OTGSC_AVVIS(x)
  80455. #define USBHS_OTGSC_ASVIS_MASK USB_OTGSC_ASVIS_MASK
  80456. #define USBHS_OTGSC_ASVIS_SHIFT USB_OTGSC_ASVIS_SHIFT
  80457. #define USBHS_OTGSC_ASVIS(x) USB_OTGSC_ASVIS(x)
  80458. #define USBHS_OTGSC_BSVIS_MASK USB_OTGSC_BSVIS_MASK
  80459. #define USBHS_OTGSC_BSVIS_SHIFT USB_OTGSC_BSVIS_SHIFT
  80460. #define USBHS_OTGSC_BSVIS(x) USB_OTGSC_BSVIS(x)
  80461. #define USBHS_OTGSC_BSEIS_MASK USB_OTGSC_BSEIS_MASK
  80462. #define USBHS_OTGSC_BSEIS_SHIFT USB_OTGSC_BSEIS_SHIFT
  80463. #define USBHS_OTGSC_BSEIS(x) USB_OTGSC_BSEIS(x)
  80464. #define USBHS_OTGSC_MSS_MASK USB_OTGSC_STATUS_1MS_MASK
  80465. #define USBHS_OTGSC_MSS_SHIFT USB_OTGSC_STATUS_1MS_SHIFT
  80466. #define USBHS_OTGSC_MSS(x) USB_OTGSC_STATUS_1MS(x)
  80467. #define USBHS_OTGSC_DPIS_MASK USB_OTGSC_DPIS_MASK
  80468. #define USBHS_OTGSC_DPIS_SHIFT USB_OTGSC_DPIS_SHIFT
  80469. #define USBHS_OTGSC_DPIS(x) USB_OTGSC_DPIS(x)
  80470. #define USBHS_OTGSC_IDIE_MASK USB_OTGSC_IDIE_MASK
  80471. #define USBHS_OTGSC_IDIE_SHIFT USB_OTGSC_IDIE_SHIFT
  80472. #define USBHS_OTGSC_IDIE(x) USB_OTGSC_IDIE(x)
  80473. #define USBHS_OTGSC_AVVIE_MASK USB_OTGSC_AVVIE_MASK
  80474. #define USBHS_OTGSC_AVVIE_SHIFT USB_OTGSC_AVVIE_SHIFT
  80475. #define USBHS_OTGSC_AVVIE(x) USB_OTGSC_AVVIE(x)
  80476. #define USBHS_OTGSC_ASVIE_MASK USB_OTGSC_ASVIE_MASK
  80477. #define USBHS_OTGSC_ASVIE_SHIFT USB_OTGSC_ASVIE_SHIFT
  80478. #define USBHS_OTGSC_ASVIE(x) USB_OTGSC_ASVIE(x)
  80479. #define USBHS_OTGSC_BSVIE_MASK USB_OTGSC_BSVIE_MASK
  80480. #define USBHS_OTGSC_BSVIE_SHIFT USB_OTGSC_BSVIE_SHIFT
  80481. #define USBHS_OTGSC_BSVIE(x) USB_OTGSC_BSVIE(x)
  80482. #define USBHS_OTGSC_BSEIE_MASK USB_OTGSC_BSEIE_MASK
  80483. #define USBHS_OTGSC_BSEIE_SHIFT USB_OTGSC_BSEIE_SHIFT
  80484. #define USBHS_OTGSC_BSEIE(x) USB_OTGSC_BSEIE(x)
  80485. #define USBHS_OTGSC_MSE_MASK USB_OTGSC_EN_1MS_MASK
  80486. #define USBHS_OTGSC_MSE_SHIFT USB_OTGSC_EN_1MS_SHIFT
  80487. #define USBHS_OTGSC_MSE(x) USB_OTGSC_EN_1MS(x)
  80488. #define USBHS_OTGSC_DPIE_MASK USB_OTGSC_DPIE_MASK
  80489. #define USBHS_OTGSC_DPIE_SHIFT USB_OTGSC_DPIE_SHIFT
  80490. #define USBHS_OTGSC_DPIE(x) USB_OTGSC_DPIE(x)
  80491. #define USBHS_USBMODE_CM_MASK USB_USBMODE_CM_MASK
  80492. #define USBHS_USBMODE_CM_SHIFT USB_USBMODE_CM_SHIFT
  80493. #define USBHS_USBMODE_CM(x) USB_USBMODE_CM(x)
  80494. #define USBHS_USBMODE_ES_MASK USB_USBMODE_ES_MASK
  80495. #define USBHS_USBMODE_ES_SHIFT USB_USBMODE_ES_SHIFT
  80496. #define USBHS_USBMODE_ES(x) USB_USBMODE_ES(x)
  80497. #define USBHS_USBMODE_SLOM_MASK USB_USBMODE_SLOM_MASK
  80498. #define USBHS_USBMODE_SLOM_SHIFT USB_USBMODE_SLOM_SHIFT
  80499. #define USBHS_USBMODE_SLOM(x) USB_USBMODE_SLOM(x)
  80500. #define USBHS_USBMODE_SDIS_MASK USB_USBMODE_SDIS_MASK
  80501. #define USBHS_USBMODE_SDIS_SHIFT USB_USBMODE_SDIS_SHIFT
  80502. #define USBHS_USBMODE_SDIS(x) USB_USBMODE_SDIS(x)
  80503. #define USBHS_EPSETUPSR_EPSETUPSTAT_MASK USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_MASK
  80504. #define USBHS_EPSETUPSR_EPSETUPSTAT_SHIFT USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT_SHIFT
  80505. #define USBHS_EPSETUPSR_EPSETUPSTAT(x) USB_ENDPTSETUPSTAT_ENDPTSETUPSTAT(x)
  80506. #define USBHS_EPPRIME_PERB_MASK USB_ENDPTPRIME_PERB_MASK
  80507. #define USBHS_EPPRIME_PERB_SHIFT USB_ENDPTPRIME_PERB_SHIFT
  80508. #define USBHS_EPPRIME_PERB(x) USB_ENDPTPRIME_PERB(x)
  80509. #define USBHS_EPPRIME_PETB_MASK USB_ENDPTPRIME_PETB_MASK
  80510. #define USBHS_EPPRIME_PETB_SHIFT USB_ENDPTPRIME_PETB_SHIFT
  80511. #define USBHS_EPPRIME_PETB(x) USB_ENDPTPRIME_PETB(x)
  80512. #define USBHS_EPFLUSH_FERB_MASK USB_ENDPTFLUSH_FERB_MASK
  80513. #define USBHS_EPFLUSH_FERB_SHIFT USB_ENDPTFLUSH_FERB_SHIFT
  80514. #define USBHS_EPFLUSH_FERB(x) USB_ENDPTFLUSH_FERB(x)
  80515. #define USBHS_EPFLUSH_FETB_MASK USB_ENDPTFLUSH_FETB_MASK
  80516. #define USBHS_EPFLUSH_FETB_SHIFT USB_ENDPTFLUSH_FETB_SHIFT
  80517. #define USBHS_EPFLUSH_FETB(x) USB_ENDPTFLUSH_FETB(x)
  80518. #define USBHS_EPSR_ERBR_MASK USB_ENDPTSTAT_ERBR_MASK
  80519. #define USBHS_EPSR_ERBR_SHIFT USB_ENDPTSTAT_ERBR_SHIFT
  80520. #define USBHS_EPSR_ERBR(x) USB_ENDPTSTAT_ERBR(x)
  80521. #define USBHS_EPSR_ETBR_MASK USB_ENDPTSTAT_ETBR_MASK
  80522. #define USBHS_EPSR_ETBR_SHIFT USB_ENDPTSTAT_ETBR_SHIFT
  80523. #define USBHS_EPSR_ETBR(x) USB_ENDPTSTAT_ETBR(x)
  80524. #define USBHS_EPCOMPLETE_ERCE_MASK USB_ENDPTCOMPLETE_ERCE_MASK
  80525. #define USBHS_EPCOMPLETE_ERCE_SHIFT USB_ENDPTCOMPLETE_ERCE_SHIFT
  80526. #define USBHS_EPCOMPLETE_ERCE(x) USB_ENDPTCOMPLETE_ERCE(x)
  80527. #define USBHS_EPCOMPLETE_ETCE_MASK USB_ENDPTCOMPLETE_ETCE_MASK
  80528. #define USBHS_EPCOMPLETE_ETCE_SHIFT USB_ENDPTCOMPLETE_ETCE_SHIFT
  80529. #define USBHS_EPCOMPLETE_ETCE(x) USB_ENDPTCOMPLETE_ETCE(x)
  80530. #define USBHS_EPCR0_RXS_MASK USB_ENDPTCTRL0_RXS_MASK
  80531. #define USBHS_EPCR0_RXS_SHIFT USB_ENDPTCTRL0_RXS_SHIFT
  80532. #define USBHS_EPCR0_RXS(x) USB_ENDPTCTRL0_RXS(x)
  80533. #define USBHS_EPCR0_RXT_MASK USB_ENDPTCTRL0_RXT_MASK
  80534. #define USBHS_EPCR0_RXT_SHIFT USB_ENDPTCTRL0_RXT_SHIFT
  80535. #define USBHS_EPCR0_RXT(x) USB_ENDPTCTRL0_RXT(x)
  80536. #define USBHS_EPCR0_RXE_MASK USB_ENDPTCTRL0_RXE_MASK
  80537. #define USBHS_EPCR0_RXE_SHIFT USB_ENDPTCTRL0_RXE_SHIFT
  80538. #define USBHS_EPCR0_RXE(x) USB_ENDPTCTRL0_RXE(x)
  80539. #define USBHS_EPCR0_TXS_MASK USB_ENDPTCTRL0_TXS_MASK
  80540. #define USBHS_EPCR0_TXS_SHIFT USB_ENDPTCTRL0_TXS_SHIFT
  80541. #define USBHS_EPCR0_TXS(x) USB_ENDPTCTRL0_TXS(x)
  80542. #define USBHS_EPCR0_TXT_MASK USB_ENDPTCTRL0_TXT_MASK
  80543. #define USBHS_EPCR0_TXT_SHIFT USB_ENDPTCTRL0_TXT_SHIFT
  80544. #define USBHS_EPCR0_TXT(x) USB_ENDPTCTRL0_TXT(x)
  80545. #define USBHS_EPCR0_TXE_MASK USB_ENDPTCTRL0_TXE_MASK
  80546. #define USBHS_EPCR0_TXE_SHIFT USB_ENDPTCTRL0_TXE_SHIFT
  80547. #define USBHS_EPCR0_TXE(x) USB_ENDPTCTRL0_TXE(x)
  80548. #define USBHS_EPCR_RXS_MASK USB_ENDPTCTRL_RXS_MASK
  80549. #define USBHS_EPCR_RXS_SHIFT USB_ENDPTCTRL_RXS_SHIFT
  80550. #define USBHS_EPCR_RXS(x) USB_ENDPTCTRL_RXS(x)
  80551. #define USBHS_EPCR_RXD_MASK USB_ENDPTCTRL_RXD_MASK
  80552. #define USBHS_EPCR_RXD_SHIFT USB_ENDPTCTRL_RXD_SHIFT
  80553. #define USBHS_EPCR_RXD(x) USB_ENDPTCTRL_RXD(x)
  80554. #define USBHS_EPCR_RXT_MASK USB_ENDPTCTRL_RXT_MASK
  80555. #define USBHS_EPCR_RXT_SHIFT USB_ENDPTCTRL_RXT_SHIFT
  80556. #define USBHS_EPCR_RXT(x) USB_ENDPTCTRL_RXT(x)
  80557. #define USBHS_EPCR_RXI_MASK USB_ENDPTCTRL_RXI_MASK
  80558. #define USBHS_EPCR_RXI_SHIFT USB_ENDPTCTRL_RXI_SHIFT
  80559. #define USBHS_EPCR_RXI(x) USB_ENDPTCTRL_RXI(x)
  80560. #define USBHS_EPCR_RXR_MASK USB_ENDPTCTRL_RXR_MASK
  80561. #define USBHS_EPCR_RXR_SHIFT USB_ENDPTCTRL_RXR_SHIFT
  80562. #define USBHS_EPCR_RXR(x) USB_ENDPTCTRL_RXR(x)
  80563. #define USBHS_EPCR_RXE_MASK USB_ENDPTCTRL_RXE_MASK
  80564. #define USBHS_EPCR_RXE_SHIFT USB_ENDPTCTRL_RXE_SHIFT
  80565. #define USBHS_EPCR_RXE(x) USB_ENDPTCTRL_RXE(x)
  80566. #define USBHS_EPCR_TXS_MASK USB_ENDPTCTRL_TXS_MASK
  80567. #define USBHS_EPCR_TXS_SHIFT USB_ENDPTCTRL_TXS_SHIFT
  80568. #define USBHS_EPCR_TXS(x) USB_ENDPTCTRL_TXS(x)
  80569. #define USBHS_EPCR_TXD_MASK USB_ENDPTCTRL_TXD_MASK
  80570. #define USBHS_EPCR_TXD_SHIFT USB_ENDPTCTRL_TXD_SHIFT
  80571. #define USBHS_EPCR_TXD(x) USB_ENDPTCTRL_TXD(x)
  80572. #define USBHS_EPCR_TXT_MASK USB_ENDPTCTRL_TXT_MASK
  80573. #define USBHS_EPCR_TXT_SHIFT USB_ENDPTCTRL_TXT_SHIFT
  80574. #define USBHS_EPCR_TXT(x) USB_ENDPTCTRL_TXT(x)
  80575. #define USBHS_EPCR_TXI_MASK USB_ENDPTCTRL_TXI_MASK
  80576. #define USBHS_EPCR_TXI_SHIFT USB_ENDPTCTRL_TXI_SHIFT
  80577. #define USBHS_EPCR_TXI(x) USB_ENDPTCTRL_TXI(x)
  80578. #define USBHS_EPCR_TXR_MASK USB_ENDPTCTRL_TXR_MASK
  80579. #define USBHS_EPCR_TXR_SHIFT USB_ENDPTCTRL_TXR_SHIFT
  80580. #define USBHS_EPCR_TXR(x) USB_ENDPTCTRL_TXR(x)
  80581. #define USBHS_EPCR_TXE_MASK USB_ENDPTCTRL_TXE_MASK
  80582. #define USBHS_EPCR_TXE_SHIFT USB_ENDPTCTRL_TXE_SHIFT
  80583. #define USBHS_EPCR_TXE(x) USB_ENDPTCTRL_TXE(x)
  80584. #define USBHS_EPCR_COUNT USB_ENDPTCTRL_COUNT
  80585. #define USBHS_Type USB_Type
  80586. #define USBHS_BASE_ADDRS { USB_OTG1_BASE, USB_OTG2_BASE }
  80587. #define USBHS_IRQS { USB_OTG1_IRQn, USB_OTG2_IRQn }
  80588. #define USBHS_IRQHandler USB_OTG1_IRQHandler
  80589. /*!
  80590. * @}
  80591. */ /* end of group USB_Peripheral_Access_Layer */
  80592. /* ----------------------------------------------------------------------------
  80593. -- USBHSDCD Peripheral Access Layer
  80594. ---------------------------------------------------------------------------- */
  80595. /*!
  80596. * @addtogroup USBHSDCD_Peripheral_Access_Layer USBHSDCD Peripheral Access Layer
  80597. * @{
  80598. */
  80599. /** USBHSDCD - Register Layout Typedef */
  80600. typedef struct {
  80601. __IO uint32_t CONTROL; /**< Control register, offset: 0x0 */
  80602. __IO uint32_t CLOCK; /**< Clock register, offset: 0x4 */
  80603. __I uint32_t STATUS; /**< Status register, offset: 0x8 */
  80604. __IO uint32_t SIGNAL_OVERRIDE; /**< Signal Override Register, offset: 0xC */
  80605. __IO uint32_t TIMER0; /**< TIMER0 register, offset: 0x10 */
  80606. __IO uint32_t TIMER1; /**< TIMER1 register, offset: 0x14 */
  80607. union { /* offset: 0x18 */
  80608. __IO uint32_t TIMER2_BC11; /**< TIMER2_BC11 register, offset: 0x18 */
  80609. __IO uint32_t TIMER2_BC12; /**< TIMER2_BC12 register, offset: 0x18 */
  80610. };
  80611. } USBHSDCD_Type;
  80612. /* ----------------------------------------------------------------------------
  80613. -- USBHSDCD Register Masks
  80614. ---------------------------------------------------------------------------- */
  80615. /*!
  80616. * @addtogroup USBHSDCD_Register_Masks USBHSDCD Register Masks
  80617. * @{
  80618. */
  80619. /*! @name CONTROL - Control register */
  80620. /*! @{ */
  80621. #define USBHSDCD_CONTROL_IACK_MASK (0x1U)
  80622. #define USBHSDCD_CONTROL_IACK_SHIFT (0U)
  80623. /*! IACK - Interrupt Acknowledge
  80624. * 0b0..Do not clear the interrupt.
  80625. * 0b1..Clear the IF bit (interrupt flag).
  80626. */
  80627. #define USBHSDCD_CONTROL_IACK(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IACK_SHIFT)) & USBHSDCD_CONTROL_IACK_MASK)
  80628. #define USBHSDCD_CONTROL_IF_MASK (0x100U)
  80629. #define USBHSDCD_CONTROL_IF_SHIFT (8U)
  80630. /*! IF - Interrupt Flag
  80631. * 0b0..No interrupt is pending.
  80632. * 0b1..An interrupt is pending.
  80633. */
  80634. #define USBHSDCD_CONTROL_IF(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IF_SHIFT)) & USBHSDCD_CONTROL_IF_MASK)
  80635. #define USBHSDCD_CONTROL_IE_MASK (0x10000U)
  80636. #define USBHSDCD_CONTROL_IE_SHIFT (16U)
  80637. /*! IE - Interrupt Enable
  80638. * 0b0..Disable interrupts to the system.
  80639. * 0b1..Enable interrupts to the system.
  80640. */
  80641. #define USBHSDCD_CONTROL_IE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_IE_SHIFT)) & USBHSDCD_CONTROL_IE_MASK)
  80642. #define USBHSDCD_CONTROL_BC12_MASK (0x20000U)
  80643. #define USBHSDCD_CONTROL_BC12_SHIFT (17U)
  80644. /*! BC12 - BC12
  80645. * 0b0..Compatible with BC1.1 (default)
  80646. * 0b1..Compatible with BC1.2
  80647. */
  80648. #define USBHSDCD_CONTROL_BC12(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_BC12_SHIFT)) & USBHSDCD_CONTROL_BC12_MASK)
  80649. #define USBHSDCD_CONTROL_START_MASK (0x1000000U)
  80650. #define USBHSDCD_CONTROL_START_SHIFT (24U)
  80651. /*! START - Start Change Detection Sequence
  80652. * 0b0..Do not start the sequence. Writes of this value have no effect.
  80653. * 0b1..Initiate the charger detection sequence. If the sequence is already running, writes of this value have no effect.
  80654. */
  80655. #define USBHSDCD_CONTROL_START(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_START_SHIFT)) & USBHSDCD_CONTROL_START_MASK)
  80656. #define USBHSDCD_CONTROL_SR_MASK (0x2000000U)
  80657. #define USBHSDCD_CONTROL_SR_SHIFT (25U)
  80658. /*! SR - Software Reset
  80659. * 0b0..Do not perform a software reset.
  80660. * 0b1..Perform a software reset.
  80661. */
  80662. #define USBHSDCD_CONTROL_SR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CONTROL_SR_SHIFT)) & USBHSDCD_CONTROL_SR_MASK)
  80663. /*! @} */
  80664. /*! @name CLOCK - Clock register */
  80665. /*! @{ */
  80666. #define USBHSDCD_CLOCK_CLOCK_UNIT_MASK (0x1U)
  80667. #define USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT (0U)
  80668. /*! CLOCK_UNIT - Unit of Measurement Encoding for Clock Speed
  80669. * 0b0..kHz Speed (between 1 kHz and 1023 kHz)
  80670. * 0b1..MHz Speed (between 1 MHz and 1023 MHz)
  80671. */
  80672. #define USBHSDCD_CLOCK_CLOCK_UNIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_UNIT_SHIFT)) & USBHSDCD_CLOCK_CLOCK_UNIT_MASK)
  80673. #define USBHSDCD_CLOCK_CLOCK_SPEED_MASK (0xFFCU)
  80674. #define USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT (2U)
  80675. /*! CLOCK_SPEED - Numerical Value of Clock Speed in Binary
  80676. */
  80677. #define USBHSDCD_CLOCK_CLOCK_SPEED(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_CLOCK_CLOCK_SPEED_SHIFT)) & USBHSDCD_CLOCK_CLOCK_SPEED_MASK)
  80678. /*! @} */
  80679. /*! @name STATUS - Status register */
  80680. /*! @{ */
  80681. #define USBHSDCD_STATUS_SEQ_RES_MASK (0x30000U)
  80682. #define USBHSDCD_STATUS_SEQ_RES_SHIFT (16U)
  80683. /*! SEQ_RES - Charger Detection Sequence Results
  80684. * 0b00..No results to report.
  80685. * 0b01..Attached to an SDP. Must comply with USB 2.0 by drawing only 2.5 mA (max) until connected.
  80686. * 0b10..Attached to a charging port. The exact meaning depends on bit 18 (value 0: Attached to either a CDP or a
  80687. * DCP. The charger type detection has not completed. value 1: Attached to a CDP. The charger type
  80688. * detection has completed.)
  80689. * 0b11..Attached to a DCP.
  80690. */
  80691. #define USBHSDCD_STATUS_SEQ_RES(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_RES_SHIFT)) & USBHSDCD_STATUS_SEQ_RES_MASK)
  80692. #define USBHSDCD_STATUS_SEQ_STAT_MASK (0xC0000U)
  80693. #define USBHSDCD_STATUS_SEQ_STAT_SHIFT (18U)
  80694. /*! SEQ_STAT - Charger Detection Sequence Status
  80695. * 0b00..The module is either not enabled, or the module is enabled but the data pins have not yet been detected.
  80696. * 0b01..Data pin contact detection is complete.
  80697. * 0b10..Charging port detection is complete.
  80698. * 0b11..Charger type detection is complete.
  80699. */
  80700. #define USBHSDCD_STATUS_SEQ_STAT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_SEQ_STAT_SHIFT)) & USBHSDCD_STATUS_SEQ_STAT_MASK)
  80701. #define USBHSDCD_STATUS_ERR_MASK (0x100000U)
  80702. #define USBHSDCD_STATUS_ERR_SHIFT (20U)
  80703. /*! ERR - Error Flag
  80704. * 0b0..No sequence errors.
  80705. * 0b1..Error in the detection sequence. See the SEQ_STAT field to determine the phase in which the error occurred.
  80706. */
  80707. #define USBHSDCD_STATUS_ERR(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ERR_SHIFT)) & USBHSDCD_STATUS_ERR_MASK)
  80708. #define USBHSDCD_STATUS_TO_MASK (0x200000U)
  80709. #define USBHSDCD_STATUS_TO_SHIFT (21U)
  80710. /*! TO - Timeout Flag
  80711. * 0b0..The detection sequence has not been running for over 1s.
  80712. * 0b1..It has been over 1 s since the data pin contact was detected and debounced.
  80713. */
  80714. #define USBHSDCD_STATUS_TO(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_TO_SHIFT)) & USBHSDCD_STATUS_TO_MASK)
  80715. #define USBHSDCD_STATUS_ACTIVE_MASK (0x400000U)
  80716. #define USBHSDCD_STATUS_ACTIVE_SHIFT (22U)
  80717. /*! ACTIVE - Active Status Indicator
  80718. * 0b0..The sequence is not running.
  80719. * 0b1..The sequence is running.
  80720. */
  80721. #define USBHSDCD_STATUS_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_STATUS_ACTIVE_SHIFT)) & USBHSDCD_STATUS_ACTIVE_MASK)
  80722. /*! @} */
  80723. /*! @name SIGNAL_OVERRIDE - Signal Override Register */
  80724. /*! @{ */
  80725. #define USBHSDCD_SIGNAL_OVERRIDE_PS_MASK (0x3U)
  80726. #define USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT (0U)
  80727. /*! PS - Phase Selection
  80728. * 0b00..No overrides. Bit field must remain at this value during normal USB data communication to prevent
  80729. * unexpected conditions on USB_DP and USB_DM pins. (Default)
  80730. * 0b01..Reserved, not for customer use.
  80731. * 0b10..Enables VDP_SRC voltage source for the USB_DP pin and IDM_SINK current source for the USB_DM pin.
  80732. * 0b11..Reserved, not for customer use.
  80733. */
  80734. #define USBHSDCD_SIGNAL_OVERRIDE_PS(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_SIGNAL_OVERRIDE_PS_SHIFT)) & USBHSDCD_SIGNAL_OVERRIDE_PS_MASK)
  80735. /*! @} */
  80736. /*! @name TIMER0 - TIMER0 register */
  80737. /*! @{ */
  80738. #define USBHSDCD_TIMER0_TUNITCON_MASK (0xFFFU)
  80739. #define USBHSDCD_TIMER0_TUNITCON_SHIFT (0U)
  80740. /*! TUNITCON - Unit Connection Timer Elapse (in ms)
  80741. */
  80742. #define USBHSDCD_TIMER0_TUNITCON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TUNITCON_SHIFT)) & USBHSDCD_TIMER0_TUNITCON_MASK)
  80743. #define USBHSDCD_TIMER0_TSEQ_INIT_MASK (0x3FF0000U)
  80744. #define USBHSDCD_TIMER0_TSEQ_INIT_SHIFT (16U)
  80745. /*! TSEQ_INIT - Sequence Initiation Time
  80746. * 0b0000000000-0b1111111111..0ms - 1023ms
  80747. */
  80748. #define USBHSDCD_TIMER0_TSEQ_INIT(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER0_TSEQ_INIT_SHIFT)) & USBHSDCD_TIMER0_TSEQ_INIT_MASK)
  80749. /*! @} */
  80750. /*! @name TIMER1 - TIMER1 register */
  80751. /*! @{ */
  80752. #define USBHSDCD_TIMER1_TVDPSRC_ON_MASK (0x3FFU)
  80753. #define USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT (0U)
  80754. /*! TVDPSRC_ON - Time Period Comparator Enabled
  80755. * 0b0000000001-0b1111111111..1ms - 1023ms
  80756. */
  80757. #define USBHSDCD_TIMER1_TVDPSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TVDPSRC_ON_SHIFT)) & USBHSDCD_TIMER1_TVDPSRC_ON_MASK)
  80758. #define USBHSDCD_TIMER1_TDCD_DBNC_MASK (0x3FF0000U)
  80759. #define USBHSDCD_TIMER1_TDCD_DBNC_SHIFT (16U)
  80760. /*! TDCD_DBNC - Time Period to Debounce D+ Signal
  80761. * 0b0000000001-0b1111111111..1ms - 1023ms
  80762. */
  80763. #define USBHSDCD_TIMER1_TDCD_DBNC(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER1_TDCD_DBNC_SHIFT)) & USBHSDCD_TIMER1_TDCD_DBNC_MASK)
  80764. /*! @} */
  80765. /*! @name TIMER2_BC11 - TIMER2_BC11 register */
  80766. /*! @{ */
  80767. #define USBHSDCD_TIMER2_BC11_CHECK_DM_MASK (0xFU)
  80768. #define USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT (0U)
  80769. /*! CHECK_DM - Time Before Check of D- Line
  80770. * 0b0001-0b1111..1ms - 15ms
  80771. */
  80772. #define USBHSDCD_TIMER2_BC11_CHECK_DM(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_CHECK_DM_SHIFT)) & USBHSDCD_TIMER2_BC11_CHECK_DM_MASK)
  80773. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK (0x3FF0000U)
  80774. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT (16U)
  80775. /*! TVDPSRC_CON - Time Period Before Enabling D+ Pullup
  80776. * 0b0000000001-0b1111111111..1ms - 1023ms
  80777. */
  80778. #define USBHSDCD_TIMER2_BC11_TVDPSRC_CON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC11_TVDPSRC_CON_SHIFT)) & USBHSDCD_TIMER2_BC11_TVDPSRC_CON_MASK)
  80779. /*! @} */
  80780. /*! @name TIMER2_BC12 - TIMER2_BC12 register */
  80781. /*! @{ */
  80782. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK (0x3FFU)
  80783. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT (0U)
  80784. /*! TVDMSRC_ON - TVDMSRC_ON
  80785. * 0b0000000000-0b0000101000..0ms - 40ms
  80786. */
  80787. #define USBHSDCD_TIMER2_BC12_TVDMSRC_ON(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC12_TVDMSRC_ON_SHIFT)) & USBHSDCD_TIMER2_BC12_TVDMSRC_ON_MASK)
  80788. #define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_MASK (0x3FF0000U)
  80789. #define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_SHIFT (16U)
  80790. /*! TWAIT_AFTER_PRD - TWAIT_AFTER_PRD
  80791. * 0b0000000001-0b1111111111..1ms - 1023ms
  80792. */
  80793. #define USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD(x) (((uint32_t)(((uint32_t)(x)) << USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_SHIFT)) & USBHSDCD_TIMER2_BC12_TWAIT_AFTER_PRD_MASK)
  80794. /*! @} */
  80795. /*!
  80796. * @}
  80797. */ /* end of group USBHSDCD_Register_Masks */
  80798. /* USBHSDCD - Peripheral instance base addresses */
  80799. /** Peripheral USBHSDCD1 base address */
  80800. #define USBHSDCD1_BASE (0x40434800u)
  80801. /** Peripheral USBHSDCD1 base pointer */
  80802. #define USBHSDCD1 ((USBHSDCD_Type *)USBHSDCD1_BASE)
  80803. /** Peripheral USBHSDCD2 base address */
  80804. #define USBHSDCD2_BASE (0x40438800u)
  80805. /** Peripheral USBHSDCD2 base pointer */
  80806. #define USBHSDCD2 ((USBHSDCD_Type *)USBHSDCD2_BASE)
  80807. /** Array initializer of USBHSDCD peripheral base addresses */
  80808. #define USBHSDCD_BASE_ADDRS { 0u, USBHSDCD1_BASE, USBHSDCD2_BASE }
  80809. /** Array initializer of USBHSDCD peripheral base pointers */
  80810. #define USBHSDCD_BASE_PTRS { (USBHSDCD_Type *)0u, USBHSDCD1, USBHSDCD2 }
  80811. /*!
  80812. * @}
  80813. */ /* end of group USBHSDCD_Peripheral_Access_Layer */
  80814. /* ----------------------------------------------------------------------------
  80815. -- USBNC Peripheral Access Layer
  80816. ---------------------------------------------------------------------------- */
  80817. /*!
  80818. * @addtogroup USBNC_Peripheral_Access_Layer USBNC Peripheral Access Layer
  80819. * @{
  80820. */
  80821. /** USBNC - Register Layout Typedef */
  80822. typedef struct {
  80823. __IO uint32_t CTRL1; /**< USB OTG Control 1 Register, offset: 0x0 */
  80824. __IO uint32_t CTRL2; /**< USB OTG Control 2 Register, offset: 0x4 */
  80825. uint8_t RESERVED_0[8];
  80826. __IO uint32_t HSIC_CTRL; /**< USB Host HSIC Control Register, offset: 0x10 */
  80827. } USBNC_Type;
  80828. /* ----------------------------------------------------------------------------
  80829. -- USBNC Register Masks
  80830. ---------------------------------------------------------------------------- */
  80831. /*!
  80832. * @addtogroup USBNC_Register_Masks USBNC Register Masks
  80833. * @{
  80834. */
  80835. /*! @name CTRL1 - USB OTG Control 1 Register */
  80836. /*! @{ */
  80837. #define USBNC_CTRL1_OVER_CUR_DIS_MASK (0x80U)
  80838. #define USBNC_CTRL1_OVER_CUR_DIS_SHIFT (7U)
  80839. /*! OVER_CUR_DIS - OVER_CUR_DIS
  80840. * 0b1..Disables overcurrent detection
  80841. * 0b0..Enables overcurrent detection
  80842. */
  80843. #define USBNC_CTRL1_OVER_CUR_DIS(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_DIS_SHIFT)) & USBNC_CTRL1_OVER_CUR_DIS_MASK)
  80844. #define USBNC_CTRL1_OVER_CUR_POL_MASK (0x100U)
  80845. #define USBNC_CTRL1_OVER_CUR_POL_SHIFT (8U)
  80846. /*! OVER_CUR_POL - OVER_CUR_POL
  80847. * 0b1..Low active (low on this signal represents an overcurrent condition)
  80848. * 0b0..High active (high on this signal represents an overcurrent condition)
  80849. */
  80850. #define USBNC_CTRL1_OVER_CUR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_OVER_CUR_POL_SHIFT)) & USBNC_CTRL1_OVER_CUR_POL_MASK)
  80851. #define USBNC_CTRL1_PWR_POL_MASK (0x200U)
  80852. #define USBNC_CTRL1_PWR_POL_SHIFT (9U)
  80853. /*! PWR_POL - PWR_POL
  80854. * 0b1..PMIC Power Pin is High active.
  80855. * 0b0..PMIC Power Pin is Low active.
  80856. */
  80857. #define USBNC_CTRL1_PWR_POL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_PWR_POL_SHIFT)) & USBNC_CTRL1_PWR_POL_MASK)
  80858. #define USBNC_CTRL1_WIE_MASK (0x400U)
  80859. #define USBNC_CTRL1_WIE_SHIFT (10U)
  80860. /*! WIE - WIE
  80861. * 0b1..Interrupt Enabled
  80862. * 0b0..Interrupt Disabled
  80863. */
  80864. #define USBNC_CTRL1_WIE(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIE_SHIFT)) & USBNC_CTRL1_WIE_MASK)
  80865. #define USBNC_CTRL1_WKUP_SW_EN_MASK (0x4000U)
  80866. #define USBNC_CTRL1_WKUP_SW_EN_SHIFT (14U)
  80867. /*! WKUP_SW_EN - WKUP_SW_EN
  80868. * 0b1..Enable
  80869. * 0b0..Disable
  80870. */
  80871. #define USBNC_CTRL1_WKUP_SW_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_EN_SHIFT)) & USBNC_CTRL1_WKUP_SW_EN_MASK)
  80872. #define USBNC_CTRL1_WKUP_SW_MASK (0x8000U)
  80873. #define USBNC_CTRL1_WKUP_SW_SHIFT (15U)
  80874. /*! WKUP_SW - WKUP_SW
  80875. * 0b1..Force wake-up
  80876. * 0b0..Inactive
  80877. */
  80878. #define USBNC_CTRL1_WKUP_SW(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_SW_SHIFT)) & USBNC_CTRL1_WKUP_SW_MASK)
  80879. #define USBNC_CTRL1_WKUP_ID_EN_MASK (0x10000U)
  80880. #define USBNC_CTRL1_WKUP_ID_EN_SHIFT (16U)
  80881. /*! WKUP_ID_EN - WKUP_ID_EN
  80882. * 0b1..Enable
  80883. * 0b0..Disable
  80884. */
  80885. #define USBNC_CTRL1_WKUP_ID_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_ID_EN_SHIFT)) & USBNC_CTRL1_WKUP_ID_EN_MASK)
  80886. #define USBNC_CTRL1_WKUP_VBUS_EN_MASK (0x20000U)
  80887. #define USBNC_CTRL1_WKUP_VBUS_EN_SHIFT (17U)
  80888. /*! WKUP_VBUS_EN - WKUP_VBUS_EN
  80889. * 0b1..Enable
  80890. * 0b0..Disable
  80891. */
  80892. #define USBNC_CTRL1_WKUP_VBUS_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_VBUS_EN_SHIFT)) & USBNC_CTRL1_WKUP_VBUS_EN_MASK)
  80893. #define USBNC_CTRL1_WKUP_DPDM_EN_MASK (0x20000000U)
  80894. #define USBNC_CTRL1_WKUP_DPDM_EN_SHIFT (29U)
  80895. /*! WKUP_DPDM_EN - Wake-up on DPDM change enable
  80896. * 0b1..(Default) DPDM changes wake-up to be enabled, it is for device only.
  80897. * 0b0..DPDM changes wake-up to be disabled only when VBUS is 0.
  80898. */
  80899. #define USBNC_CTRL1_WKUP_DPDM_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WKUP_DPDM_EN_SHIFT)) & USBNC_CTRL1_WKUP_DPDM_EN_MASK)
  80900. #define USBNC_CTRL1_WIR_MASK (0x80000000U)
  80901. #define USBNC_CTRL1_WIR_SHIFT (31U)
  80902. /*! WIR - WIR
  80903. * 0b1..Wake-up Interrupt Request received
  80904. * 0b0..No wake-up interrupt request received
  80905. */
  80906. #define USBNC_CTRL1_WIR(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL1_WIR_SHIFT)) & USBNC_CTRL1_WIR_MASK)
  80907. /*! @} */
  80908. /*! @name CTRL2 - USB OTG Control 2 Register */
  80909. /*! @{ */
  80910. #define USBNC_CTRL2_VBUS_SOURCE_SEL_MASK (0x3U)
  80911. #define USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT (0U)
  80912. /*! VBUS_SOURCE_SEL - VBUS_SOURCE_SEL
  80913. * 0b00..vbus_valid
  80914. * 0b01..sess_valid
  80915. * 0b10..sess_valid
  80916. * 0b11..sess_valid
  80917. */
  80918. #define USBNC_CTRL2_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_VBUS_SOURCE_SEL_SHIFT)) & USBNC_CTRL2_VBUS_SOURCE_SEL_MASK)
  80919. #define USBNC_CTRL2_AUTURESUME_EN_MASK (0x4U)
  80920. #define USBNC_CTRL2_AUTURESUME_EN_SHIFT (2U)
  80921. /*! AUTURESUME_EN - Auto Resume Enable
  80922. * 0b0..Default
  80923. */
  80924. #define USBNC_CTRL2_AUTURESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_AUTURESUME_EN_SHIFT)) & USBNC_CTRL2_AUTURESUME_EN_MASK)
  80925. #define USBNC_CTRL2_LOWSPEED_EN_MASK (0x8U)
  80926. #define USBNC_CTRL2_LOWSPEED_EN_SHIFT (3U)
  80927. /*! LOWSPEED_EN - LOWSPEED_EN
  80928. * 0b0..Default
  80929. */
  80930. #define USBNC_CTRL2_LOWSPEED_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_LOWSPEED_EN_SHIFT)) & USBNC_CTRL2_LOWSPEED_EN_MASK)
  80931. #define USBNC_CTRL2_UTMI_CLK_VLD_MASK (0x80000000U)
  80932. #define USBNC_CTRL2_UTMI_CLK_VLD_SHIFT (31U)
  80933. /*! UTMI_CLK_VLD - UTMI_CLK_VLD
  80934. * 0b0..Default
  80935. */
  80936. #define USBNC_CTRL2_UTMI_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_CTRL2_UTMI_CLK_VLD_SHIFT)) & USBNC_CTRL2_UTMI_CLK_VLD_MASK)
  80937. /*! @} */
  80938. /*! @name HSIC_CTRL - USB Host HSIC Control Register */
  80939. /*! @{ */
  80940. #define USBNC_HSIC_CTRL_HSIC_CLK_ON_MASK (0x800U)
  80941. #define USBNC_HSIC_CTRL_HSIC_CLK_ON_SHIFT (11U)
  80942. /*! HSIC_CLK_ON - HSIC_CLK_ON
  80943. * 0b1..Active
  80944. * 0b0..Inactive
  80945. */
  80946. #define USBNC_HSIC_CTRL_HSIC_CLK_ON(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_CTRL_HSIC_CLK_ON_SHIFT)) & USBNC_HSIC_CTRL_HSIC_CLK_ON_MASK)
  80947. #define USBNC_HSIC_CTRL_HSIC_EN_MASK (0x1000U)
  80948. #define USBNC_HSIC_CTRL_HSIC_EN_SHIFT (12U)
  80949. /*! HSIC_EN - HSIC_EN
  80950. * 0b1..Enabled
  80951. * 0b0..Disabled
  80952. */
  80953. #define USBNC_HSIC_CTRL_HSIC_EN(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_CTRL_HSIC_EN_SHIFT)) & USBNC_HSIC_CTRL_HSIC_EN_MASK)
  80954. #define USBNC_HSIC_CTRL_CLK_VLD_MASK (0x80000000U)
  80955. #define USBNC_HSIC_CTRL_CLK_VLD_SHIFT (31U)
  80956. /*! CLK_VLD - CLK_VLD
  80957. * 0b1..Valid
  80958. * 0b0..Invalid
  80959. */
  80960. #define USBNC_HSIC_CTRL_CLK_VLD(x) (((uint32_t)(((uint32_t)(x)) << USBNC_HSIC_CTRL_CLK_VLD_SHIFT)) & USBNC_HSIC_CTRL_CLK_VLD_MASK)
  80961. /*! @} */
  80962. /*!
  80963. * @}
  80964. */ /* end of group USBNC_Register_Masks */
  80965. /* USBNC - Peripheral instance base addresses */
  80966. /** Peripheral USBNC_OTG1 base address */
  80967. #define USBNC_OTG1_BASE (0x40430200u)
  80968. /** Peripheral USBNC_OTG1 base pointer */
  80969. #define USBNC_OTG1 ((USBNC_Type *)USBNC_OTG1_BASE)
  80970. /** Peripheral USBNC_OTG2 base address */
  80971. #define USBNC_OTG2_BASE (0x4042C200u)
  80972. /** Peripheral USBNC_OTG2 base pointer */
  80973. #define USBNC_OTG2 ((USBNC_Type *)USBNC_OTG2_BASE)
  80974. /** Array initializer of USBNC peripheral base addresses */
  80975. #define USBNC_BASE_ADDRS { 0u, USBNC_OTG1_BASE, USBNC_OTG2_BASE }
  80976. /** Array initializer of USBNC peripheral base pointers */
  80977. #define USBNC_BASE_PTRS { (USBNC_Type *)0u, USBNC_OTG1, USBNC_OTG2 }
  80978. /* Backward compatibility */
  80979. #define USB_OTGn_CTRL CTRL1
  80980. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_MASK USBNC_CTRL1_OVER_CUR_DIS_MASK
  80981. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS_SHIFT USBNC_CTRL1_OVER_CUR_DIS_SHIFT
  80982. #define USBNC_USB_OTGn_CTRL_OVER_CUR_DIS(x) USBNC_CTRL1_OVER_CUR_DIS(x)
  80983. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_MASK USBNC_CTRL1_OVER_CUR_POL_MASK
  80984. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL_SHIFT USBNC_CTRL1_OVER_CUR_POL_SHIFT
  80985. #define USBNC_USB_OTGn_CTRL_OVER_CUR_POL(x) USBNC_CTRL1_OVER_CUR_POL(x)
  80986. #define USBNC_USB_OTGn_CTRL_PWR_POL_MASK USBNC_CTRL1_PWR_POL_MASK
  80987. #define USBNC_USB_OTGn_CTRL_PWR_POL_SHIFT USBNC_CTRL1_PWR_POL_SHIFT
  80988. #define USBNC_USB_OTGn_CTRL_PWR_POL(x) USBNC_CTRL1_PWR_POL(x)
  80989. #define USBNC_USB_OTGn_CTRL_WIE_MASK USBNC_CTRL1_WIE_MASK
  80990. #define USBNC_USB_OTGn_CTRL_WIE_SHIFT USBNC_CTRL1_WIE_SHIFT
  80991. #define USBNC_USB_OTGn_CTRL_WIE(x) USBNC_CTRL1_WIE(x)
  80992. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_MASK USBNC_CTRL1_WKUP_SW_EN_MASK
  80993. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN_SHIFT USBNC_CTRL1_WKUP_SW_EN_SHIFT
  80994. #define USBNC_USB_OTGn_CTRL_WKUP_SW_EN(x) USBNC_CTRL1_WKUP_SW_EN(x)
  80995. #define USBNC_USB_OTGn_CTRL_WKUP_SW_MASK USBNC_CTRL1_WKUP_SW_MASK
  80996. #define USBNC_USB_OTGn_CTRL_WKUP_SW_SHIFT USBNC_CTRL1_WKUP_SW_SHIFT
  80997. #define USBNC_USB_OTGn_CTRL_WKUP_SW(x) USBNC_CTRL1_WKUP_SW(x)
  80998. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_MASK USBNC_CTRL1_WKUP_ID_EN_MASK
  80999. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN_SHIFT USBNC_CTRL1_WKUP_ID_EN_SHIFT
  81000. #define USBNC_USB_OTGn_CTRL_WKUP_ID_EN(x) USBNC_CTRL1_WKUP_ID_EN(x)
  81001. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_MASK USBNC_CTRL1_WKUP_VBUS_EN_MASK
  81002. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN_SHIFT USBNC_CTRL1_WKUP_VBUS_EN_SHIFT
  81003. #define USBNC_USB_OTGn_CTRL_WKUP_VBUS_EN(x) USBNC_CTRL1_WKUP_VBUS_EN(x)
  81004. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_MASK USBNC_CTRL1_WKUP_DPDM_EN_MASK
  81005. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN_SHIFT USBNC_CTRL1_WKUP_DPDM_EN_SHIFT
  81006. #define USBNC_USB_OTGn_CTRL_WKUP_DPDM_EN(x) USBNC_CTRL1_WKUP_DPDM_EN(x)
  81007. #define USBNC_USB_OTGn_CTRL_WIR_MASK USBNC_CTRL1_WIR_MASK
  81008. #define USBNC_USB_OTGn_CTRL_WIR_SHIFT USBNC_CTRL1_WIR_SHIFT
  81009. #define USBNC_USB_OTGn_CTRL_WIR(x) USBNC_CTRL1_WIR(x)
  81010. /*!
  81011. * @}
  81012. */ /* end of group USBNC_Peripheral_Access_Layer */
  81013. /* ----------------------------------------------------------------------------
  81014. -- USBPHY Peripheral Access Layer
  81015. ---------------------------------------------------------------------------- */
  81016. /*!
  81017. * @addtogroup USBPHY_Peripheral_Access_Layer USBPHY Peripheral Access Layer
  81018. * @{
  81019. */
  81020. /** USBPHY - Register Layout Typedef */
  81021. typedef struct {
  81022. __IO uint32_t PWD; /**< USB PHY Power-Down Register, offset: 0x0 */
  81023. __IO uint32_t PWD_SET; /**< USB PHY Power-Down Register, offset: 0x4 */
  81024. __IO uint32_t PWD_CLR; /**< USB PHY Power-Down Register, offset: 0x8 */
  81025. __IO uint32_t PWD_TOG; /**< USB PHY Power-Down Register, offset: 0xC */
  81026. __IO uint32_t TX; /**< USB PHY Transmitter Control Register, offset: 0x10 */
  81027. __IO uint32_t TX_SET; /**< USB PHY Transmitter Control Register, offset: 0x14 */
  81028. __IO uint32_t TX_CLR; /**< USB PHY Transmitter Control Register, offset: 0x18 */
  81029. __IO uint32_t TX_TOG; /**< USB PHY Transmitter Control Register, offset: 0x1C */
  81030. __IO uint32_t RX; /**< USB PHY Receiver Control Register, offset: 0x20 */
  81031. __IO uint32_t RX_SET; /**< USB PHY Receiver Control Register, offset: 0x24 */
  81032. __IO uint32_t RX_CLR; /**< USB PHY Receiver Control Register, offset: 0x28 */
  81033. __IO uint32_t RX_TOG; /**< USB PHY Receiver Control Register, offset: 0x2C */
  81034. __IO uint32_t CTRL; /**< USB PHY General Control Register, offset: 0x30 */
  81035. __IO uint32_t CTRL_SET; /**< USB PHY General Control Register, offset: 0x34 */
  81036. __IO uint32_t CTRL_CLR; /**< USB PHY General Control Register, offset: 0x38 */
  81037. __IO uint32_t CTRL_TOG; /**< USB PHY General Control Register, offset: 0x3C */
  81038. __IO uint32_t STATUS; /**< USB PHY Status Register, offset: 0x40 */
  81039. uint8_t RESERVED_0[12];
  81040. __IO uint32_t DEBUGr; /**< USB PHY Debug Register, offset: 0x50 */
  81041. __IO uint32_t DEBUG_SET; /**< USB PHY Debug Register, offset: 0x54 */
  81042. __IO uint32_t DEBUG_CLR; /**< USB PHY Debug Register, offset: 0x58 */
  81043. __IO uint32_t DEBUG_TOG; /**< USB PHY Debug Register, offset: 0x5C */
  81044. __I uint32_t DEBUG0_STATUS; /**< UTMI Debug Status Register 0, offset: 0x60 */
  81045. uint8_t RESERVED_1[12];
  81046. __IO uint32_t DEBUG1; /**< UTMI Debug Status Register 1, offset: 0x70 */
  81047. __IO uint32_t DEBUG1_SET; /**< UTMI Debug Status Register 1, offset: 0x74 */
  81048. __IO uint32_t DEBUG1_CLR; /**< UTMI Debug Status Register 1, offset: 0x78 */
  81049. __IO uint32_t DEBUG1_TOG; /**< UTMI Debug Status Register 1, offset: 0x7C */
  81050. __I uint32_t VERSION; /**< UTMI RTL Version, offset: 0x80 */
  81051. uint8_t RESERVED_2[28];
  81052. __IO uint32_t PLL_SIC; /**< USB PHY PLL Control/Status Register, offset: 0xA0 */
  81053. __IO uint32_t PLL_SIC_SET; /**< USB PHY PLL Control/Status Register, offset: 0xA4 */
  81054. __IO uint32_t PLL_SIC_CLR; /**< USB PHY PLL Control/Status Register, offset: 0xA8 */
  81055. __IO uint32_t PLL_SIC_TOG; /**< USB PHY PLL Control/Status Register, offset: 0xAC */
  81056. uint8_t RESERVED_3[16];
  81057. __IO uint32_t USB1_VBUS_DETECT; /**< USB PHY VBUS Detect Control Register, offset: 0xC0 */
  81058. __IO uint32_t USB1_VBUS_DETECT_SET; /**< USB PHY VBUS Detect Control Register, offset: 0xC4 */
  81059. __IO uint32_t USB1_VBUS_DETECT_CLR; /**< USB PHY VBUS Detect Control Register, offset: 0xC8 */
  81060. __IO uint32_t USB1_VBUS_DETECT_TOG; /**< USB PHY VBUS Detect Control Register, offset: 0xCC */
  81061. __I uint32_t USB1_VBUS_DET_STAT; /**< USB PHY VBUS Detector Status Register, offset: 0xD0 */
  81062. uint8_t RESERVED_4[12];
  81063. __IO uint32_t USB1_CHRG_DETECT; /**< USB PHY Charger Detect Control Register, offset: 0xE0 */
  81064. __IO uint32_t USB1_CHRG_DETECT_SET; /**< USB PHY Charger Detect Control Register, offset: 0xE4 */
  81065. __IO uint32_t USB1_CHRG_DETECT_CLR; /**< USB PHY Charger Detect Control Register, offset: 0xE8 */
  81066. __IO uint32_t USB1_CHRG_DETECT_TOG; /**< USB PHY Charger Detect Control Register, offset: 0xEC */
  81067. __I uint32_t USB1_CHRG_DET_STAT; /**< USB PHY Charger Detect Status Register, offset: 0xF0 */
  81068. uint8_t RESERVED_5[12];
  81069. __IO uint32_t ANACTRL; /**< USB PHY Analog Control Register, offset: 0x100 */
  81070. __IO uint32_t ANACTRL_SET; /**< USB PHY Analog Control Register, offset: 0x104 */
  81071. __IO uint32_t ANACTRL_CLR; /**< USB PHY Analog Control Register, offset: 0x108 */
  81072. __IO uint32_t ANACTRL_TOG; /**< USB PHY Analog Control Register, offset: 0x10C */
  81073. __IO uint32_t USB1_LOOPBACK; /**< USB PHY Loopback Control/Status Register, offset: 0x110 */
  81074. __IO uint32_t USB1_LOOPBACK_SET; /**< USB PHY Loopback Control/Status Register, offset: 0x114 */
  81075. __IO uint32_t USB1_LOOPBACK_CLR; /**< USB PHY Loopback Control/Status Register, offset: 0x118 */
  81076. __IO uint32_t USB1_LOOPBACK_TOG; /**< USB PHY Loopback Control/Status Register, offset: 0x11C */
  81077. __IO uint32_t USB1_LOOPBACK_HSFSCNT; /**< USB PHY Loopback Packet Number Select Register, offset: 0x120 */
  81078. __IO uint32_t USB1_LOOPBACK_HSFSCNT_SET; /**< USB PHY Loopback Packet Number Select Register, offset: 0x124 */
  81079. __IO uint32_t USB1_LOOPBACK_HSFSCNT_CLR; /**< USB PHY Loopback Packet Number Select Register, offset: 0x128 */
  81080. __IO uint32_t USB1_LOOPBACK_HSFSCNT_TOG; /**< USB PHY Loopback Packet Number Select Register, offset: 0x12C */
  81081. __IO uint32_t TRIM_OVERRIDE_EN; /**< USB PHY Trim Override Enable Register, offset: 0x130 */
  81082. __IO uint32_t TRIM_OVERRIDE_EN_SET; /**< USB PHY Trim Override Enable Register, offset: 0x134 */
  81083. __IO uint32_t TRIM_OVERRIDE_EN_CLR; /**< USB PHY Trim Override Enable Register, offset: 0x138 */
  81084. __IO uint32_t TRIM_OVERRIDE_EN_TOG; /**< USB PHY Trim Override Enable Register, offset: 0x13C */
  81085. } USBPHY_Type;
  81086. /* ----------------------------------------------------------------------------
  81087. -- USBPHY Register Masks
  81088. ---------------------------------------------------------------------------- */
  81089. /*!
  81090. * @addtogroup USBPHY_Register_Masks USBPHY Register Masks
  81091. * @{
  81092. */
  81093. /*! @name PWD - USB PHY Power-Down Register */
  81094. /*! @{ */
  81095. #define USBPHY_PWD_TXPWDFS_MASK (0x400U)
  81096. #define USBPHY_PWD_TXPWDFS_SHIFT (10U)
  81097. /*! TXPWDFS - TXPWDFS
  81098. * 0b0..Normal operation.
  81099. * 0b1..Power-down the USB full-speed drivers. This turns off the current starvation sources and puts the drivers into high-impedance output
  81100. */
  81101. #define USBPHY_PWD_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDFS_SHIFT)) & USBPHY_PWD_TXPWDFS_MASK)
  81102. #define USBPHY_PWD_TXPWDIBIAS_MASK (0x800U)
  81103. #define USBPHY_PWD_TXPWDIBIAS_SHIFT (11U)
  81104. /*! TXPWDIBIAS - TXPWDIBIAS
  81105. * 0b0..Normal operation
  81106. * 0b1..Power-down the USB PHY current bias block for the transmitter. This bit should be set only when the USB
  81107. * is in suspend mode. This effectively powers down the entire USB transmit path
  81108. */
  81109. #define USBPHY_PWD_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TXPWDIBIAS_MASK)
  81110. #define USBPHY_PWD_TXPWDV2I_MASK (0x1000U)
  81111. #define USBPHY_PWD_TXPWDV2I_SHIFT (12U)
  81112. /*! TXPWDV2I - TXPWDV2I
  81113. * 0b0..Normal operation.
  81114. * 0b1..Power-down the USB PHY transmit V-to-I converter and the current mirror
  81115. */
  81116. #define USBPHY_PWD_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TXPWDV2I_SHIFT)) & USBPHY_PWD_TXPWDV2I_MASK)
  81117. #define USBPHY_PWD_RXPWDENV_MASK (0x20000U)
  81118. #define USBPHY_PWD_RXPWDENV_SHIFT (17U)
  81119. /*! RXPWDENV - RXPWDENV
  81120. * 0b0..Normal operation.
  81121. * 0b1..Power-down the USB high-speed receiver envelope detector (squelch signal)
  81122. */
  81123. #define USBPHY_PWD_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDENV_SHIFT)) & USBPHY_PWD_RXPWDENV_MASK)
  81124. #define USBPHY_PWD_RXPWD1PT1_MASK (0x40000U)
  81125. #define USBPHY_PWD_RXPWD1PT1_SHIFT (18U)
  81126. /*! RXPWD1PT1 - RXPWD1PT1
  81127. * 0b0..Normal operation
  81128. * 0b1..Power-down the USB full-speed differential receiver.
  81129. */
  81130. #define USBPHY_PWD_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWD1PT1_SHIFT)) & USBPHY_PWD_RXPWD1PT1_MASK)
  81131. #define USBPHY_PWD_RXPWDDIFF_MASK (0x80000U)
  81132. #define USBPHY_PWD_RXPWDDIFF_SHIFT (19U)
  81133. /*! RXPWDDIFF - RXPWDDIFF
  81134. * 0b0..Normal operation.
  81135. * 0b1..Power-down the USB high-speed differential receiver
  81136. */
  81137. #define USBPHY_PWD_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDDIFF_SHIFT)) & USBPHY_PWD_RXPWDDIFF_MASK)
  81138. #define USBPHY_PWD_RXPWDRX_MASK (0x100000U)
  81139. #define USBPHY_PWD_RXPWDRX_SHIFT (20U)
  81140. /*! RXPWDRX - RXPWDRX
  81141. * 0b0..Normal operation
  81142. * 0b1..Power-down the entire USB PHY receiver block except for the full-speed differential receiver
  81143. */
  81144. #define USBPHY_PWD_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_RXPWDRX_SHIFT)) & USBPHY_PWD_RXPWDRX_MASK)
  81145. /*! @} */
  81146. /*! @name PWD_SET - USB PHY Power-Down Register */
  81147. /*! @{ */
  81148. #define USBPHY_PWD_SET_TXPWDFS_MASK (0x400U)
  81149. #define USBPHY_PWD_SET_TXPWDFS_SHIFT (10U)
  81150. /*! TXPWDFS - TXPWDFS
  81151. */
  81152. #define USBPHY_PWD_SET_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDFS_SHIFT)) & USBPHY_PWD_SET_TXPWDFS_MASK)
  81153. #define USBPHY_PWD_SET_TXPWDIBIAS_MASK (0x800U)
  81154. #define USBPHY_PWD_SET_TXPWDIBIAS_SHIFT (11U)
  81155. /*! TXPWDIBIAS - TXPWDIBIAS
  81156. */
  81157. #define USBPHY_PWD_SET_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_SET_TXPWDIBIAS_MASK)
  81158. #define USBPHY_PWD_SET_TXPWDV2I_MASK (0x1000U)
  81159. #define USBPHY_PWD_SET_TXPWDV2I_SHIFT (12U)
  81160. /*! TXPWDV2I - TXPWDV2I
  81161. */
  81162. #define USBPHY_PWD_SET_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_TXPWDV2I_SHIFT)) & USBPHY_PWD_SET_TXPWDV2I_MASK)
  81163. #define USBPHY_PWD_SET_RXPWDENV_MASK (0x20000U)
  81164. #define USBPHY_PWD_SET_RXPWDENV_SHIFT (17U)
  81165. /*! RXPWDENV - RXPWDENV
  81166. */
  81167. #define USBPHY_PWD_SET_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDENV_SHIFT)) & USBPHY_PWD_SET_RXPWDENV_MASK)
  81168. #define USBPHY_PWD_SET_RXPWD1PT1_MASK (0x40000U)
  81169. #define USBPHY_PWD_SET_RXPWD1PT1_SHIFT (18U)
  81170. /*! RXPWD1PT1 - RXPWD1PT1
  81171. */
  81172. #define USBPHY_PWD_SET_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWD1PT1_SHIFT)) & USBPHY_PWD_SET_RXPWD1PT1_MASK)
  81173. #define USBPHY_PWD_SET_RXPWDDIFF_MASK (0x80000U)
  81174. #define USBPHY_PWD_SET_RXPWDDIFF_SHIFT (19U)
  81175. /*! RXPWDDIFF - RXPWDDIFF
  81176. */
  81177. #define USBPHY_PWD_SET_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDDIFF_SHIFT)) & USBPHY_PWD_SET_RXPWDDIFF_MASK)
  81178. #define USBPHY_PWD_SET_RXPWDRX_MASK (0x100000U)
  81179. #define USBPHY_PWD_SET_RXPWDRX_SHIFT (20U)
  81180. /*! RXPWDRX - RXPWDRX
  81181. */
  81182. #define USBPHY_PWD_SET_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_SET_RXPWDRX_SHIFT)) & USBPHY_PWD_SET_RXPWDRX_MASK)
  81183. /*! @} */
  81184. /*! @name PWD_CLR - USB PHY Power-Down Register */
  81185. /*! @{ */
  81186. #define USBPHY_PWD_CLR_TXPWDFS_MASK (0x400U)
  81187. #define USBPHY_PWD_CLR_TXPWDFS_SHIFT (10U)
  81188. /*! TXPWDFS - TXPWDFS
  81189. */
  81190. #define USBPHY_PWD_CLR_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDFS_SHIFT)) & USBPHY_PWD_CLR_TXPWDFS_MASK)
  81191. #define USBPHY_PWD_CLR_TXPWDIBIAS_MASK (0x800U)
  81192. #define USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT (11U)
  81193. /*! TXPWDIBIAS - TXPWDIBIAS
  81194. */
  81195. #define USBPHY_PWD_CLR_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_CLR_TXPWDIBIAS_MASK)
  81196. #define USBPHY_PWD_CLR_TXPWDV2I_MASK (0x1000U)
  81197. #define USBPHY_PWD_CLR_TXPWDV2I_SHIFT (12U)
  81198. /*! TXPWDV2I - TXPWDV2I
  81199. */
  81200. #define USBPHY_PWD_CLR_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_TXPWDV2I_SHIFT)) & USBPHY_PWD_CLR_TXPWDV2I_MASK)
  81201. #define USBPHY_PWD_CLR_RXPWDENV_MASK (0x20000U)
  81202. #define USBPHY_PWD_CLR_RXPWDENV_SHIFT (17U)
  81203. /*! RXPWDENV - RXPWDENV
  81204. */
  81205. #define USBPHY_PWD_CLR_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDENV_SHIFT)) & USBPHY_PWD_CLR_RXPWDENV_MASK)
  81206. #define USBPHY_PWD_CLR_RXPWD1PT1_MASK (0x40000U)
  81207. #define USBPHY_PWD_CLR_RXPWD1PT1_SHIFT (18U)
  81208. /*! RXPWD1PT1 - RXPWD1PT1
  81209. */
  81210. #define USBPHY_PWD_CLR_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWD1PT1_SHIFT)) & USBPHY_PWD_CLR_RXPWD1PT1_MASK)
  81211. #define USBPHY_PWD_CLR_RXPWDDIFF_MASK (0x80000U)
  81212. #define USBPHY_PWD_CLR_RXPWDDIFF_SHIFT (19U)
  81213. /*! RXPWDDIFF - RXPWDDIFF
  81214. */
  81215. #define USBPHY_PWD_CLR_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDDIFF_SHIFT)) & USBPHY_PWD_CLR_RXPWDDIFF_MASK)
  81216. #define USBPHY_PWD_CLR_RXPWDRX_MASK (0x100000U)
  81217. #define USBPHY_PWD_CLR_RXPWDRX_SHIFT (20U)
  81218. /*! RXPWDRX - RXPWDRX
  81219. */
  81220. #define USBPHY_PWD_CLR_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_CLR_RXPWDRX_SHIFT)) & USBPHY_PWD_CLR_RXPWDRX_MASK)
  81221. /*! @} */
  81222. /*! @name PWD_TOG - USB PHY Power-Down Register */
  81223. /*! @{ */
  81224. #define USBPHY_PWD_TOG_TXPWDFS_MASK (0x400U)
  81225. #define USBPHY_PWD_TOG_TXPWDFS_SHIFT (10U)
  81226. /*! TXPWDFS - TXPWDFS
  81227. */
  81228. #define USBPHY_PWD_TOG_TXPWDFS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDFS_SHIFT)) & USBPHY_PWD_TOG_TXPWDFS_MASK)
  81229. #define USBPHY_PWD_TOG_TXPWDIBIAS_MASK (0x800U)
  81230. #define USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT (11U)
  81231. /*! TXPWDIBIAS - TXPWDIBIAS
  81232. */
  81233. #define USBPHY_PWD_TOG_TXPWDIBIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDIBIAS_SHIFT)) & USBPHY_PWD_TOG_TXPWDIBIAS_MASK)
  81234. #define USBPHY_PWD_TOG_TXPWDV2I_MASK (0x1000U)
  81235. #define USBPHY_PWD_TOG_TXPWDV2I_SHIFT (12U)
  81236. /*! TXPWDV2I - TXPWDV2I
  81237. */
  81238. #define USBPHY_PWD_TOG_TXPWDV2I(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_TXPWDV2I_SHIFT)) & USBPHY_PWD_TOG_TXPWDV2I_MASK)
  81239. #define USBPHY_PWD_TOG_RXPWDENV_MASK (0x20000U)
  81240. #define USBPHY_PWD_TOG_RXPWDENV_SHIFT (17U)
  81241. /*! RXPWDENV - RXPWDENV
  81242. */
  81243. #define USBPHY_PWD_TOG_RXPWDENV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDENV_SHIFT)) & USBPHY_PWD_TOG_RXPWDENV_MASK)
  81244. #define USBPHY_PWD_TOG_RXPWD1PT1_MASK (0x40000U)
  81245. #define USBPHY_PWD_TOG_RXPWD1PT1_SHIFT (18U)
  81246. /*! RXPWD1PT1 - RXPWD1PT1
  81247. */
  81248. #define USBPHY_PWD_TOG_RXPWD1PT1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWD1PT1_SHIFT)) & USBPHY_PWD_TOG_RXPWD1PT1_MASK)
  81249. #define USBPHY_PWD_TOG_RXPWDDIFF_MASK (0x80000U)
  81250. #define USBPHY_PWD_TOG_RXPWDDIFF_SHIFT (19U)
  81251. /*! RXPWDDIFF - RXPWDDIFF
  81252. */
  81253. #define USBPHY_PWD_TOG_RXPWDDIFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDDIFF_SHIFT)) & USBPHY_PWD_TOG_RXPWDDIFF_MASK)
  81254. #define USBPHY_PWD_TOG_RXPWDRX_MASK (0x100000U)
  81255. #define USBPHY_PWD_TOG_RXPWDRX_SHIFT (20U)
  81256. /*! RXPWDRX - RXPWDRX
  81257. */
  81258. #define USBPHY_PWD_TOG_RXPWDRX(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PWD_TOG_RXPWDRX_SHIFT)) & USBPHY_PWD_TOG_RXPWDRX_MASK)
  81259. /*! @} */
  81260. /*! @name TX - USB PHY Transmitter Control Register */
  81261. /*! @{ */
  81262. #define USBPHY_TX_D_CAL_MASK (0xFU)
  81263. #define USBPHY_TX_D_CAL_SHIFT (0U)
  81264. /*! D_CAL - D_CAL
  81265. * 0b0000..Maximum current, approximately 19% above nominal.
  81266. * 0b0111..Nominal
  81267. * 0b1111..Minimum current, approximately 19% below nominal.
  81268. */
  81269. #define USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TX_D_CAL_MASK)
  81270. #define USBPHY_TX_TXCAL45DN_MASK (0xF00U)
  81271. #define USBPHY_TX_TXCAL45DN_SHIFT (8U)
  81272. /*! TXCAL45DN - TXCAL45DN
  81273. */
  81274. #define USBPHY_TX_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DN_SHIFT)) & USBPHY_TX_TXCAL45DN_MASK)
  81275. #define USBPHY_TX_TXCAL45DP_MASK (0xF0000U)
  81276. #define USBPHY_TX_TXCAL45DP_SHIFT (16U)
  81277. /*! TXCAL45DP - TXCAL45DP
  81278. */
  81279. #define USBPHY_TX_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TXCAL45DP_SHIFT)) & USBPHY_TX_TXCAL45DP_MASK)
  81280. /*! @} */
  81281. /*! @name TX_SET - USB PHY Transmitter Control Register */
  81282. /*! @{ */
  81283. #define USBPHY_TX_SET_D_CAL_MASK (0xFU)
  81284. #define USBPHY_TX_SET_D_CAL_SHIFT (0U)
  81285. /*! D_CAL - D_CAL
  81286. */
  81287. #define USBPHY_TX_SET_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_D_CAL_SHIFT)) & USBPHY_TX_SET_D_CAL_MASK)
  81288. #define USBPHY_TX_SET_TXCAL45DN_MASK (0xF00U)
  81289. #define USBPHY_TX_SET_TXCAL45DN_SHIFT (8U)
  81290. /*! TXCAL45DN - TXCAL45DN
  81291. */
  81292. #define USBPHY_TX_SET_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DN_SHIFT)) & USBPHY_TX_SET_TXCAL45DN_MASK)
  81293. #define USBPHY_TX_SET_TXCAL45DP_MASK (0xF0000U)
  81294. #define USBPHY_TX_SET_TXCAL45DP_SHIFT (16U)
  81295. /*! TXCAL45DP - TXCAL45DP
  81296. */
  81297. #define USBPHY_TX_SET_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_SET_TXCAL45DP_SHIFT)) & USBPHY_TX_SET_TXCAL45DP_MASK)
  81298. /*! @} */
  81299. /*! @name TX_CLR - USB PHY Transmitter Control Register */
  81300. /*! @{ */
  81301. #define USBPHY_TX_CLR_D_CAL_MASK (0xFU)
  81302. #define USBPHY_TX_CLR_D_CAL_SHIFT (0U)
  81303. /*! D_CAL - D_CAL
  81304. */
  81305. #define USBPHY_TX_CLR_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_D_CAL_SHIFT)) & USBPHY_TX_CLR_D_CAL_MASK)
  81306. #define USBPHY_TX_CLR_TXCAL45DN_MASK (0xF00U)
  81307. #define USBPHY_TX_CLR_TXCAL45DN_SHIFT (8U)
  81308. /*! TXCAL45DN - TXCAL45DN
  81309. */
  81310. #define USBPHY_TX_CLR_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DN_SHIFT)) & USBPHY_TX_CLR_TXCAL45DN_MASK)
  81311. #define USBPHY_TX_CLR_TXCAL45DP_MASK (0xF0000U)
  81312. #define USBPHY_TX_CLR_TXCAL45DP_SHIFT (16U)
  81313. /*! TXCAL45DP - TXCAL45DP
  81314. */
  81315. #define USBPHY_TX_CLR_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_CLR_TXCAL45DP_SHIFT)) & USBPHY_TX_CLR_TXCAL45DP_MASK)
  81316. /*! @} */
  81317. /*! @name TX_TOG - USB PHY Transmitter Control Register */
  81318. /*! @{ */
  81319. #define USBPHY_TX_TOG_D_CAL_MASK (0xFU)
  81320. #define USBPHY_TX_TOG_D_CAL_SHIFT (0U)
  81321. /*! D_CAL - D_CAL
  81322. */
  81323. #define USBPHY_TX_TOG_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_D_CAL_SHIFT)) & USBPHY_TX_TOG_D_CAL_MASK)
  81324. #define USBPHY_TX_TOG_TXCAL45DN_MASK (0xF00U)
  81325. #define USBPHY_TX_TOG_TXCAL45DN_SHIFT (8U)
  81326. /*! TXCAL45DN - TXCAL45DN
  81327. */
  81328. #define USBPHY_TX_TOG_TXCAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DN_SHIFT)) & USBPHY_TX_TOG_TXCAL45DN_MASK)
  81329. #define USBPHY_TX_TOG_TXCAL45DP_MASK (0xF0000U)
  81330. #define USBPHY_TX_TOG_TXCAL45DP_SHIFT (16U)
  81331. /*! TXCAL45DP - TXCAL45DP
  81332. */
  81333. #define USBPHY_TX_TOG_TXCAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TX_TOG_TXCAL45DP_SHIFT)) & USBPHY_TX_TOG_TXCAL45DP_MASK)
  81334. /*! @} */
  81335. /*! @name RX - USB PHY Receiver Control Register */
  81336. /*! @{ */
  81337. #define USBPHY_RX_ENVADJ_MASK (0x7U)
  81338. #define USBPHY_RX_ENVADJ_SHIFT (0U)
  81339. /*! ENVADJ - ENVADJ
  81340. * 0b000..Trip-Level Voltage is 0.1000 V
  81341. * 0b001..Trip-Level Voltage is 0.1125 V
  81342. * 0b010..Trip-Level Voltage is 0.1250 V
  81343. * 0b011..Trip-Level Voltage is 0.0875 V
  81344. * 0b1xx..Reserved
  81345. */
  81346. #define USBPHY_RX_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_ENVADJ_SHIFT)) & USBPHY_RX_ENVADJ_MASK)
  81347. #define USBPHY_RX_DISCONADJ_MASK (0x70U)
  81348. #define USBPHY_RX_DISCONADJ_SHIFT (4U)
  81349. /*! DISCONADJ - DISCONADJ
  81350. * 0b000..Trip-Level Voltage is 0.56875 V
  81351. * 0b001..Trip-Level Voltage is 0.55000 V
  81352. * 0b010..Trip-Level Voltage is 0.58125 V
  81353. * 0b011..Trip-Level Voltage is 0.60000 V
  81354. * 0b1xx..Reserved
  81355. */
  81356. #define USBPHY_RX_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_DISCONADJ_SHIFT)) & USBPHY_RX_DISCONADJ_MASK)
  81357. #define USBPHY_RX_RXDBYPASS_MASK (0x400000U)
  81358. #define USBPHY_RX_RXDBYPASS_SHIFT (22U)
  81359. /*! RXDBYPASS - RXDBYPASS
  81360. * 0b0..Normal operation.
  81361. * 0b1..Use the output of the USB_DP single-ended receiver in place of the full-speed differential receiver
  81362. */
  81363. #define USBPHY_RX_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_RXDBYPASS_SHIFT)) & USBPHY_RX_RXDBYPASS_MASK)
  81364. /*! @} */
  81365. /*! @name RX_SET - USB PHY Receiver Control Register */
  81366. /*! @{ */
  81367. #define USBPHY_RX_SET_ENVADJ_MASK (0x7U)
  81368. #define USBPHY_RX_SET_ENVADJ_SHIFT (0U)
  81369. /*! ENVADJ - ENVADJ
  81370. */
  81371. #define USBPHY_RX_SET_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_ENVADJ_SHIFT)) & USBPHY_RX_SET_ENVADJ_MASK)
  81372. #define USBPHY_RX_SET_DISCONADJ_MASK (0x70U)
  81373. #define USBPHY_RX_SET_DISCONADJ_SHIFT (4U)
  81374. /*! DISCONADJ - DISCONADJ
  81375. */
  81376. #define USBPHY_RX_SET_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_DISCONADJ_SHIFT)) & USBPHY_RX_SET_DISCONADJ_MASK)
  81377. #define USBPHY_RX_SET_RXDBYPASS_MASK (0x400000U)
  81378. #define USBPHY_RX_SET_RXDBYPASS_SHIFT (22U)
  81379. /*! RXDBYPASS - RXDBYPASS
  81380. */
  81381. #define USBPHY_RX_SET_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_SET_RXDBYPASS_SHIFT)) & USBPHY_RX_SET_RXDBYPASS_MASK)
  81382. /*! @} */
  81383. /*! @name RX_CLR - USB PHY Receiver Control Register */
  81384. /*! @{ */
  81385. #define USBPHY_RX_CLR_ENVADJ_MASK (0x7U)
  81386. #define USBPHY_RX_CLR_ENVADJ_SHIFT (0U)
  81387. /*! ENVADJ - ENVADJ
  81388. */
  81389. #define USBPHY_RX_CLR_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_ENVADJ_SHIFT)) & USBPHY_RX_CLR_ENVADJ_MASK)
  81390. #define USBPHY_RX_CLR_DISCONADJ_MASK (0x70U)
  81391. #define USBPHY_RX_CLR_DISCONADJ_SHIFT (4U)
  81392. /*! DISCONADJ - DISCONADJ
  81393. */
  81394. #define USBPHY_RX_CLR_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_DISCONADJ_SHIFT)) & USBPHY_RX_CLR_DISCONADJ_MASK)
  81395. #define USBPHY_RX_CLR_RXDBYPASS_MASK (0x400000U)
  81396. #define USBPHY_RX_CLR_RXDBYPASS_SHIFT (22U)
  81397. /*! RXDBYPASS - RXDBYPASS
  81398. */
  81399. #define USBPHY_RX_CLR_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_CLR_RXDBYPASS_SHIFT)) & USBPHY_RX_CLR_RXDBYPASS_MASK)
  81400. /*! @} */
  81401. /*! @name RX_TOG - USB PHY Receiver Control Register */
  81402. /*! @{ */
  81403. #define USBPHY_RX_TOG_ENVADJ_MASK (0x7U)
  81404. #define USBPHY_RX_TOG_ENVADJ_SHIFT (0U)
  81405. /*! ENVADJ - ENVADJ
  81406. */
  81407. #define USBPHY_RX_TOG_ENVADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_ENVADJ_SHIFT)) & USBPHY_RX_TOG_ENVADJ_MASK)
  81408. #define USBPHY_RX_TOG_DISCONADJ_MASK (0x70U)
  81409. #define USBPHY_RX_TOG_DISCONADJ_SHIFT (4U)
  81410. /*! DISCONADJ - DISCONADJ
  81411. */
  81412. #define USBPHY_RX_TOG_DISCONADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_DISCONADJ_SHIFT)) & USBPHY_RX_TOG_DISCONADJ_MASK)
  81413. #define USBPHY_RX_TOG_RXDBYPASS_MASK (0x400000U)
  81414. #define USBPHY_RX_TOG_RXDBYPASS_SHIFT (22U)
  81415. /*! RXDBYPASS - RXDBYPASS
  81416. */
  81417. #define USBPHY_RX_TOG_RXDBYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_RX_TOG_RXDBYPASS_SHIFT)) & USBPHY_RX_TOG_RXDBYPASS_MASK)
  81418. /*! @} */
  81419. /*! @name CTRL - USB PHY General Control Register */
  81420. /*! @{ */
  81421. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  81422. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  81423. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  81424. */
  81425. #define USBPHY_CTRL_ENOTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENOTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_ENOTG_ID_CHG_IRQ_MASK)
  81426. #define USBPHY_CTRL_ENHOSTDISCONDETECT_MASK (0x2U)
  81427. #define USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT (1U)
  81428. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  81429. */
  81430. #define USBPHY_CTRL_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_ENHOSTDISCONDETECT_MASK)
  81431. #define USBPHY_CTRL_ENIRQHOSTDISCON_MASK (0x4U)
  81432. #define USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT (2U)
  81433. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  81434. */
  81435. #define USBPHY_CTRL_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_ENIRQHOSTDISCON_MASK)
  81436. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  81437. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  81438. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  81439. */
  81440. #define USBPHY_CTRL_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_HOSTDISCONDETECT_IRQ_MASK)
  81441. #define USBPHY_CTRL_ENDEVPLUGINDETECT_MASK (0x10U)
  81442. #define USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT (4U)
  81443. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  81444. * 0b0..Disables 200kohm pullup resistors on DP and DN pins
  81445. * 0b1..Enables 200kohm pullup resistors on DP and DN pins
  81446. */
  81447. #define USBPHY_CTRL_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_ENDEVPLUGINDETECT_MASK)
  81448. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK (0x20U)
  81449. #define USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT (5U)
  81450. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  81451. */
  81452. #define USBPHY_CTRL_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_POLARITY_MASK)
  81453. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_MASK (0x40U)
  81454. #define USBPHY_CTRL_OTG_ID_CHG_IRQ_SHIFT (6U)
  81455. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  81456. */
  81457. #define USBPHY_CTRL_OTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_OTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_OTG_ID_CHG_IRQ_MASK)
  81458. #define USBPHY_CTRL_ENOTGIDDETECT_MASK (0x80U)
  81459. #define USBPHY_CTRL_ENOTGIDDETECT_SHIFT (7U)
  81460. /*! ENOTGIDDETECT - ENOTGIDDETECT
  81461. */
  81462. #define USBPHY_CTRL_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_ENOTGIDDETECT_MASK)
  81463. #define USBPHY_CTRL_RESUMEIRQSTICKY_MASK (0x100U)
  81464. #define USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT (8U)
  81465. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  81466. */
  81467. #define USBPHY_CTRL_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_RESUMEIRQSTICKY_MASK)
  81468. #define USBPHY_CTRL_ENIRQRESUMEDETECT_MASK (0x200U)
  81469. #define USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT (9U)
  81470. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  81471. */
  81472. #define USBPHY_CTRL_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_ENIRQRESUMEDETECT_MASK)
  81473. #define USBPHY_CTRL_RESUME_IRQ_MASK (0x400U)
  81474. #define USBPHY_CTRL_RESUME_IRQ_SHIFT (10U)
  81475. /*! RESUME_IRQ - RESUME_IRQ
  81476. */
  81477. #define USBPHY_CTRL_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_RESUME_IRQ_MASK)
  81478. #define USBPHY_CTRL_ENIRQDEVPLUGIN_MASK (0x800U)
  81479. #define USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT (11U)
  81480. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  81481. */
  81482. #define USBPHY_CTRL_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_ENIRQDEVPLUGIN_MASK)
  81483. #define USBPHY_CTRL_DEVPLUGIN_IRQ_MASK (0x1000U)
  81484. #define USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT (12U)
  81485. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  81486. */
  81487. #define USBPHY_CTRL_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_DEVPLUGIN_IRQ_MASK)
  81488. #define USBPHY_CTRL_ENUTMILEVEL2_MASK (0x4000U)
  81489. #define USBPHY_CTRL_ENUTMILEVEL2_SHIFT (14U)
  81490. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  81491. */
  81492. #define USBPHY_CTRL_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL2_MASK)
  81493. #define USBPHY_CTRL_ENUTMILEVEL3_MASK (0x8000U)
  81494. #define USBPHY_CTRL_ENUTMILEVEL3_SHIFT (15U)
  81495. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  81496. */
  81497. #define USBPHY_CTRL_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_ENUTMILEVEL3_MASK)
  81498. #define USBPHY_CTRL_ENIRQWAKEUP_MASK (0x10000U)
  81499. #define USBPHY_CTRL_ENIRQWAKEUP_SHIFT (16U)
  81500. /*! ENIRQWAKEUP - ENIRQWAKEUP
  81501. */
  81502. #define USBPHY_CTRL_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_ENIRQWAKEUP_MASK)
  81503. #define USBPHY_CTRL_WAKEUP_IRQ_MASK (0x20000U)
  81504. #define USBPHY_CTRL_WAKEUP_IRQ_SHIFT (17U)
  81505. /*! WAKEUP_IRQ - WAKEUP_IRQ
  81506. */
  81507. #define USBPHY_CTRL_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_WAKEUP_IRQ_MASK)
  81508. #define USBPHY_CTRL_AUTORESUME_EN_MASK (0x40000U)
  81509. #define USBPHY_CTRL_AUTORESUME_EN_SHIFT (18U)
  81510. /*! AUTORESUME_EN - AUTORESUME_EN
  81511. */
  81512. #define USBPHY_CTRL_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_AUTORESUME_EN_MASK)
  81513. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  81514. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT (19U)
  81515. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  81516. */
  81517. #define USBPHY_CTRL_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_CLKGATE_MASK)
  81518. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  81519. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  81520. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  81521. */
  81522. #define USBPHY_CTRL_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_ENAUTOCLR_PHY_PWD_MASK)
  81523. #define USBPHY_CTRL_ENDPDMCHG_WKUP_MASK (0x200000U)
  81524. #define USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT (21U)
  81525. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  81526. */
  81527. #define USBPHY_CTRL_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENDPDMCHG_WKUP_MASK)
  81528. #define USBPHY_CTRL_ENIDCHG_WKUP_MASK (0x400000U)
  81529. #define USBPHY_CTRL_ENIDCHG_WKUP_SHIFT (22U)
  81530. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  81531. */
  81532. #define USBPHY_CTRL_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENIDCHG_WKUP_MASK)
  81533. #define USBPHY_CTRL_ENVBUSCHG_WKUP_MASK (0x800000U)
  81534. #define USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT (23U)
  81535. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  81536. */
  81537. #define USBPHY_CTRL_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_ENVBUSCHG_WKUP_MASK)
  81538. #define USBPHY_CTRL_FSDLL_RST_EN_MASK (0x1000000U)
  81539. #define USBPHY_CTRL_FSDLL_RST_EN_SHIFT (24U)
  81540. /*! FSDLL_RST_EN - FSDLL_RST_EN
  81541. */
  81542. #define USBPHY_CTRL_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_FSDLL_RST_EN_MASK)
  81543. #define USBPHY_CTRL_OTG_ID_VALUE_MASK (0x8000000U)
  81544. #define USBPHY_CTRL_OTG_ID_VALUE_SHIFT (27U)
  81545. /*! OTG_ID_VALUE - OTG_ID_VALUE
  81546. */
  81547. #define USBPHY_CTRL_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_OTG_ID_VALUE_MASK)
  81548. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  81549. #define USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT (28U)
  81550. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  81551. */
  81552. #define USBPHY_CTRL_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_HOST_FORCE_LS_SE0_MASK)
  81553. #define USBPHY_CTRL_UTMI_SUSPENDM_MASK (0x20000000U)
  81554. #define USBPHY_CTRL_UTMI_SUSPENDM_SHIFT (29U)
  81555. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  81556. */
  81557. #define USBPHY_CTRL_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_UTMI_SUSPENDM_MASK)
  81558. #define USBPHY_CTRL_CLKGATE_MASK (0x40000000U)
  81559. #define USBPHY_CTRL_CLKGATE_SHIFT (30U)
  81560. /*! CLKGATE - CLKGATE
  81561. */
  81562. #define USBPHY_CTRL_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLKGATE_SHIFT)) & USBPHY_CTRL_CLKGATE_MASK)
  81563. #define USBPHY_CTRL_SFTRST_MASK (0x80000000U)
  81564. #define USBPHY_CTRL_SFTRST_SHIFT (31U)
  81565. /*! SFTRST - SFTRST
  81566. */
  81567. #define USBPHY_CTRL_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SFTRST_SHIFT)) & USBPHY_CTRL_SFTRST_MASK)
  81568. /*! @} */
  81569. /*! @name CTRL_SET - USB PHY General Control Register */
  81570. /*! @{ */
  81571. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  81572. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  81573. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  81574. */
  81575. #define USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_SET_ENOTG_ID_CHG_IRQ_MASK)
  81576. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK (0x2U)
  81577. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT (1U)
  81578. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  81579. */
  81580. #define USBPHY_CTRL_SET_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_SET_ENHOSTDISCONDETECT_MASK)
  81581. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK (0x4U)
  81582. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT (2U)
  81583. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  81584. */
  81585. #define USBPHY_CTRL_SET_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_SET_ENIRQHOSTDISCON_MASK)
  81586. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  81587. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  81588. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  81589. */
  81590. #define USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_SET_HOSTDISCONDETECT_IRQ_MASK)
  81591. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK (0x10U)
  81592. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT (4U)
  81593. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  81594. */
  81595. #define USBPHY_CTRL_SET_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_SET_ENDEVPLUGINDETECT_MASK)
  81596. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK (0x20U)
  81597. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT (5U)
  81598. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  81599. */
  81600. #define USBPHY_CTRL_SET_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_POLARITY_MASK)
  81601. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_MASK (0x40U)
  81602. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_SHIFT (6U)
  81603. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  81604. */
  81605. #define USBPHY_CTRL_SET_OTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_SET_OTG_ID_CHG_IRQ_MASK)
  81606. #define USBPHY_CTRL_SET_ENOTGIDDETECT_MASK (0x80U)
  81607. #define USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT (7U)
  81608. /*! ENOTGIDDETECT - ENOTGIDDETECT
  81609. */
  81610. #define USBPHY_CTRL_SET_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_SET_ENOTGIDDETECT_MASK)
  81611. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK (0x100U)
  81612. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT (8U)
  81613. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  81614. */
  81615. #define USBPHY_CTRL_SET_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_SET_RESUMEIRQSTICKY_MASK)
  81616. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK (0x200U)
  81617. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT (9U)
  81618. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  81619. */
  81620. #define USBPHY_CTRL_SET_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_SET_ENIRQRESUMEDETECT_MASK)
  81621. #define USBPHY_CTRL_SET_RESUME_IRQ_MASK (0x400U)
  81622. #define USBPHY_CTRL_SET_RESUME_IRQ_SHIFT (10U)
  81623. /*! RESUME_IRQ - RESUME_IRQ
  81624. */
  81625. #define USBPHY_CTRL_SET_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_SET_RESUME_IRQ_MASK)
  81626. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK (0x800U)
  81627. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT (11U)
  81628. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  81629. */
  81630. #define USBPHY_CTRL_SET_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_SET_ENIRQDEVPLUGIN_MASK)
  81631. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK (0x1000U)
  81632. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT (12U)
  81633. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  81634. */
  81635. #define USBPHY_CTRL_SET_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_SET_DEVPLUGIN_IRQ_MASK)
  81636. #define USBPHY_CTRL_SET_ENUTMILEVEL2_MASK (0x4000U)
  81637. #define USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT (14U)
  81638. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  81639. */
  81640. #define USBPHY_CTRL_SET_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL2_MASK)
  81641. #define USBPHY_CTRL_SET_ENUTMILEVEL3_MASK (0x8000U)
  81642. #define USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT (15U)
  81643. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  81644. */
  81645. #define USBPHY_CTRL_SET_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_SET_ENUTMILEVEL3_MASK)
  81646. #define USBPHY_CTRL_SET_ENIRQWAKEUP_MASK (0x10000U)
  81647. #define USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT (16U)
  81648. /*! ENIRQWAKEUP - ENIRQWAKEUP
  81649. */
  81650. #define USBPHY_CTRL_SET_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_SET_ENIRQWAKEUP_MASK)
  81651. #define USBPHY_CTRL_SET_WAKEUP_IRQ_MASK (0x20000U)
  81652. #define USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT (17U)
  81653. /*! WAKEUP_IRQ - WAKEUP_IRQ
  81654. */
  81655. #define USBPHY_CTRL_SET_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_SET_WAKEUP_IRQ_MASK)
  81656. #define USBPHY_CTRL_SET_AUTORESUME_EN_MASK (0x40000U)
  81657. #define USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT (18U)
  81658. /*! AUTORESUME_EN - AUTORESUME_EN
  81659. */
  81660. #define USBPHY_CTRL_SET_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_SET_AUTORESUME_EN_MASK)
  81661. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  81662. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT (19U)
  81663. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  81664. */
  81665. #define USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_CLKGATE_MASK)
  81666. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  81667. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  81668. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  81669. */
  81670. #define USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_SET_ENAUTOCLR_PHY_PWD_MASK)
  81671. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK (0x200000U)
  81672. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT (21U)
  81673. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  81674. */
  81675. #define USBPHY_CTRL_SET_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENDPDMCHG_WKUP_MASK)
  81676. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK (0x400000U)
  81677. #define USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT (22U)
  81678. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  81679. */
  81680. #define USBPHY_CTRL_SET_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENIDCHG_WKUP_MASK)
  81681. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK (0x800000U)
  81682. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT (23U)
  81683. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  81684. */
  81685. #define USBPHY_CTRL_SET_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_SET_ENVBUSCHG_WKUP_MASK)
  81686. #define USBPHY_CTRL_SET_FSDLL_RST_EN_MASK (0x1000000U)
  81687. #define USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT (24U)
  81688. /*! FSDLL_RST_EN - FSDLL_RST_EN
  81689. */
  81690. #define USBPHY_CTRL_SET_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_SET_FSDLL_RST_EN_MASK)
  81691. #define USBPHY_CTRL_SET_OTG_ID_VALUE_MASK (0x8000000U)
  81692. #define USBPHY_CTRL_SET_OTG_ID_VALUE_SHIFT (27U)
  81693. /*! OTG_ID_VALUE - OTG_ID_VALUE
  81694. */
  81695. #define USBPHY_CTRL_SET_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_SET_OTG_ID_VALUE_MASK)
  81696. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  81697. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT (28U)
  81698. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  81699. */
  81700. #define USBPHY_CTRL_SET_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_SET_HOST_FORCE_LS_SE0_MASK)
  81701. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK (0x20000000U)
  81702. #define USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT (29U)
  81703. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  81704. */
  81705. #define USBPHY_CTRL_SET_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_SET_UTMI_SUSPENDM_MASK)
  81706. #define USBPHY_CTRL_SET_CLKGATE_MASK (0x40000000U)
  81707. #define USBPHY_CTRL_SET_CLKGATE_SHIFT (30U)
  81708. /*! CLKGATE - CLKGATE
  81709. */
  81710. #define USBPHY_CTRL_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_CLKGATE_SHIFT)) & USBPHY_CTRL_SET_CLKGATE_MASK)
  81711. #define USBPHY_CTRL_SET_SFTRST_MASK (0x80000000U)
  81712. #define USBPHY_CTRL_SET_SFTRST_SHIFT (31U)
  81713. /*! SFTRST - SFTRST
  81714. */
  81715. #define USBPHY_CTRL_SET_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_SET_SFTRST_SHIFT)) & USBPHY_CTRL_SET_SFTRST_MASK)
  81716. /*! @} */
  81717. /*! @name CTRL_CLR - USB PHY General Control Register */
  81718. /*! @{ */
  81719. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  81720. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  81721. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  81722. */
  81723. #define USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_CLR_ENOTG_ID_CHG_IRQ_MASK)
  81724. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK (0x2U)
  81725. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT (1U)
  81726. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  81727. */
  81728. #define USBPHY_CTRL_CLR_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENHOSTDISCONDETECT_MASK)
  81729. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK (0x4U)
  81730. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT (2U)
  81731. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  81732. */
  81733. #define USBPHY_CTRL_CLR_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_CLR_ENIRQHOSTDISCON_MASK)
  81734. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  81735. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  81736. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  81737. */
  81738. #define USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_CLR_HOSTDISCONDETECT_IRQ_MASK)
  81739. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK (0x10U)
  81740. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT (4U)
  81741. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  81742. */
  81743. #define USBPHY_CTRL_CLR_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENDEVPLUGINDETECT_MASK)
  81744. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK (0x20U)
  81745. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT (5U)
  81746. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  81747. */
  81748. #define USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_POLARITY_MASK)
  81749. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_MASK (0x40U)
  81750. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_SHIFT (6U)
  81751. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  81752. */
  81753. #define USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_CLR_OTG_ID_CHG_IRQ_MASK)
  81754. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK (0x80U)
  81755. #define USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT (7U)
  81756. /*! ENOTGIDDETECT - ENOTGIDDETECT
  81757. */
  81758. #define USBPHY_CTRL_CLR_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENOTGIDDETECT_MASK)
  81759. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK (0x100U)
  81760. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT (8U)
  81761. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  81762. */
  81763. #define USBPHY_CTRL_CLR_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_CLR_RESUMEIRQSTICKY_MASK)
  81764. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK (0x200U)
  81765. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT (9U)
  81766. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  81767. */
  81768. #define USBPHY_CTRL_CLR_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_CLR_ENIRQRESUMEDETECT_MASK)
  81769. #define USBPHY_CTRL_CLR_RESUME_IRQ_MASK (0x400U)
  81770. #define USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT (10U)
  81771. /*! RESUME_IRQ - RESUME_IRQ
  81772. */
  81773. #define USBPHY_CTRL_CLR_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_CLR_RESUME_IRQ_MASK)
  81774. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK (0x800U)
  81775. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT (11U)
  81776. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  81777. */
  81778. #define USBPHY_CTRL_CLR_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_CLR_ENIRQDEVPLUGIN_MASK)
  81779. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK (0x1000U)
  81780. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT (12U)
  81781. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  81782. */
  81783. #define USBPHY_CTRL_CLR_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_CLR_DEVPLUGIN_IRQ_MASK)
  81784. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK (0x4000U)
  81785. #define USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT (14U)
  81786. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  81787. */
  81788. #define USBPHY_CTRL_CLR_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL2_MASK)
  81789. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK (0x8000U)
  81790. #define USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT (15U)
  81791. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  81792. */
  81793. #define USBPHY_CTRL_CLR_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_CLR_ENUTMILEVEL3_MASK)
  81794. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK (0x10000U)
  81795. #define USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT (16U)
  81796. /*! ENIRQWAKEUP - ENIRQWAKEUP
  81797. */
  81798. #define USBPHY_CTRL_CLR_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_CLR_ENIRQWAKEUP_MASK)
  81799. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK (0x20000U)
  81800. #define USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT (17U)
  81801. /*! WAKEUP_IRQ - WAKEUP_IRQ
  81802. */
  81803. #define USBPHY_CTRL_CLR_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_CLR_WAKEUP_IRQ_MASK)
  81804. #define USBPHY_CTRL_CLR_AUTORESUME_EN_MASK (0x40000U)
  81805. #define USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT (18U)
  81806. /*! AUTORESUME_EN - AUTORESUME_EN
  81807. */
  81808. #define USBPHY_CTRL_CLR_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_CLR_AUTORESUME_EN_MASK)
  81809. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  81810. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT (19U)
  81811. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  81812. */
  81813. #define USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_CLKGATE_MASK)
  81814. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  81815. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  81816. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  81817. */
  81818. #define USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_CLR_ENAUTOCLR_PHY_PWD_MASK)
  81819. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK (0x200000U)
  81820. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT (21U)
  81821. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  81822. */
  81823. #define USBPHY_CTRL_CLR_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENDPDMCHG_WKUP_MASK)
  81824. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK (0x400000U)
  81825. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT (22U)
  81826. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  81827. */
  81828. #define USBPHY_CTRL_CLR_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENIDCHG_WKUP_MASK)
  81829. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK (0x800000U)
  81830. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT (23U)
  81831. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  81832. */
  81833. #define USBPHY_CTRL_CLR_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_CLR_ENVBUSCHG_WKUP_MASK)
  81834. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK (0x1000000U)
  81835. #define USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT (24U)
  81836. /*! FSDLL_RST_EN - FSDLL_RST_EN
  81837. */
  81838. #define USBPHY_CTRL_CLR_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_CLR_FSDLL_RST_EN_MASK)
  81839. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_MASK (0x8000000U)
  81840. #define USBPHY_CTRL_CLR_OTG_ID_VALUE_SHIFT (27U)
  81841. /*! OTG_ID_VALUE - OTG_ID_VALUE
  81842. */
  81843. #define USBPHY_CTRL_CLR_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_CLR_OTG_ID_VALUE_MASK)
  81844. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  81845. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT (28U)
  81846. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  81847. */
  81848. #define USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_CLR_HOST_FORCE_LS_SE0_MASK)
  81849. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK (0x20000000U)
  81850. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT (29U)
  81851. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  81852. */
  81853. #define USBPHY_CTRL_CLR_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_CLR_UTMI_SUSPENDM_MASK)
  81854. #define USBPHY_CTRL_CLR_CLKGATE_MASK (0x40000000U)
  81855. #define USBPHY_CTRL_CLR_CLKGATE_SHIFT (30U)
  81856. /*! CLKGATE - CLKGATE
  81857. */
  81858. #define USBPHY_CTRL_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_CLKGATE_SHIFT)) & USBPHY_CTRL_CLR_CLKGATE_MASK)
  81859. #define USBPHY_CTRL_CLR_SFTRST_MASK (0x80000000U)
  81860. #define USBPHY_CTRL_CLR_SFTRST_SHIFT (31U)
  81861. /*! SFTRST - SFTRST
  81862. */
  81863. #define USBPHY_CTRL_CLR_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_CLR_SFTRST_SHIFT)) & USBPHY_CTRL_CLR_SFTRST_MASK)
  81864. /*! @} */
  81865. /*! @name CTRL_TOG - USB PHY General Control Register */
  81866. /*! @{ */
  81867. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_MASK (0x1U)
  81868. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_SHIFT (0U)
  81869. /*! ENOTG_ID_CHG_IRQ - ENOTG_ID_CHG_IRQ
  81870. */
  81871. #define USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_TOG_ENOTG_ID_CHG_IRQ_MASK)
  81872. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK (0x2U)
  81873. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT (1U)
  81874. /*! ENHOSTDISCONDETECT - ENHOSTDISCONDETECT
  81875. */
  81876. #define USBPHY_CTRL_TOG_ENHOSTDISCONDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENHOSTDISCONDETECT_MASK)
  81877. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK (0x4U)
  81878. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT (2U)
  81879. /*! ENIRQHOSTDISCON - ENIRQHOSTDISCON
  81880. */
  81881. #define USBPHY_CTRL_TOG_ENIRQHOSTDISCON(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQHOSTDISCON_SHIFT)) & USBPHY_CTRL_TOG_ENIRQHOSTDISCON_MASK)
  81882. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK (0x8U)
  81883. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT (3U)
  81884. /*! HOSTDISCONDETECT_IRQ - HOSTDISCONDETECT_IRQ
  81885. */
  81886. #define USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_SHIFT)) & USBPHY_CTRL_TOG_HOSTDISCONDETECT_IRQ_MASK)
  81887. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK (0x10U)
  81888. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT (4U)
  81889. /*! ENDEVPLUGINDETECT - Enables non-standard resistive plugged-in detection
  81890. */
  81891. #define USBPHY_CTRL_TOG_ENDEVPLUGINDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENDEVPLUGINDETECT_MASK)
  81892. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK (0x20U)
  81893. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT (5U)
  81894. /*! DEVPLUGIN_POLARITY - DEVPLUGIN_POLARITY
  81895. */
  81896. #define USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_POLARITY_MASK)
  81897. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_MASK (0x40U)
  81898. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_SHIFT (6U)
  81899. /*! OTG_ID_CHG_IRQ - OTG_ID_CHG_IRQ
  81900. */
  81901. #define USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_SHIFT)) & USBPHY_CTRL_TOG_OTG_ID_CHG_IRQ_MASK)
  81902. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK (0x80U)
  81903. #define USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT (7U)
  81904. /*! ENOTGIDDETECT - ENOTGIDDETECT
  81905. */
  81906. #define USBPHY_CTRL_TOG_ENOTGIDDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENOTGIDDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENOTGIDDETECT_MASK)
  81907. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK (0x100U)
  81908. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT (8U)
  81909. /*! RESUMEIRQSTICKY - RESUMEIRQSTICKY
  81910. */
  81911. #define USBPHY_CTRL_TOG_RESUMEIRQSTICKY(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUMEIRQSTICKY_SHIFT)) & USBPHY_CTRL_TOG_RESUMEIRQSTICKY_MASK)
  81912. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK (0x200U)
  81913. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT (9U)
  81914. /*! ENIRQRESUMEDETECT - ENIRQRESUMEDETECT
  81915. */
  81916. #define USBPHY_CTRL_TOG_ENIRQRESUMEDETECT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_SHIFT)) & USBPHY_CTRL_TOG_ENIRQRESUMEDETECT_MASK)
  81917. #define USBPHY_CTRL_TOG_RESUME_IRQ_MASK (0x400U)
  81918. #define USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT (10U)
  81919. /*! RESUME_IRQ - RESUME_IRQ
  81920. */
  81921. #define USBPHY_CTRL_TOG_RESUME_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_RESUME_IRQ_SHIFT)) & USBPHY_CTRL_TOG_RESUME_IRQ_MASK)
  81922. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK (0x800U)
  81923. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT (11U)
  81924. /*! ENIRQDEVPLUGIN - ENIRQDEVPLUGIN
  81925. */
  81926. #define USBPHY_CTRL_TOG_ENIRQDEVPLUGIN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_SHIFT)) & USBPHY_CTRL_TOG_ENIRQDEVPLUGIN_MASK)
  81927. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK (0x1000U)
  81928. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT (12U)
  81929. /*! DEVPLUGIN_IRQ - DEVPLUGIN_IRQ
  81930. */
  81931. #define USBPHY_CTRL_TOG_DEVPLUGIN_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_SHIFT)) & USBPHY_CTRL_TOG_DEVPLUGIN_IRQ_MASK)
  81932. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK (0x4000U)
  81933. #define USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT (14U)
  81934. /*! ENUTMILEVEL2 - ENUTMILEVEL2
  81935. */
  81936. #define USBPHY_CTRL_TOG_ENUTMILEVEL2(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL2_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL2_MASK)
  81937. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK (0x8000U)
  81938. #define USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT (15U)
  81939. /*! ENUTMILEVEL3 - ENUTMILEVEL3
  81940. */
  81941. #define USBPHY_CTRL_TOG_ENUTMILEVEL3(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENUTMILEVEL3_SHIFT)) & USBPHY_CTRL_TOG_ENUTMILEVEL3_MASK)
  81942. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK (0x10000U)
  81943. #define USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT (16U)
  81944. /*! ENIRQWAKEUP - ENIRQWAKEUP
  81945. */
  81946. #define USBPHY_CTRL_TOG_ENIRQWAKEUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIRQWAKEUP_SHIFT)) & USBPHY_CTRL_TOG_ENIRQWAKEUP_MASK)
  81947. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK (0x20000U)
  81948. #define USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT (17U)
  81949. /*! WAKEUP_IRQ - WAKEUP_IRQ
  81950. */
  81951. #define USBPHY_CTRL_TOG_WAKEUP_IRQ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_WAKEUP_IRQ_SHIFT)) & USBPHY_CTRL_TOG_WAKEUP_IRQ_MASK)
  81952. #define USBPHY_CTRL_TOG_AUTORESUME_EN_MASK (0x40000U)
  81953. #define USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT (18U)
  81954. /*! AUTORESUME_EN - AUTORESUME_EN
  81955. */
  81956. #define USBPHY_CTRL_TOG_AUTORESUME_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_AUTORESUME_EN_SHIFT)) & USBPHY_CTRL_TOG_AUTORESUME_EN_MASK)
  81957. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK (0x80000U)
  81958. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT (19U)
  81959. /*! ENAUTOCLR_CLKGATE - ENAUTOCLR_CLKGATE
  81960. */
  81961. #define USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_CLKGATE_MASK)
  81962. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK (0x100000U)
  81963. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT (20U)
  81964. /*! ENAUTOCLR_PHY_PWD - ENAUTOCLR_PHY_PWD
  81965. */
  81966. #define USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_SHIFT)) & USBPHY_CTRL_TOG_ENAUTOCLR_PHY_PWD_MASK)
  81967. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK (0x200000U)
  81968. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT (21U)
  81969. /*! ENDPDMCHG_WKUP - ENDPDMCHG_WKUP
  81970. */
  81971. #define USBPHY_CTRL_TOG_ENDPDMCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENDPDMCHG_WKUP_MASK)
  81972. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK (0x400000U)
  81973. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT (22U)
  81974. /*! ENIDCHG_WKUP - ENIDCHG_WKUP
  81975. */
  81976. #define USBPHY_CTRL_TOG_ENIDCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENIDCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENIDCHG_WKUP_MASK)
  81977. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK (0x800000U)
  81978. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT (23U)
  81979. /*! ENVBUSCHG_WKUP - ENVBUSCHG_WKUP
  81980. */
  81981. #define USBPHY_CTRL_TOG_ENVBUSCHG_WKUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_SHIFT)) & USBPHY_CTRL_TOG_ENVBUSCHG_WKUP_MASK)
  81982. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK (0x1000000U)
  81983. #define USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT (24U)
  81984. /*! FSDLL_RST_EN - FSDLL_RST_EN
  81985. */
  81986. #define USBPHY_CTRL_TOG_FSDLL_RST_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_FSDLL_RST_EN_SHIFT)) & USBPHY_CTRL_TOG_FSDLL_RST_EN_MASK)
  81987. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_MASK (0x8000000U)
  81988. #define USBPHY_CTRL_TOG_OTG_ID_VALUE_SHIFT (27U)
  81989. /*! OTG_ID_VALUE - OTG_ID_VALUE
  81990. */
  81991. #define USBPHY_CTRL_TOG_OTG_ID_VALUE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_OTG_ID_VALUE_SHIFT)) & USBPHY_CTRL_TOG_OTG_ID_VALUE_MASK)
  81992. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK (0x10000000U)
  81993. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT (28U)
  81994. /*! HOST_FORCE_LS_SE0 - HOST_FORCE_LS_SE0
  81995. */
  81996. #define USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_SHIFT)) & USBPHY_CTRL_TOG_HOST_FORCE_LS_SE0_MASK)
  81997. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK (0x20000000U)
  81998. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT (29U)
  81999. /*! UTMI_SUSPENDM - UTMI_SUSPENDM
  82000. */
  82001. #define USBPHY_CTRL_TOG_UTMI_SUSPENDM(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_UTMI_SUSPENDM_SHIFT)) & USBPHY_CTRL_TOG_UTMI_SUSPENDM_MASK)
  82002. #define USBPHY_CTRL_TOG_CLKGATE_MASK (0x40000000U)
  82003. #define USBPHY_CTRL_TOG_CLKGATE_SHIFT (30U)
  82004. /*! CLKGATE - CLKGATE
  82005. */
  82006. #define USBPHY_CTRL_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_CLKGATE_SHIFT)) & USBPHY_CTRL_TOG_CLKGATE_MASK)
  82007. #define USBPHY_CTRL_TOG_SFTRST_MASK (0x80000000U)
  82008. #define USBPHY_CTRL_TOG_SFTRST_SHIFT (31U)
  82009. /*! SFTRST - SFTRST
  82010. */
  82011. #define USBPHY_CTRL_TOG_SFTRST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_CTRL_TOG_SFTRST_SHIFT)) & USBPHY_CTRL_TOG_SFTRST_MASK)
  82012. /*! @} */
  82013. /*! @name STATUS - USB PHY Status Register */
  82014. /*! @{ */
  82015. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK (0x8U)
  82016. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT (3U)
  82017. /*! HOSTDISCONDETECT_STATUS - HOSTDISCONDETECT_STATUS
  82018. * 0b0..USB cable disconnect has not been detected at the local host
  82019. * 0b1..USB cable disconnect has been detected at the local host
  82020. */
  82021. #define USBPHY_STATUS_HOSTDISCONDETECT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_HOSTDISCONDETECT_STATUS_SHIFT)) & USBPHY_STATUS_HOSTDISCONDETECT_STATUS_MASK)
  82022. #define USBPHY_STATUS_DEVPLUGIN_STATUS_MASK (0x40U)
  82023. #define USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT (6U)
  82024. /*! DEVPLUGIN_STATUS - Status indicator for non-standard resistive plugged-in detection
  82025. * 0b0..No attachment to a USB host is detected
  82026. * 0b1..Cable attachment to a USB host is detected
  82027. */
  82028. #define USBPHY_STATUS_DEVPLUGIN_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_DEVPLUGIN_STATUS_SHIFT)) & USBPHY_STATUS_DEVPLUGIN_STATUS_MASK)
  82029. #define USBPHY_STATUS_OTGID_STATUS_MASK (0x100U)
  82030. #define USBPHY_STATUS_OTGID_STATUS_SHIFT (8U)
  82031. /*! OTGID_STATUS - OTGID_STATUS
  82032. */
  82033. #define USBPHY_STATUS_OTGID_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_OTGID_STATUS_SHIFT)) & USBPHY_STATUS_OTGID_STATUS_MASK)
  82034. #define USBPHY_STATUS_RESUME_STATUS_MASK (0x400U)
  82035. #define USBPHY_STATUS_RESUME_STATUS_SHIFT (10U)
  82036. /*! RESUME_STATUS - RESUME_STATUS
  82037. */
  82038. #define USBPHY_STATUS_RESUME_STATUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_STATUS_RESUME_STATUS_SHIFT)) & USBPHY_STATUS_RESUME_STATUS_MASK)
  82039. /*! @} */
  82040. /*! @name DEBUG - USB PHY Debug Register */
  82041. /*! @{ */
  82042. #define USBPHY_DEBUG_OTGIDPIOLOCK_MASK (0x1U)
  82043. #define USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT (0U)
  82044. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82045. */
  82046. #define USBPHY_DEBUG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_OTGIDPIOLOCK_MASK)
  82047. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82048. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82049. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82050. */
  82051. #define USBPHY_DEBUG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_DEBUG_INTERFACE_HOLD_MASK)
  82052. #define USBPHY_DEBUG_HSTPULLDOWN_MASK (0xCU)
  82053. #define USBPHY_DEBUG_HSTPULLDOWN_SHIFT (2U)
  82054. /*! HSTPULLDOWN - HSTPULLDOWN
  82055. */
  82056. #define USBPHY_DEBUG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_HSTPULLDOWN_MASK)
  82057. #define USBPHY_DEBUG_ENHSTPULLDOWN_MASK (0x30U)
  82058. #define USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT (4U)
  82059. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82060. */
  82061. #define USBPHY_DEBUG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_ENHSTPULLDOWN_MASK)
  82062. #define USBPHY_DEBUG_TX2RXCOUNT_MASK (0xF00U)
  82063. #define USBPHY_DEBUG_TX2RXCOUNT_SHIFT (8U)
  82064. /*! TX2RXCOUNT - TX2RXCOUNT
  82065. */
  82066. #define USBPHY_DEBUG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TX2RXCOUNT_MASK)
  82067. #define USBPHY_DEBUG_ENTX2RXCOUNT_MASK (0x1000U)
  82068. #define USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT (12U)
  82069. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82070. */
  82071. #define USBPHY_DEBUG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_ENTX2RXCOUNT_MASK)
  82072. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82073. #define USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT (16U)
  82074. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82075. */
  82076. #define USBPHY_DEBUG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK)
  82077. #define USBPHY_DEBUG_ENSQUELCHRESET_MASK (0x1000000U)
  82078. #define USBPHY_DEBUG_ENSQUELCHRESET_SHIFT (24U)
  82079. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82080. */
  82081. #define USBPHY_DEBUG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_ENSQUELCHRESET_MASK)
  82082. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82083. #define USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT (25U)
  82084. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82085. */
  82086. #define USBPHY_DEBUG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK)
  82087. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82088. #define USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT (29U)
  82089. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82090. */
  82091. #define USBPHY_DEBUG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_HOST_RESUME_DEBUG_MASK)
  82092. #define USBPHY_DEBUG_CLKGATE_MASK (0x40000000U)
  82093. #define USBPHY_DEBUG_CLKGATE_SHIFT (30U)
  82094. /*! CLKGATE - CLKGATE
  82095. */
  82096. #define USBPHY_DEBUG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLKGATE_MASK)
  82097. /*! @} */
  82098. /*! @name DEBUG_SET - USB PHY Debug Register */
  82099. /*! @{ */
  82100. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK (0x1U)
  82101. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT (0U)
  82102. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82103. */
  82104. #define USBPHY_DEBUG_SET_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_SET_OTGIDPIOLOCK_MASK)
  82105. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82106. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82107. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82108. */
  82109. #define USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_SET_DEBUG_INTERFACE_HOLD_MASK)
  82110. #define USBPHY_DEBUG_SET_HSTPULLDOWN_MASK (0xCU)
  82111. #define USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT (2U)
  82112. /*! HSTPULLDOWN - HSTPULLDOWN
  82113. */
  82114. #define USBPHY_DEBUG_SET_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_HSTPULLDOWN_MASK)
  82115. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK (0x30U)
  82116. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT (4U)
  82117. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82118. */
  82119. #define USBPHY_DEBUG_SET_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_SET_ENHSTPULLDOWN_MASK)
  82120. #define USBPHY_DEBUG_SET_TX2RXCOUNT_MASK (0xF00U)
  82121. #define USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT (8U)
  82122. /*! TX2RXCOUNT - TX2RXCOUNT
  82123. */
  82124. #define USBPHY_DEBUG_SET_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_TX2RXCOUNT_MASK)
  82125. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK (0x1000U)
  82126. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT (12U)
  82127. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82128. */
  82129. #define USBPHY_DEBUG_SET_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_SET_ENTX2RXCOUNT_MASK)
  82130. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82131. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT (16U)
  82132. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82133. */
  82134. #define USBPHY_DEBUG_SET_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETCOUNT_MASK)
  82135. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK (0x1000000U)
  82136. #define USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT (24U)
  82137. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82138. */
  82139. #define USBPHY_DEBUG_SET_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_SET_ENSQUELCHRESET_MASK)
  82140. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82141. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT (25U)
  82142. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82143. */
  82144. #define USBPHY_DEBUG_SET_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_SET_SQUELCHRESETLENGTH_MASK)
  82145. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82146. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_SHIFT (29U)
  82147. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82148. */
  82149. #define USBPHY_DEBUG_SET_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_SET_HOST_RESUME_DEBUG_MASK)
  82150. #define USBPHY_DEBUG_SET_CLKGATE_MASK (0x40000000U)
  82151. #define USBPHY_DEBUG_SET_CLKGATE_SHIFT (30U)
  82152. /*! CLKGATE - CLKGATE
  82153. */
  82154. #define USBPHY_DEBUG_SET_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_SET_CLKGATE_SHIFT)) & USBPHY_DEBUG_SET_CLKGATE_MASK)
  82155. /*! @} */
  82156. /*! @name DEBUG_CLR - USB PHY Debug Register */
  82157. /*! @{ */
  82158. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK (0x1U)
  82159. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT (0U)
  82160. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82161. */
  82162. #define USBPHY_DEBUG_CLR_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_CLR_OTGIDPIOLOCK_MASK)
  82163. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82164. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82165. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82166. */
  82167. #define USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_CLR_DEBUG_INTERFACE_HOLD_MASK)
  82168. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK (0xCU)
  82169. #define USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT (2U)
  82170. /*! HSTPULLDOWN - HSTPULLDOWN
  82171. */
  82172. #define USBPHY_DEBUG_CLR_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_HSTPULLDOWN_MASK)
  82173. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK (0x30U)
  82174. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT (4U)
  82175. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82176. */
  82177. #define USBPHY_DEBUG_CLR_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_CLR_ENHSTPULLDOWN_MASK)
  82178. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK (0xF00U)
  82179. #define USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT (8U)
  82180. /*! TX2RXCOUNT - TX2RXCOUNT
  82181. */
  82182. #define USBPHY_DEBUG_CLR_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_TX2RXCOUNT_MASK)
  82183. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK (0x1000U)
  82184. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT (12U)
  82185. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82186. */
  82187. #define USBPHY_DEBUG_CLR_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_ENTX2RXCOUNT_MASK)
  82188. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82189. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT (16U)
  82190. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82191. */
  82192. #define USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETCOUNT_MASK)
  82193. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK (0x1000000U)
  82194. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT (24U)
  82195. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82196. */
  82197. #define USBPHY_DEBUG_CLR_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_CLR_ENSQUELCHRESET_MASK)
  82198. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82199. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT (25U)
  82200. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82201. */
  82202. #define USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_CLR_SQUELCHRESETLENGTH_MASK)
  82203. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82204. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_SHIFT (29U)
  82205. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82206. */
  82207. #define USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_CLR_HOST_RESUME_DEBUG_MASK)
  82208. #define USBPHY_DEBUG_CLR_CLKGATE_MASK (0x40000000U)
  82209. #define USBPHY_DEBUG_CLR_CLKGATE_SHIFT (30U)
  82210. /*! CLKGATE - CLKGATE
  82211. */
  82212. #define USBPHY_DEBUG_CLR_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_CLR_CLKGATE_SHIFT)) & USBPHY_DEBUG_CLR_CLKGATE_MASK)
  82213. /*! @} */
  82214. /*! @name DEBUG_TOG - USB PHY Debug Register */
  82215. /*! @{ */
  82216. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK (0x1U)
  82217. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT (0U)
  82218. /*! OTGIDPIOLOCK - OTGIDPIOLOCK
  82219. */
  82220. #define USBPHY_DEBUG_TOG_OTGIDPIOLOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_OTGIDPIOLOCK_SHIFT)) & USBPHY_DEBUG_TOG_OTGIDPIOLOCK_MASK)
  82221. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_MASK (0x2U)
  82222. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_SHIFT (1U)
  82223. /*! DEBUG_INTERFACE_HOLD - DEBUG_INTERFACE_HOLD
  82224. */
  82225. #define USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_SHIFT)) & USBPHY_DEBUG_TOG_DEBUG_INTERFACE_HOLD_MASK)
  82226. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK (0xCU)
  82227. #define USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT (2U)
  82228. /*! HSTPULLDOWN - HSTPULLDOWN
  82229. */
  82230. #define USBPHY_DEBUG_TOG_HSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_HSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_HSTPULLDOWN_MASK)
  82231. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK (0x30U)
  82232. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT (4U)
  82233. /*! ENHSTPULLDOWN - ENHSTPULLDOWN
  82234. */
  82235. #define USBPHY_DEBUG_TOG_ENHSTPULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENHSTPULLDOWN_SHIFT)) & USBPHY_DEBUG_TOG_ENHSTPULLDOWN_MASK)
  82236. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK (0xF00U)
  82237. #define USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT (8U)
  82238. /*! TX2RXCOUNT - TX2RXCOUNT
  82239. */
  82240. #define USBPHY_DEBUG_TOG_TX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_TX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_TX2RXCOUNT_MASK)
  82241. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK (0x1000U)
  82242. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT (12U)
  82243. /*! ENTX2RXCOUNT - ENTX2RXCOUNT
  82244. */
  82245. #define USBPHY_DEBUG_TOG_ENTX2RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENTX2RXCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_ENTX2RXCOUNT_MASK)
  82246. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK (0x1F0000U)
  82247. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT (16U)
  82248. /*! SQUELCHRESETCOUNT - SQUELCHRESETCOUNT
  82249. */
  82250. #define USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETCOUNT_MASK)
  82251. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK (0x1000000U)
  82252. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT (24U)
  82253. /*! ENSQUELCHRESET - ENSQUELCHRESET
  82254. */
  82255. #define USBPHY_DEBUG_TOG_ENSQUELCHRESET(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_ENSQUELCHRESET_SHIFT)) & USBPHY_DEBUG_TOG_ENSQUELCHRESET_MASK)
  82256. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK (0x1E000000U)
  82257. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT (25U)
  82258. /*! SQUELCHRESETLENGTH - SQUELCHRESETLENGTH
  82259. */
  82260. #define USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_SHIFT)) & USBPHY_DEBUG_TOG_SQUELCHRESETLENGTH_MASK)
  82261. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_MASK (0x20000000U)
  82262. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_SHIFT (29U)
  82263. /*! HOST_RESUME_DEBUG - HOST_RESUME_DEBUG
  82264. */
  82265. #define USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_SHIFT)) & USBPHY_DEBUG_TOG_HOST_RESUME_DEBUG_MASK)
  82266. #define USBPHY_DEBUG_TOG_CLKGATE_MASK (0x40000000U)
  82267. #define USBPHY_DEBUG_TOG_CLKGATE_SHIFT (30U)
  82268. /*! CLKGATE - CLKGATE
  82269. */
  82270. #define USBPHY_DEBUG_TOG_CLKGATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG_TOG_CLKGATE_SHIFT)) & USBPHY_DEBUG_TOG_CLKGATE_MASK)
  82271. /*! @} */
  82272. /*! @name DEBUG0_STATUS - UTMI Debug Status Register 0 */
  82273. /*! @{ */
  82274. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_MASK (0xFFFFU)
  82275. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_SHIFT (0U)
  82276. /*! LOOP_BACK_FAIL_COUNT - LOOP_BACK_FAIL_COUNT
  82277. */
  82278. #define USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_LOOP_BACK_FAIL_COUNT_MASK)
  82279. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_MASK (0x3FF0000U)
  82280. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_SHIFT (16U)
  82281. /*! UTMI_RXERROR_FAIL_COUNT - UTMI_RXERROR_FAIL_COUNT
  82282. */
  82283. #define USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_UTMI_RXERROR_FAIL_COUNT_MASK)
  82284. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK (0xFC000000U)
  82285. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT (26U)
  82286. /*! SQUELCH_COUNT - SQUELCH_COUNT
  82287. */
  82288. #define USBPHY_DEBUG0_STATUS_SQUELCH_COUNT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_SHIFT)) & USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK)
  82289. /*! @} */
  82290. /*! @name DEBUG1 - UTMI Debug Status Register 1 */
  82291. /*! @{ */
  82292. #define USBPHY_DEBUG1_ENTAILADJVD_MASK (0x6000U)
  82293. #define USBPHY_DEBUG1_ENTAILADJVD_SHIFT (13U)
  82294. /*! ENTAILADJVD - ENTAILADJVD
  82295. * 0b00..Delay is nominal
  82296. * 0b01..Delay is +20%
  82297. * 0b10..Delay is -20%
  82298. * 0b11..Delay is -40%
  82299. */
  82300. #define USBPHY_DEBUG1_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_ENTAILADJVD_MASK)
  82301. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  82302. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  82303. /*! USB2_REFBIAS_SELFBIASOFF - Set to 1 to disable self bias, 100 us after power up refbias(usb2_refbias_pwd).This can reduce noise on power.
  82304. */
  82305. #define USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_SELFBIASOFF_MASK)
  82306. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  82307. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  82308. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  82309. */
  82310. #define USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_PWDVBGUP_MASK)
  82311. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  82312. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  82313. /*! USB2_REFBIAS_LOWPWR - to be added
  82314. */
  82315. #define USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_LOWPWR_MASK)
  82316. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  82317. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  82318. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  82319. */
  82320. #define USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_VBGADJ_MASK)
  82321. #define USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK (0x600000U)
  82322. #define USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT (21U)
  82323. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  82324. */
  82325. #define USBPHY_DEBUG1_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_USB2_REFBIAS_TST_MASK)
  82326. /*! @} */
  82327. /*! @name DEBUG1_SET - UTMI Debug Status Register 1 */
  82328. /*! @{ */
  82329. #define USBPHY_DEBUG1_SET_ENTAILADJVD_MASK (0x6000U)
  82330. #define USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT (13U)
  82331. /*! ENTAILADJVD - ENTAILADJVD
  82332. */
  82333. #define USBPHY_DEBUG1_SET_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_SET_ENTAILADJVD_MASK)
  82334. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  82335. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  82336. /*! USB2_REFBIAS_SELFBIASOFF - Set to 1 to disable self bias, 100 us after power up refbias(usb2_refbias_pwd).This can reduce noise on power.
  82337. */
  82338. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_SELFBIASOFF_MASK)
  82339. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  82340. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  82341. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  82342. */
  82343. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_PWDVBGUP_MASK)
  82344. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  82345. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  82346. /*! USB2_REFBIAS_LOWPWR - to be added
  82347. */
  82348. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_LOWPWR_MASK)
  82349. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  82350. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  82351. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  82352. */
  82353. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_VBGADJ_MASK)
  82354. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_MASK (0x600000U)
  82355. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_SHIFT (21U)
  82356. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  82357. */
  82358. #define USBPHY_DEBUG1_SET_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_SET_USB2_REFBIAS_TST_MASK)
  82359. /*! @} */
  82360. /*! @name DEBUG1_CLR - UTMI Debug Status Register 1 */
  82361. /*! @{ */
  82362. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK (0x6000U)
  82363. #define USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT (13U)
  82364. /*! ENTAILADJVD - ENTAILADJVD
  82365. */
  82366. #define USBPHY_DEBUG1_CLR_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_CLR_ENTAILADJVD_MASK)
  82367. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  82368. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  82369. /*! USB2_REFBIAS_SELFBIASOFF - Set to 1 to disable self bias, 100 us after power up refbias(usb2_refbias_pwd).This can reduce noise on power.
  82370. */
  82371. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_SELFBIASOFF_MASK)
  82372. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  82373. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  82374. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  82375. */
  82376. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_PWDVBGUP_MASK)
  82377. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  82378. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  82379. /*! USB2_REFBIAS_LOWPWR - to be added
  82380. */
  82381. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_LOWPWR_MASK)
  82382. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  82383. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  82384. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  82385. */
  82386. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_VBGADJ_MASK)
  82387. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_MASK (0x600000U)
  82388. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_SHIFT (21U)
  82389. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  82390. */
  82391. #define USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_CLR_USB2_REFBIAS_TST_MASK)
  82392. /*! @} */
  82393. /*! @name DEBUG1_TOG - UTMI Debug Status Register 1 */
  82394. /*! @{ */
  82395. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK (0x6000U)
  82396. #define USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT (13U)
  82397. /*! ENTAILADJVD - ENTAILADJVD
  82398. */
  82399. #define USBPHY_DEBUG1_TOG_ENTAILADJVD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_ENTAILADJVD_SHIFT)) & USBPHY_DEBUG1_TOG_ENTAILADJVD_MASK)
  82400. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_MASK (0x8000U)
  82401. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_SHIFT (15U)
  82402. /*! USB2_REFBIAS_SELFBIASOFF - Set to 1 to disable self bias, 100 us after power up refbias(usb2_refbias_pwd).This can reduce noise on power.
  82403. */
  82404. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_SELFBIASOFF_MASK)
  82405. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_MASK (0x10000U)
  82406. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_SHIFT (16U)
  82407. /*! USB2_REFBIAS_PWDVBGUP - Powers down the bandgap detect logic, will affect vbgup on misc1 register.
  82408. */
  82409. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_PWDVBGUP_MASK)
  82410. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_MASK (0x20000U)
  82411. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_SHIFT (17U)
  82412. /*! USB2_REFBIAS_LOWPWR - to be added
  82413. */
  82414. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_LOWPWR_MASK)
  82415. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_MASK (0x1C0000U)
  82416. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_SHIFT (18U)
  82417. /*! USB2_REFBIAS_VBGADJ - Adjustment bits on bandgap
  82418. */
  82419. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_VBGADJ_MASK)
  82420. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_MASK (0x600000U)
  82421. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_SHIFT (21U)
  82422. /*! USB2_REFBIAS_TST - Bias current control for usb2_phy
  82423. */
  82424. #define USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_SHIFT)) & USBPHY_DEBUG1_TOG_USB2_REFBIAS_TST_MASK)
  82425. /*! @} */
  82426. /*! @name VERSION - UTMI RTL Version */
  82427. /*! @{ */
  82428. #define USBPHY_VERSION_STEP_MASK (0xFFFFU)
  82429. #define USBPHY_VERSION_STEP_SHIFT (0U)
  82430. /*! STEP - STEP
  82431. */
  82432. #define USBPHY_VERSION_STEP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_STEP_SHIFT)) & USBPHY_VERSION_STEP_MASK)
  82433. #define USBPHY_VERSION_MINOR_MASK (0xFF0000U)
  82434. #define USBPHY_VERSION_MINOR_SHIFT (16U)
  82435. /*! MINOR - MINOR
  82436. */
  82437. #define USBPHY_VERSION_MINOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MINOR_SHIFT)) & USBPHY_VERSION_MINOR_MASK)
  82438. #define USBPHY_VERSION_MAJOR_MASK (0xFF000000U)
  82439. #define USBPHY_VERSION_MAJOR_SHIFT (24U)
  82440. /*! MAJOR - MAJOR
  82441. */
  82442. #define USBPHY_VERSION_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_VERSION_MAJOR_SHIFT)) & USBPHY_VERSION_MAJOR_MASK)
  82443. /*! @} */
  82444. /*! @name PLL_SIC - USB PHY PLL Control/Status Register */
  82445. /*! @{ */
  82446. #define USBPHY_PLL_SIC_PLL_POSTDIV_MASK (0x1CU)
  82447. #define USBPHY_PLL_SIC_PLL_POSTDIV_SHIFT (2U)
  82448. /*! PLL_POSTDIV - PLL_POSTDIV
  82449. */
  82450. #define USBPHY_PLL_SIC_PLL_POSTDIV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_POSTDIV_SHIFT)) & USBPHY_PLL_SIC_PLL_POSTDIV_MASK)
  82451. #define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK (0x40U)
  82452. #define USBPHY_PLL_SIC_PLL_EN_USB_CLKS_SHIFT (6U)
  82453. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  82454. */
  82455. #define USBPHY_PLL_SIC_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_PLL_EN_USB_CLKS_MASK)
  82456. #define USBPHY_PLL_SIC_PLL_POWER_MASK (0x1000U)
  82457. #define USBPHY_PLL_SIC_PLL_POWER_SHIFT (12U)
  82458. /*! PLL_POWER - PLL_POWER
  82459. */
  82460. #define USBPHY_PLL_SIC_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_PLL_POWER_MASK)
  82461. #define USBPHY_PLL_SIC_PLL_ENABLE_MASK (0x2000U)
  82462. #define USBPHY_PLL_SIC_PLL_ENABLE_SHIFT (13U)
  82463. /*! PLL_ENABLE - PLL_ENABLE
  82464. */
  82465. #define USBPHY_PLL_SIC_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_PLL_ENABLE_MASK)
  82466. #define USBPHY_PLL_SIC_PLL_BYPASS_MASK (0x10000U)
  82467. #define USBPHY_PLL_SIC_PLL_BYPASS_SHIFT (16U)
  82468. /*! PLL_BYPASS - PLL_BYPASS
  82469. */
  82470. #define USBPHY_PLL_SIC_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_PLL_BYPASS_MASK)
  82471. #define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_MASK (0x80000U)
  82472. #define USBPHY_PLL_SIC_REFBIAS_PWD_SEL_SHIFT (19U)
  82473. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  82474. * 0b0..Selects PLL_POWER to control the reference bias
  82475. * 0b1..Selects REFBIAS_PWD to control the reference bias.
  82476. */
  82477. #define USBPHY_PLL_SIC_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_REFBIAS_PWD_SEL_MASK)
  82478. #define USBPHY_PLL_SIC_REFBIAS_PWD_MASK (0x100000U)
  82479. #define USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT (20U)
  82480. /*! REFBIAS_PWD - Power down the reference bias
  82481. */
  82482. #define USBPHY_PLL_SIC_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_REFBIAS_PWD_MASK)
  82483. #define USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK (0x200000U)
  82484. #define USBPHY_PLL_SIC_PLL_REG_ENABLE_SHIFT (21U)
  82485. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  82486. */
  82487. #define USBPHY_PLL_SIC_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_PLL_REG_ENABLE_MASK)
  82488. #define USBPHY_PLL_SIC_PLL_DIV_SEL_MASK (0x1C00000U)
  82489. #define USBPHY_PLL_SIC_PLL_DIV_SEL_SHIFT (22U)
  82490. /*! PLL_DIV_SEL - PLL_DIV_SEL
  82491. * 0b000..Divide by 13
  82492. * 0b001..Divide by 15
  82493. * 0b010..Divide by 16
  82494. * 0b011..Divide by 20
  82495. * 0b100..Divide by 22
  82496. * 0b101..Divide by 25
  82497. * 0b110..Divide by 30
  82498. * 0b111..Divide by 240
  82499. */
  82500. #define USBPHY_PLL_SIC_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_PLL_DIV_SEL_MASK)
  82501. #define USBPHY_PLL_SIC_PLL_LOCK_MASK (0x80000000U)
  82502. #define USBPHY_PLL_SIC_PLL_LOCK_SHIFT (31U)
  82503. /*! PLL_LOCK - PLL_LOCK
  82504. * 0b0..PLL is not currently locked
  82505. * 0b1..PLL is currently locked
  82506. */
  82507. #define USBPHY_PLL_SIC_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_PLL_LOCK_MASK)
  82508. /*! @} */
  82509. /*! @name PLL_SIC_SET - USB PHY PLL Control/Status Register */
  82510. /*! @{ */
  82511. #define USBPHY_PLL_SIC_SET_PLL_POSTDIV_MASK (0x1CU)
  82512. #define USBPHY_PLL_SIC_SET_PLL_POSTDIV_SHIFT (2U)
  82513. /*! PLL_POSTDIV - PLL_POSTDIV
  82514. */
  82515. #define USBPHY_PLL_SIC_SET_PLL_POSTDIV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_POSTDIV_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_POSTDIV_MASK)
  82516. #define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_MASK (0x40U)
  82517. #define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_SHIFT (6U)
  82518. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  82519. */
  82520. #define USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_EN_USB_CLKS_MASK)
  82521. #define USBPHY_PLL_SIC_SET_PLL_POWER_MASK (0x1000U)
  82522. #define USBPHY_PLL_SIC_SET_PLL_POWER_SHIFT (12U)
  82523. /*! PLL_POWER - PLL_POWER
  82524. */
  82525. #define USBPHY_PLL_SIC_SET_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_POWER_MASK)
  82526. #define USBPHY_PLL_SIC_SET_PLL_ENABLE_MASK (0x2000U)
  82527. #define USBPHY_PLL_SIC_SET_PLL_ENABLE_SHIFT (13U)
  82528. /*! PLL_ENABLE - PLL_ENABLE
  82529. */
  82530. #define USBPHY_PLL_SIC_SET_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_ENABLE_MASK)
  82531. #define USBPHY_PLL_SIC_SET_PLL_BYPASS_MASK (0x10000U)
  82532. #define USBPHY_PLL_SIC_SET_PLL_BYPASS_SHIFT (16U)
  82533. /*! PLL_BYPASS - PLL_BYPASS
  82534. */
  82535. #define USBPHY_PLL_SIC_SET_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_BYPASS_MASK)
  82536. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_MASK (0x80000U)
  82537. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_SHIFT (19U)
  82538. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  82539. */
  82540. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_SET_REFBIAS_PWD_SEL_MASK)
  82541. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_MASK (0x100000U)
  82542. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD_SHIFT (20U)
  82543. /*! REFBIAS_PWD - Power down the reference bias
  82544. */
  82545. #define USBPHY_PLL_SIC_SET_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_SET_REFBIAS_PWD_MASK)
  82546. #define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK (0x200000U)
  82547. #define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_SHIFT (21U)
  82548. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  82549. */
  82550. #define USBPHY_PLL_SIC_SET_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_REG_ENABLE_MASK)
  82551. #define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_MASK (0x1C00000U)
  82552. #define USBPHY_PLL_SIC_SET_PLL_DIV_SEL_SHIFT (22U)
  82553. /*! PLL_DIV_SEL - PLL_DIV_SEL
  82554. */
  82555. #define USBPHY_PLL_SIC_SET_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_DIV_SEL_MASK)
  82556. #define USBPHY_PLL_SIC_SET_PLL_LOCK_MASK (0x80000000U)
  82557. #define USBPHY_PLL_SIC_SET_PLL_LOCK_SHIFT (31U)
  82558. /*! PLL_LOCK - PLL_LOCK
  82559. */
  82560. #define USBPHY_PLL_SIC_SET_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_SET_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_SET_PLL_LOCK_MASK)
  82561. /*! @} */
  82562. /*! @name PLL_SIC_CLR - USB PHY PLL Control/Status Register */
  82563. /*! @{ */
  82564. #define USBPHY_PLL_SIC_CLR_PLL_POSTDIV_MASK (0x1CU)
  82565. #define USBPHY_PLL_SIC_CLR_PLL_POSTDIV_SHIFT (2U)
  82566. /*! PLL_POSTDIV - PLL_POSTDIV
  82567. */
  82568. #define USBPHY_PLL_SIC_CLR_PLL_POSTDIV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_POSTDIV_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_POSTDIV_MASK)
  82569. #define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_MASK (0x40U)
  82570. #define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_SHIFT (6U)
  82571. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  82572. */
  82573. #define USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_EN_USB_CLKS_MASK)
  82574. #define USBPHY_PLL_SIC_CLR_PLL_POWER_MASK (0x1000U)
  82575. #define USBPHY_PLL_SIC_CLR_PLL_POWER_SHIFT (12U)
  82576. /*! PLL_POWER - PLL_POWER
  82577. */
  82578. #define USBPHY_PLL_SIC_CLR_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_POWER_MASK)
  82579. #define USBPHY_PLL_SIC_CLR_PLL_ENABLE_MASK (0x2000U)
  82580. #define USBPHY_PLL_SIC_CLR_PLL_ENABLE_SHIFT (13U)
  82581. /*! PLL_ENABLE - PLL_ENABLE
  82582. */
  82583. #define USBPHY_PLL_SIC_CLR_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_ENABLE_MASK)
  82584. #define USBPHY_PLL_SIC_CLR_PLL_BYPASS_MASK (0x10000U)
  82585. #define USBPHY_PLL_SIC_CLR_PLL_BYPASS_SHIFT (16U)
  82586. /*! PLL_BYPASS - PLL_BYPASS
  82587. */
  82588. #define USBPHY_PLL_SIC_CLR_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_BYPASS_MASK)
  82589. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_MASK (0x80000U)
  82590. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_SHIFT (19U)
  82591. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  82592. */
  82593. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SEL_MASK)
  82594. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_MASK (0x100000U)
  82595. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SHIFT (20U)
  82596. /*! REFBIAS_PWD - Power down the reference bias
  82597. */
  82598. #define USBPHY_PLL_SIC_CLR_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_CLR_REFBIAS_PWD_MASK)
  82599. #define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_MASK (0x200000U)
  82600. #define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_SHIFT (21U)
  82601. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  82602. */
  82603. #define USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_REG_ENABLE_MASK)
  82604. #define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_MASK (0x1C00000U)
  82605. #define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_SHIFT (22U)
  82606. /*! PLL_DIV_SEL - PLL_DIV_SEL
  82607. */
  82608. #define USBPHY_PLL_SIC_CLR_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_DIV_SEL_MASK)
  82609. #define USBPHY_PLL_SIC_CLR_PLL_LOCK_MASK (0x80000000U)
  82610. #define USBPHY_PLL_SIC_CLR_PLL_LOCK_SHIFT (31U)
  82611. /*! PLL_LOCK - PLL_LOCK
  82612. */
  82613. #define USBPHY_PLL_SIC_CLR_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_CLR_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_CLR_PLL_LOCK_MASK)
  82614. /*! @} */
  82615. /*! @name PLL_SIC_TOG - USB PHY PLL Control/Status Register */
  82616. /*! @{ */
  82617. #define USBPHY_PLL_SIC_TOG_PLL_POSTDIV_MASK (0x1CU)
  82618. #define USBPHY_PLL_SIC_TOG_PLL_POSTDIV_SHIFT (2U)
  82619. /*! PLL_POSTDIV - PLL_POSTDIV
  82620. */
  82621. #define USBPHY_PLL_SIC_TOG_PLL_POSTDIV(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_POSTDIV_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_POSTDIV_MASK)
  82622. #define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_MASK (0x40U)
  82623. #define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_SHIFT (6U)
  82624. /*! PLL_EN_USB_CLKS - PLL_EN_USB_CLKS
  82625. */
  82626. #define USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_EN_USB_CLKS_MASK)
  82627. #define USBPHY_PLL_SIC_TOG_PLL_POWER_MASK (0x1000U)
  82628. #define USBPHY_PLL_SIC_TOG_PLL_POWER_SHIFT (12U)
  82629. /*! PLL_POWER - PLL_POWER
  82630. */
  82631. #define USBPHY_PLL_SIC_TOG_PLL_POWER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_POWER_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_POWER_MASK)
  82632. #define USBPHY_PLL_SIC_TOG_PLL_ENABLE_MASK (0x2000U)
  82633. #define USBPHY_PLL_SIC_TOG_PLL_ENABLE_SHIFT (13U)
  82634. /*! PLL_ENABLE - PLL_ENABLE
  82635. */
  82636. #define USBPHY_PLL_SIC_TOG_PLL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_ENABLE_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_ENABLE_MASK)
  82637. #define USBPHY_PLL_SIC_TOG_PLL_BYPASS_MASK (0x10000U)
  82638. #define USBPHY_PLL_SIC_TOG_PLL_BYPASS_SHIFT (16U)
  82639. /*! PLL_BYPASS - PLL_BYPASS
  82640. */
  82641. #define USBPHY_PLL_SIC_TOG_PLL_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_BYPASS_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_BYPASS_MASK)
  82642. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_MASK (0x80000U)
  82643. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_SHIFT (19U)
  82644. /*! REFBIAS_PWD_SEL - REFBIAS_PWD_SEL
  82645. */
  82646. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_SHIFT)) & USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SEL_MASK)
  82647. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_MASK (0x100000U)
  82648. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SHIFT (20U)
  82649. /*! REFBIAS_PWD - Power down the reference bias
  82650. */
  82651. #define USBPHY_PLL_SIC_TOG_REFBIAS_PWD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_REFBIAS_PWD_SHIFT)) & USBPHY_PLL_SIC_TOG_REFBIAS_PWD_MASK)
  82652. #define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_MASK (0x200000U)
  82653. #define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_SHIFT (21U)
  82654. /*! PLL_REG_ENABLE - PLL_REG_ENABLE
  82655. */
  82656. #define USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_REG_ENABLE_MASK)
  82657. #define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_MASK (0x1C00000U)
  82658. #define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_SHIFT (22U)
  82659. /*! PLL_DIV_SEL - PLL_DIV_SEL
  82660. */
  82661. #define USBPHY_PLL_SIC_TOG_PLL_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_DIV_SEL_MASK)
  82662. #define USBPHY_PLL_SIC_TOG_PLL_LOCK_MASK (0x80000000U)
  82663. #define USBPHY_PLL_SIC_TOG_PLL_LOCK_SHIFT (31U)
  82664. /*! PLL_LOCK - PLL_LOCK
  82665. */
  82666. #define USBPHY_PLL_SIC_TOG_PLL_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_PLL_SIC_TOG_PLL_LOCK_SHIFT)) & USBPHY_PLL_SIC_TOG_PLL_LOCK_MASK)
  82667. /*! @} */
  82668. /*! @name USB1_VBUS_DETECT - USB PHY VBUS Detect Control Register */
  82669. /*! @{ */
  82670. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_MASK (0x7U)
  82671. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_SHIFT (0U)
  82672. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  82673. * 0b000..4.0 V
  82674. * 0b001..4.1 V
  82675. * 0b010..4.2 V
  82676. * 0b011..4.3 V
  82677. * 0b100..4.4 V (Default)
  82678. * 0b101..4.5 V
  82679. * 0b110..4.6 V
  82680. * 0b111..4.7 V
  82681. */
  82682. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_THRESH_MASK)
  82683. #define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_MASK (0x8U)
  82684. #define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_SHIFT (3U)
  82685. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  82686. * 0b0..Use the results of the internal VBUS_VALID and Session Valid comparators for VBUS_VALID, AVALID, BVALID, and SESSEND (Default)
  82687. * 0b1..Use the override values for VBUS_VALID, AVALID, BVALID, and SESSEND
  82688. */
  82689. #define USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUS_OVERRIDE_EN_MASK)
  82690. #define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_MASK (0x10U)
  82691. #define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_SHIFT (4U)
  82692. /*! SESSEND_OVERRIDE - Override value for SESSEND
  82693. */
  82694. #define USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SESSEND_OVERRIDE_MASK)
  82695. #define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_MASK (0x20U)
  82696. #define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_SHIFT (5U)
  82697. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  82698. */
  82699. #define USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_BVALID_OVERRIDE_MASK)
  82700. #define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_MASK (0x40U)
  82701. #define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_SHIFT (6U)
  82702. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  82703. */
  82704. #define USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_AVALID_OVERRIDE_MASK)
  82705. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_MASK (0x80U)
  82706. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_SHIFT (7U)
  82707. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  82708. */
  82709. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_OVERRIDE_MASK)
  82710. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_MASK (0x100U)
  82711. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_SHIFT (8U)
  82712. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82713. * 0b0..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
  82714. * 0b1..Use the VBUS_VALID_3V detector results for signal reported to the USB controller
  82715. */
  82716. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_SEL_MASK)
  82717. #define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_MASK (0x600U)
  82718. #define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_SHIFT (9U)
  82719. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82720. * 0b00..Use the VBUS_VALID comparator results for signal reported to the USB controller (Default)
  82721. * 0b01..Use the Session Valid comparator results for signal reported to the USB controller
  82722. * 0b10..Use the Session Valid comparator results for signal reported to the USB controller
  82723. * 0b11..Reserved, do not use
  82724. */
  82725. #define USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUS_SOURCE_SEL_MASK)
  82726. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_MASK (0x800U)
  82727. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_SHIFT (11U)
  82728. /*! ID_OVERRIDE_EN - TBA
  82729. */
  82730. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_EN_MASK)
  82731. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_MASK (0x1000U)
  82732. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_SHIFT (12U)
  82733. /*! ID_OVERRIDE - TBA
  82734. */
  82735. #define USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_ID_OVERRIDE_MASK)
  82736. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  82737. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  82738. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  82739. * 0b0..Use the VBUS_VALID comparator for VBUS_VALID results
  82740. * 0b1..Use the Session End comparator for VBUS_VALID results. The Session End threshold is >0.8V and <4.0V.
  82741. */
  82742. #define USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_VBUSVALID_TO_SESSVALID_MASK)
  82743. #define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_MASK (0x700000U)
  82744. #define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_SHIFT (20U)
  82745. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  82746. * 0b000..Powers down the VBUS_VALID comparator
  82747. * 0b001..Enables the SESS_VALID comparator (default)
  82748. * 0b010..Enables the 3Vdetect (default)
  82749. */
  82750. #define USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_PWRUP_CMPS_MASK)
  82751. #define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_MASK (0x4000000U)
  82752. #define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_SHIFT (26U)
  82753. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  82754. * 0b0..VBUS discharge resistor is disabled (Default)
  82755. * 0b1..VBUS discharge resistor is enabled
  82756. */
  82757. #define USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_DISCHARGE_VBUS_MASK)
  82758. #define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  82759. #define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_SHIFT (31U)
  82760. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  82761. * 0b0..Disable resistive charger detection resistors on DP and DP
  82762. * 0b1..Enable resistive charger detection resistors on DP and DP
  82763. */
  82764. #define USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_EN_CHARGER_RESISTOR_MASK)
  82765. /*! @} */
  82766. /*! @name USB1_VBUS_DETECT_SET - USB PHY VBUS Detect Control Register */
  82767. /*! @{ */
  82768. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK (0x7U)
  82769. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT (0U)
  82770. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  82771. */
  82772. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_THRESH_MASK)
  82773. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_MASK (0x8U)
  82774. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_SHIFT (3U)
  82775. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  82776. */
  82777. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUS_OVERRIDE_EN_MASK)
  82778. #define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_MASK (0x10U)
  82779. #define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_SHIFT (4U)
  82780. /*! SESSEND_OVERRIDE - Override value for SESSEND
  82781. */
  82782. #define USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_SESSEND_OVERRIDE_MASK)
  82783. #define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_MASK (0x20U)
  82784. #define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_SHIFT (5U)
  82785. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  82786. */
  82787. #define USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_BVALID_OVERRIDE_MASK)
  82788. #define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_MASK (0x40U)
  82789. #define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_SHIFT (6U)
  82790. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  82791. */
  82792. #define USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_AVALID_OVERRIDE_MASK)
  82793. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_MASK (0x80U)
  82794. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_SHIFT (7U)
  82795. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  82796. */
  82797. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_OVERRIDE_MASK)
  82798. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_MASK (0x100U)
  82799. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_SHIFT (8U)
  82800. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82801. */
  82802. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_SEL_MASK)
  82803. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_MASK (0x600U)
  82804. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_SHIFT (9U)
  82805. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82806. */
  82807. #define USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUS_SOURCE_SEL_MASK)
  82808. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_MASK (0x800U)
  82809. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_SHIFT (11U)
  82810. /*! ID_OVERRIDE_EN - TBA
  82811. */
  82812. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_EN_MASK)
  82813. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_MASK (0x1000U)
  82814. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_SHIFT (12U)
  82815. /*! ID_OVERRIDE - TBA
  82816. */
  82817. #define USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_ID_OVERRIDE_MASK)
  82818. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  82819. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  82820. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  82821. */
  82822. #define USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_VBUSVALID_TO_SESSVALID_MASK)
  82823. #define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_MASK (0x700000U)
  82824. #define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_SHIFT (20U)
  82825. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  82826. */
  82827. #define USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_PWRUP_CMPS_MASK)
  82828. #define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK (0x4000000U)
  82829. #define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT (26U)
  82830. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  82831. */
  82832. #define USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_DISCHARGE_VBUS_MASK)
  82833. #define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  82834. #define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_SHIFT (31U)
  82835. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  82836. */
  82837. #define USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_SET_EN_CHARGER_RESISTOR_MASK)
  82838. /*! @} */
  82839. /*! @name USB1_VBUS_DETECT_CLR - USB PHY VBUS Detect Control Register */
  82840. /*! @{ */
  82841. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK (0x7U)
  82842. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT (0U)
  82843. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  82844. */
  82845. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_THRESH_MASK)
  82846. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_MASK (0x8U)
  82847. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_SHIFT (3U)
  82848. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  82849. */
  82850. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUS_OVERRIDE_EN_MASK)
  82851. #define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_MASK (0x10U)
  82852. #define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_SHIFT (4U)
  82853. /*! SESSEND_OVERRIDE - Override value for SESSEND
  82854. */
  82855. #define USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_SESSEND_OVERRIDE_MASK)
  82856. #define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_MASK (0x20U)
  82857. #define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_SHIFT (5U)
  82858. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  82859. */
  82860. #define USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_BVALID_OVERRIDE_MASK)
  82861. #define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_MASK (0x40U)
  82862. #define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_SHIFT (6U)
  82863. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  82864. */
  82865. #define USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_AVALID_OVERRIDE_MASK)
  82866. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_MASK (0x80U)
  82867. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_SHIFT (7U)
  82868. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  82869. */
  82870. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_OVERRIDE_MASK)
  82871. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_MASK (0x100U)
  82872. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_SHIFT (8U)
  82873. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82874. */
  82875. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_SEL_MASK)
  82876. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_MASK (0x600U)
  82877. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_SHIFT (9U)
  82878. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82879. */
  82880. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUS_SOURCE_SEL_MASK)
  82881. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_MASK (0x800U)
  82882. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_SHIFT (11U)
  82883. /*! ID_OVERRIDE_EN - TBA
  82884. */
  82885. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_EN_MASK)
  82886. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_MASK (0x1000U)
  82887. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_SHIFT (12U)
  82888. /*! ID_OVERRIDE - TBA
  82889. */
  82890. #define USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_ID_OVERRIDE_MASK)
  82891. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  82892. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  82893. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  82894. */
  82895. #define USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_VBUSVALID_TO_SESSVALID_MASK)
  82896. #define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_MASK (0x700000U)
  82897. #define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_SHIFT (20U)
  82898. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  82899. */
  82900. #define USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_PWRUP_CMPS_MASK)
  82901. #define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK (0x4000000U)
  82902. #define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT (26U)
  82903. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  82904. */
  82905. #define USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_DISCHARGE_VBUS_MASK)
  82906. #define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  82907. #define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_SHIFT (31U)
  82908. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  82909. */
  82910. #define USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_CLR_EN_CHARGER_RESISTOR_MASK)
  82911. /*! @} */
  82912. /*! @name USB1_VBUS_DETECT_TOG - USB PHY VBUS Detect Control Register */
  82913. /*! @{ */
  82914. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK (0x7U)
  82915. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT (0U)
  82916. /*! VBUSVALID_THRESH - VBUSVALID_THRESH
  82917. */
  82918. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_THRESH_MASK)
  82919. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_MASK (0x8U)
  82920. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_SHIFT (3U)
  82921. /*! VBUS_OVERRIDE_EN - VBUS detect signal override enable
  82922. */
  82923. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUS_OVERRIDE_EN_MASK)
  82924. #define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_MASK (0x10U)
  82925. #define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_SHIFT (4U)
  82926. /*! SESSEND_OVERRIDE - Override value for SESSEND
  82927. */
  82928. #define USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_SESSEND_OVERRIDE_MASK)
  82929. #define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_MASK (0x20U)
  82930. #define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_SHIFT (5U)
  82931. /*! BVALID_OVERRIDE - Override value for B-Device Session Valid
  82932. */
  82933. #define USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_BVALID_OVERRIDE_MASK)
  82934. #define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_MASK (0x40U)
  82935. #define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_SHIFT (6U)
  82936. /*! AVALID_OVERRIDE - Override value for A-Device Session Valid
  82937. */
  82938. #define USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_AVALID_OVERRIDE_MASK)
  82939. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_MASK (0x80U)
  82940. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_SHIFT (7U)
  82941. /*! VBUSVALID_OVERRIDE - Override value for VBUS_VALID signal sent to USB controller
  82942. */
  82943. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_OVERRIDE_MASK)
  82944. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_MASK (0x100U)
  82945. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_SHIFT (8U)
  82946. /*! VBUSVALID_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82947. */
  82948. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_SEL_MASK)
  82949. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_MASK (0x600U)
  82950. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_SHIFT (9U)
  82951. /*! VBUS_SOURCE_SEL - Selects the source of the VBUS_VALID signal reported to the USB controller
  82952. */
  82953. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUS_SOURCE_SEL_MASK)
  82954. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_MASK (0x800U)
  82955. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_SHIFT (11U)
  82956. /*! ID_OVERRIDE_EN - TBA
  82957. */
  82958. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_EN_MASK)
  82959. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_MASK (0x1000U)
  82960. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_SHIFT (12U)
  82961. /*! ID_OVERRIDE - TBA
  82962. */
  82963. #define USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_ID_OVERRIDE_MASK)
  82964. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_MASK (0x40000U)
  82965. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_SHIFT (18U)
  82966. /*! VBUSVALID_TO_SESSVALID - Selects the comparator used for VBUS_VALID
  82967. */
  82968. #define USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_VBUSVALID_TO_SESSVALID_MASK)
  82969. #define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_MASK (0x700000U)
  82970. #define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_SHIFT (20U)
  82971. /*! PWRUP_CMPS - Enables the VBUS_VALID comparator
  82972. */
  82973. #define USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_PWRUP_CMPS_MASK)
  82974. #define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK (0x4000000U)
  82975. #define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT (26U)
  82976. /*! DISCHARGE_VBUS - Controls VBUS discharge resistor
  82977. */
  82978. #define USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_DISCHARGE_VBUS_MASK)
  82979. #define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_MASK (0x80000000U)
  82980. #define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_SHIFT (31U)
  82981. /*! EN_CHARGER_RESISTOR - Enables resistors used for an older method of resistive battery charger detection
  82982. */
  82983. #define USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_SHIFT)) & USBPHY_USB1_VBUS_DETECT_TOG_EN_CHARGER_RESISTOR_MASK)
  82984. /*! @} */
  82985. /*! @name USB1_VBUS_DET_STAT - USB PHY VBUS Detector Status Register */
  82986. /*! @{ */
  82987. #define USBPHY_USB1_VBUS_DET_STAT_SESSEND_MASK (0x1U)
  82988. #define USBPHY_USB1_VBUS_DET_STAT_SESSEND_SHIFT (0U)
  82989. /*! SESSEND - Session End indicator
  82990. * 0b0..The VBUS voltage is above the Session Valid threshold
  82991. * 0b1..The VBUS voltage is below the Session Valid threshold
  82992. */
  82993. #define USBPHY_USB1_VBUS_DET_STAT_SESSEND(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_SESSEND_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_SESSEND_MASK)
  82994. #define USBPHY_USB1_VBUS_DET_STAT_BVALID_MASK (0x2U)
  82995. #define USBPHY_USB1_VBUS_DET_STAT_BVALID_SHIFT (1U)
  82996. /*! BVALID - B-Device Session Valid status
  82997. * 0b0..The VBUS voltage is below the Session Valid threshold
  82998. * 0b1..The VBUS voltage is above the Session Valid threshold
  82999. */
  83000. #define USBPHY_USB1_VBUS_DET_STAT_BVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_BVALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_BVALID_MASK)
  83001. #define USBPHY_USB1_VBUS_DET_STAT_AVALID_MASK (0x4U)
  83002. #define USBPHY_USB1_VBUS_DET_STAT_AVALID_SHIFT (2U)
  83003. /*! AVALID - A-Device Session Valid status
  83004. * 0b0..The VBUS voltage is below the Session Valid threshold
  83005. * 0b1..The VBUS voltage is above the Session Valid threshold
  83006. */
  83007. #define USBPHY_USB1_VBUS_DET_STAT_AVALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_AVALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_AVALID_MASK)
  83008. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_MASK (0x8U)
  83009. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_SHIFT (3U)
  83010. /*! VBUS_VALID - VBUS voltage status
  83011. * 0b0..VBUS is below the comparator threshold
  83012. * 0b1..VBUS is above the comparator threshold
  83013. */
  83014. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_MASK)
  83015. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_MASK (0x10U)
  83016. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_SHIFT (4U)
  83017. /*! VBUS_VALID_3V - VBUS_VALID_3V detector status
  83018. * 0b0..VBUS voltage is below VBUS_VALID_3V threshold
  83019. * 0b1..VBUS voltage is above VBUS_VALID_3V threshold
  83020. */
  83021. #define USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_SHIFT)) & USBPHY_USB1_VBUS_DET_STAT_VBUS_VALID_3V_MASK)
  83022. /*! @} */
  83023. /*! @name USB1_CHRG_DETECT - USB PHY Charger Detect Control Register */
  83024. /*! @{ */
  83025. #define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_MASK (0x4U)
  83026. #define USBPHY_USB1_CHRG_DETECT_PULLUP_DP_SHIFT (2U)
  83027. /*! PULLUP_DP - PULLUP_DP
  83028. */
  83029. #define USBPHY_USB1_CHRG_DETECT_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_PULLUP_DP_MASK)
  83030. #define USBPHY_USB1_CHRG_DETECT_BGR_BIAS_MASK (0x800000U)
  83031. #define USBPHY_USB1_CHRG_DETECT_BGR_BIAS_SHIFT (23U)
  83032. /*! BGR_BIAS - BGR_BIAS
  83033. * 0b0..Use local bias powered from USB1_VBUS for 10uA reference (Default)
  83034. * 0b1..Use bandgap bias powered from VREGIN0/VREGIN1 for 10uA reference
  83035. */
  83036. #define USBPHY_USB1_CHRG_DETECT_BGR_BIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_BGR_BIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_BGR_BIAS_MASK)
  83037. /*! @} */
  83038. /*! @name USB1_CHRG_DETECT_SET - USB PHY Charger Detect Control Register */
  83039. /*! @{ */
  83040. #define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_MASK (0x4U)
  83041. #define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_SHIFT (2U)
  83042. /*! PULLUP_DP - PULLUP_DP
  83043. */
  83044. #define USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_SET_PULLUP_DP_MASK)
  83045. #define USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_MASK (0x800000U)
  83046. #define USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_SHIFT (23U)
  83047. /*! BGR_BIAS - BGR_BIAS
  83048. */
  83049. #define USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_SET_BGR_BIAS_MASK)
  83050. /*! @} */
  83051. /*! @name USB1_CHRG_DETECT_CLR - USB PHY Charger Detect Control Register */
  83052. /*! @{ */
  83053. #define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_MASK (0x4U)
  83054. #define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_SHIFT (2U)
  83055. /*! PULLUP_DP - PULLUP_DP
  83056. */
  83057. #define USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_CLR_PULLUP_DP_MASK)
  83058. #define USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_MASK (0x800000U)
  83059. #define USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_SHIFT (23U)
  83060. /*! BGR_BIAS - BGR_BIAS
  83061. */
  83062. #define USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_CLR_BGR_BIAS_MASK)
  83063. /*! @} */
  83064. /*! @name USB1_CHRG_DETECT_TOG - USB PHY Charger Detect Control Register */
  83065. /*! @{ */
  83066. #define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_MASK (0x4U)
  83067. #define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_SHIFT (2U)
  83068. /*! PULLUP_DP - PULLUP_DP
  83069. */
  83070. #define USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_SHIFT)) & USBPHY_USB1_CHRG_DETECT_TOG_PULLUP_DP_MASK)
  83071. #define USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_MASK (0x800000U)
  83072. #define USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_SHIFT (23U)
  83073. /*! BGR_BIAS - BGR_BIAS
  83074. */
  83075. #define USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_SHIFT)) & USBPHY_USB1_CHRG_DETECT_TOG_BGR_BIAS_MASK)
  83076. /*! @} */
  83077. /*! @name USB1_CHRG_DET_STAT - USB PHY Charger Detect Status Register */
  83078. /*! @{ */
  83079. #define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_MASK (0x1U)
  83080. #define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_SHIFT (0U)
  83081. /*! PLUG_CONTACT - Battery Charging Data Contact Detection phase output
  83082. * 0b0..No USB cable attachment has been detected
  83083. * 0b1..A USB cable attachment between the device and host has been detected
  83084. */
  83085. #define USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_PLUG_CONTACT_MASK)
  83086. #define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_MASK (0x2U)
  83087. #define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_SHIFT (1U)
  83088. /*! CHRG_DETECTED - Battery Charging Primary Detection phase output
  83089. * 0b0..Standard Downstream Port (SDP) has been detected
  83090. * 0b1..Charging Port has been detected
  83091. */
  83092. #define USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_CHRG_DETECTED_MASK)
  83093. #define USBPHY_USB1_CHRG_DET_STAT_DN_STATE_MASK (0x4U)
  83094. #define USBPHY_USB1_CHRG_DET_STAT_DN_STATE_SHIFT (2U)
  83095. /*! DN_STATE - DN_STATE
  83096. * 0b0..DN pin voltage is < 0.8V
  83097. * 0b1..DN pin voltage is > 2.0V
  83098. */
  83099. #define USBPHY_USB1_CHRG_DET_STAT_DN_STATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_DN_STATE_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_DN_STATE_MASK)
  83100. #define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_MASK (0x8U)
  83101. #define USBPHY_USB1_CHRG_DET_STAT_DP_STATE_SHIFT (3U)
  83102. /*! DP_STATE - DP_STATE
  83103. * 0b0..DP pin voltage is < 0.8V
  83104. * 0b1..DP pin voltage is > 2.0V
  83105. */
  83106. #define USBPHY_USB1_CHRG_DET_STAT_DP_STATE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_DP_STATE_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_DP_STATE_MASK)
  83107. #define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_MASK (0x10U)
  83108. #define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_SHIFT (4U)
  83109. /*! SECDET_DCP - Battery Charging Secondary Detection phase output
  83110. * 0b0..Charging Downstream Port (CDP) has been detected
  83111. * 0b1..Downstream Charging Port (DCP) has been detected
  83112. */
  83113. #define USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_SHIFT)) & USBPHY_USB1_CHRG_DET_STAT_SECDET_DCP_MASK)
  83114. /*! @} */
  83115. /*! @name ANACTRL - USB PHY Analog Control Register */
  83116. /*! @{ */
  83117. #define USBPHY_ANACTRL_DEV_PULLDOWN_MASK (0x400U)
  83118. #define USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT (10U)
  83119. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83120. * 0b0..The 15kohm nominal pulldowns on the DP and DN pinsare disabled in device mode.
  83121. * 0b1..The 15kohm nominal pulldowns on the DP and DN pinsare enabled in device mode.
  83122. */
  83123. #define USBPHY_ANACTRL_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_DEV_PULLDOWN_MASK)
  83124. /*! @} */
  83125. /*! @name ANACTRL_SET - USB PHY Analog Control Register */
  83126. /*! @{ */
  83127. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK (0x400U)
  83128. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT (10U)
  83129. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83130. */
  83131. #define USBPHY_ANACTRL_SET_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_SET_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_SET_DEV_PULLDOWN_MASK)
  83132. /*! @} */
  83133. /*! @name ANACTRL_CLR - USB PHY Analog Control Register */
  83134. /*! @{ */
  83135. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK (0x400U)
  83136. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT (10U)
  83137. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83138. */
  83139. #define USBPHY_ANACTRL_CLR_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_CLR_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_CLR_DEV_PULLDOWN_MASK)
  83140. /*! @} */
  83141. /*! @name ANACTRL_TOG - USB PHY Analog Control Register */
  83142. /*! @{ */
  83143. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK (0x400U)
  83144. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT (10U)
  83145. /*! DEV_PULLDOWN - DEV_PULLDOWN
  83146. */
  83147. #define USBPHY_ANACTRL_TOG_DEV_PULLDOWN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_ANACTRL_TOG_DEV_PULLDOWN_SHIFT)) & USBPHY_ANACTRL_TOG_DEV_PULLDOWN_MASK)
  83148. /*! @} */
  83149. /*! @name USB1_LOOPBACK - USB PHY Loopback Control/Status Register */
  83150. /*! @{ */
  83151. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK (0x1U)
  83152. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT (0U)
  83153. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83154. */
  83155. #define USBPHY_USB1_LOOPBACK_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_TESTSTART_MASK)
  83156. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_MASK (0x2U)
  83157. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_SHIFT (1U)
  83158. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  83159. */
  83160. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_DIG_TST0_MASK)
  83161. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_MASK (0x4U)
  83162. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_SHIFT (2U)
  83163. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  83164. */
  83165. #define USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMI_DIG_TST1_MASK)
  83166. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_MASK (0x8U)
  83167. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_SHIFT (3U)
  83168. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  83169. */
  83170. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_HS_MODE_MASK)
  83171. #define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_MASK (0x10U)
  83172. #define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_SHIFT (4U)
  83173. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  83174. */
  83175. #define USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_LS_MODE_MASK)
  83176. #define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_MASK (0x20U)
  83177. #define USBPHY_USB1_LOOPBACK_TSTI_TX_EN_SHIFT (5U)
  83178. /*! TSTI_TX_EN - TSTI_TX_EN
  83179. */
  83180. #define USBPHY_USB1_LOOPBACK_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_EN_MASK)
  83181. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_MASK (0x40U)
  83182. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_SHIFT (6U)
  83183. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  83184. */
  83185. #define USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_TX_HIZ_MASK)
  83186. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_MASK (0x80U)
  83187. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_SHIFT (7U)
  83188. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  83189. */
  83190. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMO_DIG_TST0_MASK)
  83191. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_MASK (0x100U)
  83192. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_SHIFT (8U)
  83193. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  83194. */
  83195. #define USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_UTMO_DIG_TST1_MASK)
  83196. #define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  83197. #define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_SHIFT (15U)
  83198. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  83199. */
  83200. #define USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTI_HSFS_MODE_EN_MASK)
  83201. #define USBPHY_USB1_LOOPBACK_TSTPKT_MASK (0xFF0000U)
  83202. #define USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT (16U)
  83203. /*! TSTPKT - TSTPKT
  83204. */
  83205. #define USBPHY_USB1_LOOPBACK_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TSTPKT_MASK)
  83206. /*! @} */
  83207. /*! @name USB1_LOOPBACK_SET - USB PHY Loopback Control/Status Register */
  83208. /*! @{ */
  83209. #define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_MASK (0x1U)
  83210. #define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_SHIFT (0U)
  83211. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83212. */
  83213. #define USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_TESTSTART_MASK)
  83214. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_MASK (0x2U)
  83215. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_SHIFT (1U)
  83216. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  83217. */
  83218. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST0_MASK)
  83219. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_MASK (0x4U)
  83220. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_SHIFT (2U)
  83221. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  83222. */
  83223. #define USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMI_DIG_TST1_MASK)
  83224. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_MASK (0x8U)
  83225. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_SHIFT (3U)
  83226. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  83227. */
  83228. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HS_MODE_MASK)
  83229. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_MASK (0x10U)
  83230. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_SHIFT (4U)
  83231. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  83232. */
  83233. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_LS_MODE_MASK)
  83234. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_MASK (0x20U)
  83235. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_SHIFT (5U)
  83236. /*! TSTI_TX_EN - TSTI_TX_EN
  83237. */
  83238. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_EN_MASK)
  83239. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_MASK (0x40U)
  83240. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_SHIFT (6U)
  83241. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  83242. */
  83243. #define USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_TX_HIZ_MASK)
  83244. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_MASK (0x80U)
  83245. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_SHIFT (7U)
  83246. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  83247. */
  83248. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST0_MASK)
  83249. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_MASK (0x100U)
  83250. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_SHIFT (8U)
  83251. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  83252. */
  83253. #define USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_UTMO_DIG_TST1_MASK)
  83254. #define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  83255. #define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_SHIFT (15U)
  83256. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  83257. */
  83258. #define USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTI_HSFS_MODE_EN_MASK)
  83259. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK (0xFF0000U)
  83260. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT (16U)
  83261. /*! TSTPKT - TSTPKT
  83262. */
  83263. #define USBPHY_USB1_LOOPBACK_SET_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_SET_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_SET_TSTPKT_MASK)
  83264. /*! @} */
  83265. /*! @name USB1_LOOPBACK_CLR - USB PHY Loopback Control/Status Register */
  83266. /*! @{ */
  83267. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_MASK (0x1U)
  83268. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT (0U)
  83269. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83270. */
  83271. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_TESTSTART_MASK)
  83272. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_MASK (0x2U)
  83273. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_SHIFT (1U)
  83274. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  83275. */
  83276. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST0_MASK)
  83277. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_MASK (0x4U)
  83278. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_SHIFT (2U)
  83279. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  83280. */
  83281. #define USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMI_DIG_TST1_MASK)
  83282. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_MASK (0x8U)
  83283. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_SHIFT (3U)
  83284. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  83285. */
  83286. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HS_MODE_MASK)
  83287. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_MASK (0x10U)
  83288. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_SHIFT (4U)
  83289. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  83290. */
  83291. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_LS_MODE_MASK)
  83292. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_MASK (0x20U)
  83293. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_SHIFT (5U)
  83294. /*! TSTI_TX_EN - TSTI_TX_EN
  83295. */
  83296. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_EN_MASK)
  83297. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_MASK (0x40U)
  83298. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_SHIFT (6U)
  83299. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  83300. */
  83301. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_TX_HIZ_MASK)
  83302. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_MASK (0x80U)
  83303. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_SHIFT (7U)
  83304. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  83305. */
  83306. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST0_MASK)
  83307. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_MASK (0x100U)
  83308. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_SHIFT (8U)
  83309. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  83310. */
  83311. #define USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_UTMO_DIG_TST1_MASK)
  83312. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  83313. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_SHIFT (15U)
  83314. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  83315. */
  83316. #define USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTI_HSFS_MODE_EN_MASK)
  83317. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK (0xFF0000U)
  83318. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT (16U)
  83319. /*! TSTPKT - TSTPKT
  83320. */
  83321. #define USBPHY_USB1_LOOPBACK_CLR_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_CLR_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_CLR_TSTPKT_MASK)
  83322. /*! @} */
  83323. /*! @name USB1_LOOPBACK_TOG - USB PHY Loopback Control/Status Register */
  83324. /*! @{ */
  83325. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_MASK (0x1U)
  83326. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT (0U)
  83327. /*! UTMI_TESTSTART - UTMI_TESTSTART
  83328. */
  83329. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_TESTSTART_MASK)
  83330. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_MASK (0x2U)
  83331. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_SHIFT (1U)
  83332. /*! UTMI_DIG_TST0 - UTMI_DIG_TST0
  83333. */
  83334. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST0_MASK)
  83335. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_MASK (0x4U)
  83336. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_SHIFT (2U)
  83337. /*! UTMI_DIG_TST1 - UTMI_DIG_TST1
  83338. */
  83339. #define USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMI_DIG_TST1_MASK)
  83340. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_MASK (0x8U)
  83341. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_SHIFT (3U)
  83342. /*! TSTI_TX_HS_MODE - TSTI_TX_HS_MODE
  83343. */
  83344. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HS_MODE_MASK)
  83345. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_MASK (0x10U)
  83346. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_SHIFT (4U)
  83347. /*! TSTI_TX_LS_MODE - TSTI_TX_LS_MODE
  83348. */
  83349. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_LS_MODE_MASK)
  83350. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_MASK (0x20U)
  83351. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_SHIFT (5U)
  83352. /*! TSTI_TX_EN - TSTI_TX_EN
  83353. */
  83354. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_EN_MASK)
  83355. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_MASK (0x40U)
  83356. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_SHIFT (6U)
  83357. /*! TSTI_TX_HIZ - TSTI_TX_HIZ
  83358. */
  83359. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_TX_HIZ_MASK)
  83360. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_MASK (0x80U)
  83361. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_SHIFT (7U)
  83362. /*! UTMO_DIG_TST0 - UTMO_DIG_TST0
  83363. */
  83364. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST0_MASK)
  83365. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_MASK (0x100U)
  83366. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_SHIFT (8U)
  83367. /*! UTMO_DIG_TST1 - UTMO_DIG_TST1
  83368. */
  83369. #define USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_UTMO_DIG_TST1_MASK)
  83370. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_MASK (0x8000U)
  83371. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_SHIFT (15U)
  83372. /*! TSTI_HSFS_MODE_EN - TSTI_HSFS_MODE_EN
  83373. */
  83374. #define USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTI_HSFS_MODE_EN_MASK)
  83375. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK (0xFF0000U)
  83376. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT (16U)
  83377. /*! TSTPKT - TSTPKT
  83378. */
  83379. #define USBPHY_USB1_LOOPBACK_TOG_TSTPKT(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_TOG_TSTPKT_SHIFT)) & USBPHY_USB1_LOOPBACK_TOG_TSTPKT_MASK)
  83380. /*! @} */
  83381. /*! @name USB1_LOOPBACK_HSFSCNT - USB PHY Loopback Packet Number Select Register */
  83382. /*! @{ */
  83383. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_MASK (0xFFFFU)
  83384. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_SHIFT (0U)
  83385. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  83386. */
  83387. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_HS_NUMBER_MASK)
  83388. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  83389. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_SHIFT (16U)
  83390. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  83391. */
  83392. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TSTI_FS_NUMBER_MASK)
  83393. /*! @} */
  83394. /*! @name USB1_LOOPBACK_HSFSCNT_SET - USB PHY Loopback Packet Number Select Register */
  83395. /*! @{ */
  83396. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_MASK (0xFFFFU)
  83397. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_SHIFT (0U)
  83398. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  83399. */
  83400. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_HS_NUMBER_MASK)
  83401. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  83402. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_SHIFT (16U)
  83403. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  83404. */
  83405. #define USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_SET_TSTI_FS_NUMBER_MASK)
  83406. /*! @} */
  83407. /*! @name USB1_LOOPBACK_HSFSCNT_CLR - USB PHY Loopback Packet Number Select Register */
  83408. /*! @{ */
  83409. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_MASK (0xFFFFU)
  83410. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_SHIFT (0U)
  83411. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  83412. */
  83413. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_HS_NUMBER_MASK)
  83414. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  83415. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_SHIFT (16U)
  83416. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  83417. */
  83418. #define USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_CLR_TSTI_FS_NUMBER_MASK)
  83419. /*! @} */
  83420. /*! @name USB1_LOOPBACK_HSFSCNT_TOG - USB PHY Loopback Packet Number Select Register */
  83421. /*! @{ */
  83422. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_MASK (0xFFFFU)
  83423. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_SHIFT (0U)
  83424. /*! TSTI_HS_NUMBER - TSTI_HS_NUMBER
  83425. */
  83426. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_HS_NUMBER_MASK)
  83427. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_MASK (0xFFFF0000U)
  83428. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_SHIFT (16U)
  83429. /*! TSTI_FS_NUMBER - TSTI_FS_NUMBER
  83430. */
  83431. #define USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_SHIFT)) & USBPHY_USB1_LOOPBACK_HSFSCNT_TOG_TSTI_FS_NUMBER_MASK)
  83432. /*! @} */
  83433. /*! @name TRIM_OVERRIDE_EN - USB PHY Trim Override Enable Register */
  83434. /*! @{ */
  83435. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  83436. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  83437. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  83438. */
  83439. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_DIV_SEL_OVERRIDE_MASK)
  83440. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  83441. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  83442. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  83443. */
  83444. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
  83445. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  83446. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  83447. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  83448. */
  83449. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_D_CAL_OVERRIDE_MASK)
  83450. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  83451. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  83452. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  83453. */
  83454. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DP_OVERRIDE_MASK)
  83455. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  83456. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  83457. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  83458. */
  83459. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_TX_CAL45DN_OVERRIDE_MASK)
  83460. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  83461. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  83462. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  83463. */
  83464. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
  83465. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  83466. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  83467. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  83468. */
  83469. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_REFBIAS_TST_OVERRIDE_MASK)
  83470. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  83471. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  83472. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  83473. */
  83474. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_VBGADJ_MASK)
  83475. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  83476. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  83477. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  83478. */
  83479. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB2_REFBIAS_TST_MASK)
  83480. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  83481. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  83482. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  83483. */
  83484. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_PLL_CTRL0_DIV_SEL_MASK)
  83485. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  83486. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  83487. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  83488. */
  83489. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
  83490. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  83491. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  83492. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  83493. */
  83494. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_D_CAL_MASK)
  83495. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  83496. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  83497. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  83498. */
  83499. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DP_MASK)
  83500. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  83501. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  83502. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  83503. */
  83504. #define USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TRIM_USBPHY_TX_CAL45DN_MASK)
  83505. /*! @} */
  83506. /*! @name TRIM_OVERRIDE_EN_SET - USB PHY Trim Override Enable Register */
  83507. /*! @{ */
  83508. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  83509. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  83510. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  83511. */
  83512. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_DIV_SEL_OVERRIDE_MASK)
  83513. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  83514. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  83515. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  83516. */
  83517. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
  83518. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  83519. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  83520. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  83521. */
  83522. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_D_CAL_OVERRIDE_MASK)
  83523. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  83524. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  83525. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  83526. */
  83527. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DP_OVERRIDE_MASK)
  83528. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  83529. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  83530. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  83531. */
  83532. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_TX_CAL45DN_OVERRIDE_MASK)
  83533. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  83534. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  83535. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  83536. */
  83537. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
  83538. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  83539. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  83540. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  83541. */
  83542. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_REFBIAS_TST_OVERRIDE_MASK)
  83543. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  83544. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  83545. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  83546. */
  83547. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_VBGADJ_MASK)
  83548. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  83549. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  83550. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  83551. */
  83552. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB2_REFBIAS_TST_MASK)
  83553. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  83554. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  83555. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  83556. */
  83557. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_PLL_CTRL0_DIV_SEL_MASK)
  83558. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  83559. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  83560. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  83561. */
  83562. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
  83563. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  83564. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  83565. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  83566. */
  83567. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_D_CAL_MASK)
  83568. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  83569. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  83570. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  83571. */
  83572. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DP_MASK)
  83573. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  83574. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  83575. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  83576. */
  83577. #define USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_SET_TRIM_USBPHY_TX_CAL45DN_MASK)
  83578. /*! @} */
  83579. /*! @name TRIM_OVERRIDE_EN_CLR - USB PHY Trim Override Enable Register */
  83580. /*! @{ */
  83581. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  83582. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  83583. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  83584. */
  83585. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_DIV_SEL_OVERRIDE_MASK)
  83586. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  83587. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  83588. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  83589. */
  83590. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
  83591. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  83592. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  83593. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  83594. */
  83595. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_D_CAL_OVERRIDE_MASK)
  83596. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  83597. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  83598. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  83599. */
  83600. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DP_OVERRIDE_MASK)
  83601. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  83602. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  83603. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  83604. */
  83605. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_TX_CAL45DN_OVERRIDE_MASK)
  83606. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  83607. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  83608. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  83609. */
  83610. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
  83611. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  83612. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  83613. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  83614. */
  83615. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_REFBIAS_TST_OVERRIDE_MASK)
  83616. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  83617. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  83618. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  83619. */
  83620. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_VBGADJ_MASK)
  83621. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  83622. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  83623. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  83624. */
  83625. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB2_REFBIAS_TST_MASK)
  83626. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  83627. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  83628. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  83629. */
  83630. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_PLL_CTRL0_DIV_SEL_MASK)
  83631. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  83632. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  83633. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  83634. */
  83635. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
  83636. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  83637. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  83638. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  83639. */
  83640. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_D_CAL_MASK)
  83641. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  83642. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  83643. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  83644. */
  83645. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DP_MASK)
  83646. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  83647. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  83648. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  83649. */
  83650. #define USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_CLR_TRIM_USBPHY_TX_CAL45DN_MASK)
  83651. /*! @} */
  83652. /*! @name TRIM_OVERRIDE_EN_TOG - USB PHY Trim Override Enable Register */
  83653. /*! @{ */
  83654. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_MASK (0x1U)
  83655. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_SHIFT (0U)
  83656. /*! TRIM_DIV_SEL_OVERRIDE - TRIM_DIV_SEL_OVERRIDE
  83657. */
  83658. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_DIV_SEL_OVERRIDE_MASK)
  83659. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK (0x2U)
  83660. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT (1U)
  83661. /*! TRIM_ENV_TAIL_ADJ_VD_OVERRIDE - TRIM_ENV_TAIL_ADJ_VD_OVERRIDE
  83662. */
  83663. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_ENV_TAIL_ADJ_VD_OVERRIDE_MASK)
  83664. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_MASK (0x4U)
  83665. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_SHIFT (2U)
  83666. /*! TRIM_TX_D_CAL_OVERRIDE - TRIM_TX_D_CAL_OVERRIDE
  83667. */
  83668. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_D_CAL_OVERRIDE_MASK)
  83669. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_MASK (0x8U)
  83670. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_SHIFT (3U)
  83671. /*! TRIM_TX_CAL45DP_OVERRIDE - TRIM_TX_CAL45DP_OVERRIDE
  83672. */
  83673. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DP_OVERRIDE_MASK)
  83674. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_MASK (0x10U)
  83675. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_SHIFT (4U)
  83676. /*! TRIM_TX_CAL45DN_OVERRIDE - TRIM_TX_CAL45DN_OVERRIDE
  83677. */
  83678. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_TX_CAL45DN_OVERRIDE_MASK)
  83679. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK (0x20U)
  83680. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT (5U)
  83681. /*! TRIM_REFBIAS_VBGADJ_OVERRIDE - Override enable for bandgap adjustment.
  83682. */
  83683. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_VBGADJ_OVERRIDE_MASK)
  83684. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_MASK (0x40U)
  83685. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_SHIFT (6U)
  83686. /*! TRIM_REFBIAS_TST_OVERRIDE - Override enable for bias current control
  83687. */
  83688. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_REFBIAS_TST_OVERRIDE_MASK)
  83689. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_MASK (0x1C00U)
  83690. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_SHIFT (10U)
  83691. /*! TRIM_USB2_REFBIAS_VBGADJ - TRIM_USB2_REFBIAS_VBGADJ
  83692. */
  83693. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_VBGADJ_MASK)
  83694. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_MASK (0x6000U)
  83695. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_SHIFT (13U)
  83696. /*! TRIM_USB2_REFBIAS_TST - TRIM_USB2_REFBIAS_TST
  83697. */
  83698. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB2_REFBIAS_TST_MASK)
  83699. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_MASK (0x38000U)
  83700. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_SHIFT (15U)
  83701. /*! TRIM_PLL_CTRL0_DIV_SEL - TRIM_PLL_CTRL0_DIV_SEL
  83702. */
  83703. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_PLL_CTRL0_DIV_SEL_MASK)
  83704. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK (0xC0000U)
  83705. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT (18U)
  83706. /*! TRIM_USB_REG_ENV_TAIL_ADJ_VD - TRIM_USB_REG_ENV_TAIL_ADJ_VD
  83707. */
  83708. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USB_REG_ENV_TAIL_ADJ_VD_MASK)
  83709. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_MASK (0xF00000U)
  83710. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_SHIFT (20U)
  83711. /*! TRIM_USBPHY_TX_D_CAL - TRIM_USBPHY_TX_D_CAL
  83712. */
  83713. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_D_CAL_MASK)
  83714. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_MASK (0xF000000U)
  83715. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_SHIFT (24U)
  83716. /*! TRIM_USBPHY_TX_CAL45DP - TRIM_USBPHY_TX_CAL45DP
  83717. */
  83718. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DP_MASK)
  83719. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_MASK (0xF0000000U)
  83720. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_SHIFT (28U)
  83721. /*! TRIM_USBPHY_TX_CAL45DN - TRIM_USBPHY_TX_CAL45DN
  83722. */
  83723. #define USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN(x) (((uint32_t)(((uint32_t)(x)) << USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_SHIFT)) & USBPHY_TRIM_OVERRIDE_EN_TOG_TRIM_USBPHY_TX_CAL45DN_MASK)
  83724. /*! @} */
  83725. /*!
  83726. * @}
  83727. */ /* end of group USBPHY_Register_Masks */
  83728. /* USBPHY - Peripheral instance base addresses */
  83729. /** Peripheral USBPHY1 base address */
  83730. #define USBPHY1_BASE (0x40434000u)
  83731. /** Peripheral USBPHY1 base pointer */
  83732. #define USBPHY1 ((USBPHY_Type *)USBPHY1_BASE)
  83733. /** Peripheral USBPHY2 base address */
  83734. #define USBPHY2_BASE (0x40438000u)
  83735. /** Peripheral USBPHY2 base pointer */
  83736. #define USBPHY2 ((USBPHY_Type *)USBPHY2_BASE)
  83737. /** Array initializer of USBPHY peripheral base addresses */
  83738. #define USBPHY_BASE_ADDRS { 0u, USBPHY1_BASE, USBPHY2_BASE }
  83739. /** Array initializer of USBPHY peripheral base pointers */
  83740. #define USBPHY_BASE_PTRS { (USBPHY_Type *)0u, USBPHY1, USBPHY2 }
  83741. /** Interrupt vectors for the USBPHY peripheral type */
  83742. #define USBPHY_IRQS { NotAvail_IRQn, USBPHY1_IRQn, USBPHY2_IRQn }
  83743. /* Backward compatibility */
  83744. #define USBPHY_CTRL_ENDEVPLUGINDET_MASK USBPHY_CTRL_ENDEVPLUGINDETECT_MASK
  83745. #define USBPHY_CTRL_ENDEVPLUGINDET_SHIFT USBPHY_CTRL_ENDEVPLUGINDETECT_SHIFT
  83746. #define USBPHY_CTRL_ENDEVPLUGINDET(x) USBPHY_CTRL_ENDEVPLUGINDETECT(x)
  83747. #define USBPHY_TX_TXCAL45DM_MASK USBPHY_TX_TXCAL45DN_MASK
  83748. #define USBPHY_TX_TXCAL45DM_SHIFT USBPHY_TX_TXCAL45DN_SHIFT
  83749. #define USBPHY_TX_TXCAL45DM(x) USBPHY_TX_TXCAL45DN(x)
  83750. /*!
  83751. * @}
  83752. */ /* end of group USBPHY_Peripheral_Access_Layer */
  83753. /* ----------------------------------------------------------------------------
  83754. -- USDHC Peripheral Access Layer
  83755. ---------------------------------------------------------------------------- */
  83756. /*!
  83757. * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer
  83758. * @{
  83759. */
  83760. /** USDHC - Register Layout Typedef */
  83761. typedef struct {
  83762. __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */
  83763. __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */
  83764. __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */
  83765. __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */
  83766. __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */
  83767. __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */
  83768. __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */
  83769. __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */
  83770. __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */
  83771. __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */
  83772. __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */
  83773. __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */
  83774. __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */
  83775. __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */
  83776. __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */
  83777. __IO uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */
  83778. __IO uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */
  83779. __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */
  83780. __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */
  83781. uint8_t RESERVED_0[4];
  83782. __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */
  83783. __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status, offset: 0x54 */
  83784. __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */
  83785. uint8_t RESERVED_1[4];
  83786. __IO uint32_t DLL_CTRL; /**< DLL (Delay Line) Control, offset: 0x60 */
  83787. __I uint32_t DLL_STATUS; /**< DLL Status, offset: 0x64 */
  83788. __IO uint32_t CLK_TUNE_CTRL_STATUS; /**< CLK Tuning Control and Status, offset: 0x68 */
  83789. uint8_t RESERVED_2[4];
  83790. __IO uint32_t STROBE_DLL_CTRL; /**< Strobe DLL control, offset: 0x70 */
  83791. __I uint32_t STROBE_DLL_STATUS; /**< Strobe DLL status, offset: 0x74 */
  83792. uint8_t RESERVED_3[72];
  83793. __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */
  83794. __IO uint32_t MMC_BOOT; /**< MMC Boot, offset: 0xC4 */
  83795. __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */
  83796. __IO uint32_t TUNING_CTRL; /**< Tuning Control, offset: 0xCC */
  83797. } USDHC_Type;
  83798. /* ----------------------------------------------------------------------------
  83799. -- USDHC Register Masks
  83800. ---------------------------------------------------------------------------- */
  83801. /*!
  83802. * @addtogroup USDHC_Register_Masks USDHC Register Masks
  83803. * @{
  83804. */
  83805. /*! @name DS_ADDR - DMA System Address */
  83806. /*! @{ */
  83807. #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU)
  83808. #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U)
  83809. /*! DS_ADDR - System address
  83810. */
  83811. #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK)
  83812. /*! @} */
  83813. /*! @name BLK_ATT - Block Attributes */
  83814. /*! @{ */
  83815. #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU)
  83816. #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U)
  83817. /*! BLKSIZE - Transfer block size
  83818. * 0b1000000000000..4096 bytes
  83819. * 0b0100000000000..2048 bytes
  83820. * 0b0001000000000..512 bytes
  83821. * 0b0000111111111..511 bytes
  83822. * 0b0000000000100..4 bytes
  83823. * 0b0000000000011..3 bytes
  83824. * 0b0000000000010..2 bytes
  83825. * 0b0000000000001..1 byte
  83826. * 0b0000000000000..No data transfer
  83827. */
  83828. #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK)
  83829. #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U)
  83830. #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U)
  83831. /*! BLKCNT - Blocks count for current transfer
  83832. * 0b1111111111111111..65535 blocks
  83833. * 0b0000000000000010..2 blocks
  83834. * 0b0000000000000001..1 block
  83835. * 0b0000000000000000..Stop count
  83836. */
  83837. #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK)
  83838. /*! @} */
  83839. /*! @name CMD_ARG - Command Argument */
  83840. /*! @{ */
  83841. #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU)
  83842. #define USDHC_CMD_ARG_CMDARG_SHIFT (0U)
  83843. /*! CMDARG - Command argument
  83844. */
  83845. #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK)
  83846. /*! @} */
  83847. /*! @name CMD_XFR_TYP - Command Transfer Type */
  83848. /*! @{ */
  83849. #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U)
  83850. #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U)
  83851. /*! RSPTYP - Response type select
  83852. * 0b00..No response
  83853. * 0b01..Response length 136
  83854. * 0b10..Response length 48
  83855. * 0b11..Response length 48, check busy after response
  83856. */
  83857. #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK)
  83858. #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U)
  83859. #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U)
  83860. /*! CCCEN - Command CRC check enable
  83861. * 0b1..Enables command CRC check
  83862. * 0b0..Disables command CRC check
  83863. */
  83864. #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK)
  83865. #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U)
  83866. #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U)
  83867. /*! CICEN - Command index check enable
  83868. * 0b1..Enables command index check
  83869. * 0b0..Disable command index check
  83870. */
  83871. #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK)
  83872. #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U)
  83873. #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U)
  83874. /*! DPSEL - Data present select
  83875. * 0b1..Data present
  83876. * 0b0..No data present
  83877. */
  83878. #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK)
  83879. #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U)
  83880. #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U)
  83881. /*! CMDTYP - Command type
  83882. * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR
  83883. * 0b10..Resume CMD52 for writing function select in CCCR
  83884. * 0b01..Suspend CMD52 for writing bus suspend in CCCR
  83885. * 0b00..Normal other commands
  83886. */
  83887. #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK)
  83888. #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U)
  83889. #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U)
  83890. /*! CMDINX - Command index
  83891. */
  83892. #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK)
  83893. /*! @} */
  83894. /*! @name CMD_RSP0 - Command Response0 */
  83895. /*! @{ */
  83896. #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU)
  83897. #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U)
  83898. /*! CMDRSP0 - Command response 0
  83899. */
  83900. #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK)
  83901. /*! @} */
  83902. /*! @name CMD_RSP1 - Command Response1 */
  83903. /*! @{ */
  83904. #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU)
  83905. #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U)
  83906. /*! CMDRSP1 - Command response 1
  83907. */
  83908. #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK)
  83909. /*! @} */
  83910. /*! @name CMD_RSP2 - Command Response2 */
  83911. /*! @{ */
  83912. #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU)
  83913. #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U)
  83914. /*! CMDRSP2 - Command response 2
  83915. */
  83916. #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK)
  83917. /*! @} */
  83918. /*! @name CMD_RSP3 - Command Response3 */
  83919. /*! @{ */
  83920. #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU)
  83921. #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U)
  83922. /*! CMDRSP3 - Command response 3
  83923. */
  83924. #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK)
  83925. /*! @} */
  83926. /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */
  83927. /*! @{ */
  83928. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU)
  83929. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U)
  83930. /*! DATCONT - Data content
  83931. */
  83932. #define USDHC_DATA_BUFF_ACC_PORT_DATCONT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT)) & USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK)
  83933. /*! @} */
  83934. /*! @name PRES_STATE - Present State */
  83935. /*! @{ */
  83936. #define USDHC_PRES_STATE_CIHB_MASK (0x1U)
  83937. #define USDHC_PRES_STATE_CIHB_SHIFT (0U)
  83938. /*! CIHB - Command inhibit (CMD)
  83939. * 0b1..Cannot issue command
  83940. * 0b0..Can issue command using only CMD line
  83941. */
  83942. #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK)
  83943. #define USDHC_PRES_STATE_CDIHB_MASK (0x2U)
  83944. #define USDHC_PRES_STATE_CDIHB_SHIFT (1U)
  83945. /*! CDIHB - Command Inhibit Data (DATA)
  83946. * 0b1..Cannot issue command that uses the DATA line
  83947. * 0b0..Can issue command that uses the DATA line
  83948. */
  83949. #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK)
  83950. #define USDHC_PRES_STATE_DLA_MASK (0x4U)
  83951. #define USDHC_PRES_STATE_DLA_SHIFT (2U)
  83952. /*! DLA - Data line active
  83953. * 0b1..DATA line active
  83954. * 0b0..DATA line inactive
  83955. */
  83956. #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK)
  83957. #define USDHC_PRES_STATE_SDSTB_MASK (0x8U)
  83958. #define USDHC_PRES_STATE_SDSTB_SHIFT (3U)
  83959. /*! SDSTB - SD clock stable
  83960. * 0b1..Clock is stable.
  83961. * 0b0..Clock is changing frequency and not stable.
  83962. */
  83963. #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK)
  83964. #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U)
  83965. #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U)
  83966. /*! IPGOFF - Peripheral clock gated off internally
  83967. * 0b1..Peripheral clock is gated off.
  83968. * 0b0..Peripheral clock is active.
  83969. */
  83970. #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK)
  83971. #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U)
  83972. #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U)
  83973. /*! HCKOFF - HCLK gated off internally
  83974. * 0b1..HCLK is gated off.
  83975. * 0b0..HCLK is active.
  83976. */
  83977. #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK)
  83978. #define USDHC_PRES_STATE_PEROFF_MASK (0x40U)
  83979. #define USDHC_PRES_STATE_PEROFF_SHIFT (6U)
  83980. /*! PEROFF - IPG_PERCLK gated off internally
  83981. * 0b1..IPG_PERCLK is gated off.
  83982. * 0b0..IPG_PERCLK is active.
  83983. */
  83984. #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK)
  83985. #define USDHC_PRES_STATE_SDOFF_MASK (0x80U)
  83986. #define USDHC_PRES_STATE_SDOFF_SHIFT (7U)
  83987. /*! SDOFF - SD clock gated off internally
  83988. * 0b1..SD clock is gated off.
  83989. * 0b0..SD clock is active.
  83990. */
  83991. #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK)
  83992. #define USDHC_PRES_STATE_WTA_MASK (0x100U)
  83993. #define USDHC_PRES_STATE_WTA_SHIFT (8U)
  83994. /*! WTA - Write transfer active
  83995. * 0b1..Transferring data
  83996. * 0b0..No valid data
  83997. */
  83998. #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK)
  83999. #define USDHC_PRES_STATE_RTA_MASK (0x200U)
  84000. #define USDHC_PRES_STATE_RTA_SHIFT (9U)
  84001. /*! RTA - Read transfer active
  84002. * 0b1..Transferring data
  84003. * 0b0..No valid data
  84004. */
  84005. #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK)
  84006. #define USDHC_PRES_STATE_BWEN_MASK (0x400U)
  84007. #define USDHC_PRES_STATE_BWEN_SHIFT (10U)
  84008. /*! BWEN - Buffer write enable
  84009. * 0b1..Write enable
  84010. * 0b0..Write disable
  84011. */
  84012. #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK)
  84013. #define USDHC_PRES_STATE_BREN_MASK (0x800U)
  84014. #define USDHC_PRES_STATE_BREN_SHIFT (11U)
  84015. /*! BREN - Buffer read enable
  84016. * 0b1..Read enable
  84017. * 0b0..Read disable
  84018. */
  84019. #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK)
  84020. #define USDHC_PRES_STATE_RTR_MASK (0x1000U)
  84021. #define USDHC_PRES_STATE_RTR_SHIFT (12U)
  84022. /*! RTR - Re-Tuning Request (only for SD3.0 SDR104 mode,and EMMC HS200 mode)
  84023. * 0b1..Sampling clock needs re-tuning
  84024. * 0b0..Fixed or well tuned sampling clock
  84025. */
  84026. #define USDHC_PRES_STATE_RTR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTR_SHIFT)) & USDHC_PRES_STATE_RTR_MASK)
  84027. #define USDHC_PRES_STATE_TSCD_MASK (0x8000U)
  84028. #define USDHC_PRES_STATE_TSCD_SHIFT (15U)
  84029. /*! TSCD - Tap select change done
  84030. * 0b1..Delay cell select change is finished.
  84031. * 0b0..Delay cell select change is not finished.
  84032. */
  84033. #define USDHC_PRES_STATE_TSCD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_TSCD_SHIFT)) & USDHC_PRES_STATE_TSCD_MASK)
  84034. #define USDHC_PRES_STATE_CINST_MASK (0x10000U)
  84035. #define USDHC_PRES_STATE_CINST_SHIFT (16U)
  84036. /*! CINST - Card inserted
  84037. * 0b1..Card inserted
  84038. * 0b0..Power on reset or no card
  84039. */
  84040. #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK)
  84041. #define USDHC_PRES_STATE_CDPL_MASK (0x40000U)
  84042. #define USDHC_PRES_STATE_CDPL_SHIFT (18U)
  84043. /*! CDPL - Card detect pin level
  84044. * 0b1..Card present (CD_B = 0)
  84045. * 0b0..No card present (CD_B = 1)
  84046. */
  84047. #define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK)
  84048. #define USDHC_PRES_STATE_WPSPL_MASK (0x80000U)
  84049. #define USDHC_PRES_STATE_WPSPL_SHIFT (19U)
  84050. /*! WPSPL - Write protect switch pin level
  84051. * 0b1..Write enabled (WP = 0)
  84052. * 0b0..Write protected (WP = 1)
  84053. */
  84054. #define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK)
  84055. #define USDHC_PRES_STATE_CLSL_MASK (0x800000U)
  84056. #define USDHC_PRES_STATE_CLSL_SHIFT (23U)
  84057. /*! CLSL - CMD line signal level
  84058. */
  84059. #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK)
  84060. #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U)
  84061. #define USDHC_PRES_STATE_DLSL_SHIFT (24U)
  84062. /*! DLSL - DATA[7:0] line signal level
  84063. * 0b00000111..Data 7 line signal level
  84064. * 0b00000110..Data 6 line signal level
  84065. * 0b00000101..Data 5 line signal level
  84066. * 0b00000100..Data 4 line signal level
  84067. * 0b00000011..Data 3 line signal level
  84068. * 0b00000010..Data 2 line signal level
  84069. * 0b00000001..Data 1 line signal level
  84070. * 0b00000000..Data 0 line signal level
  84071. */
  84072. #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK)
  84073. /*! @} */
  84074. /*! @name PROT_CTRL - Protocol Control */
  84075. /*! @{ */
  84076. #define USDHC_PROT_CTRL_DTW_MASK (0x6U)
  84077. #define USDHC_PROT_CTRL_DTW_SHIFT (1U)
  84078. /*! DTW - Data transfer width
  84079. * 0b10..8-bit mode
  84080. * 0b01..4-bit mode
  84081. * 0b00..1-bit mode
  84082. * 0b11..Reserved
  84083. */
  84084. #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK)
  84085. #define USDHC_PROT_CTRL_D3CD_MASK (0x8U)
  84086. #define USDHC_PROT_CTRL_D3CD_SHIFT (3U)
  84087. /*! D3CD - DATA3 as card detection pin
  84088. * 0b1..DATA3 as card detection pin
  84089. * 0b0..DATA3 does not monitor card insertion
  84090. */
  84091. #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK)
  84092. #define USDHC_PROT_CTRL_EMODE_MASK (0x30U)
  84093. #define USDHC_PROT_CTRL_EMODE_SHIFT (4U)
  84094. /*! EMODE - Endian mode
  84095. * 0b00..Big endian mode
  84096. * 0b01..Half word big endian mode
  84097. * 0b10..Little endian mode
  84098. * 0b11..Reserved
  84099. */
  84100. #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK)
  84101. #define USDHC_PROT_CTRL_CDTL_MASK (0x40U)
  84102. #define USDHC_PROT_CTRL_CDTL_SHIFT (6U)
  84103. /*! CDTL - Card detect test level
  84104. * 0b1..Card detect test level is 1, card inserted
  84105. * 0b0..Card detect test level is 0, no card inserted
  84106. */
  84107. #define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK)
  84108. #define USDHC_PROT_CTRL_CDSS_MASK (0x80U)
  84109. #define USDHC_PROT_CTRL_CDSS_SHIFT (7U)
  84110. /*! CDSS - Card detect signal selection
  84111. * 0b1..Card detection test level is selected (for test purpose).
  84112. * 0b0..Card detection level is selected (for normal purpose).
  84113. */
  84114. #define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK)
  84115. #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U)
  84116. #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U)
  84117. /*! DMASEL - DMA select
  84118. * 0b00..No DMA or simple DMA is selected.
  84119. * 0b01..ADMA1 is selected.
  84120. * 0b10..ADMA2 is selected.
  84121. * 0b11..Reserved
  84122. */
  84123. #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK)
  84124. #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U)
  84125. #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U)
  84126. /*! SABGREQ - Stop at block gap request
  84127. * 0b1..Stop
  84128. * 0b0..Transfer
  84129. */
  84130. #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK)
  84131. #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U)
  84132. #define USDHC_PROT_CTRL_CREQ_SHIFT (17U)
  84133. /*! CREQ - Continue request
  84134. * 0b1..Restart
  84135. * 0b0..No effect
  84136. */
  84137. #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK)
  84138. #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U)
  84139. #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U)
  84140. /*! RWCTL - Read wait control
  84141. * 0b1..Enables read wait control and assert read wait without stopping SD clock at block gap when SABGREQ field is set
  84142. * 0b0..Disables read wait control and stop SD clock at block gap when SABGREQ field is set
  84143. */
  84144. #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK)
  84145. #define USDHC_PROT_CTRL_IABG_MASK (0x80000U)
  84146. #define USDHC_PROT_CTRL_IABG_SHIFT (19U)
  84147. /*! IABG - Interrupt at block gap
  84148. * 0b1..Enables interrupt at block gap
  84149. * 0b0..Disables interrupt at block gap
  84150. */
  84151. #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK)
  84152. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U)
  84153. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U)
  84154. /*! RD_DONE_NO_8CLK - Read performed number 8 clock
  84155. */
  84156. #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT)) & USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK)
  84157. #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U)
  84158. #define USDHC_PROT_CTRL_WECINT_SHIFT (24U)
  84159. /*! WECINT - Wakeup event enable on card interrupt
  84160. * 0b1..Enables wakeup event enable on card interrupt
  84161. * 0b0..Disables wakeup event enable on card interrupt
  84162. */
  84163. #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK)
  84164. #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U)
  84165. #define USDHC_PROT_CTRL_WECINS_SHIFT (25U)
  84166. /*! WECINS - Wakeup event enable on SD card insertion
  84167. * 0b1..Enable wakeup event enable on SD card insertion
  84168. * 0b0..Disable wakeup event enable on SD card insertion
  84169. */
  84170. #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK)
  84171. #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U)
  84172. #define USDHC_PROT_CTRL_WECRM_SHIFT (26U)
  84173. /*! WECRM - Wakeup event enable on SD card removal
  84174. * 0b1..Enables wakeup event enable on SD card removal
  84175. * 0b0..Disables wakeup event enable on SD card removal
  84176. */
  84177. #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK)
  84178. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U)
  84179. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U)
  84180. /*! NON_EXACT_BLK_RD - Non-exact block read
  84181. * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read.
  84182. * 0b0..The block read is exact block read. Host driver does not need to issue abort command to terminate this multi-block read.
  84183. */
  84184. #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT)) & USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK)
  84185. /*! @} */
  84186. /*! @name SYS_CTRL - System Control */
  84187. /*! @{ */
  84188. #define USDHC_SYS_CTRL_DVS_MASK (0xF0U)
  84189. #define USDHC_SYS_CTRL_DVS_SHIFT (4U)
  84190. /*! DVS - Divisor
  84191. * 0b0000..Divide-by-1
  84192. * 0b0001..Divide-by-2
  84193. * 0b1110..Divide-by-15
  84194. * 0b1111..Divide-by-16
  84195. */
  84196. #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK)
  84197. #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U)
  84198. #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U)
  84199. /*! SDCLKFS - SDCLK frequency select
  84200. */
  84201. #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK)
  84202. #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U)
  84203. #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U)
  84204. /*! DTOCV - Data timeout counter value
  84205. * 0b1111..SDCLK x 2 29
  84206. * 0b1110..SDCLK x 2 28
  84207. * 0b1101..SDCLK x 2 27
  84208. * 0b1100..SDCLK x 2 26
  84209. * 0b1011..SDCLK x 2 25
  84210. * 0b1010..SDCLK x 2 24
  84211. * 0b1001..SDCLK x 2 23
  84212. * 0b1000..SDCLK x 2 22
  84213. * 0b0111..SDCLK x 2 21
  84214. * 0b0110..SDCLK x 2 20
  84215. * 0b0101..SDCLK x 2 19
  84216. * 0b0100..SDCLK x 2 18
  84217. * 0b0011..SDCLK x 2 17
  84218. * 0b0010..SDCLK x 2 16
  84219. * 0b0001..SDCLK x 2 15
  84220. * 0b0000..SDCLK x 2 14
  84221. */
  84222. #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK)
  84223. #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U)
  84224. #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U)
  84225. /*! IPP_RST_N - Hardware reset
  84226. */
  84227. #define USDHC_SYS_CTRL_IPP_RST_N(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_IPP_RST_N_SHIFT)) & USDHC_SYS_CTRL_IPP_RST_N_MASK)
  84228. #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U)
  84229. #define USDHC_SYS_CTRL_RSTA_SHIFT (24U)
  84230. /*! RSTA - Software reset for all
  84231. * 0b1..Reset
  84232. * 0b0..No reset
  84233. */
  84234. #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK)
  84235. #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U)
  84236. #define USDHC_SYS_CTRL_RSTC_SHIFT (25U)
  84237. /*! RSTC - Software reset for CMD line
  84238. * 0b1..Reset
  84239. * 0b0..No reset
  84240. */
  84241. #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK)
  84242. #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U)
  84243. #define USDHC_SYS_CTRL_RSTD_SHIFT (26U)
  84244. /*! RSTD - Software reset for data line
  84245. * 0b1..Reset
  84246. * 0b0..No reset
  84247. */
  84248. #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK)
  84249. #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U)
  84250. #define USDHC_SYS_CTRL_INITA_SHIFT (27U)
  84251. /*! INITA - Initialization active
  84252. */
  84253. #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK)
  84254. #define USDHC_SYS_CTRL_RSTT_MASK (0x10000000U)
  84255. #define USDHC_SYS_CTRL_RSTT_SHIFT (28U)
  84256. /*! RSTT - Reset tuning
  84257. */
  84258. #define USDHC_SYS_CTRL_RSTT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTT_SHIFT)) & USDHC_SYS_CTRL_RSTT_MASK)
  84259. /*! @} */
  84260. /*! @name INT_STATUS - Interrupt Status */
  84261. /*! @{ */
  84262. #define USDHC_INT_STATUS_CC_MASK (0x1U)
  84263. #define USDHC_INT_STATUS_CC_SHIFT (0U)
  84264. /*! CC - Command complete
  84265. * 0b1..Command complete
  84266. * 0b0..Command not complete
  84267. */
  84268. #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK)
  84269. #define USDHC_INT_STATUS_TC_MASK (0x2U)
  84270. #define USDHC_INT_STATUS_TC_SHIFT (1U)
  84271. /*! TC - Transfer complete
  84272. * 0b1..Transfer complete
  84273. * 0b0..Transfer does not complete
  84274. */
  84275. #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK)
  84276. #define USDHC_INT_STATUS_BGE_MASK (0x4U)
  84277. #define USDHC_INT_STATUS_BGE_SHIFT (2U)
  84278. /*! BGE - Block gap event
  84279. * 0b1..Transaction stopped at block gap
  84280. * 0b0..No block gap event
  84281. */
  84282. #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK)
  84283. #define USDHC_INT_STATUS_DINT_MASK (0x8U)
  84284. #define USDHC_INT_STATUS_DINT_SHIFT (3U)
  84285. /*! DINT - DMA interrupt
  84286. * 0b1..DMA interrupt is generated.
  84287. * 0b0..No DMA interrupt
  84288. */
  84289. #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK)
  84290. #define USDHC_INT_STATUS_BWR_MASK (0x10U)
  84291. #define USDHC_INT_STATUS_BWR_SHIFT (4U)
  84292. /*! BWR - Buffer write ready
  84293. * 0b1..Ready to write buffer
  84294. * 0b0..Not ready to write buffer
  84295. */
  84296. #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK)
  84297. #define USDHC_INT_STATUS_BRR_MASK (0x20U)
  84298. #define USDHC_INT_STATUS_BRR_SHIFT (5U)
  84299. /*! BRR - Buffer read ready
  84300. * 0b1..Ready to read buffer
  84301. * 0b0..Not ready to read buffer
  84302. */
  84303. #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK)
  84304. #define USDHC_INT_STATUS_CINS_MASK (0x40U)
  84305. #define USDHC_INT_STATUS_CINS_SHIFT (6U)
  84306. /*! CINS - Card insertion
  84307. * 0b1..Card inserted
  84308. * 0b0..Card state unstable or removed
  84309. */
  84310. #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK)
  84311. #define USDHC_INT_STATUS_CRM_MASK (0x80U)
  84312. #define USDHC_INT_STATUS_CRM_SHIFT (7U)
  84313. /*! CRM - Card removal
  84314. * 0b1..Card removed
  84315. * 0b0..Card state unstable or inserted
  84316. */
  84317. #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK)
  84318. #define USDHC_INT_STATUS_CINT_MASK (0x100U)
  84319. #define USDHC_INT_STATUS_CINT_SHIFT (8U)
  84320. /*! CINT - Card interrupt
  84321. * 0b1..Generate card interrupt
  84322. * 0b0..No card interrupt
  84323. */
  84324. #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK)
  84325. #define USDHC_INT_STATUS_RTE_MASK (0x1000U)
  84326. #define USDHC_INT_STATUS_RTE_SHIFT (12U)
  84327. /*! RTE - Re-tuning event: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  84328. * 0b1..Re-tuning should be performed.
  84329. * 0b0..Re-tuning is not required.
  84330. */
  84331. #define USDHC_INT_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_RTE_SHIFT)) & USDHC_INT_STATUS_RTE_MASK)
  84332. #define USDHC_INT_STATUS_TP_MASK (0x4000U)
  84333. #define USDHC_INT_STATUS_TP_SHIFT (14U)
  84334. /*! TP - Tuning pass:(only for SD3.0 SDR104 mode and EMMC HS200 mode)
  84335. */
  84336. #define USDHC_INT_STATUS_TP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TP_SHIFT)) & USDHC_INT_STATUS_TP_MASK)
  84337. #define USDHC_INT_STATUS_CTOE_MASK (0x10000U)
  84338. #define USDHC_INT_STATUS_CTOE_SHIFT (16U)
  84339. /*! CTOE - Command timeout error
  84340. * 0b1..Time out
  84341. * 0b0..No error
  84342. */
  84343. #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK)
  84344. #define USDHC_INT_STATUS_CCE_MASK (0x20000U)
  84345. #define USDHC_INT_STATUS_CCE_SHIFT (17U)
  84346. /*! CCE - Command CRC error
  84347. * 0b1..CRC error generated
  84348. * 0b0..No error
  84349. */
  84350. #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK)
  84351. #define USDHC_INT_STATUS_CEBE_MASK (0x40000U)
  84352. #define USDHC_INT_STATUS_CEBE_SHIFT (18U)
  84353. /*! CEBE - Command end bit error
  84354. * 0b1..End bit error generated
  84355. * 0b0..No error
  84356. */
  84357. #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK)
  84358. #define USDHC_INT_STATUS_CIE_MASK (0x80000U)
  84359. #define USDHC_INT_STATUS_CIE_SHIFT (19U)
  84360. /*! CIE - Command index error
  84361. * 0b1..Error
  84362. * 0b0..No error
  84363. */
  84364. #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK)
  84365. #define USDHC_INT_STATUS_DTOE_MASK (0x100000U)
  84366. #define USDHC_INT_STATUS_DTOE_SHIFT (20U)
  84367. /*! DTOE - Data timeout error
  84368. * 0b1..Time out
  84369. * 0b0..No error
  84370. */
  84371. #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK)
  84372. #define USDHC_INT_STATUS_DCE_MASK (0x200000U)
  84373. #define USDHC_INT_STATUS_DCE_SHIFT (21U)
  84374. /*! DCE - Data CRC error
  84375. * 0b1..Error
  84376. * 0b0..No error
  84377. */
  84378. #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK)
  84379. #define USDHC_INT_STATUS_DEBE_MASK (0x400000U)
  84380. #define USDHC_INT_STATUS_DEBE_SHIFT (22U)
  84381. /*! DEBE - Data end bit error
  84382. * 0b1..Error
  84383. * 0b0..No error
  84384. */
  84385. #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK)
  84386. #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U)
  84387. #define USDHC_INT_STATUS_AC12E_SHIFT (24U)
  84388. /*! AC12E - Auto CMD12 error
  84389. * 0b1..Error
  84390. * 0b0..No error
  84391. */
  84392. #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK)
  84393. #define USDHC_INT_STATUS_TNE_MASK (0x4000000U)
  84394. #define USDHC_INT_STATUS_TNE_SHIFT (26U)
  84395. /*! TNE - Tuning error: (only for SD3.0 SDR104 mode and EMMC HS200 mode)
  84396. */
  84397. #define USDHC_INT_STATUS_TNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TNE_SHIFT)) & USDHC_INT_STATUS_TNE_MASK)
  84398. #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U)
  84399. #define USDHC_INT_STATUS_DMAE_SHIFT (28U)
  84400. /*! DMAE - DMA error
  84401. * 0b1..Error
  84402. * 0b0..No error
  84403. */
  84404. #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK)
  84405. /*! @} */
  84406. /*! @name INT_STATUS_EN - Interrupt Status Enable */
  84407. /*! @{ */
  84408. #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U)
  84409. #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U)
  84410. /*! CCSEN - Command complete status enable
  84411. * 0b1..Enabled
  84412. * 0b0..Masked
  84413. */
  84414. #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK)
  84415. #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U)
  84416. #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U)
  84417. /*! TCSEN - Transfer complete status enable
  84418. * 0b1..Enabled
  84419. * 0b0..Masked
  84420. */
  84421. #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK)
  84422. #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U)
  84423. #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U)
  84424. /*! BGESEN - Block gap event status enable
  84425. * 0b1..Enabled
  84426. * 0b0..Masked
  84427. */
  84428. #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK)
  84429. #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U)
  84430. #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U)
  84431. /*! DINTSEN - DMA interrupt status enable
  84432. * 0b1..Enabled
  84433. * 0b0..Masked
  84434. */
  84435. #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK)
  84436. #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U)
  84437. #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U)
  84438. /*! BWRSEN - Buffer write ready status enable
  84439. * 0b1..Enabled
  84440. * 0b0..Masked
  84441. */
  84442. #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK)
  84443. #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U)
  84444. #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U)
  84445. /*! BRRSEN - Buffer read ready status enable
  84446. * 0b1..Enabled
  84447. * 0b0..Masked
  84448. */
  84449. #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK)
  84450. #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U)
  84451. #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U)
  84452. /*! CINSSEN - Card insertion status enable
  84453. * 0b1..Enabled
  84454. * 0b0..Masked
  84455. */
  84456. #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK)
  84457. #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U)
  84458. #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U)
  84459. /*! CRMSEN - Card removal status enable
  84460. * 0b1..Enabled
  84461. * 0b0..Masked
  84462. */
  84463. #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK)
  84464. #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U)
  84465. #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U)
  84466. /*! CINTSEN - Card interrupt status enable
  84467. * 0b1..Enabled
  84468. * 0b0..Masked
  84469. */
  84470. #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK)
  84471. #define USDHC_INT_STATUS_EN_RTESEN_MASK (0x1000U)
  84472. #define USDHC_INT_STATUS_EN_RTESEN_SHIFT (12U)
  84473. /*! RTESEN - Re-tuning event status enable
  84474. * 0b1..Enabled
  84475. * 0b0..Masked
  84476. */
  84477. #define USDHC_INT_STATUS_EN_RTESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_RTESEN_SHIFT)) & USDHC_INT_STATUS_EN_RTESEN_MASK)
  84478. #define USDHC_INT_STATUS_EN_TPSEN_MASK (0x4000U)
  84479. #define USDHC_INT_STATUS_EN_TPSEN_SHIFT (14U)
  84480. /*! TPSEN - Tuning pass status enable
  84481. * 0b1..Enabled
  84482. * 0b0..Masked
  84483. */
  84484. #define USDHC_INT_STATUS_EN_TPSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TPSEN_SHIFT)) & USDHC_INT_STATUS_EN_TPSEN_MASK)
  84485. #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U)
  84486. #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U)
  84487. /*! CTOESEN - Command timeout error status enable
  84488. * 0b1..Enabled
  84489. * 0b0..Masked
  84490. */
  84491. #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK)
  84492. #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U)
  84493. #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U)
  84494. /*! CCESEN - Command CRC error status enable
  84495. * 0b1..Enabled
  84496. * 0b0..Masked
  84497. */
  84498. #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK)
  84499. #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U)
  84500. #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U)
  84501. /*! CEBESEN - Command end bit error status enable
  84502. * 0b1..Enabled
  84503. * 0b0..Masked
  84504. */
  84505. #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK)
  84506. #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U)
  84507. #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U)
  84508. /*! CIESEN - Command index error status enable
  84509. * 0b1..Enabled
  84510. * 0b0..Masked
  84511. */
  84512. #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK)
  84513. #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U)
  84514. #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U)
  84515. /*! DTOESEN - Data timeout error status enable
  84516. * 0b1..Enabled
  84517. * 0b0..Masked
  84518. */
  84519. #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK)
  84520. #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U)
  84521. #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U)
  84522. /*! DCESEN - Data CRC error status enable
  84523. * 0b1..Enabled
  84524. * 0b0..Masked
  84525. */
  84526. #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK)
  84527. #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U)
  84528. #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U)
  84529. /*! DEBESEN - Data end bit error status enable
  84530. * 0b1..Enabled
  84531. * 0b0..Masked
  84532. */
  84533. #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK)
  84534. #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U)
  84535. #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U)
  84536. /*! AC12ESEN - Auto CMD12 error status enable
  84537. * 0b1..Enabled
  84538. * 0b0..Masked
  84539. */
  84540. #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK)
  84541. #define USDHC_INT_STATUS_EN_TNESEN_MASK (0x4000000U)
  84542. #define USDHC_INT_STATUS_EN_TNESEN_SHIFT (26U)
  84543. /*! TNESEN - Tuning error status enable
  84544. * 0b1..Enabled
  84545. * 0b0..Masked
  84546. */
  84547. #define USDHC_INT_STATUS_EN_TNESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TNESEN_SHIFT)) & USDHC_INT_STATUS_EN_TNESEN_MASK)
  84548. #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U)
  84549. #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U)
  84550. /*! DMAESEN - DMA error status enable
  84551. * 0b1..Enabled
  84552. * 0b0..Masked
  84553. */
  84554. #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK)
  84555. /*! @} */
  84556. /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */
  84557. /*! @{ */
  84558. #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U)
  84559. #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U)
  84560. /*! CCIEN - Command complete interrupt enable
  84561. * 0b1..Enabled
  84562. * 0b0..Masked
  84563. */
  84564. #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK)
  84565. #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U)
  84566. #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U)
  84567. /*! TCIEN - Transfer complete interrupt enable
  84568. * 0b1..Enabled
  84569. * 0b0..Masked
  84570. */
  84571. #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK)
  84572. #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U)
  84573. #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U)
  84574. /*! BGEIEN - Block gap event interrupt enable
  84575. * 0b1..Enabled
  84576. * 0b0..Masked
  84577. */
  84578. #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK)
  84579. #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U)
  84580. #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U)
  84581. /*! DINTIEN - DMA interrupt enable
  84582. * 0b1..Enabled
  84583. * 0b0..Masked
  84584. */
  84585. #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK)
  84586. #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U)
  84587. #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U)
  84588. /*! BWRIEN - Buffer write ready interrupt enable
  84589. * 0b1..Enabled
  84590. * 0b0..Masked
  84591. */
  84592. #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK)
  84593. #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U)
  84594. #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U)
  84595. /*! BRRIEN - Buffer read ready interrupt enable
  84596. * 0b1..Enabled
  84597. * 0b0..Masked
  84598. */
  84599. #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK)
  84600. #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U)
  84601. #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U)
  84602. /*! CINSIEN - Card insertion interrupt enable
  84603. * 0b1..Enabled
  84604. * 0b0..Masked
  84605. */
  84606. #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK)
  84607. #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U)
  84608. #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U)
  84609. /*! CRMIEN - Card removal interrupt enable
  84610. * 0b1..Enabled
  84611. * 0b0..Masked
  84612. */
  84613. #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK)
  84614. #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U)
  84615. #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U)
  84616. /*! CINTIEN - Card interrupt enable
  84617. * 0b1..Enabled
  84618. * 0b0..Masked
  84619. */
  84620. #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK)
  84621. #define USDHC_INT_SIGNAL_EN_RTEIEN_MASK (0x1000U)
  84622. #define USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT (12U)
  84623. /*! RTEIEN - Re-tuning event interrupt enable
  84624. * 0b1..Enabled
  84625. * 0b0..Masked
  84626. */
  84627. #define USDHC_INT_SIGNAL_EN_RTEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_RTEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_RTEIEN_MASK)
  84628. #define USDHC_INT_SIGNAL_EN_TPIEN_MASK (0x4000U)
  84629. #define USDHC_INT_SIGNAL_EN_TPIEN_SHIFT (14U)
  84630. /*! TPIEN - Tuning Pass interrupt enable
  84631. * 0b1..Enabled
  84632. * 0b0..Masked
  84633. */
  84634. #define USDHC_INT_SIGNAL_EN_TPIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TPIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TPIEN_MASK)
  84635. #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U)
  84636. #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U)
  84637. /*! CTOEIEN - Command timeout error interrupt enable
  84638. * 0b1..Enabled
  84639. * 0b0..Masked
  84640. */
  84641. #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK)
  84642. #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U)
  84643. #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U)
  84644. /*! CCEIEN - Command CRC error interrupt enable
  84645. * 0b1..Enabled
  84646. * 0b0..Masked
  84647. */
  84648. #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK)
  84649. #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U)
  84650. #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U)
  84651. /*! CEBEIEN - Command end bit error interrupt enable
  84652. * 0b1..Enabled
  84653. * 0b0..Masked
  84654. */
  84655. #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK)
  84656. #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U)
  84657. #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U)
  84658. /*! CIEIEN - Command index error interrupt enable
  84659. * 0b1..Enabled
  84660. * 0b0..Masked
  84661. */
  84662. #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK)
  84663. #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U)
  84664. #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U)
  84665. /*! DTOEIEN - Data timeout error interrupt enable
  84666. * 0b1..Enabled
  84667. * 0b0..Masked
  84668. */
  84669. #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK)
  84670. #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U)
  84671. #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U)
  84672. /*! DCEIEN - Data CRC error interrupt enable
  84673. * 0b1..Enabled
  84674. * 0b0..Masked
  84675. */
  84676. #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK)
  84677. #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U)
  84678. #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U)
  84679. /*! DEBEIEN - Data end bit error interrupt enable
  84680. * 0b1..Enabled
  84681. * 0b0..Masked
  84682. */
  84683. #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK)
  84684. #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U)
  84685. #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U)
  84686. /*! AC12EIEN - Auto CMD12 error interrupt enable
  84687. * 0b1..Enabled
  84688. * 0b0..Masked
  84689. */
  84690. #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK)
  84691. #define USDHC_INT_SIGNAL_EN_TNEIEN_MASK (0x4000000U)
  84692. #define USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT (26U)
  84693. /*! TNEIEN - Tuning error interrupt enable
  84694. * 0b1..Enabled
  84695. * 0b0..Masked
  84696. */
  84697. #define USDHC_INT_SIGNAL_EN_TNEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TNEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TNEIEN_MASK)
  84698. #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U)
  84699. #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U)
  84700. /*! DMAEIEN - DMA error interrupt enable
  84701. * 0b1..Enable
  84702. * 0b0..Masked
  84703. */
  84704. #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK)
  84705. /*! @} */
  84706. /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */
  84707. /*! @{ */
  84708. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U)
  84709. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U)
  84710. /*! AC12NE - Auto CMD12 not executed
  84711. * 0b1..Not executed
  84712. * 0b0..Executed
  84713. */
  84714. #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK)
  84715. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U)
  84716. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U)
  84717. /*! AC12TOE - Auto CMD12 / 23 timeout error
  84718. * 0b1..Time out
  84719. * 0b0..No error
  84720. */
  84721. #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK)
  84722. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U)
  84723. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U)
  84724. /*! AC12EBE - Auto CMD12 / 23 end bit error
  84725. * 0b1..End bit error generated
  84726. * 0b0..No error
  84727. */
  84728. #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK)
  84729. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U)
  84730. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U)
  84731. /*! AC12CE - Auto CMD12 / 23 CRC error
  84732. * 0b1..CRC error met in Auto CMD12/23 response
  84733. * 0b0..No CRC error
  84734. */
  84735. #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK)
  84736. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U)
  84737. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U)
  84738. /*! AC12IE - Auto CMD12 / 23 index error
  84739. * 0b1..Error, the CMD index in response is not CMD12/23
  84740. * 0b0..No error
  84741. */
  84742. #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK)
  84743. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U)
  84744. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U)
  84745. /*! CNIBAC12E - Command not issued by Auto CMD12 error
  84746. * 0b1..Not issued
  84747. * 0b0..No error
  84748. */
  84749. #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK)
  84750. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK (0x400000U)
  84751. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT (22U)
  84752. /*! EXECUTE_TUNING - Execute tuning
  84753. * 0b1..Start tuning procedure
  84754. * 0b0..Tuning procedure is aborted
  84755. */
  84756. #define USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_EXECUTE_TUNING_MASK)
  84757. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK (0x800000U)
  84758. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT (23U)
  84759. /*! SMP_CLK_SEL - Sample clock select
  84760. * 0b1..Tuned clock is used to sample data
  84761. * 0b0..Fixed clock is used to sample data
  84762. */
  84763. #define USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_SMP_CLK_SEL_MASK)
  84764. /*! @} */
  84765. /*! @name HOST_CTRL_CAP - Host Controller Capabilities */
  84766. /*! @{ */
  84767. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK (0x1U)
  84768. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT (0U)
  84769. /*! SDR50_SUPPORT - SDR50 support
  84770. */
  84771. #define USDHC_HOST_CTRL_CAP_SDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR50_SUPPORT_MASK)
  84772. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK (0x2U)
  84773. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT (1U)
  84774. /*! SDR104_SUPPORT - SDR104 support
  84775. */
  84776. #define USDHC_HOST_CTRL_CAP_SDR104_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_SDR104_SUPPORT_MASK)
  84777. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U)
  84778. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U)
  84779. /*! DDR50_SUPPORT - DDR50 support
  84780. */
  84781. #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT)) & USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK)
  84782. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK (0x2000U)
  84783. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT (13U)
  84784. /*! USE_TUNING_SDR50 - Use Tuning for SDR50
  84785. * 0b1..SDR50 supports tuning
  84786. * 0b0..SDR50 does not support tuning
  84787. */
  84788. #define USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_SHIFT)) & USDHC_HOST_CTRL_CAP_USE_TUNING_SDR50_MASK)
  84789. #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U)
  84790. #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U)
  84791. /*! MBL - Max block length
  84792. * 0b000..512 bytes
  84793. * 0b001..1024 bytes
  84794. * 0b010..2048 bytes
  84795. * 0b011..4096 bytes
  84796. */
  84797. #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK)
  84798. #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U)
  84799. #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U)
  84800. /*! ADMAS - ADMA support
  84801. * 0b1..Advanced DMA supported
  84802. * 0b0..Advanced DMA not supported
  84803. */
  84804. #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK)
  84805. #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U)
  84806. #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U)
  84807. /*! HSS - High speed support
  84808. * 0b1..High speed supported
  84809. * 0b0..High speed not supported
  84810. */
  84811. #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK)
  84812. #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U)
  84813. #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U)
  84814. /*! DMAS - DMA support
  84815. * 0b1..DMA supported
  84816. * 0b0..DMA not supported
  84817. */
  84818. #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK)
  84819. #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U)
  84820. #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U)
  84821. /*! SRS - Suspend / resume support
  84822. * 0b1..Supported
  84823. * 0b0..Not supported
  84824. */
  84825. #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK)
  84826. #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U)
  84827. #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U)
  84828. /*! VS33 - Voltage support 3.3 V
  84829. * 0b1..3.3 V supported
  84830. * 0b0..3.3 V not supported
  84831. */
  84832. #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK)
  84833. #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U)
  84834. #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U)
  84835. /*! VS30 - Voltage support 3.0 V
  84836. * 0b1..3.0 V supported
  84837. * 0b0..3.0 V not supported
  84838. */
  84839. #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK)
  84840. #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U)
  84841. #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U)
  84842. /*! VS18 - Voltage support 1.8 V
  84843. * 0b1..1.8 V supported
  84844. * 0b0..1.8 V not supported
  84845. */
  84846. #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK)
  84847. /*! @} */
  84848. /*! @name WTMK_LVL - Watermark Level */
  84849. /*! @{ */
  84850. #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU)
  84851. #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U)
  84852. /*! RD_WML - Read watermark level
  84853. */
  84854. #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK)
  84855. #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U)
  84856. #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U)
  84857. /*! WR_WML - Write watermark level
  84858. */
  84859. #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK)
  84860. /*! @} */
  84861. /*! @name MIX_CTRL - Mixer Control */
  84862. /*! @{ */
  84863. #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U)
  84864. #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U)
  84865. /*! DMAEN - DMA enable
  84866. * 0b1..Enable
  84867. * 0b0..Disable
  84868. */
  84869. #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK)
  84870. #define USDHC_MIX_CTRL_BCEN_MASK (0x2U)
  84871. #define USDHC_MIX_CTRL_BCEN_SHIFT (1U)
  84872. /*! BCEN - Block count enable
  84873. * 0b1..Enable
  84874. * 0b0..Disable
  84875. */
  84876. #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK)
  84877. #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U)
  84878. #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U)
  84879. /*! AC12EN - Auto CMD12 enable
  84880. * 0b1..Enable
  84881. * 0b0..Disable
  84882. */
  84883. #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK)
  84884. #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U)
  84885. #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U)
  84886. /*! DDR_EN - Dual data rate mode selection
  84887. */
  84888. #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK)
  84889. #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U)
  84890. #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U)
  84891. /*! DTDSEL - Data transfer direction select
  84892. * 0b1..Read (Card to host)
  84893. * 0b0..Write (Host to card)
  84894. */
  84895. #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK)
  84896. #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U)
  84897. #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U)
  84898. /*! MSBSEL - Multi / Single block select
  84899. * 0b1..Multiple blocks
  84900. * 0b0..Single block
  84901. */
  84902. #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK)
  84903. #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U)
  84904. #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U)
  84905. /*! NIBBLE_POS - Nibble position indication
  84906. */
  84907. #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK)
  84908. #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U)
  84909. #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U)
  84910. /*! AC23EN - Auto CMD23 enable
  84911. */
  84912. #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK)
  84913. #define USDHC_MIX_CTRL_EXE_TUNE_MASK (0x400000U)
  84914. #define USDHC_MIX_CTRL_EXE_TUNE_SHIFT (22U)
  84915. /*! EXE_TUNE - Execute tuning: (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  84916. * 0b1..Execute tuning
  84917. * 0b0..Not tuned or tuning completed
  84918. */
  84919. #define USDHC_MIX_CTRL_EXE_TUNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_EXE_TUNE_SHIFT)) & USDHC_MIX_CTRL_EXE_TUNE_MASK)
  84920. #define USDHC_MIX_CTRL_SMP_CLK_SEL_MASK (0x800000U)
  84921. #define USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT (23U)
  84922. /*! SMP_CLK_SEL - Clock selection
  84923. * 0b1..Tuned clock is used to sample data / cmd
  84924. * 0b0..Fixed clock is used to sample data / cmd
  84925. */
  84926. #define USDHC_MIX_CTRL_SMP_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_SMP_CLK_SEL_SHIFT)) & USDHC_MIX_CTRL_SMP_CLK_SEL_MASK)
  84927. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK (0x1000000U)
  84928. #define USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT (24U)
  84929. /*! AUTO_TUNE_EN - Auto tuning enable (Only used for SD3.0, SDR104 mode and and EMMC HS200 mode)
  84930. * 0b1..Enable auto tuning
  84931. * 0b0..Disable auto tuning
  84932. */
  84933. #define USDHC_MIX_CTRL_AUTO_TUNE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AUTO_TUNE_EN_SHIFT)) & USDHC_MIX_CTRL_AUTO_TUNE_EN_MASK)
  84934. #define USDHC_MIX_CTRL_FBCLK_SEL_MASK (0x2000000U)
  84935. #define USDHC_MIX_CTRL_FBCLK_SEL_SHIFT (25U)
  84936. /*! FBCLK_SEL - Feedback clock source selection (Only used for SD3.0, SDR104 mode and EMMC HS200 mode)
  84937. * 0b1..Feedback clock comes from the ipp_card_clk_out
  84938. * 0b0..Feedback clock comes from the loopback CLK
  84939. */
  84940. #define USDHC_MIX_CTRL_FBCLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_FBCLK_SEL_SHIFT)) & USDHC_MIX_CTRL_FBCLK_SEL_MASK)
  84941. #define USDHC_MIX_CTRL_HS400_MODE_MASK (0x4000000U)
  84942. #define USDHC_MIX_CTRL_HS400_MODE_SHIFT (26U)
  84943. /*! HS400_MODE - Enable HS400 mode
  84944. */
  84945. #define USDHC_MIX_CTRL_HS400_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_HS400_MODE_SHIFT)) & USDHC_MIX_CTRL_HS400_MODE_MASK)
  84946. /*! @} */
  84947. /*! @name FORCE_EVENT - Force Event */
  84948. /*! @{ */
  84949. #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U)
  84950. #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U)
  84951. /*! FEVTAC12NE - Force event auto command 12 not executed
  84952. */
  84953. #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK)
  84954. #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U)
  84955. #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U)
  84956. /*! FEVTAC12TOE - Force event auto command 12 time out error
  84957. */
  84958. #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK)
  84959. #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U)
  84960. #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U)
  84961. /*! FEVTAC12CE - Force event auto command 12 CRC error
  84962. */
  84963. #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK)
  84964. #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U)
  84965. #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U)
  84966. /*! FEVTAC12EBE - Force event Auto Command 12 end bit error
  84967. */
  84968. #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK)
  84969. #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U)
  84970. #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U)
  84971. /*! FEVTAC12IE - Force event Auto Command 12 index error
  84972. */
  84973. #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK)
  84974. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U)
  84975. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U)
  84976. /*! FEVTCNIBAC12E - Force event command not executed by Auto Command 12 error
  84977. */
  84978. #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK)
  84979. #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U)
  84980. #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U)
  84981. /*! FEVTCTOE - Force event command time out error
  84982. */
  84983. #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK)
  84984. #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U)
  84985. #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U)
  84986. /*! FEVTCCE - Force event command CRC error
  84987. */
  84988. #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK)
  84989. #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U)
  84990. #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U)
  84991. /*! FEVTCEBE - Force event command end bit error
  84992. */
  84993. #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK)
  84994. #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U)
  84995. #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U)
  84996. /*! FEVTCIE - Force event command index error
  84997. */
  84998. #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK)
  84999. #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U)
  85000. #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U)
  85001. /*! FEVTDTOE - Force event data time out error
  85002. */
  85003. #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK)
  85004. #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U)
  85005. #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U)
  85006. /*! FEVTDCE - Force event data CRC error
  85007. */
  85008. #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK)
  85009. #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U)
  85010. #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U)
  85011. /*! FEVTDEBE - Force event data end bit error
  85012. */
  85013. #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK)
  85014. #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U)
  85015. #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U)
  85016. /*! FEVTAC12E - Force event Auto Command 12 error
  85017. */
  85018. #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK)
  85019. #define USDHC_FORCE_EVENT_FEVTTNE_MASK (0x4000000U)
  85020. #define USDHC_FORCE_EVENT_FEVTTNE_SHIFT (26U)
  85021. /*! FEVTTNE - Force tuning error
  85022. */
  85023. #define USDHC_FORCE_EVENT_FEVTTNE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTTNE_SHIFT)) & USDHC_FORCE_EVENT_FEVTTNE_MASK)
  85024. #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U)
  85025. #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U)
  85026. /*! FEVTDMAE - Force event DMA error
  85027. */
  85028. #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK)
  85029. #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U)
  85030. #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U)
  85031. /*! FEVTCINT - Force event card interrupt
  85032. */
  85033. #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK)
  85034. /*! @} */
  85035. /*! @name ADMA_ERR_STATUS - ADMA Error Status */
  85036. /*! @{ */
  85037. #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U)
  85038. #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U)
  85039. /*! ADMAES - ADMA error state (when ADMA error is occurred)
  85040. */
  85041. #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK)
  85042. #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U)
  85043. #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U)
  85044. /*! ADMALME - ADMA length mismatch error
  85045. * 0b1..Error
  85046. * 0b0..No error
  85047. */
  85048. #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK)
  85049. #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U)
  85050. #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U)
  85051. /*! ADMADCE - ADMA descriptor error
  85052. * 0b1..Error
  85053. * 0b0..No error
  85054. */
  85055. #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK)
  85056. /*! @} */
  85057. /*! @name ADMA_SYS_ADDR - ADMA System Address */
  85058. /*! @{ */
  85059. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU)
  85060. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U)
  85061. /*! ADS_ADDR - ADMA system address
  85062. */
  85063. #define USDHC_ADMA_SYS_ADDR_ADS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT)) & USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK)
  85064. /*! @} */
  85065. /*! @name DLL_CTRL - DLL (Delay Line) Control */
  85066. /*! @{ */
  85067. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK (0x1U)
  85068. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT (0U)
  85069. /*! DLL_CTRL_ENABLE - DLL and delay chain
  85070. */
  85071. #define USDHC_DLL_CTRL_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_ENABLE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_ENABLE_MASK)
  85072. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK (0x2U)
  85073. #define USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT (1U)
  85074. /*! DLL_CTRL_RESET - DLL reset
  85075. */
  85076. #define USDHC_DLL_CTRL_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_RESET_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_RESET_MASK)
  85077. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  85078. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  85079. /*! DLL_CTRL_SLV_FORCE_UPD - DLL slave delay line
  85080. */
  85081. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_FORCE_UPD_MASK)
  85082. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK (0x78U)
  85083. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT (3U)
  85084. /*! DLL_CTRL_SLV_DLY_TARGET0 - DLL slave delay target0
  85085. */
  85086. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET0_MASK)
  85087. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  85088. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  85089. /*! DLL_CTRL_GATE_UPDATE - DLL gate update
  85090. */
  85091. #define USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_GATE_UPDATE_MASK)
  85092. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  85093. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  85094. /*! DLL_CTRL_SLV_OVERRIDE - DLL slave override
  85095. */
  85096. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_MASK)
  85097. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  85098. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  85099. /*! DLL_CTRL_SLV_OVERRIDE_VAL - DLL slave override val
  85100. */
  85101. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_OVERRIDE_VAL_MASK)
  85102. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK (0x70000U)
  85103. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT (16U)
  85104. /*! DLL_CTRL_SLV_DLY_TARGET1 - DLL slave delay target1
  85105. */
  85106. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_DLY_TARGET1_MASK)
  85107. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  85108. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  85109. /*! DLL_CTRL_SLV_UPDATE_INT - Slave delay line update interval
  85110. */
  85111. #define USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_SLV_UPDATE_INT_MASK)
  85112. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  85113. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  85114. /*! DLL_CTRL_REF_UPDATE_INT - DLL control loop update interval
  85115. */
  85116. #define USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_DLL_CTRL_DLL_CTRL_REF_UPDATE_INT_MASK)
  85117. /*! @} */
  85118. /*! @name DLL_STATUS - DLL Status */
  85119. /*! @{ */
  85120. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK (0x1U)
  85121. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT (0U)
  85122. /*! DLL_STS_SLV_LOCK - Slave delay-line lock status
  85123. */
  85124. #define USDHC_DLL_STATUS_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_LOCK_MASK)
  85125. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK (0x2U)
  85126. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT (1U)
  85127. /*! DLL_STS_REF_LOCK - Reference DLL lock status
  85128. */
  85129. #define USDHC_DLL_STATUS_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_LOCK_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_LOCK_MASK)
  85130. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK (0x1FCU)
  85131. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT (2U)
  85132. /*! DLL_STS_SLV_SEL - Slave delay line select status
  85133. */
  85134. #define USDHC_DLL_STATUS_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_SLV_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_SLV_SEL_MASK)
  85135. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK (0xFE00U)
  85136. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT (9U)
  85137. /*! DLL_STS_REF_SEL - Reference delay line select taps
  85138. */
  85139. #define USDHC_DLL_STATUS_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DLL_STATUS_DLL_STS_REF_SEL_SHIFT)) & USDHC_DLL_STATUS_DLL_STS_REF_SEL_MASK)
  85140. /*! @} */
  85141. /*! @name CLK_TUNE_CTRL_STATUS - CLK Tuning Control and Status */
  85142. /*! @{ */
  85143. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK (0xFU)
  85144. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT (0U)
  85145. /*! DLY_CELL_SET_POST - Delay cells on the feedback clock between CLK_OUT and CLK_POST
  85146. */
  85147. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_POST_MASK)
  85148. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK (0xF0U)
  85149. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT (4U)
  85150. /*! DLY_CELL_SET_OUT - Delay cells on the feedback clock between CLK_PRE and CLK_OUT
  85151. */
  85152. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_OUT_MASK)
  85153. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK (0x7F00U)
  85154. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT (8U)
  85155. /*! DLY_CELL_SET_PRE - delay cells on the feedback clock between the feedback clock and CLK_PRE
  85156. */
  85157. #define USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_DLY_CELL_SET_PRE_MASK)
  85158. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK (0x8000U)
  85159. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT (15U)
  85160. /*! NXT_ERR - NXT error
  85161. */
  85162. #define USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_NXT_ERR_MASK)
  85163. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK (0xF0000U)
  85164. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT (16U)
  85165. /*! TAP_SEL_POST - Delay cells added on the feedback clock between CLK_OUT and CLK_POST
  85166. */
  85167. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_POST_MASK)
  85168. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK (0xF00000U)
  85169. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT (20U)
  85170. /*! TAP_SEL_OUT - Delay cells added on the feedback clock between CLK_PRE and CLK_OUT
  85171. */
  85172. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_OUT_MASK)
  85173. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK (0x7F000000U)
  85174. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT (24U)
  85175. /*! TAP_SEL_PRE - TAP_SEL_PRE
  85176. */
  85177. #define USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_TAP_SEL_PRE_MASK)
  85178. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK (0x80000000U)
  85179. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT (31U)
  85180. /*! PRE_ERR - PRE error
  85181. */
  85182. #define USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_SHIFT)) & USDHC_CLK_TUNE_CTRL_STATUS_PRE_ERR_MASK)
  85183. /*! @} */
  85184. /*! @name STROBE_DLL_CTRL - Strobe DLL control */
  85185. /*! @{ */
  85186. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK (0x1U)
  85187. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT (0U)
  85188. /*! STROBE_DLL_CTRL_ENABLE - Strobe DLL control enable
  85189. */
  85190. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_ENABLE_MASK)
  85191. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK (0x2U)
  85192. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT (1U)
  85193. /*! STROBE_DLL_CTRL_RESET - Strobe DLL control reset
  85194. */
  85195. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_RESET_MASK)
  85196. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK (0x4U)
  85197. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT (2U)
  85198. /*! STROBE_DLL_CTRL_SLV_FORCE_UPD - Strobe DLL control slave force updated
  85199. */
  85200. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_FORCE_UPD_MASK)
  85201. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK (0x78U)
  85202. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT (3U)
  85203. /*! STROBE_DLL_CTRL_SLV_DLY_TARGET - Strobe DLL Control Slave Delay Target
  85204. */
  85205. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_DLY_TARGET_MASK)
  85206. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_MASK (0x80U)
  85207. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_SHIFT (7U)
  85208. /*! STROBE_DLL_CTRL_GATE_UPDATE - Strobe DLL control gate update
  85209. */
  85210. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_GATE_UPDATE_MASK)
  85211. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK (0x100U)
  85212. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT (8U)
  85213. /*! STROBE_DLL_CTRL_SLV_OVERRIDE - Strobe DLL control slave override
  85214. */
  85215. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_MASK)
  85216. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK (0xFE00U)
  85217. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT (9U)
  85218. /*! STROBE_DLL_CTRL_SLV_OVERRIDE_VAL - Strobe DLL control slave Override value
  85219. */
  85220. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_OVERRIDE_VAL_MASK)
  85221. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK (0xFF00000U)
  85222. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT (20U)
  85223. /*! STROBE_DLL_CTRL_SLV_UPDATE_INT - Strobe DLL control slave update interval
  85224. */
  85225. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_SLV_UPDATE_INT_MASK)
  85226. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK (0xF0000000U)
  85227. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT (28U)
  85228. /*! STROBE_DLL_CTRL_REF_UPDATE_INT - Strobe DLL control reference update interval
  85229. */
  85230. #define USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_SHIFT)) & USDHC_STROBE_DLL_CTRL_STROBE_DLL_CTRL_REF_UPDATE_INT_MASK)
  85231. /*! @} */
  85232. /*! @name STROBE_DLL_STATUS - Strobe DLL status */
  85233. /*! @{ */
  85234. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK (0x1U)
  85235. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT (0U)
  85236. /*! STROBE_DLL_STS_SLV_LOCK - Strobe DLL status slave lock
  85237. */
  85238. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_LOCK_MASK)
  85239. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK (0x2U)
  85240. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT (1U)
  85241. /*! STROBE_DLL_STS_REF_LOCK - Strobe DLL status reference lock
  85242. */
  85243. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_LOCK_MASK)
  85244. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK (0x1FCU)
  85245. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT (2U)
  85246. /*! STROBE_DLL_STS_SLV_SEL - Strobe DLL status slave select
  85247. */
  85248. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_SLV_SEL_MASK)
  85249. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK (0xFE00U)
  85250. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT (9U)
  85251. /*! STROBE_DLL_STS_REF_SEL - Strobe DLL status reference select
  85252. */
  85253. #define USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_SHIFT)) & USDHC_STROBE_DLL_STATUS_STROBE_DLL_STS_REF_SEL_MASK)
  85254. /*! @} */
  85255. /*! @name VEND_SPEC - Vendor Specific Register */
  85256. /*! @{ */
  85257. #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U)
  85258. #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U)
  85259. /*! VSELECT - Voltage selection
  85260. * 0b1..Change the voltage to low voltage range, around 1.8 V
  85261. * 0b0..Change the voltage to high voltage range, around 3.0 V
  85262. */
  85263. #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK)
  85264. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U)
  85265. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U)
  85266. /*! CONFLICT_CHK_EN - Conflict check enable
  85267. * 0b0..Conflict check disable
  85268. * 0b1..Conflict check enable
  85269. */
  85270. #define USDHC_VEND_SPEC_CONFLICT_CHK_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT)) & USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK)
  85271. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U)
  85272. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U)
  85273. /*! AC12_WR_CHKBUSY_EN - Check busy enable
  85274. * 0b0..Do not check busy after auto CMD12 for write data packet
  85275. * 0b1..Check busy after auto CMD12 for write data packet
  85276. */
  85277. #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT)) & USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK)
  85278. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U)
  85279. #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U)
  85280. /*! FRC_SDCLK_ON - Force CLK
  85281. * 0b0..CLK active or inactive is fully controlled by the hardware.
  85282. * 0b1..Force CLK active
  85283. */
  85284. #define USDHC_VEND_SPEC_FRC_SDCLK_ON(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT)) & USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK)
  85285. #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U)
  85286. #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U)
  85287. /*! CRC_CHK_DIS - CRC Check Disable
  85288. * 0b0..Check CRC16 for every read data packet and check CRC fields for every write data packet
  85289. * 0b1..Ignore CRC16 check for every read data packet and ignore CRC fields check for every write data packet
  85290. */
  85291. #define USDHC_VEND_SPEC_CRC_CHK_DIS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT)) & USDHC_VEND_SPEC_CRC_CHK_DIS_MASK)
  85292. #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U)
  85293. #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U)
  85294. /*! CMD_BYTE_EN - Byte access
  85295. * 0b0..Disable
  85296. * 0b1..Enable
  85297. */
  85298. #define USDHC_VEND_SPEC_CMD_BYTE_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT)) & USDHC_VEND_SPEC_CMD_BYTE_EN_MASK)
  85299. /*! @} */
  85300. /*! @name MMC_BOOT - MMC Boot */
  85301. /*! @{ */
  85302. #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU)
  85303. #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U)
  85304. /*! DTOCV_ACK - Boot ACK time out
  85305. * 0b0000..SDCLK x 2^14
  85306. * 0b0001..SDCLK x 2^15
  85307. * 0b0010..SDCLK x 2^16
  85308. * 0b0011..SDCLK x 2^17
  85309. * 0b0100..SDCLK x 2^18
  85310. * 0b0101..SDCLK x 2^19
  85311. * 0b0110..SDCLK x 2^20
  85312. * 0b0111..SDCLK x 2^21
  85313. * 0b1110..SDCLK x 2^28
  85314. * 0b1111..SDCLK x 2^29
  85315. */
  85316. #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK)
  85317. #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U)
  85318. #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U)
  85319. /*! BOOT_ACK - BOOT ACK
  85320. * 0b0..No ack
  85321. * 0b1..Ack
  85322. */
  85323. #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK)
  85324. #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U)
  85325. #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U)
  85326. /*! BOOT_MODE - Boot mode
  85327. * 0b0..Normal boot
  85328. * 0b1..Alternative boot
  85329. */
  85330. #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK)
  85331. #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U)
  85332. #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U)
  85333. /*! BOOT_EN - Boot enable
  85334. * 0b0..Fast boot disable
  85335. * 0b1..Fast boot enable
  85336. */
  85337. #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK)
  85338. #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U)
  85339. #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U)
  85340. /*! AUTO_SABG_EN - Auto stop at block gap
  85341. */
  85342. #define USDHC_MMC_BOOT_AUTO_SABG_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT)) & USDHC_MMC_BOOT_AUTO_SABG_EN_MASK)
  85343. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U)
  85344. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U)
  85345. /*! DISABLE_TIME_OUT - Time out
  85346. * 0b0..Enable time out
  85347. * 0b1..Disable time out
  85348. */
  85349. #define USDHC_MMC_BOOT_DISABLE_TIME_OUT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT)) & USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK)
  85350. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U)
  85351. #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U)
  85352. /*! BOOT_BLK_CNT - Stop At Block Gap value of automatic mode
  85353. */
  85354. #define USDHC_MMC_BOOT_BOOT_BLK_CNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT)) & USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK)
  85355. /*! @} */
  85356. /*! @name VEND_SPEC2 - Vendor Specific 2 Register */
  85357. /*! @{ */
  85358. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U)
  85359. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U)
  85360. /*! CARD_INT_D3_TEST - Card interrupt detection test
  85361. * 0b0..Check the card interrupt only when DATA3 is high.
  85362. * 0b1..Check the card interrupt by ignoring the status of DATA3.
  85363. */
  85364. #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT)) & USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK)
  85365. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK (0x10U)
  85366. #define USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT (4U)
  85367. /*! TUNING_8bit_EN - Tuning 8bit enable
  85368. */
  85369. #define USDHC_VEND_SPEC2_TUNING_8bit_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_8bit_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_8bit_EN_MASK)
  85370. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK (0x20U)
  85371. #define USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT (5U)
  85372. /*! TUNING_1bit_EN - Tuning 1bit enable
  85373. */
  85374. #define USDHC_VEND_SPEC2_TUNING_1bit_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_1bit_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_1bit_EN_MASK)
  85375. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK (0x40U)
  85376. #define USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT (6U)
  85377. /*! TUNING_CMD_EN - Tuning command enable
  85378. * 0b0..Auto tuning circuit does not check the CMD line.
  85379. * 0b1..Auto tuning circuit checks the CMD line.
  85380. */
  85381. #define USDHC_VEND_SPEC2_TUNING_CMD_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_TUNING_CMD_EN_SHIFT)) & USDHC_VEND_SPEC2_TUNING_CMD_EN_MASK)
  85382. #define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK (0x400U)
  85383. #define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT (10U)
  85384. /*! HS400_WR_CLK_STOP_EN - HS400 write clock stop enable
  85385. */
  85386. #define USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_WR_CLK_STOP_EN_MASK)
  85387. #define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK (0x800U)
  85388. #define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT (11U)
  85389. /*! HS400_RD_CLK_STOP_EN - HS400 read clock stop enable
  85390. */
  85391. #define USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_SHIFT)) & USDHC_VEND_SPEC2_HS400_RD_CLK_STOP_EN_MASK)
  85392. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U)
  85393. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U)
  85394. /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23
  85395. * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enabled.
  85396. * 0b0..Disable
  85397. */
  85398. #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT)) & USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK)
  85399. /*! @} */
  85400. /*! @name TUNING_CTRL - Tuning Control */
  85401. /*! @{ */
  85402. #define USDHC_TUNING_CTRL_TUNING_START_TAP_MASK (0x7FU)
  85403. #define USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT (0U)
  85404. /*! TUNING_START_TAP - Tuning start
  85405. */
  85406. #define USDHC_TUNING_CTRL_TUNING_START_TAP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_START_TAP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_START_TAP_MASK)
  85407. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK (0x80U)
  85408. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT (7U)
  85409. /*! DIS_CMD_CHK_FOR_STD_TUNING - Disable command check for standard tuning
  85410. */
  85411. #define USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_SHIFT)) & USDHC_TUNING_CTRL_DIS_CMD_CHK_FOR_STD_TUNING_MASK)
  85412. #define USDHC_TUNING_CTRL_TUNING_COUNTER_MASK (0xFF00U)
  85413. #define USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT (8U)
  85414. /*! TUNING_COUNTER - Tuning counter
  85415. */
  85416. #define USDHC_TUNING_CTRL_TUNING_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_COUNTER_SHIFT)) & USDHC_TUNING_CTRL_TUNING_COUNTER_MASK)
  85417. #define USDHC_TUNING_CTRL_TUNING_STEP_MASK (0x70000U)
  85418. #define USDHC_TUNING_CTRL_TUNING_STEP_SHIFT (16U)
  85419. /*! TUNING_STEP - TUNING_STEP
  85420. */
  85421. #define USDHC_TUNING_CTRL_TUNING_STEP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_STEP_SHIFT)) & USDHC_TUNING_CTRL_TUNING_STEP_MASK)
  85422. #define USDHC_TUNING_CTRL_TUNING_WINDOW_MASK (0x700000U)
  85423. #define USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT (20U)
  85424. /*! TUNING_WINDOW - Data window
  85425. */
  85426. #define USDHC_TUNING_CTRL_TUNING_WINDOW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_TUNING_WINDOW_SHIFT)) & USDHC_TUNING_CTRL_TUNING_WINDOW_MASK)
  85427. #define USDHC_TUNING_CTRL_STD_TUNING_EN_MASK (0x1000000U)
  85428. #define USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT (24U)
  85429. /*! STD_TUNING_EN - Standard tuning circuit and procedure enable
  85430. */
  85431. #define USDHC_TUNING_CTRL_STD_TUNING_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_TUNING_CTRL_STD_TUNING_EN_SHIFT)) & USDHC_TUNING_CTRL_STD_TUNING_EN_MASK)
  85432. /*! @} */
  85433. /*!
  85434. * @}
  85435. */ /* end of group USDHC_Register_Masks */
  85436. /* USDHC - Peripheral instance base addresses */
  85437. /** Peripheral USDHC1 base address */
  85438. #define USDHC1_BASE (0x40418000u)
  85439. /** Peripheral USDHC1 base pointer */
  85440. #define USDHC1 ((USDHC_Type *)USDHC1_BASE)
  85441. /** Peripheral USDHC2 base address */
  85442. #define USDHC2_BASE (0x4041C000u)
  85443. /** Peripheral USDHC2 base pointer */
  85444. #define USDHC2 ((USDHC_Type *)USDHC2_BASE)
  85445. /** Array initializer of USDHC peripheral base addresses */
  85446. #define USDHC_BASE_ADDRS { 0u, USDHC1_BASE, USDHC2_BASE }
  85447. /** Array initializer of USDHC peripheral base pointers */
  85448. #define USDHC_BASE_PTRS { (USDHC_Type *)0u, USDHC1, USDHC2 }
  85449. /** Interrupt vectors for the USDHC peripheral type */
  85450. #define USDHC_IRQS { NotAvail_IRQn, USDHC1_IRQn, USDHC2_IRQn }
  85451. /*!
  85452. * @}
  85453. */ /* end of group USDHC_Peripheral_Access_Layer */
  85454. /* ----------------------------------------------------------------------------
  85455. -- VIDEO_MUX Peripheral Access Layer
  85456. ---------------------------------------------------------------------------- */
  85457. /*!
  85458. * @addtogroup VIDEO_MUX_Peripheral_Access_Layer VIDEO_MUX Peripheral Access Layer
  85459. * @{
  85460. */
  85461. /** VIDEO_MUX - Register Layout Typedef */
  85462. typedef struct {
  85463. struct { /* offset: 0x0 */
  85464. __IO uint32_t RW; /**< Video mux Control Register, offset: 0x0 */
  85465. __IO uint32_t SET; /**< Video mux Control Register, offset: 0x4 */
  85466. __IO uint32_t CLR; /**< Video mux Control Register, offset: 0x8 */
  85467. __IO uint32_t TOG; /**< Video mux Control Register, offset: 0xC */
  85468. } VID_MUX_CTRL;
  85469. uint8_t RESERVED_0[16];
  85470. struct { /* offset: 0x20 */
  85471. __IO uint32_t RW; /**< Pixel Link Master(PLM) Control Register, offset: 0x20 */
  85472. __IO uint32_t SET; /**< Pixel Link Master(PLM) Control Register, offset: 0x24 */
  85473. __IO uint32_t CLR; /**< Pixel Link Master(PLM) Control Register, offset: 0x28 */
  85474. __IO uint32_t TOG; /**< Pixel Link Master(PLM) Control Register, offset: 0x2C */
  85475. } PLM_CTRL;
  85476. struct { /* offset: 0x30 */
  85477. __IO uint32_t RW; /**< YUV420 Control Register, offset: 0x30 */
  85478. __IO uint32_t SET; /**< YUV420 Control Register, offset: 0x34 */
  85479. __IO uint32_t CLR; /**< YUV420 Control Register, offset: 0x38 */
  85480. __IO uint32_t TOG; /**< YUV420 Control Register, offset: 0x3C */
  85481. } YUV420_CTRL;
  85482. uint8_t RESERVED_1[16];
  85483. struct { /* offset: 0x50 */
  85484. __IO uint32_t RW; /**< Data Disable Register, offset: 0x50 */
  85485. __IO uint32_t SET; /**< Data Disable Register, offset: 0x54 */
  85486. __IO uint32_t CLR; /**< Data Disable Register, offset: 0x58 */
  85487. __IO uint32_t TOG; /**< Data Disable Register, offset: 0x5C */
  85488. } CFG_DT_DISABLE;
  85489. uint8_t RESERVED_2[16];
  85490. struct { /* offset: 0x70 */
  85491. __IO uint32_t RW; /**< MIPI DSI Control Register, offset: 0x70 */
  85492. __IO uint32_t SET; /**< MIPI DSI Control Register, offset: 0x74 */
  85493. __IO uint32_t CLR; /**< MIPI DSI Control Register, offset: 0x78 */
  85494. __IO uint32_t TOG; /**< MIPI DSI Control Register, offset: 0x7C */
  85495. } MIPI_DSI_CTRL;
  85496. } VIDEO_MUX_Type;
  85497. /* ----------------------------------------------------------------------------
  85498. -- VIDEO_MUX Register Masks
  85499. ---------------------------------------------------------------------------- */
  85500. /*!
  85501. * @addtogroup VIDEO_MUX_Register_Masks VIDEO_MUX Register Masks
  85502. * @{
  85503. */
  85504. /*! @name VID_MUX_CTRL - Video mux Control Register */
  85505. /*! @{ */
  85506. #define VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_MASK (0x1U)
  85507. #define VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_SHIFT (0U)
  85508. /*! CSI_SEL - CSI sensor data input mux selector
  85509. * 0b0..CSI sensor data is from Parallel CSI
  85510. * 0b1..CSI sensor data is from MIPI CSI
  85511. */
  85512. #define VIDEO_MUX_VID_MUX_CTRL_CSI_SEL(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_SHIFT)) & VIDEO_MUX_VID_MUX_CTRL_CSI_SEL_MASK)
  85513. #define VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_MASK (0x2U)
  85514. #define VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_SHIFT (1U)
  85515. /*! LCDIF2_SEL - LCDIF2 sensor data input mux selector
  85516. * 0b0..LCDIFv2 sensor data is from Parallel CSI
  85517. * 0b1..LCDIFv2 sensor data is from MIPI CSI
  85518. */
  85519. #define VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_SHIFT)) & VIDEO_MUX_VID_MUX_CTRL_LCDIF2_SEL_MASK)
  85520. #define VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_MASK (0x4U)
  85521. #define VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_SHIFT (2U)
  85522. /*! MIPI_DSI_SEL - MIPI DSI video data input mux selector
  85523. * 0b0..MIPI DSI video data is from eLCDIF
  85524. * 0b1..MIPI DSI video data is from LCDIFv2
  85525. */
  85526. #define VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_SHIFT)) & VIDEO_MUX_VID_MUX_CTRL_MIPI_DSI_SEL_MASK)
  85527. #define VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_MASK (0x8U)
  85528. #define VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_SHIFT (3U)
  85529. /*! PARA_LCD_SEL - Parallel LCDIF video data input mux selector
  85530. * 0b0..Parallel LCDIF video data is from eLCDIF
  85531. * 0b1..Parallel LCDIF video data is from LCDIFv2
  85532. */
  85533. #define VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_SHIFT)) & VIDEO_MUX_VID_MUX_CTRL_PARA_LCD_SEL_MASK)
  85534. /*! @} */
  85535. /*! @name PLM_CTRL - Pixel Link Master(PLM) Control Register */
  85536. /*! @{ */
  85537. #define VIDEO_MUX_PLM_CTRL_ENABLE_MASK (0x1U)
  85538. #define VIDEO_MUX_PLM_CTRL_ENABLE_SHIFT (0U)
  85539. /*! ENABLE - Enable the output of HYSNC and VSYNC
  85540. * 0b0..No active HSYNC and VSYNC output
  85541. * 0b1..Active HSYNC and VSYNC output
  85542. */
  85543. #define VIDEO_MUX_PLM_CTRL_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_ENABLE_SHIFT)) & VIDEO_MUX_PLM_CTRL_ENABLE_MASK)
  85544. #define VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_MASK (0x2U)
  85545. #define VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_SHIFT (1U)
  85546. /*! VSYNC_OVERRIDE - VSYNC override
  85547. * 0b1..VSYNC is asserted
  85548. * 0b0..VSYNC is not asserted
  85549. */
  85550. #define VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_SHIFT)) & VIDEO_MUX_PLM_CTRL_VSYNC_OVERRIDE_MASK)
  85551. #define VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_MASK (0x4U)
  85552. #define VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_SHIFT (2U)
  85553. /*! HSYNC_OVERRIDE - HSYNC override
  85554. * 0b1..HSYNC is asserted
  85555. * 0b0..HSYNC is not asserted
  85556. */
  85557. #define VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_SHIFT)) & VIDEO_MUX_PLM_CTRL_HSYNC_OVERRIDE_MASK)
  85558. #define VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_MASK (0x8U)
  85559. #define VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_SHIFT (3U)
  85560. /*! VALID_OVERRIDE - Valid override
  85561. * 0b0..HSYNC and VSYNC is asserted
  85562. * 0b1..HSYNC and VSYNC is not asserted
  85563. */
  85564. #define VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_SHIFT)) & VIDEO_MUX_PLM_CTRL_VALID_OVERRIDE_MASK)
  85565. #define VIDEO_MUX_PLM_CTRL_POLARITY_MASK (0x10U)
  85566. #define VIDEO_MUX_PLM_CTRL_POLARITY_SHIFT (4U)
  85567. /*! POLARITY - Polarity of HYSNC/VSYNC
  85568. * 0b0..Keep the current polarity of HSYNC and VSYNC
  85569. * 0b1..Invert the polarity of HSYNC and VSYNC
  85570. */
  85571. #define VIDEO_MUX_PLM_CTRL_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_PLM_CTRL_POLARITY_SHIFT)) & VIDEO_MUX_PLM_CTRL_POLARITY_MASK)
  85572. /*! @} */
  85573. /*! @name YUV420_CTRL - YUV420 Control Register */
  85574. /*! @{ */
  85575. #define VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_MASK (0x1U)
  85576. #define VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_SHIFT (0U)
  85577. /*! FST_LN_DATA_TYPE - Data type of First Line
  85578. * 0b0..Odd (default)
  85579. * 0b1..Even
  85580. */
  85581. #define VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_SHIFT)) & VIDEO_MUX_YUV420_CTRL_FST_LN_DATA_TYPE_MASK)
  85582. /*! @} */
  85583. /*! @name CFG_DT_DISABLE - Data Disable Register */
  85584. /*! @{ */
  85585. #define VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_MASK (0xFFFFFFU)
  85586. #define VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_SHIFT (0U)
  85587. /*! CFG_DT_DISABLE - Data Type Disable
  85588. */
  85589. #define VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_SHIFT)) & VIDEO_MUX_CFG_DT_DISABLE_CFG_DT_DISABLE_MASK)
  85590. /*! @} */
  85591. /*! @name MIPI_DSI_CTRL - MIPI DSI Control Register */
  85592. /*! @{ */
  85593. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_MASK (0x1U)
  85594. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_SHIFT (0U)
  85595. /*! DPI_SD - Shut Down - Control to shutdown display (type 4 only)
  85596. * 0b0..No effect
  85597. * 0b1..Send shutdown command
  85598. */
  85599. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_SHIFT)) & VIDEO_MUX_MIPI_DSI_CTRL_DPI_SD_MASK)
  85600. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_MASK (0x2U)
  85601. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_SHIFT (1U)
  85602. /*! DPI_CM - Color Mode control
  85603. * 0b0..Normal Mode
  85604. * 0b1..Low-color mode
  85605. */
  85606. #define VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_SHIFT)) & VIDEO_MUX_MIPI_DSI_CTRL_DPI_CM_MASK)
  85607. /*! @} */
  85608. /*!
  85609. * @}
  85610. */ /* end of group VIDEO_MUX_Register_Masks */
  85611. /* VIDEO_MUX - Peripheral instance base addresses */
  85612. /** Peripheral VIDEO_MUX base address */
  85613. #define VIDEO_MUX_BASE (0x40818000u)
  85614. /** Peripheral VIDEO_MUX base pointer */
  85615. #define VIDEO_MUX ((VIDEO_MUX_Type *)VIDEO_MUX_BASE)
  85616. /** Array initializer of VIDEO_MUX peripheral base addresses */
  85617. #define VIDEO_MUX_BASE_ADDRS { VIDEO_MUX_BASE }
  85618. /** Array initializer of VIDEO_MUX peripheral base pointers */
  85619. #define VIDEO_MUX_BASE_PTRS { VIDEO_MUX }
  85620. /*!
  85621. * @}
  85622. */ /* end of group VIDEO_MUX_Peripheral_Access_Layer */
  85623. /* ----------------------------------------------------------------------------
  85624. -- VIDEO_PLL Peripheral Access Layer
  85625. ---------------------------------------------------------------------------- */
  85626. /*!
  85627. * @addtogroup VIDEO_PLL_Peripheral_Access_Layer VIDEO_PLL Peripheral Access Layer
  85628. * @{
  85629. */
  85630. /** VIDEO_PLL - Register Layout Typedef */
  85631. typedef struct {
  85632. struct { /* offset: 0x0 */
  85633. __IO uint32_t RW; /**< Fractional PLL Control Register, offset: 0x0 */
  85634. __IO uint32_t SET; /**< Fractional PLL Control Register, offset: 0x4 */
  85635. __IO uint32_t CLR; /**< Fractional PLL Control Register, offset: 0x8 */
  85636. __IO uint32_t TOG; /**< Fractional PLL Control Register, offset: 0xC */
  85637. } CTRL0;
  85638. struct { /* offset: 0x10 */
  85639. __IO uint32_t RW; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x10 */
  85640. __IO uint32_t SET; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x14 */
  85641. __IO uint32_t CLR; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x18 */
  85642. __IO uint32_t TOG; /**< Fractional PLL Spread Spectrum Control Register, offset: 0x1C */
  85643. } SPREAD_SPECTRUM;
  85644. struct { /* offset: 0x20 */
  85645. __IO uint32_t RW; /**< Fractional PLL Numerator Control Register, offset: 0x20 */
  85646. __IO uint32_t SET; /**< Fractional PLL Numerator Control Register, offset: 0x24 */
  85647. __IO uint32_t CLR; /**< Fractional PLL Numerator Control Register, offset: 0x28 */
  85648. __IO uint32_t TOG; /**< Fractional PLL Numerator Control Register, offset: 0x2C */
  85649. } NUMERATOR;
  85650. struct { /* offset: 0x30 */
  85651. __IO uint32_t RW; /**< Fractional PLL Denominator Control Register, offset: 0x30 */
  85652. __IO uint32_t SET; /**< Fractional PLL Denominator Control Register, offset: 0x34 */
  85653. __IO uint32_t CLR; /**< Fractional PLL Denominator Control Register, offset: 0x38 */
  85654. __IO uint32_t TOG; /**< Fractional PLL Denominator Control Register, offset: 0x3C */
  85655. } DENOMINATOR;
  85656. } VIDEO_PLL_Type;
  85657. /* ----------------------------------------------------------------------------
  85658. -- VIDEO_PLL Register Masks
  85659. ---------------------------------------------------------------------------- */
  85660. /*!
  85661. * @addtogroup VIDEO_PLL_Register_Masks VIDEO_PLL Register Masks
  85662. * @{
  85663. */
  85664. /*! @name CTRL0 - Fractional PLL Control Register */
  85665. /*! @{ */
  85666. #define VIDEO_PLL_CTRL0_DIV_SELECT_MASK (0x7FU)
  85667. #define VIDEO_PLL_CTRL0_DIV_SELECT_SHIFT (0U)
  85668. /*! DIV_SELECT - DIV_SELECT
  85669. */
  85670. #define VIDEO_PLL_CTRL0_DIV_SELECT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_DIV_SELECT_SHIFT)) & VIDEO_PLL_CTRL0_DIV_SELECT_MASK)
  85671. #define VIDEO_PLL_CTRL0_ENABLE_ALT_MASK (0x100U)
  85672. #define VIDEO_PLL_CTRL0_ENABLE_ALT_SHIFT (8U)
  85673. /*! ENABLE_ALT - ENABLE_ALT
  85674. * 0b0..Disable the alternate clock output
  85675. * 0b1..Enable the alternate clock output which is the output of the post_divider, and cannot be bypassed
  85676. */
  85677. #define VIDEO_PLL_CTRL0_ENABLE_ALT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_ENABLE_ALT_SHIFT)) & VIDEO_PLL_CTRL0_ENABLE_ALT_MASK)
  85678. #define VIDEO_PLL_CTRL0_HOLD_RING_OFF_MASK (0x2000U)
  85679. #define VIDEO_PLL_CTRL0_HOLD_RING_OFF_SHIFT (13U)
  85680. /*! HOLD_RING_OFF - PLL Start up initialization
  85681. * 0b0..Normal operation
  85682. * 0b1..Initialize PLL start up
  85683. */
  85684. #define VIDEO_PLL_CTRL0_HOLD_RING_OFF(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_HOLD_RING_OFF_SHIFT)) & VIDEO_PLL_CTRL0_HOLD_RING_OFF_MASK)
  85685. #define VIDEO_PLL_CTRL0_POWERUP_MASK (0x4000U)
  85686. #define VIDEO_PLL_CTRL0_POWERUP_SHIFT (14U)
  85687. /*! POWERUP - POWERUP
  85688. * 0b1..Power Up the PLL
  85689. * 0b0..Power down the PLL
  85690. */
  85691. #define VIDEO_PLL_CTRL0_POWERUP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_POWERUP_SHIFT)) & VIDEO_PLL_CTRL0_POWERUP_MASK)
  85692. #define VIDEO_PLL_CTRL0_ENABLE_MASK (0x8000U)
  85693. #define VIDEO_PLL_CTRL0_ENABLE_SHIFT (15U)
  85694. /*! ENABLE - ENABLE
  85695. * 0b1..Enable the clock output
  85696. * 0b0..Disable the clock output
  85697. */
  85698. #define VIDEO_PLL_CTRL0_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_ENABLE_SHIFT)) & VIDEO_PLL_CTRL0_ENABLE_MASK)
  85699. #define VIDEO_PLL_CTRL0_BYPASS_MASK (0x10000U)
  85700. #define VIDEO_PLL_CTRL0_BYPASS_SHIFT (16U)
  85701. /*! BYPASS - BYPASS
  85702. * 0b1..Bypass the PLL
  85703. * 0b0..No Bypass
  85704. */
  85705. #define VIDEO_PLL_CTRL0_BYPASS(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BYPASS_SHIFT)) & VIDEO_PLL_CTRL0_BYPASS_MASK)
  85706. #define VIDEO_PLL_CTRL0_DITHER_EN_MASK (0x20000U)
  85707. #define VIDEO_PLL_CTRL0_DITHER_EN_SHIFT (17U)
  85708. /*! DITHER_EN - DITHER_EN
  85709. * 0b0..Disable Dither
  85710. * 0b1..Enable Dither
  85711. */
  85712. #define VIDEO_PLL_CTRL0_DITHER_EN(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_DITHER_EN_SHIFT)) & VIDEO_PLL_CTRL0_DITHER_EN_MASK)
  85713. #define VIDEO_PLL_CTRL0_BIAS_TRIM_MASK (0x380000U)
  85714. #define VIDEO_PLL_CTRL0_BIAS_TRIM_SHIFT (19U)
  85715. /*! BIAS_TRIM - BIAS_TRIM
  85716. */
  85717. #define VIDEO_PLL_CTRL0_BIAS_TRIM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BIAS_TRIM_SHIFT)) & VIDEO_PLL_CTRL0_BIAS_TRIM_MASK)
  85718. #define VIDEO_PLL_CTRL0_PLL_REG_EN_MASK (0x400000U)
  85719. #define VIDEO_PLL_CTRL0_PLL_REG_EN_SHIFT (22U)
  85720. /*! PLL_REG_EN - PLL_REG_EN
  85721. */
  85722. #define VIDEO_PLL_CTRL0_PLL_REG_EN(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_PLL_REG_EN_SHIFT)) & VIDEO_PLL_CTRL0_PLL_REG_EN_MASK)
  85723. #define VIDEO_PLL_CTRL0_POST_DIV_SEL_MASK (0xE000000U)
  85724. #define VIDEO_PLL_CTRL0_POST_DIV_SEL_SHIFT (25U)
  85725. /*! POST_DIV_SEL - Post Divide Select
  85726. * 0b000..Divide by 1
  85727. * 0b001..Divide by 2
  85728. * 0b010..Divide by 4
  85729. * 0b011..Divide by 8
  85730. * 0b100..Divide by 16
  85731. * 0b101..Divide by 32
  85732. */
  85733. #define VIDEO_PLL_CTRL0_POST_DIV_SEL(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_POST_DIV_SEL_SHIFT)) & VIDEO_PLL_CTRL0_POST_DIV_SEL_MASK)
  85734. #define VIDEO_PLL_CTRL0_BIAS_SELECT_MASK (0x20000000U)
  85735. #define VIDEO_PLL_CTRL0_BIAS_SELECT_SHIFT (29U)
  85736. /*! BIAS_SELECT - BIAS_SELECT
  85737. * 0b0..Used in SoCs with a bias current of 10uA
  85738. * 0b1..Used in SoCs with a bias current of 2uA
  85739. */
  85740. #define VIDEO_PLL_CTRL0_BIAS_SELECT(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_CTRL0_BIAS_SELECT_SHIFT)) & VIDEO_PLL_CTRL0_BIAS_SELECT_MASK)
  85741. /*! @} */
  85742. /*! @name SPREAD_SPECTRUM - Fractional PLL Spread Spectrum Control Register */
  85743. /*! @{ */
  85744. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP_MASK (0x7FFFU)
  85745. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP_SHIFT (0U)
  85746. /*! STEP - Step
  85747. */
  85748. #define VIDEO_PLL_SPREAD_SPECTRUM_STEP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_STEP_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_STEP_MASK)
  85749. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_MASK (0x8000U)
  85750. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT (15U)
  85751. /*! ENABLE - Enable
  85752. */
  85753. #define VIDEO_PLL_SPREAD_SPECTRUM_ENABLE(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_ENABLE_MASK)
  85754. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP_MASK (0xFFFF0000U)
  85755. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP_SHIFT (16U)
  85756. /*! STOP - Stop
  85757. */
  85758. #define VIDEO_PLL_SPREAD_SPECTRUM_STOP(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_SPREAD_SPECTRUM_STOP_SHIFT)) & VIDEO_PLL_SPREAD_SPECTRUM_STOP_MASK)
  85759. /*! @} */
  85760. /*! @name NUMERATOR - Fractional PLL Numerator Control Register */
  85761. /*! @{ */
  85762. #define VIDEO_PLL_NUMERATOR_NUM_MASK (0x3FFFFFFFU)
  85763. #define VIDEO_PLL_NUMERATOR_NUM_SHIFT (0U)
  85764. /*! NUM - Numerator
  85765. */
  85766. #define VIDEO_PLL_NUMERATOR_NUM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_NUMERATOR_NUM_SHIFT)) & VIDEO_PLL_NUMERATOR_NUM_MASK)
  85767. /*! @} */
  85768. /*! @name DENOMINATOR - Fractional PLL Denominator Control Register */
  85769. /*! @{ */
  85770. #define VIDEO_PLL_DENOMINATOR_DENOM_MASK (0x3FFFFFFFU)
  85771. #define VIDEO_PLL_DENOMINATOR_DENOM_SHIFT (0U)
  85772. /*! DENOM - Denominator
  85773. */
  85774. #define VIDEO_PLL_DENOMINATOR_DENOM(x) (((uint32_t)(((uint32_t)(x)) << VIDEO_PLL_DENOMINATOR_DENOM_SHIFT)) & VIDEO_PLL_DENOMINATOR_DENOM_MASK)
  85775. /*! @} */
  85776. /*!
  85777. * @}
  85778. */ /* end of group VIDEO_PLL_Register_Masks */
  85779. /* VIDEO_PLL - Peripheral instance base addresses */
  85780. /** Peripheral VIDEO_PLL base address */
  85781. #define VIDEO_PLL_BASE (0u)
  85782. /** Peripheral VIDEO_PLL base pointer */
  85783. #define VIDEO_PLL ((VIDEO_PLL_Type *)VIDEO_PLL_BASE)
  85784. /** Array initializer of VIDEO_PLL peripheral base addresses */
  85785. #define VIDEO_PLL_BASE_ADDRS { VIDEO_PLL_BASE }
  85786. /** Array initializer of VIDEO_PLL peripheral base pointers */
  85787. #define VIDEO_PLL_BASE_PTRS { VIDEO_PLL }
  85788. /*!
  85789. * @}
  85790. */ /* end of group VIDEO_PLL_Peripheral_Access_Layer */
  85791. /* ----------------------------------------------------------------------------
  85792. -- VMBANDGAP Peripheral Access Layer
  85793. ---------------------------------------------------------------------------- */
  85794. /*!
  85795. * @addtogroup VMBANDGAP_Peripheral_Access_Layer VMBANDGAP Peripheral Access Layer
  85796. * @{
  85797. */
  85798. /** VMBANDGAP - Register Layout Typedef */
  85799. typedef struct {
  85800. struct { /* offset: 0x0 */
  85801. __IO uint32_t RW; /**< Analog Control Register CTRL0, offset: 0x0 */
  85802. __IO uint32_t SET; /**< Analog Control Register CTRL0, offset: 0x4 */
  85803. __IO uint32_t CLR; /**< Analog Control Register CTRL0, offset: 0x8 */
  85804. __IO uint32_t TOG; /**< Analog Control Register CTRL0, offset: 0xC */
  85805. } CTRL0;
  85806. uint8_t RESERVED_0[64];
  85807. struct { /* offset: 0x50 */
  85808. __I uint32_t RW; /**< Analog Status Register STAT0, offset: 0x50 */
  85809. __I uint32_t SET; /**< Analog Status Register STAT0, offset: 0x54 */
  85810. __I uint32_t CLR; /**< Analog Status Register STAT0, offset: 0x58 */
  85811. __I uint32_t TOG; /**< Analog Status Register STAT0, offset: 0x5C */
  85812. } STAT0;
  85813. } VMBANDGAP_Type;
  85814. /* ----------------------------------------------------------------------------
  85815. -- VMBANDGAP Register Masks
  85816. ---------------------------------------------------------------------------- */
  85817. /*!
  85818. * @addtogroup VMBANDGAP_Register_Masks VMBANDGAP Register Masks
  85819. * @{
  85820. */
  85821. /*! @name CTRL0 - Analog Control Register CTRL0 */
  85822. /*! @{ */
  85823. #define VMBANDGAP_CTRL0_REFTOP_PWD_MASK (0x1U)
  85824. #define VMBANDGAP_CTRL0_REFTOP_PWD_SHIFT (0U)
  85825. /*! REFTOP_PWD - Master power-down for bandgap module
  85826. */
  85827. #define VMBANDGAP_CTRL0_REFTOP_PWD(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_PWD_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_PWD_MASK)
  85828. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_MASK (0x2U)
  85829. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_SHIFT (1U)
  85830. /*! REFTOP_LINREGREF_PWD - Power-down for bandgap voltage-reference buffer
  85831. */
  85832. #define VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_LINREGREF_PWD_MASK)
  85833. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_MASK (0x4U)
  85834. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_SHIFT (2U)
  85835. /*! REFTOP_PWDVBGUP - Power-down VBGUP detector in bandgap
  85836. */
  85837. #define VMBANDGAP_CTRL0_REFTOP_PWDVBGUP(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_PWDVBGUP_MASK)
  85838. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER_MASK (0x8U)
  85839. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER_SHIFT (3U)
  85840. /*! REFTOP_LOWPOWER - Low-power control bit
  85841. */
  85842. #define VMBANDGAP_CTRL0_REFTOP_LOWPOWER(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_LOWPOWER_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_LOWPOWER_MASK)
  85843. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_MASK (0x10U)
  85844. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_SHIFT (4U)
  85845. /*! REFTOP_SELFBIASOFF - bandgap self-bias control bit
  85846. */
  85847. #define VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_SHIFT)) & VMBANDGAP_CTRL0_REFTOP_SELFBIASOFF_MASK)
  85848. /*! @} */
  85849. /*! @name STAT0 - Analog Status Register STAT0 */
  85850. /*! @{ */
  85851. #define VMBANDGAP_STAT0_REFTOP_VBGUP_MASK (0x1U)
  85852. #define VMBANDGAP_STAT0_REFTOP_VBGUP_SHIFT (0U)
  85853. /*! REFTOP_VBGUP - Brief description here
  85854. */
  85855. #define VMBANDGAP_STAT0_REFTOP_VBGUP(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_REFTOP_VBGUP_SHIFT)) & VMBANDGAP_STAT0_REFTOP_VBGUP_MASK)
  85856. #define VMBANDGAP_STAT0_VDD1_PORB_MASK (0x2U)
  85857. #define VMBANDGAP_STAT0_VDD1_PORB_SHIFT (1U)
  85858. /*! VDD1_PORB - Brief description here
  85859. */
  85860. #define VMBANDGAP_STAT0_VDD1_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD1_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD1_PORB_MASK)
  85861. #define VMBANDGAP_STAT0_VDD2_PORB_MASK (0x4U)
  85862. #define VMBANDGAP_STAT0_VDD2_PORB_SHIFT (2U)
  85863. /*! VDD2_PORB - Brief description here
  85864. */
  85865. #define VMBANDGAP_STAT0_VDD2_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD2_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD2_PORB_MASK)
  85866. #define VMBANDGAP_STAT0_VDD3_PORB_MASK (0x8U)
  85867. #define VMBANDGAP_STAT0_VDD3_PORB_SHIFT (3U)
  85868. /*! VDD3_PORB - Brief description here
  85869. */
  85870. #define VMBANDGAP_STAT0_VDD3_PORB(x) (((uint32_t)(((uint32_t)(x)) << VMBANDGAP_STAT0_VDD3_PORB_SHIFT)) & VMBANDGAP_STAT0_VDD3_PORB_MASK)
  85871. /*! @} */
  85872. /*!
  85873. * @}
  85874. */ /* end of group VMBANDGAP_Register_Masks */
  85875. /* VMBANDGAP - Peripheral instance base addresses */
  85876. /** Peripheral VMBANDGAP base address */
  85877. #define VMBANDGAP_BASE (0u)
  85878. /** Peripheral VMBANDGAP base pointer */
  85879. #define VMBANDGAP ((VMBANDGAP_Type *)VMBANDGAP_BASE)
  85880. /** Array initializer of VMBANDGAP peripheral base addresses */
  85881. #define VMBANDGAP_BASE_ADDRS { VMBANDGAP_BASE }
  85882. /** Array initializer of VMBANDGAP peripheral base pointers */
  85883. #define VMBANDGAP_BASE_PTRS { VMBANDGAP }
  85884. /*!
  85885. * @}
  85886. */ /* end of group VMBANDGAP_Peripheral_Access_Layer */
  85887. /* ----------------------------------------------------------------------------
  85888. -- WDOG Peripheral Access Layer
  85889. ---------------------------------------------------------------------------- */
  85890. /*!
  85891. * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer
  85892. * @{
  85893. */
  85894. /** WDOG - Register Layout Typedef */
  85895. typedef struct {
  85896. __IO uint16_t WCR; /**< Watchdog Control Register, offset: 0x0 */
  85897. __IO uint16_t WSR; /**< Watchdog Service Register, offset: 0x2 */
  85898. __I uint16_t WRSR; /**< Watchdog Reset Status Register, offset: 0x4 */
  85899. __IO uint16_t WICR; /**< Watchdog Interrupt Control Register, offset: 0x6 */
  85900. __IO uint16_t WMCR; /**< Watchdog Miscellaneous Control Register, offset: 0x8 */
  85901. } WDOG_Type;
  85902. /* ----------------------------------------------------------------------------
  85903. -- WDOG Register Masks
  85904. ---------------------------------------------------------------------------- */
  85905. /*!
  85906. * @addtogroup WDOG_Register_Masks WDOG Register Masks
  85907. * @{
  85908. */
  85909. /*! @name WCR - Watchdog Control Register */
  85910. /*! @{ */
  85911. #define WDOG_WCR_WDZST_MASK (0x1U)
  85912. #define WDOG_WCR_WDZST_SHIFT (0U)
  85913. /*! WDZST - WDZST
  85914. * 0b0..Continue timer operation (Default).
  85915. * 0b1..Suspend the watchdog timer.
  85916. */
  85917. #define WDOG_WCR_WDZST(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDZST_SHIFT)) & WDOG_WCR_WDZST_MASK)
  85918. #define WDOG_WCR_WDBG_MASK (0x2U)
  85919. #define WDOG_WCR_WDBG_SHIFT (1U)
  85920. /*! WDBG - WDBG
  85921. * 0b0..Continue WDOG timer operation (Default).
  85922. * 0b1..Suspend the watchdog timer.
  85923. */
  85924. #define WDOG_WCR_WDBG(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDBG_SHIFT)) & WDOG_WCR_WDBG_MASK)
  85925. #define WDOG_WCR_WDE_MASK (0x4U)
  85926. #define WDOG_WCR_WDE_SHIFT (2U)
  85927. /*! WDE - WDE
  85928. * 0b0..Disable the Watchdog (Default).
  85929. * 0b1..Enable the Watchdog.
  85930. */
  85931. #define WDOG_WCR_WDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDE_SHIFT)) & WDOG_WCR_WDE_MASK)
  85932. #define WDOG_WCR_WDT_MASK (0x8U)
  85933. #define WDOG_WCR_WDT_SHIFT (3U)
  85934. /*! WDT - WDT
  85935. * 0b0..No effect on WDOG_B (Default).
  85936. * 0b1..Assert WDOG_B upon a Watchdog Time-out event.
  85937. */
  85938. #define WDOG_WCR_WDT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDT_SHIFT)) & WDOG_WCR_WDT_MASK)
  85939. #define WDOG_WCR_SRS_MASK (0x10U)
  85940. #define WDOG_WCR_SRS_SHIFT (4U)
  85941. /*! SRS - SRS
  85942. * 0b0..Assert system reset signal.
  85943. * 0b1..No effect on the system (Default).
  85944. */
  85945. #define WDOG_WCR_SRS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRS_SHIFT)) & WDOG_WCR_SRS_MASK)
  85946. #define WDOG_WCR_WDA_MASK (0x20U)
  85947. #define WDOG_WCR_WDA_SHIFT (5U)
  85948. /*! WDA - WDA
  85949. * 0b0..Assert WDOG_B output.
  85950. * 0b1..No effect on system (Default).
  85951. */
  85952. #define WDOG_WCR_WDA(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDA_SHIFT)) & WDOG_WCR_WDA_MASK)
  85953. #define WDOG_WCR_SRE_MASK (0x40U)
  85954. #define WDOG_WCR_SRE_SHIFT (6U)
  85955. /*! SRE - Software Reset Extension, an optional way to generate software reset
  85956. * 0b0..using original way to generate software reset (default)
  85957. * 0b1..using new way to generate software reset.
  85958. */
  85959. #define WDOG_WCR_SRE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_SRE_SHIFT)) & WDOG_WCR_SRE_MASK)
  85960. #define WDOG_WCR_WDW_MASK (0x80U)
  85961. #define WDOG_WCR_WDW_SHIFT (7U)
  85962. /*! WDW - WDW
  85963. * 0b0..Continue WDOG timer operation (Default).
  85964. * 0b1..Suspend WDOG timer operation.
  85965. */
  85966. #define WDOG_WCR_WDW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WDW_SHIFT)) & WDOG_WCR_WDW_MASK)
  85967. #define WDOG_WCR_WT_MASK (0xFF00U)
  85968. #define WDOG_WCR_WT_SHIFT (8U)
  85969. /*! WT - WT
  85970. * 0b00000000..- 0.5 Seconds (Default).
  85971. * 0b00000001..- 1.0 Seconds.
  85972. * 0b00000010..- 1.5 Seconds.
  85973. * 0b00000011..- 2.0 Seconds.
  85974. * 0b11111111..- 128 Seconds.
  85975. */
  85976. #define WDOG_WCR_WT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WCR_WT_SHIFT)) & WDOG_WCR_WT_MASK)
  85977. /*! @} */
  85978. /*! @name WSR - Watchdog Service Register */
  85979. /*! @{ */
  85980. #define WDOG_WSR_WSR_MASK (0xFFFFU)
  85981. #define WDOG_WSR_WSR_SHIFT (0U)
  85982. /*! WSR - WSR
  85983. * 0b0101010101010101..Write to the Watchdog Service Register (WDOG_WSR).
  85984. * 0b1010101010101010..Write to the Watchdog Service Register (WDOG_WSR).
  85985. */
  85986. #define WDOG_WSR_WSR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WSR_WSR_SHIFT)) & WDOG_WSR_WSR_MASK)
  85987. /*! @} */
  85988. /*! @name WRSR - Watchdog Reset Status Register */
  85989. /*! @{ */
  85990. #define WDOG_WRSR_SFTW_MASK (0x1U)
  85991. #define WDOG_WRSR_SFTW_SHIFT (0U)
  85992. /*! SFTW - SFTW
  85993. * 0b0..Reset is not the result of a software reset.
  85994. * 0b1..Reset is the result of a software reset.
  85995. */
  85996. #define WDOG_WRSR_SFTW(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_SFTW_SHIFT)) & WDOG_WRSR_SFTW_MASK)
  85997. #define WDOG_WRSR_TOUT_MASK (0x2U)
  85998. #define WDOG_WRSR_TOUT_SHIFT (1U)
  85999. /*! TOUT - TOUT
  86000. * 0b0..Reset is not the result of a WDOG timeout.
  86001. * 0b1..Reset is the result of a WDOG timeout.
  86002. */
  86003. #define WDOG_WRSR_TOUT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_TOUT_SHIFT)) & WDOG_WRSR_TOUT_MASK)
  86004. #define WDOG_WRSR_POR_MASK (0x10U)
  86005. #define WDOG_WRSR_POR_SHIFT (4U)
  86006. /*! POR - POR
  86007. * 0b0..Reset is not the result of a power on reset.
  86008. * 0b1..Reset is the result of a power on reset.
  86009. */
  86010. #define WDOG_WRSR_POR(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WRSR_POR_SHIFT)) & WDOG_WRSR_POR_MASK)
  86011. /*! @} */
  86012. /*! @name WICR - Watchdog Interrupt Control Register */
  86013. /*! @{ */
  86014. #define WDOG_WICR_WICT_MASK (0xFFU)
  86015. #define WDOG_WICR_WICT_SHIFT (0U)
  86016. /*! WICT - WICT
  86017. * 0b00000000..WICT[7:0] = Time duration between interrupt and time-out is 0 seconds.
  86018. * 0b00000001..WICT[7:0] = Time duration between interrupt and time-out is 0.5 seconds.
  86019. * 0b00000100..WICT[7:0] = Time duration between interrupt and time-out is 2 seconds (Default).
  86020. * 0b11111111..WICT[7:0] = Time duration between interrupt and time-out is 127.5 seconds.
  86021. */
  86022. #define WDOG_WICR_WICT(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WICT_SHIFT)) & WDOG_WICR_WICT_MASK)
  86023. #define WDOG_WICR_WTIS_MASK (0x4000U)
  86024. #define WDOG_WICR_WTIS_SHIFT (14U)
  86025. /*! WTIS - WTIS
  86026. * 0b0..No interrupt has occurred (Default).
  86027. * 0b1..Interrupt has occurred
  86028. */
  86029. #define WDOG_WICR_WTIS(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WTIS_SHIFT)) & WDOG_WICR_WTIS_MASK)
  86030. #define WDOG_WICR_WIE_MASK (0x8000U)
  86031. #define WDOG_WICR_WIE_SHIFT (15U)
  86032. /*! WIE - WIE
  86033. * 0b0..Disable Interrupt (Default).
  86034. * 0b1..Enable Interrupt.
  86035. */
  86036. #define WDOG_WICR_WIE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WICR_WIE_SHIFT)) & WDOG_WICR_WIE_MASK)
  86037. /*! @} */
  86038. /*! @name WMCR - Watchdog Miscellaneous Control Register */
  86039. /*! @{ */
  86040. #define WDOG_WMCR_PDE_MASK (0x1U)
  86041. #define WDOG_WMCR_PDE_SHIFT (0U)
  86042. /*! PDE - PDE
  86043. * 0b0..Power Down Counter of WDOG is disabled.
  86044. * 0b1..Power Down Counter of WDOG is enabled (Default).
  86045. */
  86046. #define WDOG_WMCR_PDE(x) (((uint16_t)(((uint16_t)(x)) << WDOG_WMCR_PDE_SHIFT)) & WDOG_WMCR_PDE_MASK)
  86047. /*! @} */
  86048. /*!
  86049. * @}
  86050. */ /* end of group WDOG_Register_Masks */
  86051. /* WDOG - Peripheral instance base addresses */
  86052. /** Peripheral WDOG1 base address */
  86053. #define WDOG1_BASE (0x40030000u)
  86054. /** Peripheral WDOG1 base pointer */
  86055. #define WDOG1 ((WDOG_Type *)WDOG1_BASE)
  86056. /** Peripheral WDOG2 base address */
  86057. #define WDOG2_BASE (0x40034000u)
  86058. /** Peripheral WDOG2 base pointer */
  86059. #define WDOG2 ((WDOG_Type *)WDOG2_BASE)
  86060. /** Array initializer of WDOG peripheral base addresses */
  86061. #define WDOG_BASE_ADDRS { 0u, WDOG1_BASE, WDOG2_BASE }
  86062. /** Array initializer of WDOG peripheral base pointers */
  86063. #define WDOG_BASE_PTRS { (WDOG_Type *)0u, WDOG1, WDOG2 }
  86064. /** Interrupt vectors for the WDOG peripheral type */
  86065. #define WDOG_IRQS { NotAvail_IRQn, WDOG1_IRQn, WDOG2_IRQn }
  86066. /*!
  86067. * @}
  86068. */ /* end of group WDOG_Peripheral_Access_Layer */
  86069. /* ----------------------------------------------------------------------------
  86070. -- XBARA Peripheral Access Layer
  86071. ---------------------------------------------------------------------------- */
  86072. /*!
  86073. * @addtogroup XBARA_Peripheral_Access_Layer XBARA Peripheral Access Layer
  86074. * @{
  86075. */
  86076. /** XBARA - Register Layout Typedef */
  86077. typedef struct {
  86078. __IO uint16_t SEL0; /**< Crossbar A Select Register 0, offset: 0x0 */
  86079. __IO uint16_t SEL1; /**< Crossbar A Select Register 1, offset: 0x2 */
  86080. __IO uint16_t SEL2; /**< Crossbar A Select Register 2, offset: 0x4 */
  86081. __IO uint16_t SEL3; /**< Crossbar A Select Register 3, offset: 0x6 */
  86082. __IO uint16_t SEL4; /**< Crossbar A Select Register 4, offset: 0x8 */
  86083. __IO uint16_t SEL5; /**< Crossbar A Select Register 5, offset: 0xA */
  86084. __IO uint16_t SEL6; /**< Crossbar A Select Register 6, offset: 0xC */
  86085. __IO uint16_t SEL7; /**< Crossbar A Select Register 7, offset: 0xE */
  86086. __IO uint16_t SEL8; /**< Crossbar A Select Register 8, offset: 0x10 */
  86087. __IO uint16_t SEL9; /**< Crossbar A Select Register 9, offset: 0x12 */
  86088. __IO uint16_t SEL10; /**< Crossbar A Select Register 10, offset: 0x14 */
  86089. __IO uint16_t SEL11; /**< Crossbar A Select Register 11, offset: 0x16 */
  86090. __IO uint16_t SEL12; /**< Crossbar A Select Register 12, offset: 0x18 */
  86091. __IO uint16_t SEL13; /**< Crossbar A Select Register 13, offset: 0x1A */
  86092. __IO uint16_t SEL14; /**< Crossbar A Select Register 14, offset: 0x1C */
  86093. __IO uint16_t SEL15; /**< Crossbar A Select Register 15, offset: 0x1E */
  86094. __IO uint16_t SEL16; /**< Crossbar A Select Register 16, offset: 0x20 */
  86095. __IO uint16_t SEL17; /**< Crossbar A Select Register 17, offset: 0x22 */
  86096. __IO uint16_t SEL18; /**< Crossbar A Select Register 18, offset: 0x24 */
  86097. __IO uint16_t SEL19; /**< Crossbar A Select Register 19, offset: 0x26 */
  86098. __IO uint16_t SEL20; /**< Crossbar A Select Register 20, offset: 0x28 */
  86099. __IO uint16_t SEL21; /**< Crossbar A Select Register 21, offset: 0x2A */
  86100. __IO uint16_t SEL22; /**< Crossbar A Select Register 22, offset: 0x2C */
  86101. __IO uint16_t SEL23; /**< Crossbar A Select Register 23, offset: 0x2E */
  86102. __IO uint16_t SEL24; /**< Crossbar A Select Register 24, offset: 0x30 */
  86103. __IO uint16_t SEL25; /**< Crossbar A Select Register 25, offset: 0x32 */
  86104. __IO uint16_t SEL26; /**< Crossbar A Select Register 26, offset: 0x34 */
  86105. __IO uint16_t SEL27; /**< Crossbar A Select Register 27, offset: 0x36 */
  86106. __IO uint16_t SEL28; /**< Crossbar A Select Register 28, offset: 0x38 */
  86107. __IO uint16_t SEL29; /**< Crossbar A Select Register 29, offset: 0x3A */
  86108. __IO uint16_t SEL30; /**< Crossbar A Select Register 30, offset: 0x3C */
  86109. __IO uint16_t SEL31; /**< Crossbar A Select Register 31, offset: 0x3E */
  86110. __IO uint16_t SEL32; /**< Crossbar A Select Register 32, offset: 0x40 */
  86111. __IO uint16_t SEL33; /**< Crossbar A Select Register 33, offset: 0x42 */
  86112. __IO uint16_t SEL34; /**< Crossbar A Select Register 34, offset: 0x44 */
  86113. __IO uint16_t SEL35; /**< Crossbar A Select Register 35, offset: 0x46 */
  86114. __IO uint16_t SEL36; /**< Crossbar A Select Register 36, offset: 0x48 */
  86115. __IO uint16_t SEL37; /**< Crossbar A Select Register 37, offset: 0x4A */
  86116. __IO uint16_t SEL38; /**< Crossbar A Select Register 38, offset: 0x4C */
  86117. __IO uint16_t SEL39; /**< Crossbar A Select Register 39, offset: 0x4E */
  86118. __IO uint16_t SEL40; /**< Crossbar A Select Register 40, offset: 0x50 */
  86119. __IO uint16_t SEL41; /**< Crossbar A Select Register 41, offset: 0x52 */
  86120. __IO uint16_t SEL42; /**< Crossbar A Select Register 42, offset: 0x54 */
  86121. __IO uint16_t SEL43; /**< Crossbar A Select Register 43, offset: 0x56 */
  86122. __IO uint16_t SEL44; /**< Crossbar A Select Register 44, offset: 0x58 */
  86123. __IO uint16_t SEL45; /**< Crossbar A Select Register 45, offset: 0x5A */
  86124. __IO uint16_t SEL46; /**< Crossbar A Select Register 46, offset: 0x5C */
  86125. __IO uint16_t SEL47; /**< Crossbar A Select Register 47, offset: 0x5E */
  86126. __IO uint16_t SEL48; /**< Crossbar A Select Register 48, offset: 0x60 */
  86127. __IO uint16_t SEL49; /**< Crossbar A Select Register 49, offset: 0x62 */
  86128. __IO uint16_t SEL50; /**< Crossbar A Select Register 50, offset: 0x64 */
  86129. __IO uint16_t SEL51; /**< Crossbar A Select Register 51, offset: 0x66 */
  86130. __IO uint16_t SEL52; /**< Crossbar A Select Register 52, offset: 0x68 */
  86131. __IO uint16_t SEL53; /**< Crossbar A Select Register 53, offset: 0x6A */
  86132. __IO uint16_t SEL54; /**< Crossbar A Select Register 54, offset: 0x6C */
  86133. __IO uint16_t SEL55; /**< Crossbar A Select Register 55, offset: 0x6E */
  86134. __IO uint16_t SEL56; /**< Crossbar A Select Register 56, offset: 0x70 */
  86135. __IO uint16_t SEL57; /**< Crossbar A Select Register 57, offset: 0x72 */
  86136. __IO uint16_t SEL58; /**< Crossbar A Select Register 58, offset: 0x74 */
  86137. __IO uint16_t SEL59; /**< Crossbar A Select Register 59, offset: 0x76 */
  86138. __IO uint16_t SEL60; /**< Crossbar A Select Register 60, offset: 0x78 */
  86139. __IO uint16_t SEL61; /**< Crossbar A Select Register 61, offset: 0x7A */
  86140. __IO uint16_t SEL62; /**< Crossbar A Select Register 62, offset: 0x7C */
  86141. __IO uint16_t SEL63; /**< Crossbar A Select Register 63, offset: 0x7E */
  86142. __IO uint16_t SEL64; /**< Crossbar A Select Register 64, offset: 0x80 */
  86143. __IO uint16_t SEL65; /**< Crossbar A Select Register 65, offset: 0x82 */
  86144. __IO uint16_t SEL66; /**< Crossbar A Select Register 66, offset: 0x84 */
  86145. __IO uint16_t SEL67; /**< Crossbar A Select Register 67, offset: 0x86 */
  86146. __IO uint16_t SEL68; /**< Crossbar A Select Register 68, offset: 0x88 */
  86147. __IO uint16_t SEL69; /**< Crossbar A Select Register 69, offset: 0x8A */
  86148. __IO uint16_t SEL70; /**< Crossbar A Select Register 70, offset: 0x8C */
  86149. __IO uint16_t SEL71; /**< Crossbar A Select Register 71, offset: 0x8E */
  86150. __IO uint16_t SEL72; /**< Crossbar A Select Register 72, offset: 0x90 */
  86151. __IO uint16_t SEL73; /**< Crossbar A Select Register 73, offset: 0x92 */
  86152. __IO uint16_t SEL74; /**< Crossbar A Select Register 74, offset: 0x94 */
  86153. __IO uint16_t SEL75; /**< Crossbar A Select Register 75, offset: 0x96 */
  86154. __IO uint16_t SEL76; /**< Crossbar A Select Register 76, offset: 0x98 */
  86155. __IO uint16_t SEL77; /**< Crossbar A Select Register 77, offset: 0x9A */
  86156. __IO uint16_t SEL78; /**< Crossbar A Select Register 78, offset: 0x9C */
  86157. __IO uint16_t SEL79; /**< Crossbar A Select Register 79, offset: 0x9E */
  86158. __IO uint16_t SEL80; /**< Crossbar A Select Register 80, offset: 0xA0 */
  86159. __IO uint16_t SEL81; /**< Crossbar A Select Register 81, offset: 0xA2 */
  86160. __IO uint16_t SEL82; /**< Crossbar A Select Register 82, offset: 0xA4 */
  86161. __IO uint16_t SEL83; /**< Crossbar A Select Register 83, offset: 0xA6 */
  86162. __IO uint16_t SEL84; /**< Crossbar A Select Register 84, offset: 0xA8 */
  86163. __IO uint16_t SEL85; /**< Crossbar A Select Register 85, offset: 0xAA */
  86164. __IO uint16_t SEL86; /**< Crossbar A Select Register 86, offset: 0xAC */
  86165. __IO uint16_t SEL87; /**< Crossbar A Select Register 87, offset: 0xAE */
  86166. __IO uint16_t CTRL0; /**< Crossbar A Control Register 0, offset: 0xB0 */
  86167. __IO uint16_t CTRL1; /**< Crossbar A Control Register 1, offset: 0xB2 */
  86168. } XBARA_Type;
  86169. /* ----------------------------------------------------------------------------
  86170. -- XBARA Register Masks
  86171. ---------------------------------------------------------------------------- */
  86172. /*!
  86173. * @addtogroup XBARA_Register_Masks XBARA Register Masks
  86174. * @{
  86175. */
  86176. /*! @name SEL0 - Crossbar A Select Register 0 */
  86177. /*! @{ */
  86178. #define XBARA_SEL0_SEL0_MASK (0xFFU)
  86179. #define XBARA_SEL0_SEL0_SHIFT (0U)
  86180. #define XBARA_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL0_SHIFT)) & XBARA_SEL0_SEL0_MASK)
  86181. #define XBARA_SEL0_SEL1_MASK (0xFF00U)
  86182. #define XBARA_SEL0_SEL1_SHIFT (8U)
  86183. #define XBARA_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL0_SEL1_SHIFT)) & XBARA_SEL0_SEL1_MASK)
  86184. /*! @} */
  86185. /*! @name SEL1 - Crossbar A Select Register 1 */
  86186. /*! @{ */
  86187. #define XBARA_SEL1_SEL2_MASK (0xFFU)
  86188. #define XBARA_SEL1_SEL2_SHIFT (0U)
  86189. #define XBARA_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL2_SHIFT)) & XBARA_SEL1_SEL2_MASK)
  86190. #define XBARA_SEL1_SEL3_MASK (0xFF00U)
  86191. #define XBARA_SEL1_SEL3_SHIFT (8U)
  86192. #define XBARA_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL1_SEL3_SHIFT)) & XBARA_SEL1_SEL3_MASK)
  86193. /*! @} */
  86194. /*! @name SEL2 - Crossbar A Select Register 2 */
  86195. /*! @{ */
  86196. #define XBARA_SEL2_SEL4_MASK (0xFFU)
  86197. #define XBARA_SEL2_SEL4_SHIFT (0U)
  86198. #define XBARA_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL4_SHIFT)) & XBARA_SEL2_SEL4_MASK)
  86199. #define XBARA_SEL2_SEL5_MASK (0xFF00U)
  86200. #define XBARA_SEL2_SEL5_SHIFT (8U)
  86201. #define XBARA_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL2_SEL5_SHIFT)) & XBARA_SEL2_SEL5_MASK)
  86202. /*! @} */
  86203. /*! @name SEL3 - Crossbar A Select Register 3 */
  86204. /*! @{ */
  86205. #define XBARA_SEL3_SEL6_MASK (0xFFU)
  86206. #define XBARA_SEL3_SEL6_SHIFT (0U)
  86207. #define XBARA_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL6_SHIFT)) & XBARA_SEL3_SEL6_MASK)
  86208. #define XBARA_SEL3_SEL7_MASK (0xFF00U)
  86209. #define XBARA_SEL3_SEL7_SHIFT (8U)
  86210. #define XBARA_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL3_SEL7_SHIFT)) & XBARA_SEL3_SEL7_MASK)
  86211. /*! @} */
  86212. /*! @name SEL4 - Crossbar A Select Register 4 */
  86213. /*! @{ */
  86214. #define XBARA_SEL4_SEL8_MASK (0xFFU)
  86215. #define XBARA_SEL4_SEL8_SHIFT (0U)
  86216. #define XBARA_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL8_SHIFT)) & XBARA_SEL4_SEL8_MASK)
  86217. #define XBARA_SEL4_SEL9_MASK (0xFF00U)
  86218. #define XBARA_SEL4_SEL9_SHIFT (8U)
  86219. #define XBARA_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL4_SEL9_SHIFT)) & XBARA_SEL4_SEL9_MASK)
  86220. /*! @} */
  86221. /*! @name SEL5 - Crossbar A Select Register 5 */
  86222. /*! @{ */
  86223. #define XBARA_SEL5_SEL10_MASK (0xFFU)
  86224. #define XBARA_SEL5_SEL10_SHIFT (0U)
  86225. #define XBARA_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL10_SHIFT)) & XBARA_SEL5_SEL10_MASK)
  86226. #define XBARA_SEL5_SEL11_MASK (0xFF00U)
  86227. #define XBARA_SEL5_SEL11_SHIFT (8U)
  86228. #define XBARA_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL5_SEL11_SHIFT)) & XBARA_SEL5_SEL11_MASK)
  86229. /*! @} */
  86230. /*! @name SEL6 - Crossbar A Select Register 6 */
  86231. /*! @{ */
  86232. #define XBARA_SEL6_SEL12_MASK (0xFFU)
  86233. #define XBARA_SEL6_SEL12_SHIFT (0U)
  86234. #define XBARA_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL12_SHIFT)) & XBARA_SEL6_SEL12_MASK)
  86235. #define XBARA_SEL6_SEL13_MASK (0xFF00U)
  86236. #define XBARA_SEL6_SEL13_SHIFT (8U)
  86237. #define XBARA_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL6_SEL13_SHIFT)) & XBARA_SEL6_SEL13_MASK)
  86238. /*! @} */
  86239. /*! @name SEL7 - Crossbar A Select Register 7 */
  86240. /*! @{ */
  86241. #define XBARA_SEL7_SEL14_MASK (0xFFU)
  86242. #define XBARA_SEL7_SEL14_SHIFT (0U)
  86243. #define XBARA_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL14_SHIFT)) & XBARA_SEL7_SEL14_MASK)
  86244. #define XBARA_SEL7_SEL15_MASK (0xFF00U)
  86245. #define XBARA_SEL7_SEL15_SHIFT (8U)
  86246. #define XBARA_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL7_SEL15_SHIFT)) & XBARA_SEL7_SEL15_MASK)
  86247. /*! @} */
  86248. /*! @name SEL8 - Crossbar A Select Register 8 */
  86249. /*! @{ */
  86250. #define XBARA_SEL8_SEL16_MASK (0xFFU)
  86251. #define XBARA_SEL8_SEL16_SHIFT (0U)
  86252. #define XBARA_SEL8_SEL16(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL16_SHIFT)) & XBARA_SEL8_SEL16_MASK)
  86253. #define XBARA_SEL8_SEL17_MASK (0xFF00U)
  86254. #define XBARA_SEL8_SEL17_SHIFT (8U)
  86255. #define XBARA_SEL8_SEL17(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL8_SEL17_SHIFT)) & XBARA_SEL8_SEL17_MASK)
  86256. /*! @} */
  86257. /*! @name SEL9 - Crossbar A Select Register 9 */
  86258. /*! @{ */
  86259. #define XBARA_SEL9_SEL18_MASK (0xFFU)
  86260. #define XBARA_SEL9_SEL18_SHIFT (0U)
  86261. #define XBARA_SEL9_SEL18(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL18_SHIFT)) & XBARA_SEL9_SEL18_MASK)
  86262. #define XBARA_SEL9_SEL19_MASK (0xFF00U)
  86263. #define XBARA_SEL9_SEL19_SHIFT (8U)
  86264. #define XBARA_SEL9_SEL19(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL9_SEL19_SHIFT)) & XBARA_SEL9_SEL19_MASK)
  86265. /*! @} */
  86266. /*! @name SEL10 - Crossbar A Select Register 10 */
  86267. /*! @{ */
  86268. #define XBARA_SEL10_SEL20_MASK (0xFFU)
  86269. #define XBARA_SEL10_SEL20_SHIFT (0U)
  86270. #define XBARA_SEL10_SEL20(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL20_SHIFT)) & XBARA_SEL10_SEL20_MASK)
  86271. #define XBARA_SEL10_SEL21_MASK (0xFF00U)
  86272. #define XBARA_SEL10_SEL21_SHIFT (8U)
  86273. #define XBARA_SEL10_SEL21(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL10_SEL21_SHIFT)) & XBARA_SEL10_SEL21_MASK)
  86274. /*! @} */
  86275. /*! @name SEL11 - Crossbar A Select Register 11 */
  86276. /*! @{ */
  86277. #define XBARA_SEL11_SEL22_MASK (0xFFU)
  86278. #define XBARA_SEL11_SEL22_SHIFT (0U)
  86279. #define XBARA_SEL11_SEL22(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL22_SHIFT)) & XBARA_SEL11_SEL22_MASK)
  86280. #define XBARA_SEL11_SEL23_MASK (0xFF00U)
  86281. #define XBARA_SEL11_SEL23_SHIFT (8U)
  86282. #define XBARA_SEL11_SEL23(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL11_SEL23_SHIFT)) & XBARA_SEL11_SEL23_MASK)
  86283. /*! @} */
  86284. /*! @name SEL12 - Crossbar A Select Register 12 */
  86285. /*! @{ */
  86286. #define XBARA_SEL12_SEL24_MASK (0xFFU)
  86287. #define XBARA_SEL12_SEL24_SHIFT (0U)
  86288. #define XBARA_SEL12_SEL24(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL24_SHIFT)) & XBARA_SEL12_SEL24_MASK)
  86289. #define XBARA_SEL12_SEL25_MASK (0xFF00U)
  86290. #define XBARA_SEL12_SEL25_SHIFT (8U)
  86291. #define XBARA_SEL12_SEL25(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL12_SEL25_SHIFT)) & XBARA_SEL12_SEL25_MASK)
  86292. /*! @} */
  86293. /*! @name SEL13 - Crossbar A Select Register 13 */
  86294. /*! @{ */
  86295. #define XBARA_SEL13_SEL26_MASK (0xFFU)
  86296. #define XBARA_SEL13_SEL26_SHIFT (0U)
  86297. #define XBARA_SEL13_SEL26(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL26_SHIFT)) & XBARA_SEL13_SEL26_MASK)
  86298. #define XBARA_SEL13_SEL27_MASK (0xFF00U)
  86299. #define XBARA_SEL13_SEL27_SHIFT (8U)
  86300. #define XBARA_SEL13_SEL27(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL13_SEL27_SHIFT)) & XBARA_SEL13_SEL27_MASK)
  86301. /*! @} */
  86302. /*! @name SEL14 - Crossbar A Select Register 14 */
  86303. /*! @{ */
  86304. #define XBARA_SEL14_SEL28_MASK (0xFFU)
  86305. #define XBARA_SEL14_SEL28_SHIFT (0U)
  86306. #define XBARA_SEL14_SEL28(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL28_SHIFT)) & XBARA_SEL14_SEL28_MASK)
  86307. #define XBARA_SEL14_SEL29_MASK (0xFF00U)
  86308. #define XBARA_SEL14_SEL29_SHIFT (8U)
  86309. #define XBARA_SEL14_SEL29(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL14_SEL29_SHIFT)) & XBARA_SEL14_SEL29_MASK)
  86310. /*! @} */
  86311. /*! @name SEL15 - Crossbar A Select Register 15 */
  86312. /*! @{ */
  86313. #define XBARA_SEL15_SEL30_MASK (0xFFU)
  86314. #define XBARA_SEL15_SEL30_SHIFT (0U)
  86315. #define XBARA_SEL15_SEL30(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL30_SHIFT)) & XBARA_SEL15_SEL30_MASK)
  86316. #define XBARA_SEL15_SEL31_MASK (0xFF00U)
  86317. #define XBARA_SEL15_SEL31_SHIFT (8U)
  86318. #define XBARA_SEL15_SEL31(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL15_SEL31_SHIFT)) & XBARA_SEL15_SEL31_MASK)
  86319. /*! @} */
  86320. /*! @name SEL16 - Crossbar A Select Register 16 */
  86321. /*! @{ */
  86322. #define XBARA_SEL16_SEL32_MASK (0xFFU)
  86323. #define XBARA_SEL16_SEL32_SHIFT (0U)
  86324. #define XBARA_SEL16_SEL32(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL32_SHIFT)) & XBARA_SEL16_SEL32_MASK)
  86325. #define XBARA_SEL16_SEL33_MASK (0xFF00U)
  86326. #define XBARA_SEL16_SEL33_SHIFT (8U)
  86327. #define XBARA_SEL16_SEL33(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL16_SEL33_SHIFT)) & XBARA_SEL16_SEL33_MASK)
  86328. /*! @} */
  86329. /*! @name SEL17 - Crossbar A Select Register 17 */
  86330. /*! @{ */
  86331. #define XBARA_SEL17_SEL34_MASK (0xFFU)
  86332. #define XBARA_SEL17_SEL34_SHIFT (0U)
  86333. #define XBARA_SEL17_SEL34(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL34_SHIFT)) & XBARA_SEL17_SEL34_MASK)
  86334. #define XBARA_SEL17_SEL35_MASK (0xFF00U)
  86335. #define XBARA_SEL17_SEL35_SHIFT (8U)
  86336. #define XBARA_SEL17_SEL35(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL17_SEL35_SHIFT)) & XBARA_SEL17_SEL35_MASK)
  86337. /*! @} */
  86338. /*! @name SEL18 - Crossbar A Select Register 18 */
  86339. /*! @{ */
  86340. #define XBARA_SEL18_SEL36_MASK (0xFFU)
  86341. #define XBARA_SEL18_SEL36_SHIFT (0U)
  86342. #define XBARA_SEL18_SEL36(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL36_SHIFT)) & XBARA_SEL18_SEL36_MASK)
  86343. #define XBARA_SEL18_SEL37_MASK (0xFF00U)
  86344. #define XBARA_SEL18_SEL37_SHIFT (8U)
  86345. #define XBARA_SEL18_SEL37(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL18_SEL37_SHIFT)) & XBARA_SEL18_SEL37_MASK)
  86346. /*! @} */
  86347. /*! @name SEL19 - Crossbar A Select Register 19 */
  86348. /*! @{ */
  86349. #define XBARA_SEL19_SEL38_MASK (0xFFU)
  86350. #define XBARA_SEL19_SEL38_SHIFT (0U)
  86351. #define XBARA_SEL19_SEL38(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL38_SHIFT)) & XBARA_SEL19_SEL38_MASK)
  86352. #define XBARA_SEL19_SEL39_MASK (0xFF00U)
  86353. #define XBARA_SEL19_SEL39_SHIFT (8U)
  86354. #define XBARA_SEL19_SEL39(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL19_SEL39_SHIFT)) & XBARA_SEL19_SEL39_MASK)
  86355. /*! @} */
  86356. /*! @name SEL20 - Crossbar A Select Register 20 */
  86357. /*! @{ */
  86358. #define XBARA_SEL20_SEL40_MASK (0xFFU)
  86359. #define XBARA_SEL20_SEL40_SHIFT (0U)
  86360. #define XBARA_SEL20_SEL40(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL40_SHIFT)) & XBARA_SEL20_SEL40_MASK)
  86361. #define XBARA_SEL20_SEL41_MASK (0xFF00U)
  86362. #define XBARA_SEL20_SEL41_SHIFT (8U)
  86363. #define XBARA_SEL20_SEL41(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL20_SEL41_SHIFT)) & XBARA_SEL20_SEL41_MASK)
  86364. /*! @} */
  86365. /*! @name SEL21 - Crossbar A Select Register 21 */
  86366. /*! @{ */
  86367. #define XBARA_SEL21_SEL42_MASK (0xFFU)
  86368. #define XBARA_SEL21_SEL42_SHIFT (0U)
  86369. #define XBARA_SEL21_SEL42(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL42_SHIFT)) & XBARA_SEL21_SEL42_MASK)
  86370. #define XBARA_SEL21_SEL43_MASK (0xFF00U)
  86371. #define XBARA_SEL21_SEL43_SHIFT (8U)
  86372. #define XBARA_SEL21_SEL43(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL21_SEL43_SHIFT)) & XBARA_SEL21_SEL43_MASK)
  86373. /*! @} */
  86374. /*! @name SEL22 - Crossbar A Select Register 22 */
  86375. /*! @{ */
  86376. #define XBARA_SEL22_SEL44_MASK (0xFFU)
  86377. #define XBARA_SEL22_SEL44_SHIFT (0U)
  86378. #define XBARA_SEL22_SEL44(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL44_SHIFT)) & XBARA_SEL22_SEL44_MASK)
  86379. #define XBARA_SEL22_SEL45_MASK (0xFF00U)
  86380. #define XBARA_SEL22_SEL45_SHIFT (8U)
  86381. #define XBARA_SEL22_SEL45(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL22_SEL45_SHIFT)) & XBARA_SEL22_SEL45_MASK)
  86382. /*! @} */
  86383. /*! @name SEL23 - Crossbar A Select Register 23 */
  86384. /*! @{ */
  86385. #define XBARA_SEL23_SEL46_MASK (0xFFU)
  86386. #define XBARA_SEL23_SEL46_SHIFT (0U)
  86387. #define XBARA_SEL23_SEL46(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL46_SHIFT)) & XBARA_SEL23_SEL46_MASK)
  86388. #define XBARA_SEL23_SEL47_MASK (0xFF00U)
  86389. #define XBARA_SEL23_SEL47_SHIFT (8U)
  86390. #define XBARA_SEL23_SEL47(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL23_SEL47_SHIFT)) & XBARA_SEL23_SEL47_MASK)
  86391. /*! @} */
  86392. /*! @name SEL24 - Crossbar A Select Register 24 */
  86393. /*! @{ */
  86394. #define XBARA_SEL24_SEL48_MASK (0xFFU)
  86395. #define XBARA_SEL24_SEL48_SHIFT (0U)
  86396. #define XBARA_SEL24_SEL48(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL48_SHIFT)) & XBARA_SEL24_SEL48_MASK)
  86397. #define XBARA_SEL24_SEL49_MASK (0xFF00U)
  86398. #define XBARA_SEL24_SEL49_SHIFT (8U)
  86399. #define XBARA_SEL24_SEL49(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL24_SEL49_SHIFT)) & XBARA_SEL24_SEL49_MASK)
  86400. /*! @} */
  86401. /*! @name SEL25 - Crossbar A Select Register 25 */
  86402. /*! @{ */
  86403. #define XBARA_SEL25_SEL50_MASK (0xFFU)
  86404. #define XBARA_SEL25_SEL50_SHIFT (0U)
  86405. #define XBARA_SEL25_SEL50(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL50_SHIFT)) & XBARA_SEL25_SEL50_MASK)
  86406. #define XBARA_SEL25_SEL51_MASK (0xFF00U)
  86407. #define XBARA_SEL25_SEL51_SHIFT (8U)
  86408. #define XBARA_SEL25_SEL51(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL25_SEL51_SHIFT)) & XBARA_SEL25_SEL51_MASK)
  86409. /*! @} */
  86410. /*! @name SEL26 - Crossbar A Select Register 26 */
  86411. /*! @{ */
  86412. #define XBARA_SEL26_SEL52_MASK (0xFFU)
  86413. #define XBARA_SEL26_SEL52_SHIFT (0U)
  86414. #define XBARA_SEL26_SEL52(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL52_SHIFT)) & XBARA_SEL26_SEL52_MASK)
  86415. #define XBARA_SEL26_SEL53_MASK (0xFF00U)
  86416. #define XBARA_SEL26_SEL53_SHIFT (8U)
  86417. #define XBARA_SEL26_SEL53(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL26_SEL53_SHIFT)) & XBARA_SEL26_SEL53_MASK)
  86418. /*! @} */
  86419. /*! @name SEL27 - Crossbar A Select Register 27 */
  86420. /*! @{ */
  86421. #define XBARA_SEL27_SEL54_MASK (0xFFU)
  86422. #define XBARA_SEL27_SEL54_SHIFT (0U)
  86423. #define XBARA_SEL27_SEL54(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL54_SHIFT)) & XBARA_SEL27_SEL54_MASK)
  86424. #define XBARA_SEL27_SEL55_MASK (0xFF00U)
  86425. #define XBARA_SEL27_SEL55_SHIFT (8U)
  86426. #define XBARA_SEL27_SEL55(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL27_SEL55_SHIFT)) & XBARA_SEL27_SEL55_MASK)
  86427. /*! @} */
  86428. /*! @name SEL28 - Crossbar A Select Register 28 */
  86429. /*! @{ */
  86430. #define XBARA_SEL28_SEL56_MASK (0xFFU)
  86431. #define XBARA_SEL28_SEL56_SHIFT (0U)
  86432. #define XBARA_SEL28_SEL56(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL56_SHIFT)) & XBARA_SEL28_SEL56_MASK)
  86433. #define XBARA_SEL28_SEL57_MASK (0xFF00U)
  86434. #define XBARA_SEL28_SEL57_SHIFT (8U)
  86435. #define XBARA_SEL28_SEL57(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL28_SEL57_SHIFT)) & XBARA_SEL28_SEL57_MASK)
  86436. /*! @} */
  86437. /*! @name SEL29 - Crossbar A Select Register 29 */
  86438. /*! @{ */
  86439. #define XBARA_SEL29_SEL58_MASK (0xFFU)
  86440. #define XBARA_SEL29_SEL58_SHIFT (0U)
  86441. #define XBARA_SEL29_SEL58(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL58_SHIFT)) & XBARA_SEL29_SEL58_MASK)
  86442. #define XBARA_SEL29_SEL59_MASK (0xFF00U)
  86443. #define XBARA_SEL29_SEL59_SHIFT (8U)
  86444. #define XBARA_SEL29_SEL59(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL29_SEL59_SHIFT)) & XBARA_SEL29_SEL59_MASK)
  86445. /*! @} */
  86446. /*! @name SEL30 - Crossbar A Select Register 30 */
  86447. /*! @{ */
  86448. #define XBARA_SEL30_SEL60_MASK (0xFFU)
  86449. #define XBARA_SEL30_SEL60_SHIFT (0U)
  86450. #define XBARA_SEL30_SEL60(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL60_SHIFT)) & XBARA_SEL30_SEL60_MASK)
  86451. #define XBARA_SEL30_SEL61_MASK (0xFF00U)
  86452. #define XBARA_SEL30_SEL61_SHIFT (8U)
  86453. #define XBARA_SEL30_SEL61(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL30_SEL61_SHIFT)) & XBARA_SEL30_SEL61_MASK)
  86454. /*! @} */
  86455. /*! @name SEL31 - Crossbar A Select Register 31 */
  86456. /*! @{ */
  86457. #define XBARA_SEL31_SEL62_MASK (0xFFU)
  86458. #define XBARA_SEL31_SEL62_SHIFT (0U)
  86459. #define XBARA_SEL31_SEL62(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL62_SHIFT)) & XBARA_SEL31_SEL62_MASK)
  86460. #define XBARA_SEL31_SEL63_MASK (0xFF00U)
  86461. #define XBARA_SEL31_SEL63_SHIFT (8U)
  86462. #define XBARA_SEL31_SEL63(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL31_SEL63_SHIFT)) & XBARA_SEL31_SEL63_MASK)
  86463. /*! @} */
  86464. /*! @name SEL32 - Crossbar A Select Register 32 */
  86465. /*! @{ */
  86466. #define XBARA_SEL32_SEL64_MASK (0xFFU)
  86467. #define XBARA_SEL32_SEL64_SHIFT (0U)
  86468. #define XBARA_SEL32_SEL64(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL64_SHIFT)) & XBARA_SEL32_SEL64_MASK)
  86469. #define XBARA_SEL32_SEL65_MASK (0xFF00U)
  86470. #define XBARA_SEL32_SEL65_SHIFT (8U)
  86471. #define XBARA_SEL32_SEL65(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL32_SEL65_SHIFT)) & XBARA_SEL32_SEL65_MASK)
  86472. /*! @} */
  86473. /*! @name SEL33 - Crossbar A Select Register 33 */
  86474. /*! @{ */
  86475. #define XBARA_SEL33_SEL66_MASK (0xFFU)
  86476. #define XBARA_SEL33_SEL66_SHIFT (0U)
  86477. #define XBARA_SEL33_SEL66(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL66_SHIFT)) & XBARA_SEL33_SEL66_MASK)
  86478. #define XBARA_SEL33_SEL67_MASK (0xFF00U)
  86479. #define XBARA_SEL33_SEL67_SHIFT (8U)
  86480. #define XBARA_SEL33_SEL67(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL33_SEL67_SHIFT)) & XBARA_SEL33_SEL67_MASK)
  86481. /*! @} */
  86482. /*! @name SEL34 - Crossbar A Select Register 34 */
  86483. /*! @{ */
  86484. #define XBARA_SEL34_SEL68_MASK (0xFFU)
  86485. #define XBARA_SEL34_SEL68_SHIFT (0U)
  86486. #define XBARA_SEL34_SEL68(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL68_SHIFT)) & XBARA_SEL34_SEL68_MASK)
  86487. #define XBARA_SEL34_SEL69_MASK (0xFF00U)
  86488. #define XBARA_SEL34_SEL69_SHIFT (8U)
  86489. #define XBARA_SEL34_SEL69(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL34_SEL69_SHIFT)) & XBARA_SEL34_SEL69_MASK)
  86490. /*! @} */
  86491. /*! @name SEL35 - Crossbar A Select Register 35 */
  86492. /*! @{ */
  86493. #define XBARA_SEL35_SEL70_MASK (0xFFU)
  86494. #define XBARA_SEL35_SEL70_SHIFT (0U)
  86495. #define XBARA_SEL35_SEL70(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL70_SHIFT)) & XBARA_SEL35_SEL70_MASK)
  86496. #define XBARA_SEL35_SEL71_MASK (0xFF00U)
  86497. #define XBARA_SEL35_SEL71_SHIFT (8U)
  86498. #define XBARA_SEL35_SEL71(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL35_SEL71_SHIFT)) & XBARA_SEL35_SEL71_MASK)
  86499. /*! @} */
  86500. /*! @name SEL36 - Crossbar A Select Register 36 */
  86501. /*! @{ */
  86502. #define XBARA_SEL36_SEL72_MASK (0xFFU)
  86503. #define XBARA_SEL36_SEL72_SHIFT (0U)
  86504. #define XBARA_SEL36_SEL72(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL72_SHIFT)) & XBARA_SEL36_SEL72_MASK)
  86505. #define XBARA_SEL36_SEL73_MASK (0xFF00U)
  86506. #define XBARA_SEL36_SEL73_SHIFT (8U)
  86507. #define XBARA_SEL36_SEL73(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL36_SEL73_SHIFT)) & XBARA_SEL36_SEL73_MASK)
  86508. /*! @} */
  86509. /*! @name SEL37 - Crossbar A Select Register 37 */
  86510. /*! @{ */
  86511. #define XBARA_SEL37_SEL74_MASK (0xFFU)
  86512. #define XBARA_SEL37_SEL74_SHIFT (0U)
  86513. #define XBARA_SEL37_SEL74(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL74_SHIFT)) & XBARA_SEL37_SEL74_MASK)
  86514. #define XBARA_SEL37_SEL75_MASK (0xFF00U)
  86515. #define XBARA_SEL37_SEL75_SHIFT (8U)
  86516. #define XBARA_SEL37_SEL75(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL37_SEL75_SHIFT)) & XBARA_SEL37_SEL75_MASK)
  86517. /*! @} */
  86518. /*! @name SEL38 - Crossbar A Select Register 38 */
  86519. /*! @{ */
  86520. #define XBARA_SEL38_SEL76_MASK (0xFFU)
  86521. #define XBARA_SEL38_SEL76_SHIFT (0U)
  86522. #define XBARA_SEL38_SEL76(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL76_SHIFT)) & XBARA_SEL38_SEL76_MASK)
  86523. #define XBARA_SEL38_SEL77_MASK (0xFF00U)
  86524. #define XBARA_SEL38_SEL77_SHIFT (8U)
  86525. #define XBARA_SEL38_SEL77(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL38_SEL77_SHIFT)) & XBARA_SEL38_SEL77_MASK)
  86526. /*! @} */
  86527. /*! @name SEL39 - Crossbar A Select Register 39 */
  86528. /*! @{ */
  86529. #define XBARA_SEL39_SEL78_MASK (0xFFU)
  86530. #define XBARA_SEL39_SEL78_SHIFT (0U)
  86531. #define XBARA_SEL39_SEL78(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL78_SHIFT)) & XBARA_SEL39_SEL78_MASK)
  86532. #define XBARA_SEL39_SEL79_MASK (0xFF00U)
  86533. #define XBARA_SEL39_SEL79_SHIFT (8U)
  86534. #define XBARA_SEL39_SEL79(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL39_SEL79_SHIFT)) & XBARA_SEL39_SEL79_MASK)
  86535. /*! @} */
  86536. /*! @name SEL40 - Crossbar A Select Register 40 */
  86537. /*! @{ */
  86538. #define XBARA_SEL40_SEL80_MASK (0xFFU)
  86539. #define XBARA_SEL40_SEL80_SHIFT (0U)
  86540. #define XBARA_SEL40_SEL80(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL80_SHIFT)) & XBARA_SEL40_SEL80_MASK)
  86541. #define XBARA_SEL40_SEL81_MASK (0xFF00U)
  86542. #define XBARA_SEL40_SEL81_SHIFT (8U)
  86543. #define XBARA_SEL40_SEL81(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL40_SEL81_SHIFT)) & XBARA_SEL40_SEL81_MASK)
  86544. /*! @} */
  86545. /*! @name SEL41 - Crossbar A Select Register 41 */
  86546. /*! @{ */
  86547. #define XBARA_SEL41_SEL82_MASK (0xFFU)
  86548. #define XBARA_SEL41_SEL82_SHIFT (0U)
  86549. #define XBARA_SEL41_SEL82(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL82_SHIFT)) & XBARA_SEL41_SEL82_MASK)
  86550. #define XBARA_SEL41_SEL83_MASK (0xFF00U)
  86551. #define XBARA_SEL41_SEL83_SHIFT (8U)
  86552. #define XBARA_SEL41_SEL83(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL41_SEL83_SHIFT)) & XBARA_SEL41_SEL83_MASK)
  86553. /*! @} */
  86554. /*! @name SEL42 - Crossbar A Select Register 42 */
  86555. /*! @{ */
  86556. #define XBARA_SEL42_SEL84_MASK (0xFFU)
  86557. #define XBARA_SEL42_SEL84_SHIFT (0U)
  86558. #define XBARA_SEL42_SEL84(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL84_SHIFT)) & XBARA_SEL42_SEL84_MASK)
  86559. #define XBARA_SEL42_SEL85_MASK (0xFF00U)
  86560. #define XBARA_SEL42_SEL85_SHIFT (8U)
  86561. #define XBARA_SEL42_SEL85(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL42_SEL85_SHIFT)) & XBARA_SEL42_SEL85_MASK)
  86562. /*! @} */
  86563. /*! @name SEL43 - Crossbar A Select Register 43 */
  86564. /*! @{ */
  86565. #define XBARA_SEL43_SEL86_MASK (0xFFU)
  86566. #define XBARA_SEL43_SEL86_SHIFT (0U)
  86567. #define XBARA_SEL43_SEL86(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL86_SHIFT)) & XBARA_SEL43_SEL86_MASK)
  86568. #define XBARA_SEL43_SEL87_MASK (0xFF00U)
  86569. #define XBARA_SEL43_SEL87_SHIFT (8U)
  86570. #define XBARA_SEL43_SEL87(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL43_SEL87_SHIFT)) & XBARA_SEL43_SEL87_MASK)
  86571. /*! @} */
  86572. /*! @name SEL44 - Crossbar A Select Register 44 */
  86573. /*! @{ */
  86574. #define XBARA_SEL44_SEL88_MASK (0xFFU)
  86575. #define XBARA_SEL44_SEL88_SHIFT (0U)
  86576. #define XBARA_SEL44_SEL88(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL88_SHIFT)) & XBARA_SEL44_SEL88_MASK)
  86577. #define XBARA_SEL44_SEL89_MASK (0xFF00U)
  86578. #define XBARA_SEL44_SEL89_SHIFT (8U)
  86579. #define XBARA_SEL44_SEL89(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL44_SEL89_SHIFT)) & XBARA_SEL44_SEL89_MASK)
  86580. /*! @} */
  86581. /*! @name SEL45 - Crossbar A Select Register 45 */
  86582. /*! @{ */
  86583. #define XBARA_SEL45_SEL90_MASK (0xFFU)
  86584. #define XBARA_SEL45_SEL90_SHIFT (0U)
  86585. #define XBARA_SEL45_SEL90(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL90_SHIFT)) & XBARA_SEL45_SEL90_MASK)
  86586. #define XBARA_SEL45_SEL91_MASK (0xFF00U)
  86587. #define XBARA_SEL45_SEL91_SHIFT (8U)
  86588. #define XBARA_SEL45_SEL91(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL45_SEL91_SHIFT)) & XBARA_SEL45_SEL91_MASK)
  86589. /*! @} */
  86590. /*! @name SEL46 - Crossbar A Select Register 46 */
  86591. /*! @{ */
  86592. #define XBARA_SEL46_SEL92_MASK (0xFFU)
  86593. #define XBARA_SEL46_SEL92_SHIFT (0U)
  86594. #define XBARA_SEL46_SEL92(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL92_SHIFT)) & XBARA_SEL46_SEL92_MASK)
  86595. #define XBARA_SEL46_SEL93_MASK (0xFF00U)
  86596. #define XBARA_SEL46_SEL93_SHIFT (8U)
  86597. #define XBARA_SEL46_SEL93(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL46_SEL93_SHIFT)) & XBARA_SEL46_SEL93_MASK)
  86598. /*! @} */
  86599. /*! @name SEL47 - Crossbar A Select Register 47 */
  86600. /*! @{ */
  86601. #define XBARA_SEL47_SEL94_MASK (0xFFU)
  86602. #define XBARA_SEL47_SEL94_SHIFT (0U)
  86603. #define XBARA_SEL47_SEL94(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL94_SHIFT)) & XBARA_SEL47_SEL94_MASK)
  86604. #define XBARA_SEL47_SEL95_MASK (0xFF00U)
  86605. #define XBARA_SEL47_SEL95_SHIFT (8U)
  86606. #define XBARA_SEL47_SEL95(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL47_SEL95_SHIFT)) & XBARA_SEL47_SEL95_MASK)
  86607. /*! @} */
  86608. /*! @name SEL48 - Crossbar A Select Register 48 */
  86609. /*! @{ */
  86610. #define XBARA_SEL48_SEL96_MASK (0xFFU)
  86611. #define XBARA_SEL48_SEL96_SHIFT (0U)
  86612. #define XBARA_SEL48_SEL96(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL96_SHIFT)) & XBARA_SEL48_SEL96_MASK)
  86613. #define XBARA_SEL48_SEL97_MASK (0xFF00U)
  86614. #define XBARA_SEL48_SEL97_SHIFT (8U)
  86615. #define XBARA_SEL48_SEL97(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL48_SEL97_SHIFT)) & XBARA_SEL48_SEL97_MASK)
  86616. /*! @} */
  86617. /*! @name SEL49 - Crossbar A Select Register 49 */
  86618. /*! @{ */
  86619. #define XBARA_SEL49_SEL98_MASK (0xFFU)
  86620. #define XBARA_SEL49_SEL98_SHIFT (0U)
  86621. #define XBARA_SEL49_SEL98(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL98_SHIFT)) & XBARA_SEL49_SEL98_MASK)
  86622. #define XBARA_SEL49_SEL99_MASK (0xFF00U)
  86623. #define XBARA_SEL49_SEL99_SHIFT (8U)
  86624. #define XBARA_SEL49_SEL99(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL49_SEL99_SHIFT)) & XBARA_SEL49_SEL99_MASK)
  86625. /*! @} */
  86626. /*! @name SEL50 - Crossbar A Select Register 50 */
  86627. /*! @{ */
  86628. #define XBARA_SEL50_SEL100_MASK (0xFFU)
  86629. #define XBARA_SEL50_SEL100_SHIFT (0U)
  86630. #define XBARA_SEL50_SEL100(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL100_SHIFT)) & XBARA_SEL50_SEL100_MASK)
  86631. #define XBARA_SEL50_SEL101_MASK (0xFF00U)
  86632. #define XBARA_SEL50_SEL101_SHIFT (8U)
  86633. #define XBARA_SEL50_SEL101(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL50_SEL101_SHIFT)) & XBARA_SEL50_SEL101_MASK)
  86634. /*! @} */
  86635. /*! @name SEL51 - Crossbar A Select Register 51 */
  86636. /*! @{ */
  86637. #define XBARA_SEL51_SEL102_MASK (0xFFU)
  86638. #define XBARA_SEL51_SEL102_SHIFT (0U)
  86639. #define XBARA_SEL51_SEL102(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL102_SHIFT)) & XBARA_SEL51_SEL102_MASK)
  86640. #define XBARA_SEL51_SEL103_MASK (0xFF00U)
  86641. #define XBARA_SEL51_SEL103_SHIFT (8U)
  86642. #define XBARA_SEL51_SEL103(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL51_SEL103_SHIFT)) & XBARA_SEL51_SEL103_MASK)
  86643. /*! @} */
  86644. /*! @name SEL52 - Crossbar A Select Register 52 */
  86645. /*! @{ */
  86646. #define XBARA_SEL52_SEL104_MASK (0xFFU)
  86647. #define XBARA_SEL52_SEL104_SHIFT (0U)
  86648. #define XBARA_SEL52_SEL104(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL104_SHIFT)) & XBARA_SEL52_SEL104_MASK)
  86649. #define XBARA_SEL52_SEL105_MASK (0xFF00U)
  86650. #define XBARA_SEL52_SEL105_SHIFT (8U)
  86651. #define XBARA_SEL52_SEL105(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL52_SEL105_SHIFT)) & XBARA_SEL52_SEL105_MASK)
  86652. /*! @} */
  86653. /*! @name SEL53 - Crossbar A Select Register 53 */
  86654. /*! @{ */
  86655. #define XBARA_SEL53_SEL106_MASK (0xFFU)
  86656. #define XBARA_SEL53_SEL106_SHIFT (0U)
  86657. #define XBARA_SEL53_SEL106(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL106_SHIFT)) & XBARA_SEL53_SEL106_MASK)
  86658. #define XBARA_SEL53_SEL107_MASK (0xFF00U)
  86659. #define XBARA_SEL53_SEL107_SHIFT (8U)
  86660. #define XBARA_SEL53_SEL107(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL53_SEL107_SHIFT)) & XBARA_SEL53_SEL107_MASK)
  86661. /*! @} */
  86662. /*! @name SEL54 - Crossbar A Select Register 54 */
  86663. /*! @{ */
  86664. #define XBARA_SEL54_SEL108_MASK (0xFFU)
  86665. #define XBARA_SEL54_SEL108_SHIFT (0U)
  86666. #define XBARA_SEL54_SEL108(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL108_SHIFT)) & XBARA_SEL54_SEL108_MASK)
  86667. #define XBARA_SEL54_SEL109_MASK (0xFF00U)
  86668. #define XBARA_SEL54_SEL109_SHIFT (8U)
  86669. #define XBARA_SEL54_SEL109(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL54_SEL109_SHIFT)) & XBARA_SEL54_SEL109_MASK)
  86670. /*! @} */
  86671. /*! @name SEL55 - Crossbar A Select Register 55 */
  86672. /*! @{ */
  86673. #define XBARA_SEL55_SEL110_MASK (0xFFU)
  86674. #define XBARA_SEL55_SEL110_SHIFT (0U)
  86675. #define XBARA_SEL55_SEL110(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL110_SHIFT)) & XBARA_SEL55_SEL110_MASK)
  86676. #define XBARA_SEL55_SEL111_MASK (0xFF00U)
  86677. #define XBARA_SEL55_SEL111_SHIFT (8U)
  86678. #define XBARA_SEL55_SEL111(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL55_SEL111_SHIFT)) & XBARA_SEL55_SEL111_MASK)
  86679. /*! @} */
  86680. /*! @name SEL56 - Crossbar A Select Register 56 */
  86681. /*! @{ */
  86682. #define XBARA_SEL56_SEL112_MASK (0xFFU)
  86683. #define XBARA_SEL56_SEL112_SHIFT (0U)
  86684. #define XBARA_SEL56_SEL112(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL112_SHIFT)) & XBARA_SEL56_SEL112_MASK)
  86685. #define XBARA_SEL56_SEL113_MASK (0xFF00U)
  86686. #define XBARA_SEL56_SEL113_SHIFT (8U)
  86687. #define XBARA_SEL56_SEL113(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL56_SEL113_SHIFT)) & XBARA_SEL56_SEL113_MASK)
  86688. /*! @} */
  86689. /*! @name SEL57 - Crossbar A Select Register 57 */
  86690. /*! @{ */
  86691. #define XBARA_SEL57_SEL114_MASK (0xFFU)
  86692. #define XBARA_SEL57_SEL114_SHIFT (0U)
  86693. #define XBARA_SEL57_SEL114(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL114_SHIFT)) & XBARA_SEL57_SEL114_MASK)
  86694. #define XBARA_SEL57_SEL115_MASK (0xFF00U)
  86695. #define XBARA_SEL57_SEL115_SHIFT (8U)
  86696. #define XBARA_SEL57_SEL115(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL57_SEL115_SHIFT)) & XBARA_SEL57_SEL115_MASK)
  86697. /*! @} */
  86698. /*! @name SEL58 - Crossbar A Select Register 58 */
  86699. /*! @{ */
  86700. #define XBARA_SEL58_SEL116_MASK (0xFFU)
  86701. #define XBARA_SEL58_SEL116_SHIFT (0U)
  86702. #define XBARA_SEL58_SEL116(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL116_SHIFT)) & XBARA_SEL58_SEL116_MASK)
  86703. #define XBARA_SEL58_SEL117_MASK (0xFF00U)
  86704. #define XBARA_SEL58_SEL117_SHIFT (8U)
  86705. #define XBARA_SEL58_SEL117(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL58_SEL117_SHIFT)) & XBARA_SEL58_SEL117_MASK)
  86706. /*! @} */
  86707. /*! @name SEL59 - Crossbar A Select Register 59 */
  86708. /*! @{ */
  86709. #define XBARA_SEL59_SEL118_MASK (0xFFU)
  86710. #define XBARA_SEL59_SEL118_SHIFT (0U)
  86711. #define XBARA_SEL59_SEL118(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL118_SHIFT)) & XBARA_SEL59_SEL118_MASK)
  86712. #define XBARA_SEL59_SEL119_MASK (0xFF00U)
  86713. #define XBARA_SEL59_SEL119_SHIFT (8U)
  86714. #define XBARA_SEL59_SEL119(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL59_SEL119_SHIFT)) & XBARA_SEL59_SEL119_MASK)
  86715. /*! @} */
  86716. /*! @name SEL60 - Crossbar A Select Register 60 */
  86717. /*! @{ */
  86718. #define XBARA_SEL60_SEL120_MASK (0xFFU)
  86719. #define XBARA_SEL60_SEL120_SHIFT (0U)
  86720. #define XBARA_SEL60_SEL120(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL120_SHIFT)) & XBARA_SEL60_SEL120_MASK)
  86721. #define XBARA_SEL60_SEL121_MASK (0xFF00U)
  86722. #define XBARA_SEL60_SEL121_SHIFT (8U)
  86723. #define XBARA_SEL60_SEL121(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL60_SEL121_SHIFT)) & XBARA_SEL60_SEL121_MASK)
  86724. /*! @} */
  86725. /*! @name SEL61 - Crossbar A Select Register 61 */
  86726. /*! @{ */
  86727. #define XBARA_SEL61_SEL122_MASK (0xFFU)
  86728. #define XBARA_SEL61_SEL122_SHIFT (0U)
  86729. #define XBARA_SEL61_SEL122(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL122_SHIFT)) & XBARA_SEL61_SEL122_MASK)
  86730. #define XBARA_SEL61_SEL123_MASK (0xFF00U)
  86731. #define XBARA_SEL61_SEL123_SHIFT (8U)
  86732. #define XBARA_SEL61_SEL123(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL61_SEL123_SHIFT)) & XBARA_SEL61_SEL123_MASK)
  86733. /*! @} */
  86734. /*! @name SEL62 - Crossbar A Select Register 62 */
  86735. /*! @{ */
  86736. #define XBARA_SEL62_SEL124_MASK (0xFFU)
  86737. #define XBARA_SEL62_SEL124_SHIFT (0U)
  86738. #define XBARA_SEL62_SEL124(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL124_SHIFT)) & XBARA_SEL62_SEL124_MASK)
  86739. #define XBARA_SEL62_SEL125_MASK (0xFF00U)
  86740. #define XBARA_SEL62_SEL125_SHIFT (8U)
  86741. #define XBARA_SEL62_SEL125(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL62_SEL125_SHIFT)) & XBARA_SEL62_SEL125_MASK)
  86742. /*! @} */
  86743. /*! @name SEL63 - Crossbar A Select Register 63 */
  86744. /*! @{ */
  86745. #define XBARA_SEL63_SEL126_MASK (0xFFU)
  86746. #define XBARA_SEL63_SEL126_SHIFT (0U)
  86747. #define XBARA_SEL63_SEL126(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL126_SHIFT)) & XBARA_SEL63_SEL126_MASK)
  86748. #define XBARA_SEL63_SEL127_MASK (0xFF00U)
  86749. #define XBARA_SEL63_SEL127_SHIFT (8U)
  86750. #define XBARA_SEL63_SEL127(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL63_SEL127_SHIFT)) & XBARA_SEL63_SEL127_MASK)
  86751. /*! @} */
  86752. /*! @name SEL64 - Crossbar A Select Register 64 */
  86753. /*! @{ */
  86754. #define XBARA_SEL64_SEL128_MASK (0xFFU)
  86755. #define XBARA_SEL64_SEL128_SHIFT (0U)
  86756. #define XBARA_SEL64_SEL128(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL128_SHIFT)) & XBARA_SEL64_SEL128_MASK)
  86757. #define XBARA_SEL64_SEL129_MASK (0xFF00U)
  86758. #define XBARA_SEL64_SEL129_SHIFT (8U)
  86759. #define XBARA_SEL64_SEL129(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL64_SEL129_SHIFT)) & XBARA_SEL64_SEL129_MASK)
  86760. /*! @} */
  86761. /*! @name SEL65 - Crossbar A Select Register 65 */
  86762. /*! @{ */
  86763. #define XBARA_SEL65_SEL130_MASK (0xFFU)
  86764. #define XBARA_SEL65_SEL130_SHIFT (0U)
  86765. #define XBARA_SEL65_SEL130(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL130_SHIFT)) & XBARA_SEL65_SEL130_MASK)
  86766. #define XBARA_SEL65_SEL131_MASK (0xFF00U)
  86767. #define XBARA_SEL65_SEL131_SHIFT (8U)
  86768. #define XBARA_SEL65_SEL131(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL65_SEL131_SHIFT)) & XBARA_SEL65_SEL131_MASK)
  86769. /*! @} */
  86770. /*! @name SEL66 - Crossbar A Select Register 66 */
  86771. /*! @{ */
  86772. #define XBARA_SEL66_SEL132_MASK (0xFFU)
  86773. #define XBARA_SEL66_SEL132_SHIFT (0U)
  86774. #define XBARA_SEL66_SEL132(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL66_SEL132_SHIFT)) & XBARA_SEL66_SEL132_MASK)
  86775. #define XBARA_SEL66_SEL133_MASK (0xFF00U)
  86776. #define XBARA_SEL66_SEL133_SHIFT (8U)
  86777. #define XBARA_SEL66_SEL133(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL66_SEL133_SHIFT)) & XBARA_SEL66_SEL133_MASK)
  86778. /*! @} */
  86779. /*! @name SEL67 - Crossbar A Select Register 67 */
  86780. /*! @{ */
  86781. #define XBARA_SEL67_SEL134_MASK (0xFFU)
  86782. #define XBARA_SEL67_SEL134_SHIFT (0U)
  86783. #define XBARA_SEL67_SEL134(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL67_SEL134_SHIFT)) & XBARA_SEL67_SEL134_MASK)
  86784. #define XBARA_SEL67_SEL135_MASK (0xFF00U)
  86785. #define XBARA_SEL67_SEL135_SHIFT (8U)
  86786. #define XBARA_SEL67_SEL135(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL67_SEL135_SHIFT)) & XBARA_SEL67_SEL135_MASK)
  86787. /*! @} */
  86788. /*! @name SEL68 - Crossbar A Select Register 68 */
  86789. /*! @{ */
  86790. #define XBARA_SEL68_SEL136_MASK (0xFFU)
  86791. #define XBARA_SEL68_SEL136_SHIFT (0U)
  86792. #define XBARA_SEL68_SEL136(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL68_SEL136_SHIFT)) & XBARA_SEL68_SEL136_MASK)
  86793. #define XBARA_SEL68_SEL137_MASK (0xFF00U)
  86794. #define XBARA_SEL68_SEL137_SHIFT (8U)
  86795. #define XBARA_SEL68_SEL137(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL68_SEL137_SHIFT)) & XBARA_SEL68_SEL137_MASK)
  86796. /*! @} */
  86797. /*! @name SEL69 - Crossbar A Select Register 69 */
  86798. /*! @{ */
  86799. #define XBARA_SEL69_SEL138_MASK (0xFFU)
  86800. #define XBARA_SEL69_SEL138_SHIFT (0U)
  86801. #define XBARA_SEL69_SEL138(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL69_SEL138_SHIFT)) & XBARA_SEL69_SEL138_MASK)
  86802. #define XBARA_SEL69_SEL139_MASK (0xFF00U)
  86803. #define XBARA_SEL69_SEL139_SHIFT (8U)
  86804. #define XBARA_SEL69_SEL139(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL69_SEL139_SHIFT)) & XBARA_SEL69_SEL139_MASK)
  86805. /*! @} */
  86806. /*! @name SEL70 - Crossbar A Select Register 70 */
  86807. /*! @{ */
  86808. #define XBARA_SEL70_SEL140_MASK (0xFFU)
  86809. #define XBARA_SEL70_SEL140_SHIFT (0U)
  86810. #define XBARA_SEL70_SEL140(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL70_SEL140_SHIFT)) & XBARA_SEL70_SEL140_MASK)
  86811. #define XBARA_SEL70_SEL141_MASK (0xFF00U)
  86812. #define XBARA_SEL70_SEL141_SHIFT (8U)
  86813. #define XBARA_SEL70_SEL141(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL70_SEL141_SHIFT)) & XBARA_SEL70_SEL141_MASK)
  86814. /*! @} */
  86815. /*! @name SEL71 - Crossbar A Select Register 71 */
  86816. /*! @{ */
  86817. #define XBARA_SEL71_SEL142_MASK (0xFFU)
  86818. #define XBARA_SEL71_SEL142_SHIFT (0U)
  86819. #define XBARA_SEL71_SEL142(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL71_SEL142_SHIFT)) & XBARA_SEL71_SEL142_MASK)
  86820. #define XBARA_SEL71_SEL143_MASK (0xFF00U)
  86821. #define XBARA_SEL71_SEL143_SHIFT (8U)
  86822. #define XBARA_SEL71_SEL143(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL71_SEL143_SHIFT)) & XBARA_SEL71_SEL143_MASK)
  86823. /*! @} */
  86824. /*! @name SEL72 - Crossbar A Select Register 72 */
  86825. /*! @{ */
  86826. #define XBARA_SEL72_SEL144_MASK (0xFFU)
  86827. #define XBARA_SEL72_SEL144_SHIFT (0U)
  86828. #define XBARA_SEL72_SEL144(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL72_SEL144_SHIFT)) & XBARA_SEL72_SEL144_MASK)
  86829. #define XBARA_SEL72_SEL145_MASK (0xFF00U)
  86830. #define XBARA_SEL72_SEL145_SHIFT (8U)
  86831. #define XBARA_SEL72_SEL145(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL72_SEL145_SHIFT)) & XBARA_SEL72_SEL145_MASK)
  86832. /*! @} */
  86833. /*! @name SEL73 - Crossbar A Select Register 73 */
  86834. /*! @{ */
  86835. #define XBARA_SEL73_SEL146_MASK (0xFFU)
  86836. #define XBARA_SEL73_SEL146_SHIFT (0U)
  86837. #define XBARA_SEL73_SEL146(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL73_SEL146_SHIFT)) & XBARA_SEL73_SEL146_MASK)
  86838. #define XBARA_SEL73_SEL147_MASK (0xFF00U)
  86839. #define XBARA_SEL73_SEL147_SHIFT (8U)
  86840. #define XBARA_SEL73_SEL147(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL73_SEL147_SHIFT)) & XBARA_SEL73_SEL147_MASK)
  86841. /*! @} */
  86842. /*! @name SEL74 - Crossbar A Select Register 74 */
  86843. /*! @{ */
  86844. #define XBARA_SEL74_SEL148_MASK (0xFFU)
  86845. #define XBARA_SEL74_SEL148_SHIFT (0U)
  86846. #define XBARA_SEL74_SEL148(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL74_SEL148_SHIFT)) & XBARA_SEL74_SEL148_MASK)
  86847. #define XBARA_SEL74_SEL149_MASK (0xFF00U)
  86848. #define XBARA_SEL74_SEL149_SHIFT (8U)
  86849. #define XBARA_SEL74_SEL149(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL74_SEL149_SHIFT)) & XBARA_SEL74_SEL149_MASK)
  86850. /*! @} */
  86851. /*! @name SEL75 - Crossbar A Select Register 75 */
  86852. /*! @{ */
  86853. #define XBARA_SEL75_SEL150_MASK (0xFFU)
  86854. #define XBARA_SEL75_SEL150_SHIFT (0U)
  86855. #define XBARA_SEL75_SEL150(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL75_SEL150_SHIFT)) & XBARA_SEL75_SEL150_MASK)
  86856. #define XBARA_SEL75_SEL151_MASK (0xFF00U)
  86857. #define XBARA_SEL75_SEL151_SHIFT (8U)
  86858. #define XBARA_SEL75_SEL151(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL75_SEL151_SHIFT)) & XBARA_SEL75_SEL151_MASK)
  86859. /*! @} */
  86860. /*! @name SEL76 - Crossbar A Select Register 76 */
  86861. /*! @{ */
  86862. #define XBARA_SEL76_SEL152_MASK (0xFFU)
  86863. #define XBARA_SEL76_SEL152_SHIFT (0U)
  86864. #define XBARA_SEL76_SEL152(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL76_SEL152_SHIFT)) & XBARA_SEL76_SEL152_MASK)
  86865. #define XBARA_SEL76_SEL153_MASK (0xFF00U)
  86866. #define XBARA_SEL76_SEL153_SHIFT (8U)
  86867. #define XBARA_SEL76_SEL153(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL76_SEL153_SHIFT)) & XBARA_SEL76_SEL153_MASK)
  86868. /*! @} */
  86869. /*! @name SEL77 - Crossbar A Select Register 77 */
  86870. /*! @{ */
  86871. #define XBARA_SEL77_SEL154_MASK (0xFFU)
  86872. #define XBARA_SEL77_SEL154_SHIFT (0U)
  86873. #define XBARA_SEL77_SEL154(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL77_SEL154_SHIFT)) & XBARA_SEL77_SEL154_MASK)
  86874. #define XBARA_SEL77_SEL155_MASK (0xFF00U)
  86875. #define XBARA_SEL77_SEL155_SHIFT (8U)
  86876. #define XBARA_SEL77_SEL155(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL77_SEL155_SHIFT)) & XBARA_SEL77_SEL155_MASK)
  86877. /*! @} */
  86878. /*! @name SEL78 - Crossbar A Select Register 78 */
  86879. /*! @{ */
  86880. #define XBARA_SEL78_SEL156_MASK (0xFFU)
  86881. #define XBARA_SEL78_SEL156_SHIFT (0U)
  86882. #define XBARA_SEL78_SEL156(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL78_SEL156_SHIFT)) & XBARA_SEL78_SEL156_MASK)
  86883. #define XBARA_SEL78_SEL157_MASK (0xFF00U)
  86884. #define XBARA_SEL78_SEL157_SHIFT (8U)
  86885. #define XBARA_SEL78_SEL157(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL78_SEL157_SHIFT)) & XBARA_SEL78_SEL157_MASK)
  86886. /*! @} */
  86887. /*! @name SEL79 - Crossbar A Select Register 79 */
  86888. /*! @{ */
  86889. #define XBARA_SEL79_SEL158_MASK (0xFFU)
  86890. #define XBARA_SEL79_SEL158_SHIFT (0U)
  86891. #define XBARA_SEL79_SEL158(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL79_SEL158_SHIFT)) & XBARA_SEL79_SEL158_MASK)
  86892. #define XBARA_SEL79_SEL159_MASK (0xFF00U)
  86893. #define XBARA_SEL79_SEL159_SHIFT (8U)
  86894. #define XBARA_SEL79_SEL159(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL79_SEL159_SHIFT)) & XBARA_SEL79_SEL159_MASK)
  86895. /*! @} */
  86896. /*! @name SEL80 - Crossbar A Select Register 80 */
  86897. /*! @{ */
  86898. #define XBARA_SEL80_SEL160_MASK (0xFFU)
  86899. #define XBARA_SEL80_SEL160_SHIFT (0U)
  86900. #define XBARA_SEL80_SEL160(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL80_SEL160_SHIFT)) & XBARA_SEL80_SEL160_MASK)
  86901. #define XBARA_SEL80_SEL161_MASK (0xFF00U)
  86902. #define XBARA_SEL80_SEL161_SHIFT (8U)
  86903. #define XBARA_SEL80_SEL161(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL80_SEL161_SHIFT)) & XBARA_SEL80_SEL161_MASK)
  86904. /*! @} */
  86905. /*! @name SEL81 - Crossbar A Select Register 81 */
  86906. /*! @{ */
  86907. #define XBARA_SEL81_SEL162_MASK (0xFFU)
  86908. #define XBARA_SEL81_SEL162_SHIFT (0U)
  86909. #define XBARA_SEL81_SEL162(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL81_SEL162_SHIFT)) & XBARA_SEL81_SEL162_MASK)
  86910. #define XBARA_SEL81_SEL163_MASK (0xFF00U)
  86911. #define XBARA_SEL81_SEL163_SHIFT (8U)
  86912. #define XBARA_SEL81_SEL163(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL81_SEL163_SHIFT)) & XBARA_SEL81_SEL163_MASK)
  86913. /*! @} */
  86914. /*! @name SEL82 - Crossbar A Select Register 82 */
  86915. /*! @{ */
  86916. #define XBARA_SEL82_SEL164_MASK (0xFFU)
  86917. #define XBARA_SEL82_SEL164_SHIFT (0U)
  86918. #define XBARA_SEL82_SEL164(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL82_SEL164_SHIFT)) & XBARA_SEL82_SEL164_MASK)
  86919. #define XBARA_SEL82_SEL165_MASK (0xFF00U)
  86920. #define XBARA_SEL82_SEL165_SHIFT (8U)
  86921. #define XBARA_SEL82_SEL165(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL82_SEL165_SHIFT)) & XBARA_SEL82_SEL165_MASK)
  86922. /*! @} */
  86923. /*! @name SEL83 - Crossbar A Select Register 83 */
  86924. /*! @{ */
  86925. #define XBARA_SEL83_SEL166_MASK (0xFFU)
  86926. #define XBARA_SEL83_SEL166_SHIFT (0U)
  86927. #define XBARA_SEL83_SEL166(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL83_SEL166_SHIFT)) & XBARA_SEL83_SEL166_MASK)
  86928. #define XBARA_SEL83_SEL167_MASK (0xFF00U)
  86929. #define XBARA_SEL83_SEL167_SHIFT (8U)
  86930. #define XBARA_SEL83_SEL167(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL83_SEL167_SHIFT)) & XBARA_SEL83_SEL167_MASK)
  86931. /*! @} */
  86932. /*! @name SEL84 - Crossbar A Select Register 84 */
  86933. /*! @{ */
  86934. #define XBARA_SEL84_SEL168_MASK (0xFFU)
  86935. #define XBARA_SEL84_SEL168_SHIFT (0U)
  86936. #define XBARA_SEL84_SEL168(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL84_SEL168_SHIFT)) & XBARA_SEL84_SEL168_MASK)
  86937. #define XBARA_SEL84_SEL169_MASK (0xFF00U)
  86938. #define XBARA_SEL84_SEL169_SHIFT (8U)
  86939. #define XBARA_SEL84_SEL169(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL84_SEL169_SHIFT)) & XBARA_SEL84_SEL169_MASK)
  86940. /*! @} */
  86941. /*! @name SEL85 - Crossbar A Select Register 85 */
  86942. /*! @{ */
  86943. #define XBARA_SEL85_SEL170_MASK (0xFFU)
  86944. #define XBARA_SEL85_SEL170_SHIFT (0U)
  86945. #define XBARA_SEL85_SEL170(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL85_SEL170_SHIFT)) & XBARA_SEL85_SEL170_MASK)
  86946. #define XBARA_SEL85_SEL171_MASK (0xFF00U)
  86947. #define XBARA_SEL85_SEL171_SHIFT (8U)
  86948. #define XBARA_SEL85_SEL171(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL85_SEL171_SHIFT)) & XBARA_SEL85_SEL171_MASK)
  86949. /*! @} */
  86950. /*! @name SEL86 - Crossbar A Select Register 86 */
  86951. /*! @{ */
  86952. #define XBARA_SEL86_SEL172_MASK (0xFFU)
  86953. #define XBARA_SEL86_SEL172_SHIFT (0U)
  86954. #define XBARA_SEL86_SEL172(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL86_SEL172_SHIFT)) & XBARA_SEL86_SEL172_MASK)
  86955. #define XBARA_SEL86_SEL173_MASK (0xFF00U)
  86956. #define XBARA_SEL86_SEL173_SHIFT (8U)
  86957. #define XBARA_SEL86_SEL173(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL86_SEL173_SHIFT)) & XBARA_SEL86_SEL173_MASK)
  86958. /*! @} */
  86959. /*! @name SEL87 - Crossbar A Select Register 87 */
  86960. /*! @{ */
  86961. #define XBARA_SEL87_SEL174_MASK (0xFFU)
  86962. #define XBARA_SEL87_SEL174_SHIFT (0U)
  86963. #define XBARA_SEL87_SEL174(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL87_SEL174_SHIFT)) & XBARA_SEL87_SEL174_MASK)
  86964. #define XBARA_SEL87_SEL175_MASK (0xFF00U)
  86965. #define XBARA_SEL87_SEL175_SHIFT (8U)
  86966. #define XBARA_SEL87_SEL175(x) (((uint16_t)(((uint16_t)(x)) << XBARA_SEL87_SEL175_SHIFT)) & XBARA_SEL87_SEL175_MASK)
  86967. /*! @} */
  86968. /*! @name CTRL0 - Crossbar A Control Register 0 */
  86969. /*! @{ */
  86970. #define XBARA_CTRL0_DEN0_MASK (0x1U)
  86971. #define XBARA_CTRL0_DEN0_SHIFT (0U)
  86972. /*! DEN0 - DMA Enable for XBAR_OUT0
  86973. * 0b0..DMA disabled
  86974. * 0b1..DMA enabled
  86975. */
  86976. #define XBARA_CTRL0_DEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN0_SHIFT)) & XBARA_CTRL0_DEN0_MASK)
  86977. #define XBARA_CTRL0_IEN0_MASK (0x2U)
  86978. #define XBARA_CTRL0_IEN0_SHIFT (1U)
  86979. /*! IEN0 - Interrupt Enable for XBAR_OUT0
  86980. * 0b0..Interrupt disabled
  86981. * 0b1..Interrupt enabled
  86982. */
  86983. #define XBARA_CTRL0_IEN0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN0_SHIFT)) & XBARA_CTRL0_IEN0_MASK)
  86984. #define XBARA_CTRL0_EDGE0_MASK (0xCU)
  86985. #define XBARA_CTRL0_EDGE0_SHIFT (2U)
  86986. /*! EDGE0 - Active edge for edge detection on XBAR_OUT0
  86987. * 0b00..STS0 never asserts
  86988. * 0b01..STS0 asserts on rising edges of XBAR_OUT0
  86989. * 0b10..STS0 asserts on falling edges of XBAR_OUT0
  86990. * 0b11..STS0 asserts on rising and falling edges of XBAR_OUT0
  86991. */
  86992. #define XBARA_CTRL0_EDGE0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE0_SHIFT)) & XBARA_CTRL0_EDGE0_MASK)
  86993. #define XBARA_CTRL0_STS0_MASK (0x10U)
  86994. #define XBARA_CTRL0_STS0_SHIFT (4U)
  86995. /*! STS0 - Edge detection status for XBAR_OUT0
  86996. * 0b0..Active edge not yet detected on XBAR_OUT0
  86997. * 0b1..Active edge detected on XBAR_OUT0
  86998. */
  86999. #define XBARA_CTRL0_STS0(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS0_SHIFT)) & XBARA_CTRL0_STS0_MASK)
  87000. #define XBARA_CTRL0_DEN1_MASK (0x100U)
  87001. #define XBARA_CTRL0_DEN1_SHIFT (8U)
  87002. /*! DEN1 - DMA Enable for XBAR_OUT1
  87003. * 0b0..DMA disabled
  87004. * 0b1..DMA enabled
  87005. */
  87006. #define XBARA_CTRL0_DEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_DEN1_SHIFT)) & XBARA_CTRL0_DEN1_MASK)
  87007. #define XBARA_CTRL0_IEN1_MASK (0x200U)
  87008. #define XBARA_CTRL0_IEN1_SHIFT (9U)
  87009. /*! IEN1 - Interrupt Enable for XBAR_OUT1
  87010. * 0b0..Interrupt disabled
  87011. * 0b1..Interrupt enabled
  87012. */
  87013. #define XBARA_CTRL0_IEN1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_IEN1_SHIFT)) & XBARA_CTRL0_IEN1_MASK)
  87014. #define XBARA_CTRL0_EDGE1_MASK (0xC00U)
  87015. #define XBARA_CTRL0_EDGE1_SHIFT (10U)
  87016. /*! EDGE1 - Active edge for edge detection on XBAR_OUT1
  87017. * 0b00..STS1 never asserts
  87018. * 0b01..STS1 asserts on rising edges of XBAR_OUT1
  87019. * 0b10..STS1 asserts on falling edges of XBAR_OUT1
  87020. * 0b11..STS1 asserts on rising and falling edges of XBAR_OUT1
  87021. */
  87022. #define XBARA_CTRL0_EDGE1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_EDGE1_SHIFT)) & XBARA_CTRL0_EDGE1_MASK)
  87023. #define XBARA_CTRL0_STS1_MASK (0x1000U)
  87024. #define XBARA_CTRL0_STS1_SHIFT (12U)
  87025. /*! STS1 - Edge detection status for XBAR_OUT1
  87026. * 0b0..Active edge not yet detected on XBAR_OUT1
  87027. * 0b1..Active edge detected on XBAR_OUT1
  87028. */
  87029. #define XBARA_CTRL0_STS1(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL0_STS1_SHIFT)) & XBARA_CTRL0_STS1_MASK)
  87030. /*! @} */
  87031. /*! @name CTRL1 - Crossbar A Control Register 1 */
  87032. /*! @{ */
  87033. #define XBARA_CTRL1_DEN2_MASK (0x1U)
  87034. #define XBARA_CTRL1_DEN2_SHIFT (0U)
  87035. /*! DEN2 - DMA Enable for XBAR_OUT2
  87036. * 0b0..DMA disabled
  87037. * 0b1..DMA enabled
  87038. */
  87039. #define XBARA_CTRL1_DEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN2_SHIFT)) & XBARA_CTRL1_DEN2_MASK)
  87040. #define XBARA_CTRL1_IEN2_MASK (0x2U)
  87041. #define XBARA_CTRL1_IEN2_SHIFT (1U)
  87042. /*! IEN2 - Interrupt Enable for XBAR_OUT2
  87043. * 0b0..Interrupt disabled
  87044. * 0b1..Interrupt enabled
  87045. */
  87046. #define XBARA_CTRL1_IEN2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN2_SHIFT)) & XBARA_CTRL1_IEN2_MASK)
  87047. #define XBARA_CTRL1_EDGE2_MASK (0xCU)
  87048. #define XBARA_CTRL1_EDGE2_SHIFT (2U)
  87049. /*! EDGE2 - Active edge for edge detection on XBAR_OUT2
  87050. * 0b00..STS2 never asserts
  87051. * 0b01..STS2 asserts on rising edges of XBAR_OUT2
  87052. * 0b10..STS2 asserts on falling edges of XBAR_OUT2
  87053. * 0b11..STS2 asserts on rising and falling edges of XBAR_OUT2
  87054. */
  87055. #define XBARA_CTRL1_EDGE2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE2_SHIFT)) & XBARA_CTRL1_EDGE2_MASK)
  87056. #define XBARA_CTRL1_STS2_MASK (0x10U)
  87057. #define XBARA_CTRL1_STS2_SHIFT (4U)
  87058. /*! STS2 - Edge detection status for XBAR_OUT2
  87059. * 0b0..Active edge not yet detected on XBAR_OUT2
  87060. * 0b1..Active edge detected on XBAR_OUT2
  87061. */
  87062. #define XBARA_CTRL1_STS2(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS2_SHIFT)) & XBARA_CTRL1_STS2_MASK)
  87063. #define XBARA_CTRL1_DEN3_MASK (0x100U)
  87064. #define XBARA_CTRL1_DEN3_SHIFT (8U)
  87065. /*! DEN3 - DMA Enable for XBAR_OUT3
  87066. * 0b0..DMA disabled
  87067. * 0b1..DMA enabled
  87068. */
  87069. #define XBARA_CTRL1_DEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_DEN3_SHIFT)) & XBARA_CTRL1_DEN3_MASK)
  87070. #define XBARA_CTRL1_IEN3_MASK (0x200U)
  87071. #define XBARA_CTRL1_IEN3_SHIFT (9U)
  87072. /*! IEN3 - Interrupt Enable for XBAR_OUT3
  87073. * 0b0..Interrupt disabled
  87074. * 0b1..Interrupt enabled
  87075. */
  87076. #define XBARA_CTRL1_IEN3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_IEN3_SHIFT)) & XBARA_CTRL1_IEN3_MASK)
  87077. #define XBARA_CTRL1_EDGE3_MASK (0xC00U)
  87078. #define XBARA_CTRL1_EDGE3_SHIFT (10U)
  87079. /*! EDGE3 - Active edge for edge detection on XBAR_OUT3
  87080. * 0b00..STS3 never asserts
  87081. * 0b01..STS3 asserts on rising edges of XBAR_OUT3
  87082. * 0b10..STS3 asserts on falling edges of XBAR_OUT3
  87083. * 0b11..STS3 asserts on rising and falling edges of XBAR_OUT3
  87084. */
  87085. #define XBARA_CTRL1_EDGE3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_EDGE3_SHIFT)) & XBARA_CTRL1_EDGE3_MASK)
  87086. #define XBARA_CTRL1_STS3_MASK (0x1000U)
  87087. #define XBARA_CTRL1_STS3_SHIFT (12U)
  87088. /*! STS3 - Edge detection status for XBAR_OUT3
  87089. * 0b0..Active edge not yet detected on XBAR_OUT3
  87090. * 0b1..Active edge detected on XBAR_OUT3
  87091. */
  87092. #define XBARA_CTRL1_STS3(x) (((uint16_t)(((uint16_t)(x)) << XBARA_CTRL1_STS3_SHIFT)) & XBARA_CTRL1_STS3_MASK)
  87093. /*! @} */
  87094. /*!
  87095. * @}
  87096. */ /* end of group XBARA_Register_Masks */
  87097. /* XBARA - Peripheral instance base addresses */
  87098. /** Peripheral XBARA1 base address */
  87099. #define XBARA1_BASE (0x4003C000u)
  87100. /** Peripheral XBARA1 base pointer */
  87101. #define XBARA1 ((XBARA_Type *)XBARA1_BASE)
  87102. /** Array initializer of XBARA peripheral base addresses */
  87103. #define XBARA_BASE_ADDRS { 0u, XBARA1_BASE }
  87104. /** Array initializer of XBARA peripheral base pointers */
  87105. #define XBARA_BASE_PTRS { (XBARA_Type *)0u, XBARA1 }
  87106. /*!
  87107. * @}
  87108. */ /* end of group XBARA_Peripheral_Access_Layer */
  87109. /* ----------------------------------------------------------------------------
  87110. -- XBARB Peripheral Access Layer
  87111. ---------------------------------------------------------------------------- */
  87112. /*!
  87113. * @addtogroup XBARB_Peripheral_Access_Layer XBARB Peripheral Access Layer
  87114. * @{
  87115. */
  87116. /** XBARB - Register Layout Typedef */
  87117. typedef struct {
  87118. __IO uint16_t SEL0; /**< Crossbar B Select Register 0, offset: 0x0 */
  87119. __IO uint16_t SEL1; /**< Crossbar B Select Register 1, offset: 0x2 */
  87120. __IO uint16_t SEL2; /**< Crossbar B Select Register 2, offset: 0x4 */
  87121. __IO uint16_t SEL3; /**< Crossbar B Select Register 3, offset: 0x6 */
  87122. __IO uint16_t SEL4; /**< Crossbar B Select Register 4, offset: 0x8 */
  87123. __IO uint16_t SEL5; /**< Crossbar B Select Register 5, offset: 0xA */
  87124. __IO uint16_t SEL6; /**< Crossbar B Select Register 6, offset: 0xC */
  87125. __IO uint16_t SEL7; /**< Crossbar B Select Register 7, offset: 0xE */
  87126. } XBARB_Type;
  87127. /* ----------------------------------------------------------------------------
  87128. -- XBARB Register Masks
  87129. ---------------------------------------------------------------------------- */
  87130. /*!
  87131. * @addtogroup XBARB_Register_Masks XBARB Register Masks
  87132. * @{
  87133. */
  87134. /*! @name SEL0 - Crossbar B Select Register 0 */
  87135. /*! @{ */
  87136. #define XBARB_SEL0_SEL0_MASK (0x7FU)
  87137. #define XBARB_SEL0_SEL0_SHIFT (0U)
  87138. #define XBARB_SEL0_SEL0(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL0_SHIFT)) & XBARB_SEL0_SEL0_MASK)
  87139. #define XBARB_SEL0_SEL1_MASK (0x7F00U)
  87140. #define XBARB_SEL0_SEL1_SHIFT (8U)
  87141. #define XBARB_SEL0_SEL1(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL0_SEL1_SHIFT)) & XBARB_SEL0_SEL1_MASK)
  87142. /*! @} */
  87143. /*! @name SEL1 - Crossbar B Select Register 1 */
  87144. /*! @{ */
  87145. #define XBARB_SEL1_SEL2_MASK (0x7FU)
  87146. #define XBARB_SEL1_SEL2_SHIFT (0U)
  87147. #define XBARB_SEL1_SEL2(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL2_SHIFT)) & XBARB_SEL1_SEL2_MASK)
  87148. #define XBARB_SEL1_SEL3_MASK (0x7F00U)
  87149. #define XBARB_SEL1_SEL3_SHIFT (8U)
  87150. #define XBARB_SEL1_SEL3(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL1_SEL3_SHIFT)) & XBARB_SEL1_SEL3_MASK)
  87151. /*! @} */
  87152. /*! @name SEL2 - Crossbar B Select Register 2 */
  87153. /*! @{ */
  87154. #define XBARB_SEL2_SEL4_MASK (0x7FU)
  87155. #define XBARB_SEL2_SEL4_SHIFT (0U)
  87156. #define XBARB_SEL2_SEL4(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL4_SHIFT)) & XBARB_SEL2_SEL4_MASK)
  87157. #define XBARB_SEL2_SEL5_MASK (0x7F00U)
  87158. #define XBARB_SEL2_SEL5_SHIFT (8U)
  87159. #define XBARB_SEL2_SEL5(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL2_SEL5_SHIFT)) & XBARB_SEL2_SEL5_MASK)
  87160. /*! @} */
  87161. /*! @name SEL3 - Crossbar B Select Register 3 */
  87162. /*! @{ */
  87163. #define XBARB_SEL3_SEL6_MASK (0x7FU)
  87164. #define XBARB_SEL3_SEL6_SHIFT (0U)
  87165. #define XBARB_SEL3_SEL6(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL6_SHIFT)) & XBARB_SEL3_SEL6_MASK)
  87166. #define XBARB_SEL3_SEL7_MASK (0x7F00U)
  87167. #define XBARB_SEL3_SEL7_SHIFT (8U)
  87168. #define XBARB_SEL3_SEL7(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL3_SEL7_SHIFT)) & XBARB_SEL3_SEL7_MASK)
  87169. /*! @} */
  87170. /*! @name SEL4 - Crossbar B Select Register 4 */
  87171. /*! @{ */
  87172. #define XBARB_SEL4_SEL8_MASK (0x7FU)
  87173. #define XBARB_SEL4_SEL8_SHIFT (0U)
  87174. #define XBARB_SEL4_SEL8(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL8_SHIFT)) & XBARB_SEL4_SEL8_MASK)
  87175. #define XBARB_SEL4_SEL9_MASK (0x7F00U)
  87176. #define XBARB_SEL4_SEL9_SHIFT (8U)
  87177. #define XBARB_SEL4_SEL9(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL4_SEL9_SHIFT)) & XBARB_SEL4_SEL9_MASK)
  87178. /*! @} */
  87179. /*! @name SEL5 - Crossbar B Select Register 5 */
  87180. /*! @{ */
  87181. #define XBARB_SEL5_SEL10_MASK (0x7FU)
  87182. #define XBARB_SEL5_SEL10_SHIFT (0U)
  87183. #define XBARB_SEL5_SEL10(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL10_SHIFT)) & XBARB_SEL5_SEL10_MASK)
  87184. #define XBARB_SEL5_SEL11_MASK (0x7F00U)
  87185. #define XBARB_SEL5_SEL11_SHIFT (8U)
  87186. #define XBARB_SEL5_SEL11(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL5_SEL11_SHIFT)) & XBARB_SEL5_SEL11_MASK)
  87187. /*! @} */
  87188. /*! @name SEL6 - Crossbar B Select Register 6 */
  87189. /*! @{ */
  87190. #define XBARB_SEL6_SEL12_MASK (0x7FU)
  87191. #define XBARB_SEL6_SEL12_SHIFT (0U)
  87192. #define XBARB_SEL6_SEL12(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL12_SHIFT)) & XBARB_SEL6_SEL12_MASK)
  87193. #define XBARB_SEL6_SEL13_MASK (0x7F00U)
  87194. #define XBARB_SEL6_SEL13_SHIFT (8U)
  87195. #define XBARB_SEL6_SEL13(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL6_SEL13_SHIFT)) & XBARB_SEL6_SEL13_MASK)
  87196. /*! @} */
  87197. /*! @name SEL7 - Crossbar B Select Register 7 */
  87198. /*! @{ */
  87199. #define XBARB_SEL7_SEL14_MASK (0x7FU)
  87200. #define XBARB_SEL7_SEL14_SHIFT (0U)
  87201. #define XBARB_SEL7_SEL14(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL14_SHIFT)) & XBARB_SEL7_SEL14_MASK)
  87202. #define XBARB_SEL7_SEL15_MASK (0x7F00U)
  87203. #define XBARB_SEL7_SEL15_SHIFT (8U)
  87204. #define XBARB_SEL7_SEL15(x) (((uint16_t)(((uint16_t)(x)) << XBARB_SEL7_SEL15_SHIFT)) & XBARB_SEL7_SEL15_MASK)
  87205. /*! @} */
  87206. /*!
  87207. * @}
  87208. */ /* end of group XBARB_Register_Masks */
  87209. /* XBARB - Peripheral instance base addresses */
  87210. /** Peripheral XBARB2 base address */
  87211. #define XBARB2_BASE (0x40040000u)
  87212. /** Peripheral XBARB2 base pointer */
  87213. #define XBARB2 ((XBARB_Type *)XBARB2_BASE)
  87214. /** Peripheral XBARB3 base address */
  87215. #define XBARB3_BASE (0x40044000u)
  87216. /** Peripheral XBARB3 base pointer */
  87217. #define XBARB3 ((XBARB_Type *)XBARB3_BASE)
  87218. /** Array initializer of XBARB peripheral base addresses */
  87219. #define XBARB_BASE_ADDRS { 0u, 0u, XBARB2_BASE, XBARB3_BASE }
  87220. /** Array initializer of XBARB peripheral base pointers */
  87221. #define XBARB_BASE_PTRS { (XBARB_Type *)0u, (XBARB_Type *)0u, XBARB2, XBARB3 }
  87222. /*!
  87223. * @}
  87224. */ /* end of group XBARB_Peripheral_Access_Layer */
  87225. /* ----------------------------------------------------------------------------
  87226. -- XECC Peripheral Access Layer
  87227. ---------------------------------------------------------------------------- */
  87228. /*!
  87229. * @addtogroup XECC_Peripheral_Access_Layer XECC Peripheral Access Layer
  87230. * @{
  87231. */
  87232. /** XECC - Register Layout Typedef */
  87233. typedef struct {
  87234. __IO uint32_t ECC_CTRL; /**< ECC Control Register, offset: 0x0 */
  87235. __IO uint32_t ERR_STATUS; /**< Error Interrupt Status Register, offset: 0x4 */
  87236. __IO uint32_t ERR_STAT_EN; /**< Error Interrupt Status Enable Register, offset: 0x8 */
  87237. __IO uint32_t ERR_SIG_EN; /**< Error Interrupt Enable Register, offset: 0xC */
  87238. __IO uint32_t ERR_DATA_INJ; /**< Error Injection On Write Data, offset: 0x10 */
  87239. __IO uint32_t ERR_ECC_INJ; /**< Error Injection On ECC Code of Write Data, offset: 0x14 */
  87240. __I uint32_t SINGLE_ERR_ADDR; /**< Single Error Address, offset: 0x18 */
  87241. __I uint32_t SINGLE_ERR_DATA; /**< Single Error Read Data, offset: 0x1C */
  87242. __I uint32_t SINGLE_ERR_ECC; /**< Single Error ECC Code, offset: 0x20 */
  87243. __I uint32_t SINGLE_ERR_POS; /**< Single Error Bit Position, offset: 0x24 */
  87244. __I uint32_t SINGLE_ERR_BIT_FIELD; /**< Single Error Bit Field, offset: 0x28 */
  87245. __I uint32_t MULTI_ERR_ADDR; /**< Multiple Error Address, offset: 0x2C */
  87246. __I uint32_t MULTI_ERR_DATA; /**< Multiple Error Read Data, offset: 0x30 */
  87247. __I uint32_t MULTI_ERR_ECC; /**< Multiple Error ECC code, offset: 0x34 */
  87248. __I uint32_t MULTI_ERR_BIT_FIELD; /**< Multiple Error Bit Field, offset: 0x38 */
  87249. __IO uint32_t ECC_BASE_ADDR0; /**< ECC Region 0 Base Address, offset: 0x3C */
  87250. __IO uint32_t ECC_END_ADDR0; /**< ECC Region 0 End Address, offset: 0x40 */
  87251. __IO uint32_t ECC_BASE_ADDR1; /**< ECC Region 1 Base Address, offset: 0x44 */
  87252. __IO uint32_t ECC_END_ADDR1; /**< ECC Region 1 End Address, offset: 0x48 */
  87253. __IO uint32_t ECC_BASE_ADDR2; /**< ECC Region 2 Base Address, offset: 0x4C */
  87254. __IO uint32_t ECC_END_ADDR2; /**< ECC Region 2 End Address, offset: 0x50 */
  87255. __IO uint32_t ECC_BASE_ADDR3; /**< ECC Region 3 Base Address, offset: 0x54 */
  87256. __IO uint32_t ECC_END_ADDR3; /**< ECC Region 3 End Address, offset: 0x58 */
  87257. } XECC_Type;
  87258. /* ----------------------------------------------------------------------------
  87259. -- XECC Register Masks
  87260. ---------------------------------------------------------------------------- */
  87261. /*!
  87262. * @addtogroup XECC_Register_Masks XECC Register Masks
  87263. * @{
  87264. */
  87265. /*! @name ECC_CTRL - ECC Control Register */
  87266. /*! @{ */
  87267. #define XECC_ECC_CTRL_ECC_EN_MASK (0x1U)
  87268. #define XECC_ECC_CTRL_ECC_EN_SHIFT (0U)
  87269. /*! ECC_EN - ECC Function Enable
  87270. * 0b0..Disable
  87271. * 0b1..Enable
  87272. */
  87273. #define XECC_ECC_CTRL_ECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_ECC_EN_SHIFT)) & XECC_ECC_CTRL_ECC_EN_MASK)
  87274. #define XECC_ECC_CTRL_WECC_EN_MASK (0x2U)
  87275. #define XECC_ECC_CTRL_WECC_EN_SHIFT (1U)
  87276. /*! WECC_EN - Write ECC Encode Function Enable
  87277. * 0b0..Disable
  87278. * 0b1..Enable
  87279. */
  87280. #define XECC_ECC_CTRL_WECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_WECC_EN_SHIFT)) & XECC_ECC_CTRL_WECC_EN_MASK)
  87281. #define XECC_ECC_CTRL_RECC_EN_MASK (0x4U)
  87282. #define XECC_ECC_CTRL_RECC_EN_SHIFT (2U)
  87283. /*! RECC_EN - Read ECC Function Enable
  87284. * 0b0..Disable
  87285. * 0b1..Enable
  87286. */
  87287. #define XECC_ECC_CTRL_RECC_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_RECC_EN_SHIFT)) & XECC_ECC_CTRL_RECC_EN_MASK)
  87288. #define XECC_ECC_CTRL_SWAP_EN_MASK (0x8U)
  87289. #define XECC_ECC_CTRL_SWAP_EN_SHIFT (3U)
  87290. /*! SWAP_EN - Swap Data Enable
  87291. * 0b0..Disable
  87292. * 0b1..Enable
  87293. */
  87294. #define XECC_ECC_CTRL_SWAP_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_CTRL_SWAP_EN_SHIFT)) & XECC_ECC_CTRL_SWAP_EN_MASK)
  87295. /*! @} */
  87296. /*! @name ERR_STATUS - Error Interrupt Status Register */
  87297. /*! @{ */
  87298. #define XECC_ERR_STATUS_SINGLE_ERR_MASK (0x1U)
  87299. #define XECC_ERR_STATUS_SINGLE_ERR_SHIFT (0U)
  87300. /*! SINGLE_ERR - Single Bit Error
  87301. * 0b0..Single bit error does not happen.
  87302. * 0b1..Single bit error happens.
  87303. */
  87304. #define XECC_ERR_STATUS_SINGLE_ERR(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_SINGLE_ERR_SHIFT)) & XECC_ERR_STATUS_SINGLE_ERR_MASK)
  87305. #define XECC_ERR_STATUS_MULTI_ERR_MASK (0x2U)
  87306. #define XECC_ERR_STATUS_MULTI_ERR_SHIFT (1U)
  87307. /*! MULTI_ERR - Multiple Bits Error
  87308. * 0b0..Multiple bits error does not happen.
  87309. * 0b1..Multiple bits error happens.
  87310. */
  87311. #define XECC_ERR_STATUS_MULTI_ERR(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_MULTI_ERR_SHIFT)) & XECC_ERR_STATUS_MULTI_ERR_MASK)
  87312. #define XECC_ERR_STATUS_Reserved1_MASK (0xFFFFFFFCU)
  87313. #define XECC_ERR_STATUS_Reserved1_SHIFT (2U)
  87314. /*! Reserved1 - Reserved
  87315. */
  87316. #define XECC_ERR_STATUS_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STATUS_Reserved1_SHIFT)) & XECC_ERR_STATUS_Reserved1_MASK)
  87317. /*! @} */
  87318. /*! @name ERR_STAT_EN - Error Interrupt Status Enable Register */
  87319. /*! @{ */
  87320. #define XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_MASK (0x1U)
  87321. #define XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_SHIFT (0U)
  87322. /*! SINGLE_ERR_STAT_EN - Single Bit Error Status Enable
  87323. * 0b0..Masked
  87324. * 0b1..Enabled
  87325. */
  87326. #define XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_SHIFT)) & XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_MASK)
  87327. #define XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_MASK (0x2U)
  87328. #define XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_SHIFT (1U)
  87329. /*! MULIT_ERR_STAT_EN - Multiple Bits Error Status Enable
  87330. * 0b0..Masked
  87331. * 0b1..Enabled
  87332. */
  87333. #define XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_SHIFT)) & XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_MASK)
  87334. #define XECC_ERR_STAT_EN_Reserved1_MASK (0xFFFFFFFCU)
  87335. #define XECC_ERR_STAT_EN_Reserved1_SHIFT (2U)
  87336. /*! Reserved1 - Reserved
  87337. */
  87338. #define XECC_ERR_STAT_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_STAT_EN_Reserved1_SHIFT)) & XECC_ERR_STAT_EN_Reserved1_MASK)
  87339. /*! @} */
  87340. /*! @name ERR_SIG_EN - Error Interrupt Enable Register */
  87341. /*! @{ */
  87342. #define XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_MASK (0x1U)
  87343. #define XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_SHIFT (0U)
  87344. /*! SINGLE_ERR_SIG_EN - Single Bit Error Interrupt Enable
  87345. * 0b0..Masked
  87346. * 0b1..Enabled
  87347. */
  87348. #define XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_SHIFT)) & XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_MASK)
  87349. #define XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_MASK (0x2U)
  87350. #define XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_SHIFT (1U)
  87351. /*! MULTI_ERR_SIG_EN - Multiple Bits Error Interrupt Enable
  87352. * 0b0..Masked
  87353. * 0b1..Enabled
  87354. */
  87355. #define XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_SHIFT)) & XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_MASK)
  87356. #define XECC_ERR_SIG_EN_Reserved1_MASK (0xFFFFFFFCU)
  87357. #define XECC_ERR_SIG_EN_Reserved1_SHIFT (2U)
  87358. /*! Reserved1 - Reserved
  87359. */
  87360. #define XECC_ERR_SIG_EN_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_SIG_EN_Reserved1_SHIFT)) & XECC_ERR_SIG_EN_Reserved1_MASK)
  87361. /*! @} */
  87362. /*! @name ERR_DATA_INJ - Error Injection On Write Data */
  87363. /*! @{ */
  87364. #define XECC_ERR_DATA_INJ_ERR_DATA_INJ_MASK (0xFFFFFFFFU)
  87365. #define XECC_ERR_DATA_INJ_ERR_DATA_INJ_SHIFT (0U)
  87366. /*! ERR_DATA_INJ - Error Injection On Write Data
  87367. */
  87368. #define XECC_ERR_DATA_INJ_ERR_DATA_INJ(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_DATA_INJ_ERR_DATA_INJ_SHIFT)) & XECC_ERR_DATA_INJ_ERR_DATA_INJ_MASK)
  87369. /*! @} */
  87370. /*! @name ERR_ECC_INJ - Error Injection On ECC Code of Write Data */
  87371. /*! @{ */
  87372. #define XECC_ERR_ECC_INJ_ERR_ECC_INJ_MASK (0xFFFFFFFFU)
  87373. #define XECC_ERR_ECC_INJ_ERR_ECC_INJ_SHIFT (0U)
  87374. /*! ERR_ECC_INJ - Error Injection On ECC Code of Write Data
  87375. */
  87376. #define XECC_ERR_ECC_INJ_ERR_ECC_INJ(x) (((uint32_t)(((uint32_t)(x)) << XECC_ERR_ECC_INJ_ERR_ECC_INJ_SHIFT)) & XECC_ERR_ECC_INJ_ERR_ECC_INJ_MASK)
  87377. /*! @} */
  87378. /*! @name SINGLE_ERR_ADDR - Single Error Address */
  87379. /*! @{ */
  87380. #define XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_MASK (0xFFFFFFFFU)
  87381. #define XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_SHIFT (0U)
  87382. /*! SINGLE_ERR_ADDR - Single Error Address
  87383. */
  87384. #define XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_SHIFT)) & XECC_SINGLE_ERR_ADDR_SINGLE_ERR_ADDR_MASK)
  87385. /*! @} */
  87386. /*! @name SINGLE_ERR_DATA - Single Error Read Data */
  87387. /*! @{ */
  87388. #define XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_MASK (0xFFFFFFFFU)
  87389. #define XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_SHIFT (0U)
  87390. /*! SINGLE_ERR_DATA - Single Error Read Data
  87391. */
  87392. #define XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_SHIFT)) & XECC_SINGLE_ERR_DATA_SINGLE_ERR_DATA_MASK)
  87393. /*! @} */
  87394. /*! @name SINGLE_ERR_ECC - Single Error ECC Code */
  87395. /*! @{ */
  87396. #define XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_MASK (0xFFFFFFFFU)
  87397. #define XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_SHIFT (0U)
  87398. /*! SINGLE_ERR_ECC - Single Error ECC code
  87399. */
  87400. #define XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_SHIFT)) & XECC_SINGLE_ERR_ECC_SINGLE_ERR_ECC_MASK)
  87401. /*! @} */
  87402. /*! @name SINGLE_ERR_POS - Single Error Bit Position */
  87403. /*! @{ */
  87404. #define XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_MASK (0xFFFFFFFFU)
  87405. #define XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_SHIFT (0U)
  87406. /*! SINGLE_ERR_POS - Single Error bit Position
  87407. */
  87408. #define XECC_SINGLE_ERR_POS_SINGLE_ERR_POS(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_SHIFT)) & XECC_SINGLE_ERR_POS_SINGLE_ERR_POS_MASK)
  87409. /*! @} */
  87410. /*! @name SINGLE_ERR_BIT_FIELD - Single Error Bit Field */
  87411. /*! @{ */
  87412. #define XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_MASK (0xFFU)
  87413. #define XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_SHIFT (0U)
  87414. /*! SINGLE_ERR_BIT_FIELD - Single Error Bit Field
  87415. */
  87416. #define XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_SHIFT)) & XECC_SINGLE_ERR_BIT_FIELD_SINGLE_ERR_BIT_FIELD_MASK)
  87417. #define XECC_SINGLE_ERR_BIT_FIELD_Reserved1_MASK (0xFFFFFF00U)
  87418. #define XECC_SINGLE_ERR_BIT_FIELD_Reserved1_SHIFT (8U)
  87419. /*! Reserved1 - Reserved
  87420. */
  87421. #define XECC_SINGLE_ERR_BIT_FIELD_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_SINGLE_ERR_BIT_FIELD_Reserved1_SHIFT)) & XECC_SINGLE_ERR_BIT_FIELD_Reserved1_MASK)
  87422. /*! @} */
  87423. /*! @name MULTI_ERR_ADDR - Multiple Error Address */
  87424. /*! @{ */
  87425. #define XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_MASK (0xFFFFFFFFU)
  87426. #define XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_SHIFT (0U)
  87427. /*! MULTI_ERR_ADDR - Multiple Error Address
  87428. */
  87429. #define XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR(x) (((uint32_t)(((uint32_t)(x)) << XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_SHIFT)) & XECC_MULTI_ERR_ADDR_MULTI_ERR_ADDR_MASK)
  87430. /*! @} */
  87431. /*! @name MULTI_ERR_DATA - Multiple Error Read Data */
  87432. /*! @{ */
  87433. #define XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_MASK (0xFFFFFFFFU)
  87434. #define XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_SHIFT (0U)
  87435. /*! MULTI_ERR_DATA - Multiple Error Read Data
  87436. */
  87437. #define XECC_MULTI_ERR_DATA_MULTI_ERR_DATA(x) (((uint32_t)(((uint32_t)(x)) << XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_SHIFT)) & XECC_MULTI_ERR_DATA_MULTI_ERR_DATA_MASK)
  87438. /*! @} */
  87439. /*! @name MULTI_ERR_ECC - Multiple Error ECC code */
  87440. /*! @{ */
  87441. #define XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_MASK (0xFFFFFFFFU)
  87442. #define XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_SHIFT (0U)
  87443. /*! MULTI_ERR_ECC - Multiple Error ECC code
  87444. */
  87445. #define XECC_MULTI_ERR_ECC_MULTI_ERR_ECC(x) (((uint32_t)(((uint32_t)(x)) << XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_SHIFT)) & XECC_MULTI_ERR_ECC_MULTI_ERR_ECC_MASK)
  87446. /*! @} */
  87447. /*! @name MULTI_ERR_BIT_FIELD - Multiple Error Bit Field */
  87448. /*! @{ */
  87449. #define XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_MASK (0xFFU)
  87450. #define XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_SHIFT (0U)
  87451. /*! MULTI_ERR_BIT_FIELD - Multiple Error Bit Field
  87452. */
  87453. #define XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD(x) (((uint32_t)(((uint32_t)(x)) << XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_SHIFT)) & XECC_MULTI_ERR_BIT_FIELD_MULTI_ERR_BIT_FIELD_MASK)
  87454. #define XECC_MULTI_ERR_BIT_FIELD_Reserved1_MASK (0xFFFFFF00U)
  87455. #define XECC_MULTI_ERR_BIT_FIELD_Reserved1_SHIFT (8U)
  87456. /*! Reserved1 - Reserved
  87457. */
  87458. #define XECC_MULTI_ERR_BIT_FIELD_Reserved1(x) (((uint32_t)(((uint32_t)(x)) << XECC_MULTI_ERR_BIT_FIELD_Reserved1_SHIFT)) & XECC_MULTI_ERR_BIT_FIELD_Reserved1_MASK)
  87459. /*! @} */
  87460. /*! @name ECC_BASE_ADDR0 - ECC Region 0 Base Address */
  87461. /*! @{ */
  87462. #define XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_MASK (0xFFFFFFFFU)
  87463. #define XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_SHIFT (0U)
  87464. /*! ECC_BASE_ADDR0 - ECC Region 0 Base Address
  87465. */
  87466. #define XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_SHIFT)) & XECC_ECC_BASE_ADDR0_ECC_BASE_ADDR0_MASK)
  87467. /*! @} */
  87468. /*! @name ECC_END_ADDR0 - ECC Region 0 End Address */
  87469. /*! @{ */
  87470. #define XECC_ECC_END_ADDR0_ECC_END_ADDR0_MASK (0xFFFFFFFFU)
  87471. #define XECC_ECC_END_ADDR0_ECC_END_ADDR0_SHIFT (0U)
  87472. /*! ECC_END_ADDR0 - ECC Region 0 End Address
  87473. */
  87474. #define XECC_ECC_END_ADDR0_ECC_END_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_END_ADDR0_ECC_END_ADDR0_SHIFT)) & XECC_ECC_END_ADDR0_ECC_END_ADDR0_MASK)
  87475. /*! @} */
  87476. /*! @name ECC_BASE_ADDR1 - ECC Region 1 Base Address */
  87477. /*! @{ */
  87478. #define XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_MASK (0xFFFFFFFFU)
  87479. #define XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_SHIFT (0U)
  87480. /*! ECC_BASE_ADDR1 - ECC Region 1 Base Address
  87481. */
  87482. #define XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_SHIFT)) & XECC_ECC_BASE_ADDR1_ECC_BASE_ADDR1_MASK)
  87483. /*! @} */
  87484. /*! @name ECC_END_ADDR1 - ECC Region 1 End Address */
  87485. /*! @{ */
  87486. #define XECC_ECC_END_ADDR1_ECC_END_ADDR1_MASK (0xFFFFFFFFU)
  87487. #define XECC_ECC_END_ADDR1_ECC_END_ADDR1_SHIFT (0U)
  87488. /*! ECC_END_ADDR1 - ECC Region 1 End Address
  87489. */
  87490. #define XECC_ECC_END_ADDR1_ECC_END_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_END_ADDR1_ECC_END_ADDR1_SHIFT)) & XECC_ECC_END_ADDR1_ECC_END_ADDR1_MASK)
  87491. /*! @} */
  87492. /*! @name ECC_BASE_ADDR2 - ECC Region 2 Base Address */
  87493. /*! @{ */
  87494. #define XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_MASK (0xFFFFFFFFU)
  87495. #define XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_SHIFT (0U)
  87496. /*! ECC_BASE_ADDR2 - ECC Region 2 Base Address
  87497. */
  87498. #define XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_SHIFT)) & XECC_ECC_BASE_ADDR2_ECC_BASE_ADDR2_MASK)
  87499. /*! @} */
  87500. /*! @name ECC_END_ADDR2 - ECC Region 2 End Address */
  87501. /*! @{ */
  87502. #define XECC_ECC_END_ADDR2_ECC_END_ADDR2_MASK (0xFFFFFFFFU)
  87503. #define XECC_ECC_END_ADDR2_ECC_END_ADDR2_SHIFT (0U)
  87504. /*! ECC_END_ADDR2 - ECC Region 2 End Address
  87505. */
  87506. #define XECC_ECC_END_ADDR2_ECC_END_ADDR2(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_END_ADDR2_ECC_END_ADDR2_SHIFT)) & XECC_ECC_END_ADDR2_ECC_END_ADDR2_MASK)
  87507. /*! @} */
  87508. /*! @name ECC_BASE_ADDR3 - ECC Region 3 Base Address */
  87509. /*! @{ */
  87510. #define XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_MASK (0xFFFFFFFFU)
  87511. #define XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_SHIFT (0U)
  87512. /*! ECC_BASE_ADDR3 - ECC Region 3 Base Address
  87513. */
  87514. #define XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_SHIFT)) & XECC_ECC_BASE_ADDR3_ECC_BASE_ADDR3_MASK)
  87515. /*! @} */
  87516. /*! @name ECC_END_ADDR3 - ECC Region 3 End Address */
  87517. /*! @{ */
  87518. #define XECC_ECC_END_ADDR3_ECC_END_ADDR3_MASK (0xFFFFFFFFU)
  87519. #define XECC_ECC_END_ADDR3_ECC_END_ADDR3_SHIFT (0U)
  87520. /*! ECC_END_ADDR3 - ECC Region 3 End Address
  87521. */
  87522. #define XECC_ECC_END_ADDR3_ECC_END_ADDR3(x) (((uint32_t)(((uint32_t)(x)) << XECC_ECC_END_ADDR3_ECC_END_ADDR3_SHIFT)) & XECC_ECC_END_ADDR3_ECC_END_ADDR3_MASK)
  87523. /*! @} */
  87524. /*!
  87525. * @}
  87526. */ /* end of group XECC_Register_Masks */
  87527. /* XECC - Peripheral instance base addresses */
  87528. /** Peripheral XECC_FLEXSPI1 base address */
  87529. #define XECC_FLEXSPI1_BASE (0x4001C000u)
  87530. /** Peripheral XECC_FLEXSPI1 base pointer */
  87531. #define XECC_FLEXSPI1 ((XECC_Type *)XECC_FLEXSPI1_BASE)
  87532. /** Peripheral XECC_FLEXSPI2 base address */
  87533. #define XECC_FLEXSPI2_BASE (0x40020000u)
  87534. /** Peripheral XECC_FLEXSPI2 base pointer */
  87535. #define XECC_FLEXSPI2 ((XECC_Type *)XECC_FLEXSPI2_BASE)
  87536. /** Peripheral XECC_SEMC base address */
  87537. #define XECC_SEMC_BASE (0x40024000u)
  87538. /** Peripheral XECC_SEMC base pointer */
  87539. #define XECC_SEMC ((XECC_Type *)XECC_SEMC_BASE)
  87540. /** Array initializer of XECC peripheral base addresses */
  87541. #define XECC_BASE_ADDRS { 0u, XECC_FLEXSPI1_BASE, XECC_FLEXSPI2_BASE, XECC_SEMC_BASE }
  87542. /** Array initializer of XECC peripheral base pointers */
  87543. #define XECC_BASE_PTRS { (XECC_Type *)0u, XECC_FLEXSPI1, XECC_FLEXSPI2, XECC_SEMC }
  87544. /*!
  87545. * @}
  87546. */ /* end of group XECC_Peripheral_Access_Layer */
  87547. /* ----------------------------------------------------------------------------
  87548. -- XRDC2 Peripheral Access Layer
  87549. ---------------------------------------------------------------------------- */
  87550. /*!
  87551. * @addtogroup XRDC2_Peripheral_Access_Layer XRDC2 Peripheral Access Layer
  87552. * @{
  87553. */
  87554. /** XRDC2 - Register Layout Typedef */
  87555. typedef struct {
  87556. __IO uint32_t MCR; /**< Module Control Register, offset: 0x0 */
  87557. __I uint32_t SR; /**< Status Register, offset: 0x4 */
  87558. uint8_t RESERVED_0[4088];
  87559. struct { /* offset: 0x1000, array step: 0x8 */
  87560. __IO uint32_t MSC_MSAC_W0; /**< Memory Slot Access Control, array offset: 0x1000, array step: 0x8 */
  87561. __IO uint32_t MSC_MSAC_W1; /**< Memory Slot Access Control, array offset: 0x1004, array step: 0x8 */
  87562. } MSCI_MSAC_WK[128];
  87563. uint8_t RESERVED_1[3072];
  87564. struct { /* offset: 0x2000, array step: index*0x100, index2*0x8 */
  87565. __IO uint32_t MDAC_MDA_W0; /**< Master Domain Assignment, array offset: 0x2000, array step: index*0x100, index2*0x8 */
  87566. __IO uint32_t MDAC_MDA_W1; /**< Master Domain Assignment, array offset: 0x2004, array step: index*0x100, index2*0x8 */
  87567. } MDACI_MDAJ[32][32];
  87568. struct { /* offset: 0x4000, array step: index*0x800, index2*0x8 */
  87569. __IO uint32_t PAC_PDAC_W0; /**< Peripheral Domain Access Control, array offset: 0x4000, array step: index*0x800, index2*0x8 */
  87570. __IO uint32_t PAC_PDAC_W1; /**< Peripheral Domain Access Control, array offset: 0x4004, array step: index*0x800, index2*0x8 */
  87571. } PACI_PDACJ[8][256];
  87572. struct { /* offset: 0x8000, array step: index*0x400, index2*0x20 */
  87573. __IO uint32_t MRC_MRGD_W0; /**< Memory Region Descriptor, array offset: 0x8000, array step: index*0x400, index2*0x20 */
  87574. __IO uint32_t MRC_MRGD_W1; /**< Memory Region Descriptor, array offset: 0x8004, array step: index*0x400, index2*0x20 */
  87575. __IO uint32_t MRC_MRGD_W2; /**< Memory Region Descriptor, array offset: 0x8008, array step: index*0x400, index2*0x20 */
  87576. __IO uint32_t MRC_MRGD_W3; /**< Memory Region Descriptor, array offset: 0x800C, array step: index*0x400, index2*0x20 */
  87577. uint8_t RESERVED_0[4];
  87578. __IO uint32_t MRC_MRGD_W5; /**< Memory Region Descriptor, array offset: 0x8014, array step: index*0x400, index2*0x20 */
  87579. __IO uint32_t MRC_MRGD_W6; /**< Memory Region Descriptor, array offset: 0x8018, array step: index*0x400, index2*0x20 */
  87580. uint8_t RESERVED_1[4];
  87581. } MRCI_MRGDJ[32][32];
  87582. } XRDC2_Type;
  87583. /* ----------------------------------------------------------------------------
  87584. -- XRDC2 Register Masks
  87585. ---------------------------------------------------------------------------- */
  87586. /*!
  87587. * @addtogroup XRDC2_Register_Masks XRDC2 Register Masks
  87588. * @{
  87589. */
  87590. /*! @name MCR - Module Control Register */
  87591. /*! @{ */
  87592. #define XRDC2_MCR_GVLDM_MASK (0x1U)
  87593. #define XRDC2_MCR_GVLDM_SHIFT (0U)
  87594. /*! GVLDM - Global Valid MDAC
  87595. * 0b0..MDACs are disabled.
  87596. * 0b1..MDACs are enabled.
  87597. */
  87598. #define XRDC2_MCR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GVLDM_SHIFT)) & XRDC2_MCR_GVLDM_MASK)
  87599. #define XRDC2_MCR_GVLDC_MASK (0x2U)
  87600. #define XRDC2_MCR_GVLDC_SHIFT (1U)
  87601. /*! GVLDC - Global Valid Access Control
  87602. * 0b0..Access controls are disabled, XRDC2 allows all transactions.
  87603. * 0b1..Access controls are enabled.
  87604. */
  87605. #define XRDC2_MCR_GVLDC(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GVLDC_SHIFT)) & XRDC2_MCR_GVLDC_MASK)
  87606. #define XRDC2_MCR_GCL_MASK (0x30U)
  87607. #define XRDC2_MCR_GCL_SHIFT (4U)
  87608. /*! GCL - Global Configuration Lock
  87609. * 0b00..Lock disabled, registers can be written by any domain.
  87610. * 0b01..Lock disabled until the next reset, registers can be written by any domain.
  87611. * 0b10..Lock enabled, only the global configuration lock owner (SR[GCLO]) can write to registers.
  87612. * 0b11..Lock enabled, all registers are read only until the next reset.
  87613. */
  87614. #define XRDC2_MCR_GCL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MCR_GCL_SHIFT)) & XRDC2_MCR_GCL_MASK)
  87615. /*! @} */
  87616. /*! @name SR - Status Register */
  87617. /*! @{ */
  87618. #define XRDC2_SR_DIN_MASK (0xFU)
  87619. #define XRDC2_SR_DIN_SHIFT (0U)
  87620. /*! DIN - Domain Identifier Number
  87621. */
  87622. #define XRDC2_SR_DIN(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_DIN_SHIFT)) & XRDC2_SR_DIN_MASK)
  87623. #define XRDC2_SR_HRL_MASK (0xF0U)
  87624. #define XRDC2_SR_HRL_SHIFT (4U)
  87625. /*! HRL - Hardware Revision Level
  87626. */
  87627. #define XRDC2_SR_HRL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_HRL_SHIFT)) & XRDC2_SR_HRL_MASK)
  87628. #define XRDC2_SR_GCLO_MASK (0xF00U)
  87629. #define XRDC2_SR_GCLO_SHIFT (8U)
  87630. /*! GCLO - Global Configuration Lock Owner
  87631. */
  87632. #define XRDC2_SR_GCLO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_SR_GCLO_SHIFT)) & XRDC2_SR_GCLO_MASK)
  87633. /*! @} */
  87634. /*! @name MSC_MSAC_W0 - Memory Slot Access Control */
  87635. /*! @{ */
  87636. #define XRDC2_MSC_MSAC_W0_D0ACP_MASK (0x7U)
  87637. #define XRDC2_MSC_MSAC_W0_D0ACP_SHIFT (0U)
  87638. /*! D0ACP - Domain "x" access control policy
  87639. */
  87640. #define XRDC2_MSC_MSAC_W0_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D0ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D0ACP_MASK)
  87641. #define XRDC2_MSC_MSAC_W0_D1ACP_MASK (0x38U)
  87642. #define XRDC2_MSC_MSAC_W0_D1ACP_SHIFT (3U)
  87643. /*! D1ACP - Domain "x" access control policy
  87644. */
  87645. #define XRDC2_MSC_MSAC_W0_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D1ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D1ACP_MASK)
  87646. #define XRDC2_MSC_MSAC_W0_D2ACP_MASK (0x1C0U)
  87647. #define XRDC2_MSC_MSAC_W0_D2ACP_SHIFT (6U)
  87648. /*! D2ACP - Domain "x" access control policy
  87649. */
  87650. #define XRDC2_MSC_MSAC_W0_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D2ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D2ACP_MASK)
  87651. #define XRDC2_MSC_MSAC_W0_D3ACP_MASK (0xE00U)
  87652. #define XRDC2_MSC_MSAC_W0_D3ACP_SHIFT (9U)
  87653. /*! D3ACP - Domain "x" access control policy
  87654. */
  87655. #define XRDC2_MSC_MSAC_W0_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D3ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D3ACP_MASK)
  87656. #define XRDC2_MSC_MSAC_W0_D4ACP_MASK (0x7000U)
  87657. #define XRDC2_MSC_MSAC_W0_D4ACP_SHIFT (12U)
  87658. /*! D4ACP - Domain "x" access control policy
  87659. */
  87660. #define XRDC2_MSC_MSAC_W0_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D4ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D4ACP_MASK)
  87661. #define XRDC2_MSC_MSAC_W0_D5ACP_MASK (0x38000U)
  87662. #define XRDC2_MSC_MSAC_W0_D5ACP_SHIFT (15U)
  87663. /*! D5ACP - Domain "x" access control policy
  87664. */
  87665. #define XRDC2_MSC_MSAC_W0_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D5ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D5ACP_MASK)
  87666. #define XRDC2_MSC_MSAC_W0_D6ACP_MASK (0x1C0000U)
  87667. #define XRDC2_MSC_MSAC_W0_D6ACP_SHIFT (18U)
  87668. /*! D6ACP - Domain "x" access control policy
  87669. */
  87670. #define XRDC2_MSC_MSAC_W0_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D6ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D6ACP_MASK)
  87671. #define XRDC2_MSC_MSAC_W0_D7ACP_MASK (0xE00000U)
  87672. #define XRDC2_MSC_MSAC_W0_D7ACP_SHIFT (21U)
  87673. /*! D7ACP - Domain "x" access control policy
  87674. */
  87675. #define XRDC2_MSC_MSAC_W0_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_D7ACP_SHIFT)) & XRDC2_MSC_MSAC_W0_D7ACP_MASK)
  87676. #define XRDC2_MSC_MSAC_W0_EALO_MASK (0xF000000U)
  87677. #define XRDC2_MSC_MSAC_W0_EALO_SHIFT (24U)
  87678. /*! EALO - Exclusive Access Lock Owner
  87679. */
  87680. #define XRDC2_MSC_MSAC_W0_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W0_EALO_SHIFT)) & XRDC2_MSC_MSAC_W0_EALO_MASK)
  87681. /*! @} */
  87682. /* The count of XRDC2_MSC_MSAC_W0 */
  87683. #define XRDC2_MSC_MSAC_W0_COUNT (128U)
  87684. /*! @name MSC_MSAC_W1 - Memory Slot Access Control */
  87685. /*! @{ */
  87686. #define XRDC2_MSC_MSAC_W1_D8ACP_MASK (0x7U)
  87687. #define XRDC2_MSC_MSAC_W1_D8ACP_SHIFT (0U)
  87688. /*! D8ACP - Domain "x" access control policy
  87689. */
  87690. #define XRDC2_MSC_MSAC_W1_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D8ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D8ACP_MASK)
  87691. #define XRDC2_MSC_MSAC_W1_D9ACP_MASK (0x38U)
  87692. #define XRDC2_MSC_MSAC_W1_D9ACP_SHIFT (3U)
  87693. /*! D9ACP - Domain "x" access control policy
  87694. */
  87695. #define XRDC2_MSC_MSAC_W1_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D9ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D9ACP_MASK)
  87696. #define XRDC2_MSC_MSAC_W1_D10ACP_MASK (0x1C0U)
  87697. #define XRDC2_MSC_MSAC_W1_D10ACP_SHIFT (6U)
  87698. /*! D10ACP - Domain "x" access control policy
  87699. */
  87700. #define XRDC2_MSC_MSAC_W1_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D10ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D10ACP_MASK)
  87701. #define XRDC2_MSC_MSAC_W1_D11ACP_MASK (0xE00U)
  87702. #define XRDC2_MSC_MSAC_W1_D11ACP_SHIFT (9U)
  87703. /*! D11ACP - Domain "x" access control policy
  87704. */
  87705. #define XRDC2_MSC_MSAC_W1_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D11ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D11ACP_MASK)
  87706. #define XRDC2_MSC_MSAC_W1_D12ACP_MASK (0x7000U)
  87707. #define XRDC2_MSC_MSAC_W1_D12ACP_SHIFT (12U)
  87708. /*! D12ACP - Domain "x" access control policy
  87709. */
  87710. #define XRDC2_MSC_MSAC_W1_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D12ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D12ACP_MASK)
  87711. #define XRDC2_MSC_MSAC_W1_D13ACP_MASK (0x38000U)
  87712. #define XRDC2_MSC_MSAC_W1_D13ACP_SHIFT (15U)
  87713. /*! D13ACP - Domain "x" access control policy
  87714. */
  87715. #define XRDC2_MSC_MSAC_W1_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D13ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D13ACP_MASK)
  87716. #define XRDC2_MSC_MSAC_W1_D14ACP_MASK (0x1C0000U)
  87717. #define XRDC2_MSC_MSAC_W1_D14ACP_SHIFT (18U)
  87718. /*! D14ACP - Domain "x" access control policy
  87719. */
  87720. #define XRDC2_MSC_MSAC_W1_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D14ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D14ACP_MASK)
  87721. #define XRDC2_MSC_MSAC_W1_D15ACP_MASK (0xE00000U)
  87722. #define XRDC2_MSC_MSAC_W1_D15ACP_SHIFT (21U)
  87723. /*! D15ACP - Domain "x" access control policy
  87724. */
  87725. #define XRDC2_MSC_MSAC_W1_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_D15ACP_SHIFT)) & XRDC2_MSC_MSAC_W1_D15ACP_MASK)
  87726. #define XRDC2_MSC_MSAC_W1_EAL_MASK (0x3000000U)
  87727. #define XRDC2_MSC_MSAC_W1_EAL_SHIFT (24U)
  87728. /*! EAL - Exclusive Access Lock
  87729. * 0b00..Lock disabled.
  87730. * 0b01..Lock disabled until next reset.
  87731. * 0b10..Lock enabled, lock state = available.
  87732. * 0b11..Lock enabled, lock state = not available.
  87733. */
  87734. #define XRDC2_MSC_MSAC_W1_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_EAL_SHIFT)) & XRDC2_MSC_MSAC_W1_EAL_MASK)
  87735. #define XRDC2_MSC_MSAC_W1_DL2_MASK (0x60000000U)
  87736. #define XRDC2_MSC_MSAC_W1_DL2_SHIFT (29U)
  87737. /*! DL2 - Descriptor Lock
  87738. * 0b00..Lock disabled, descriptor registers can be written.
  87739. * 0b01..Lock disabled until the next reset, descriptor registers can be written.
  87740. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written.
  87741. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  87742. */
  87743. #define XRDC2_MSC_MSAC_W1_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_DL2_SHIFT)) & XRDC2_MSC_MSAC_W1_DL2_MASK)
  87744. #define XRDC2_MSC_MSAC_W1_VLD_MASK (0x80000000U)
  87745. #define XRDC2_MSC_MSAC_W1_VLD_SHIFT (31U)
  87746. /*! VLD - Valid
  87747. * 0b0..The MSAC assignment is invalid.
  87748. * 0b1..The MSAC assignment is valid.
  87749. */
  87750. #define XRDC2_MSC_MSAC_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MSC_MSAC_W1_VLD_SHIFT)) & XRDC2_MSC_MSAC_W1_VLD_MASK)
  87751. /*! @} */
  87752. /* The count of XRDC2_MSC_MSAC_W1 */
  87753. #define XRDC2_MSC_MSAC_W1_COUNT (128U)
  87754. /*! @name MDAC_MDA_W0 - Master Domain Assignment */
  87755. /*! @{ */
  87756. #define XRDC2_MDAC_MDA_W0_MASK_MASK (0xFFFFU)
  87757. #define XRDC2_MDAC_MDA_W0_MASK_SHIFT (0U)
  87758. /*! MASK - Mask
  87759. */
  87760. #define XRDC2_MDAC_MDA_W0_MASK(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W0_MASK_SHIFT)) & XRDC2_MDAC_MDA_W0_MASK_MASK)
  87761. #define XRDC2_MDAC_MDA_W0_MATCH_MASK (0xFFFF0000U)
  87762. #define XRDC2_MDAC_MDA_W0_MATCH_SHIFT (16U)
  87763. /*! MATCH - Match
  87764. */
  87765. #define XRDC2_MDAC_MDA_W0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W0_MATCH_SHIFT)) & XRDC2_MDAC_MDA_W0_MATCH_MASK)
  87766. /*! @} */
  87767. /* The count of XRDC2_MDAC_MDA_W0 */
  87768. #define XRDC2_MDAC_MDA_W0_COUNT (32U)
  87769. /* The count of XRDC2_MDAC_MDA_W0 */
  87770. #define XRDC2_MDAC_MDA_W0_COUNT2 (32U)
  87771. /*! @name MDAC_MDA_W1 - Master Domain Assignment */
  87772. /*! @{ */
  87773. #define XRDC2_MDAC_MDA_W1_DID_MASK (0xF0000U)
  87774. #define XRDC2_MDAC_MDA_W1_DID_SHIFT (16U)
  87775. /*! DID - Domain Identifier
  87776. */
  87777. #define XRDC2_MDAC_MDA_W1_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_DID_SHIFT)) & XRDC2_MDAC_MDA_W1_DID_MASK)
  87778. #define XRDC2_MDAC_MDA_W1_PA_MASK (0x3000000U)
  87779. #define XRDC2_MDAC_MDA_W1_PA_SHIFT (24U)
  87780. /*! PA - Privileged attribute
  87781. * 0b00..Use the bus master's privileged/user attribute directly.
  87782. * 0b01..Use the bus master's privileged/user attribute directly.
  87783. * 0b10..Force the bus attribute for this master to user.
  87784. * 0b11..Force the bus attribute for this master to privileged.
  87785. */
  87786. #define XRDC2_MDAC_MDA_W1_PA(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_PA_SHIFT)) & XRDC2_MDAC_MDA_W1_PA_MASK)
  87787. #define XRDC2_MDAC_MDA_W1_SA_MASK (0xC000000U)
  87788. #define XRDC2_MDAC_MDA_W1_SA_SHIFT (26U)
  87789. /*! SA - Secure attribute
  87790. * 0b00..Use the bus master's secure/nonsecure attribute directly.
  87791. * 0b01..Use the bus master's secure/nonsecure attribute directly.
  87792. * 0b10..Force the bus attribute for this master to secure.
  87793. * 0b11..Force the bus attribute for this master to nonsecure.
  87794. */
  87795. #define XRDC2_MDAC_MDA_W1_SA(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_SA_SHIFT)) & XRDC2_MDAC_MDA_W1_SA_MASK)
  87796. #define XRDC2_MDAC_MDA_W1_DL_MASK (0x40000000U)
  87797. #define XRDC2_MDAC_MDA_W1_DL_SHIFT (30U)
  87798. /*! DL - Descriptor Lock
  87799. * 0b0..Lock disabled, registers can be written.
  87800. * 0b1..Lock enabled, registers are read-only until the next reset.
  87801. */
  87802. #define XRDC2_MDAC_MDA_W1_DL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_DL_SHIFT)) & XRDC2_MDAC_MDA_W1_DL_MASK)
  87803. #define XRDC2_MDAC_MDA_W1_VLD_MASK (0x80000000U)
  87804. #define XRDC2_MDAC_MDA_W1_VLD_SHIFT (31U)
  87805. /*! VLD - Valid
  87806. * 0b0..The MDA is invalid.
  87807. * 0b1..The MDA is valid.
  87808. */
  87809. #define XRDC2_MDAC_MDA_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MDAC_MDA_W1_VLD_SHIFT)) & XRDC2_MDAC_MDA_W1_VLD_MASK)
  87810. /*! @} */
  87811. /* The count of XRDC2_MDAC_MDA_W1 */
  87812. #define XRDC2_MDAC_MDA_W1_COUNT (32U)
  87813. /* The count of XRDC2_MDAC_MDA_W1 */
  87814. #define XRDC2_MDAC_MDA_W1_COUNT2 (32U)
  87815. /*! @name PAC_PDAC_W0 - Peripheral Domain Access Control */
  87816. /*! @{ */
  87817. #define XRDC2_PAC_PDAC_W0_D0ACP_MASK (0x7U)
  87818. #define XRDC2_PAC_PDAC_W0_D0ACP_SHIFT (0U)
  87819. /*! D0ACP - Domain "x" access control policy
  87820. */
  87821. #define XRDC2_PAC_PDAC_W0_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D0ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D0ACP_MASK)
  87822. #define XRDC2_PAC_PDAC_W0_D1ACP_MASK (0x38U)
  87823. #define XRDC2_PAC_PDAC_W0_D1ACP_SHIFT (3U)
  87824. /*! D1ACP - Domain "x" access control policy
  87825. */
  87826. #define XRDC2_PAC_PDAC_W0_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D1ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D1ACP_MASK)
  87827. #define XRDC2_PAC_PDAC_W0_D2ACP_MASK (0x1C0U)
  87828. #define XRDC2_PAC_PDAC_W0_D2ACP_SHIFT (6U)
  87829. /*! D2ACP - Domain "x" access control policy
  87830. */
  87831. #define XRDC2_PAC_PDAC_W0_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D2ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D2ACP_MASK)
  87832. #define XRDC2_PAC_PDAC_W0_D3ACP_MASK (0xE00U)
  87833. #define XRDC2_PAC_PDAC_W0_D3ACP_SHIFT (9U)
  87834. /*! D3ACP - Domain "x" access control policy
  87835. */
  87836. #define XRDC2_PAC_PDAC_W0_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D3ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D3ACP_MASK)
  87837. #define XRDC2_PAC_PDAC_W0_D4ACP_MASK (0x7000U)
  87838. #define XRDC2_PAC_PDAC_W0_D4ACP_SHIFT (12U)
  87839. /*! D4ACP - Domain "x" access control policy
  87840. */
  87841. #define XRDC2_PAC_PDAC_W0_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D4ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D4ACP_MASK)
  87842. #define XRDC2_PAC_PDAC_W0_D5ACP_MASK (0x38000U)
  87843. #define XRDC2_PAC_PDAC_W0_D5ACP_SHIFT (15U)
  87844. /*! D5ACP - Domain "x" access control policy
  87845. */
  87846. #define XRDC2_PAC_PDAC_W0_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D5ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D5ACP_MASK)
  87847. #define XRDC2_PAC_PDAC_W0_D6ACP_MASK (0x1C0000U)
  87848. #define XRDC2_PAC_PDAC_W0_D6ACP_SHIFT (18U)
  87849. /*! D6ACP - Domain "x" access control policy
  87850. */
  87851. #define XRDC2_PAC_PDAC_W0_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D6ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D6ACP_MASK)
  87852. #define XRDC2_PAC_PDAC_W0_D7ACP_MASK (0xE00000U)
  87853. #define XRDC2_PAC_PDAC_W0_D7ACP_SHIFT (21U)
  87854. /*! D7ACP - Domain "x" access control policy
  87855. */
  87856. #define XRDC2_PAC_PDAC_W0_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_D7ACP_SHIFT)) & XRDC2_PAC_PDAC_W0_D7ACP_MASK)
  87857. #define XRDC2_PAC_PDAC_W0_EALO_MASK (0xF000000U)
  87858. #define XRDC2_PAC_PDAC_W0_EALO_SHIFT (24U)
  87859. /*! EALO - Exclusive Access Lock Owner
  87860. */
  87861. #define XRDC2_PAC_PDAC_W0_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W0_EALO_SHIFT)) & XRDC2_PAC_PDAC_W0_EALO_MASK)
  87862. /*! @} */
  87863. /* The count of XRDC2_PAC_PDAC_W0 */
  87864. #define XRDC2_PAC_PDAC_W0_COUNT (8U)
  87865. /* The count of XRDC2_PAC_PDAC_W0 */
  87866. #define XRDC2_PAC_PDAC_W0_COUNT2 (256U)
  87867. /*! @name PAC_PDAC_W1 - Peripheral Domain Access Control */
  87868. /*! @{ */
  87869. #define XRDC2_PAC_PDAC_W1_D8ACP_MASK (0x7U)
  87870. #define XRDC2_PAC_PDAC_W1_D8ACP_SHIFT (0U)
  87871. /*! D8ACP - Domain "x" access control policy
  87872. */
  87873. #define XRDC2_PAC_PDAC_W1_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D8ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D8ACP_MASK)
  87874. #define XRDC2_PAC_PDAC_W1_D9ACP_MASK (0x38U)
  87875. #define XRDC2_PAC_PDAC_W1_D9ACP_SHIFT (3U)
  87876. /*! D9ACP - Domain "x" access control policy
  87877. */
  87878. #define XRDC2_PAC_PDAC_W1_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D9ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D9ACP_MASK)
  87879. #define XRDC2_PAC_PDAC_W1_D10ACP_MASK (0x1C0U)
  87880. #define XRDC2_PAC_PDAC_W1_D10ACP_SHIFT (6U)
  87881. /*! D10ACP - Domain "x" access control policy
  87882. */
  87883. #define XRDC2_PAC_PDAC_W1_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D10ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D10ACP_MASK)
  87884. #define XRDC2_PAC_PDAC_W1_D11ACP_MASK (0xE00U)
  87885. #define XRDC2_PAC_PDAC_W1_D11ACP_SHIFT (9U)
  87886. /*! D11ACP - Domain "x" access control policy
  87887. */
  87888. #define XRDC2_PAC_PDAC_W1_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D11ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D11ACP_MASK)
  87889. #define XRDC2_PAC_PDAC_W1_D12ACP_MASK (0x7000U)
  87890. #define XRDC2_PAC_PDAC_W1_D12ACP_SHIFT (12U)
  87891. /*! D12ACP - Domain "x" access control policy
  87892. */
  87893. #define XRDC2_PAC_PDAC_W1_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D12ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D12ACP_MASK)
  87894. #define XRDC2_PAC_PDAC_W1_D13ACP_MASK (0x38000U)
  87895. #define XRDC2_PAC_PDAC_W1_D13ACP_SHIFT (15U)
  87896. /*! D13ACP - Domain "x" access control policy
  87897. */
  87898. #define XRDC2_PAC_PDAC_W1_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D13ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D13ACP_MASK)
  87899. #define XRDC2_PAC_PDAC_W1_D14ACP_MASK (0x1C0000U)
  87900. #define XRDC2_PAC_PDAC_W1_D14ACP_SHIFT (18U)
  87901. /*! D14ACP - Domain "x" access control policy
  87902. */
  87903. #define XRDC2_PAC_PDAC_W1_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D14ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D14ACP_MASK)
  87904. #define XRDC2_PAC_PDAC_W1_D15ACP_MASK (0xE00000U)
  87905. #define XRDC2_PAC_PDAC_W1_D15ACP_SHIFT (21U)
  87906. /*! D15ACP - Domain "x" access control policy
  87907. */
  87908. #define XRDC2_PAC_PDAC_W1_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_D15ACP_SHIFT)) & XRDC2_PAC_PDAC_W1_D15ACP_MASK)
  87909. #define XRDC2_PAC_PDAC_W1_EAL_MASK (0x3000000U)
  87910. #define XRDC2_PAC_PDAC_W1_EAL_SHIFT (24U)
  87911. /*! EAL - Exclusive Access Lock
  87912. * 0b00..Lock disabled.
  87913. * 0b01..Lock disabled until next reset.
  87914. * 0b10..Lock enabled, lock state = available.
  87915. * 0b11..Lock enabled, lock state = not available.
  87916. */
  87917. #define XRDC2_PAC_PDAC_W1_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_EAL_SHIFT)) & XRDC2_PAC_PDAC_W1_EAL_MASK)
  87918. #define XRDC2_PAC_PDAC_W1_DL2_MASK (0x60000000U)
  87919. #define XRDC2_PAC_PDAC_W1_DL2_SHIFT (29U)
  87920. /*! DL2 - Descriptor Lock
  87921. * 0b00..Lock disabled, descriptor registers can be written..
  87922. * 0b01..Lock disabled until the next reset, descriptor registers can be written..
  87923. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written..
  87924. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  87925. */
  87926. #define XRDC2_PAC_PDAC_W1_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_DL2_SHIFT)) & XRDC2_PAC_PDAC_W1_DL2_MASK)
  87927. #define XRDC2_PAC_PDAC_W1_VLD_MASK (0x80000000U)
  87928. #define XRDC2_PAC_PDAC_W1_VLD_SHIFT (31U)
  87929. /*! VLD - Valid
  87930. * 0b0..The PDAC assignment is invalid.
  87931. * 0b1..The PDAC assignment is valid.
  87932. */
  87933. #define XRDC2_PAC_PDAC_W1_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_PAC_PDAC_W1_VLD_SHIFT)) & XRDC2_PAC_PDAC_W1_VLD_MASK)
  87934. /*! @} */
  87935. /* The count of XRDC2_PAC_PDAC_W1 */
  87936. #define XRDC2_PAC_PDAC_W1_COUNT (8U)
  87937. /* The count of XRDC2_PAC_PDAC_W1 */
  87938. #define XRDC2_PAC_PDAC_W1_COUNT2 (256U)
  87939. /*! @name MRC_MRGD_W0 - Memory Region Descriptor */
  87940. /*! @{ */
  87941. #define XRDC2_MRC_MRGD_W0_SRTADDR_MASK (0xFFFFF000U)
  87942. #define XRDC2_MRC_MRGD_W0_SRTADDR_SHIFT (12U)
  87943. /*! SRTADDR - Start Address
  87944. */
  87945. #define XRDC2_MRC_MRGD_W0_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W0_SRTADDR_SHIFT)) & XRDC2_MRC_MRGD_W0_SRTADDR_MASK)
  87946. /*! @} */
  87947. /* The count of XRDC2_MRC_MRGD_W0 */
  87948. #define XRDC2_MRC_MRGD_W0_COUNT (32U)
  87949. /* The count of XRDC2_MRC_MRGD_W0 */
  87950. #define XRDC2_MRC_MRGD_W0_COUNT2 (32U)
  87951. /*! @name MRC_MRGD_W1 - Memory Region Descriptor */
  87952. /*! @{ */
  87953. #define XRDC2_MRC_MRGD_W1_SRTADDR_MASK (0xFU)
  87954. #define XRDC2_MRC_MRGD_W1_SRTADDR_SHIFT (0U)
  87955. /*! SRTADDR - Start Address
  87956. */
  87957. #define XRDC2_MRC_MRGD_W1_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W1_SRTADDR_SHIFT)) & XRDC2_MRC_MRGD_W1_SRTADDR_MASK)
  87958. /*! @} */
  87959. /* The count of XRDC2_MRC_MRGD_W1 */
  87960. #define XRDC2_MRC_MRGD_W1_COUNT (32U)
  87961. /* The count of XRDC2_MRC_MRGD_W1 */
  87962. #define XRDC2_MRC_MRGD_W1_COUNT2 (32U)
  87963. /*! @name MRC_MRGD_W2 - Memory Region Descriptor */
  87964. /*! @{ */
  87965. #define XRDC2_MRC_MRGD_W2_ENDADDR_MASK (0xFFFFF000U)
  87966. #define XRDC2_MRC_MRGD_W2_ENDADDR_SHIFT (12U)
  87967. /*! ENDADDR - End Address
  87968. */
  87969. #define XRDC2_MRC_MRGD_W2_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W2_ENDADDR_SHIFT)) & XRDC2_MRC_MRGD_W2_ENDADDR_MASK)
  87970. /*! @} */
  87971. /* The count of XRDC2_MRC_MRGD_W2 */
  87972. #define XRDC2_MRC_MRGD_W2_COUNT (32U)
  87973. /* The count of XRDC2_MRC_MRGD_W2 */
  87974. #define XRDC2_MRC_MRGD_W2_COUNT2 (32U)
  87975. /*! @name MRC_MRGD_W3 - Memory Region Descriptor */
  87976. /*! @{ */
  87977. #define XRDC2_MRC_MRGD_W3_ENDADDR_MASK (0xFU)
  87978. #define XRDC2_MRC_MRGD_W3_ENDADDR_SHIFT (0U)
  87979. /*! ENDADDR - End Address
  87980. */
  87981. #define XRDC2_MRC_MRGD_W3_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W3_ENDADDR_SHIFT)) & XRDC2_MRC_MRGD_W3_ENDADDR_MASK)
  87982. /*! @} */
  87983. /* The count of XRDC2_MRC_MRGD_W3 */
  87984. #define XRDC2_MRC_MRGD_W3_COUNT (32U)
  87985. /* The count of XRDC2_MRC_MRGD_W3 */
  87986. #define XRDC2_MRC_MRGD_W3_COUNT2 (32U)
  87987. /*! @name MRC_MRGD_W5 - Memory Region Descriptor */
  87988. /*! @{ */
  87989. #define XRDC2_MRC_MRGD_W5_D0ACP_MASK (0x7U)
  87990. #define XRDC2_MRC_MRGD_W5_D0ACP_SHIFT (0U)
  87991. /*! D0ACP - Domain "x" access control policy
  87992. */
  87993. #define XRDC2_MRC_MRGD_W5_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D0ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D0ACP_MASK)
  87994. #define XRDC2_MRC_MRGD_W5_D1ACP_MASK (0x38U)
  87995. #define XRDC2_MRC_MRGD_W5_D1ACP_SHIFT (3U)
  87996. /*! D1ACP - Domain "x" access control policy
  87997. */
  87998. #define XRDC2_MRC_MRGD_W5_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D1ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D1ACP_MASK)
  87999. #define XRDC2_MRC_MRGD_W5_D2ACP_MASK (0x1C0U)
  88000. #define XRDC2_MRC_MRGD_W5_D2ACP_SHIFT (6U)
  88001. /*! D2ACP - Domain "x" access control policy
  88002. */
  88003. #define XRDC2_MRC_MRGD_W5_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D2ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D2ACP_MASK)
  88004. #define XRDC2_MRC_MRGD_W5_D3ACP_MASK (0xE00U)
  88005. #define XRDC2_MRC_MRGD_W5_D3ACP_SHIFT (9U)
  88006. /*! D3ACP - Domain "x" access control policy
  88007. */
  88008. #define XRDC2_MRC_MRGD_W5_D3ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D3ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D3ACP_MASK)
  88009. #define XRDC2_MRC_MRGD_W5_D4ACP_MASK (0x7000U)
  88010. #define XRDC2_MRC_MRGD_W5_D4ACP_SHIFT (12U)
  88011. /*! D4ACP - Domain "x" access control policy
  88012. */
  88013. #define XRDC2_MRC_MRGD_W5_D4ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D4ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D4ACP_MASK)
  88014. #define XRDC2_MRC_MRGD_W5_D5ACP_MASK (0x38000U)
  88015. #define XRDC2_MRC_MRGD_W5_D5ACP_SHIFT (15U)
  88016. /*! D5ACP - Domain "x" access control policy
  88017. */
  88018. #define XRDC2_MRC_MRGD_W5_D5ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D5ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D5ACP_MASK)
  88019. #define XRDC2_MRC_MRGD_W5_D6ACP_MASK (0x1C0000U)
  88020. #define XRDC2_MRC_MRGD_W5_D6ACP_SHIFT (18U)
  88021. /*! D6ACP - Domain "x" access control policy
  88022. */
  88023. #define XRDC2_MRC_MRGD_W5_D6ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D6ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D6ACP_MASK)
  88024. #define XRDC2_MRC_MRGD_W5_D7ACP_MASK (0xE00000U)
  88025. #define XRDC2_MRC_MRGD_W5_D7ACP_SHIFT (21U)
  88026. /*! D7ACP - Domain "x" access control policy
  88027. */
  88028. #define XRDC2_MRC_MRGD_W5_D7ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_D7ACP_SHIFT)) & XRDC2_MRC_MRGD_W5_D7ACP_MASK)
  88029. #define XRDC2_MRC_MRGD_W5_EALO_MASK (0xF000000U)
  88030. #define XRDC2_MRC_MRGD_W5_EALO_SHIFT (24U)
  88031. /*! EALO - Exclusive Access Lock Owner
  88032. */
  88033. #define XRDC2_MRC_MRGD_W5_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W5_EALO_SHIFT)) & XRDC2_MRC_MRGD_W5_EALO_MASK)
  88034. /*! @} */
  88035. /* The count of XRDC2_MRC_MRGD_W5 */
  88036. #define XRDC2_MRC_MRGD_W5_COUNT (32U)
  88037. /* The count of XRDC2_MRC_MRGD_W5 */
  88038. #define XRDC2_MRC_MRGD_W5_COUNT2 (32U)
  88039. /*! @name MRC_MRGD_W6 - Memory Region Descriptor */
  88040. /*! @{ */
  88041. #define XRDC2_MRC_MRGD_W6_D8ACP_MASK (0x7U)
  88042. #define XRDC2_MRC_MRGD_W6_D8ACP_SHIFT (0U)
  88043. /*! D8ACP - Domain "x" access control policy
  88044. */
  88045. #define XRDC2_MRC_MRGD_W6_D8ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D8ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D8ACP_MASK)
  88046. #define XRDC2_MRC_MRGD_W6_D9ACP_MASK (0x38U)
  88047. #define XRDC2_MRC_MRGD_W6_D9ACP_SHIFT (3U)
  88048. /*! D9ACP - Domain "x" access control policy
  88049. */
  88050. #define XRDC2_MRC_MRGD_W6_D9ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D9ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D9ACP_MASK)
  88051. #define XRDC2_MRC_MRGD_W6_D10ACP_MASK (0x1C0U)
  88052. #define XRDC2_MRC_MRGD_W6_D10ACP_SHIFT (6U)
  88053. /*! D10ACP - Domain "x" access control policy
  88054. */
  88055. #define XRDC2_MRC_MRGD_W6_D10ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D10ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D10ACP_MASK)
  88056. #define XRDC2_MRC_MRGD_W6_D11ACP_MASK (0xE00U)
  88057. #define XRDC2_MRC_MRGD_W6_D11ACP_SHIFT (9U)
  88058. /*! D11ACP - Domain "x" access control policy
  88059. */
  88060. #define XRDC2_MRC_MRGD_W6_D11ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D11ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D11ACP_MASK)
  88061. #define XRDC2_MRC_MRGD_W6_D12ACP_MASK (0x7000U)
  88062. #define XRDC2_MRC_MRGD_W6_D12ACP_SHIFT (12U)
  88063. /*! D12ACP - Domain "x" access control policy
  88064. */
  88065. #define XRDC2_MRC_MRGD_W6_D12ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D12ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D12ACP_MASK)
  88066. #define XRDC2_MRC_MRGD_W6_D13ACP_MASK (0x38000U)
  88067. #define XRDC2_MRC_MRGD_W6_D13ACP_SHIFT (15U)
  88068. /*! D13ACP - Domain "x" access control policy
  88069. */
  88070. #define XRDC2_MRC_MRGD_W6_D13ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D13ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D13ACP_MASK)
  88071. #define XRDC2_MRC_MRGD_W6_D14ACP_MASK (0x1C0000U)
  88072. #define XRDC2_MRC_MRGD_W6_D14ACP_SHIFT (18U)
  88073. /*! D14ACP - Domain "x" access control policy
  88074. */
  88075. #define XRDC2_MRC_MRGD_W6_D14ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D14ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D14ACP_MASK)
  88076. #define XRDC2_MRC_MRGD_W6_D15ACP_MASK (0xE00000U)
  88077. #define XRDC2_MRC_MRGD_W6_D15ACP_SHIFT (21U)
  88078. /*! D15ACP - Domain "x" access control policy
  88079. */
  88080. #define XRDC2_MRC_MRGD_W6_D15ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_D15ACP_SHIFT)) & XRDC2_MRC_MRGD_W6_D15ACP_MASK)
  88081. #define XRDC2_MRC_MRGD_W6_EAL_MASK (0x3000000U)
  88082. #define XRDC2_MRC_MRGD_W6_EAL_SHIFT (24U)
  88083. /*! EAL - Exclusive Access Lock
  88084. * 0b00..Lock disabled.
  88085. * 0b01..Lock disabled until next reset.
  88086. * 0b10..Lock enabled, lock state = available.
  88087. * 0b11..Lock enabled, lock state = not available.
  88088. */
  88089. #define XRDC2_MRC_MRGD_W6_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_EAL_SHIFT)) & XRDC2_MRC_MRGD_W6_EAL_MASK)
  88090. #define XRDC2_MRC_MRGD_W6_DL2_MASK (0x60000000U)
  88091. #define XRDC2_MRC_MRGD_W6_DL2_SHIFT (29U)
  88092. /*! DL2 - Descriptor Lock
  88093. * 0b00..Lock disabled, descriptor registers can be written.
  88094. * 0b01..Lock disabled until the next reset, descriptor registers can be written.
  88095. * 0b10..Lock enabled, only domain "x" can only update the DxACP field; no other fields can be written.
  88096. * 0b11..Lock enabled, descriptor registers are read-only until the next reset.
  88097. */
  88098. #define XRDC2_MRC_MRGD_W6_DL2(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_DL2_SHIFT)) & XRDC2_MRC_MRGD_W6_DL2_MASK)
  88099. #define XRDC2_MRC_MRGD_W6_VLD_MASK (0x80000000U)
  88100. #define XRDC2_MRC_MRGD_W6_VLD_SHIFT (31U)
  88101. /*! VLD - Valid
  88102. * 0b0..The MRGD is invalid.
  88103. * 0b1..The MRGD is valid.
  88104. */
  88105. #define XRDC2_MRC_MRGD_W6_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC2_MRC_MRGD_W6_VLD_SHIFT)) & XRDC2_MRC_MRGD_W6_VLD_MASK)
  88106. /*! @} */
  88107. /* The count of XRDC2_MRC_MRGD_W6 */
  88108. #define XRDC2_MRC_MRGD_W6_COUNT (32U)
  88109. /* The count of XRDC2_MRC_MRGD_W6 */
  88110. #define XRDC2_MRC_MRGD_W6_COUNT2 (32U)
  88111. /*!
  88112. * @}
  88113. */ /* end of group XRDC2_Register_Masks */
  88114. /* XRDC2 - Peripheral instance base addresses */
  88115. /** Peripheral XRDC2_D0 base address */
  88116. #define XRDC2_D0_BASE (0x40CE0000u)
  88117. /** Peripheral XRDC2_D0 base pointer */
  88118. #define XRDC2_D0 ((XRDC2_Type *)XRDC2_D0_BASE)
  88119. /** Peripheral XRDC2_D1 base address */
  88120. #define XRDC2_D1_BASE (0x40CD0000u)
  88121. /** Peripheral XRDC2_D1 base pointer */
  88122. #define XRDC2_D1 ((XRDC2_Type *)XRDC2_D1_BASE)
  88123. /** Array initializer of XRDC2 peripheral base addresses */
  88124. #define XRDC2_BASE_ADDRS { XRDC2_D0_BASE, XRDC2_D1_BASE }
  88125. /** Array initializer of XRDC2 peripheral base pointers */
  88126. #define XRDC2_BASE_PTRS { XRDC2_D0, XRDC2_D1 }
  88127. /*!
  88128. * @}
  88129. */ /* end of group XRDC2_Peripheral_Access_Layer */
  88130. /*
  88131. ** End of section using anonymous unions
  88132. */
  88133. #if defined(__ARMCC_VERSION)
  88134. #if (__ARMCC_VERSION >= 6010050)
  88135. #pragma clang diagnostic pop
  88136. #else
  88137. #pragma pop
  88138. #endif
  88139. #elif defined(__CWCC__)
  88140. #pragma pop
  88141. #elif defined(__GNUC__)
  88142. /* leave anonymous unions enabled */
  88143. #elif defined(__IAR_SYSTEMS_ICC__)
  88144. #pragma language=default
  88145. #else
  88146. #error Not supported compiler type
  88147. #endif
  88148. /*!
  88149. * @}
  88150. */ /* end of group Peripheral_access_layer */
  88151. /* ----------------------------------------------------------------------------
  88152. -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  88153. ---------------------------------------------------------------------------- */
  88154. /*!
  88155. * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK).
  88156. * @{
  88157. */
  88158. #if defined(__ARMCC_VERSION)
  88159. #if (__ARMCC_VERSION >= 6010050)
  88160. #pragma clang system_header
  88161. #endif
  88162. #elif defined(__IAR_SYSTEMS_ICC__)
  88163. #pragma system_include
  88164. #endif
  88165. /**
  88166. * @brief Mask and left-shift a bit field value for use in a register bit range.
  88167. * @param field Name of the register bit field.
  88168. * @param value Value of the bit field.
  88169. * @return Masked and shifted value.
  88170. */
  88171. #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK))
  88172. /**
  88173. * @brief Mask and right-shift a register value to extract a bit field value.
  88174. * @param field Name of the register bit field.
  88175. * @param value Value of the register.
  88176. * @return Masked and shifted bit field value.
  88177. */
  88178. #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT))
  88179. /*!
  88180. * @}
  88181. */ /* end of group Bit_Field_Generic_Macros */
  88182. /* ----------------------------------------------------------------------------
  88183. -- SDK Compatibility
  88184. ---------------------------------------------------------------------------- */
  88185. /*!
  88186. * @addtogroup SDK_Compatibility_Symbols SDK Compatibility
  88187. * @{
  88188. */
  88189. /* No SDK compatibility issues. */
  88190. /*!
  88191. * @}
  88192. */ /* end of group SDK_Compatibility_Symbols */
  88193. #endif /* _MIMXRT1176_CM7_H_ */